// JavaScript Document

function addJSFile( sPath )
{
	var head = document.getElementsByTagName("head")[0];
	var script = document.createElement('script');
	script.type = 'text/javascript';
	script.src = sPath;
	head.appendChild(script)
}
 
function getHTMLData()
{
	txt = this.req.responseText;
	document.getElementById(htmlDiv).innerHTML = txt;
	document.getElementById(htmlDiv).style.display = "block";
	var scripts = document.getElementById(htmlDiv).getElementsByTagName('script');

	for( var i = 0; i < scripts.length; i++ )
	{
		if(scripts[i].getAttribute('src') != null)
		{
			//alert("src: " + scripts[i].getAttribute('src') );
			addJSFile( scripts[i].getAttribute('src') )
		}

		if(scripts[i].innerHTML != '')
		{
			//alert("html: " + scripts[i].innerHTML );
			eval( scripts[i].innerHTML );
		}
	}
}

function loading( div )
{
	var divLoading = document.getElementById(div);
	if(divLoading)
	{
		divLoading.innerHTML = '<div align="center" class="text-box-part"><img src="./css/images/loading.gif" /> Cargando...</div>';
	}
	else
	{
		alert('Esta haciendo referencia al contenedor [' + div + '] que no existe.');
	}
}

function sendAjaxForm( idForm, url, idDiv )
{
	//print_args( sendAjaxForm );
	//print_div( idForm );

	var postParams = '';

	if(document.getElementById( idForm ) != null)
	{
		postParams = Form.serialize(document.getElementById(idForm));
	}

	var typeMethod = "post";
	//alert();
	if( sendAjaxForm.arguments.length > 3 )
	{
		typeMethod = sendAjaxForm.arguments[3];
	}//alert(postParams);
	
	new Ajax.Updater(idDiv, url, {asynchronous:true, method: typeMethod,  parameters:postParams, evalScripts:true, onComplete:function(){eval("ahref2ajax(document.getElementById('" + idDiv + "'))");}, idDiv:idDiv});
	loading( idDiv );
	return true;
}

function getXMLData( t )
{
	xml = t.responseXML.documentElement;
	var parameters = xml.getElementsByTagName('parameter');

	if(parameters)
	{
		var n = parameters.length;
		var i = 0;
		for(;i<n;i++)
		{
			var parameter = parameters[i];
			var field = parameter.getAttribute('id');
			var j = 0;
			var m = parameter.childNodes.length;

			for(;j<m;j++)
			{
				var node = parameter.childNodes[j];
				var input = $(field);

				if(input)
				{
					input.value = node.nodeValue;
				}
				else
				{
					alert("El campo [" + field + "] no existe.");
				}
//alert(node.nodeValue);
			}
		}
	}
}

function copy_clip(meintext)
{
 if (window.clipboardData) 
   {
   
   // the IE-manier
   window.clipboardData.setData("Text", meintext);
   
   // waarschijnlijk niet de beste manier om Moz/NS te detecteren;
   // het is mij echter onbekend vanaf welke versie dit precies werkt:
   }
   else if (window.netscape) 
   { 
	   
	   // dit is belangrijk maar staat nergens duidelijk vermeld:
	   // you have to sign the code to enable this, or see notes below 
	   netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
	   
	   // maak een interface naar het clipboard
	   var clip = Components.classes['@mozilla.org/widget/clipboard;1']
					 .createInstance(Components.interfaces.nsIClipboard);
	   if (!clip) return;
	   
	   // maak een transferable
	   var trans = Components.classes['@mozilla.org/widget/transferable;1']
					  .createInstance(Components.interfaces.nsITransferable);
	   if (!trans) return;
	   
	   // specificeer wat voor soort data we op willen halen; text in dit geval
	   trans.addDataFlavor('text/unicode');
	   
	   // om de data uit de transferable te halen hebben we 2 nieuwe objecten 
	   // nodig om het in op te slaan
	   var str = new Object();
	   var len = new Object();
	   
	   var str = Components.classes["@mozilla.org/supports-string;1"]
					.createInstance(Components.interfaces.nsISupportsString);
	   
	   var copytext=meintext;
	   
	   str.data=copytext;
	   
	   trans.setTransferData("text/unicode",str,copytext.length*2);
	   
	   var clipid=Components.interfaces.nsIClipboard;
	   
	   if (!clip) return false;
	   
	   clip.setData(trans,null,clipid.kGlobalClipboard);
	   
   }
   //alert("Following info was copied to your clipboard:\n\n" + meintext);

	return false;
}
