function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// ---------------------------------

function ELM (id,doc)
{
	if (typeof (doc) == 'undefined') doc = document ;
	return doc.getElementById (id) ;
} ;

function TRIM (s)
{
	return s.replace (/\b/g,'') ;
} ;

function ValidarITO (field,element)
{
	if (TRIM (element.value) != "") return true ;
	alert ("El campo '" + field + "' es obligatorio.") ;
	element.focus () ;
	return false ;
}

function ValidarNumero (field,element,bObliga,bOutput)
{
	if ((bObliga) && (!ValidarITO (field,element))) return false ;
	if (typeof (bOutput) == 'undefined') bOutput = true ;
	
	numero = TRIM (element.value) ;
	if (numero == "") return true ;
	
	re = /^[0-9]*$/ ;
		
	if (!re.test (numero))
	{
		if (bOutput)
		{
			alert ("El campo '" + field + "' debe ser un número.") ;
			element.focus () ;
		}
		
		return false ;
	}
	
	return true ;
}

function SetCookie (name,value,expires,path,domain,secure)
{
  var curCookie = name + "=" + escape (value) +
      						((expires) ? "; expires=" + expires.toGMTString() : "") +
      						((path	 ) ? "; path=" 		+ path 									: "") +
      						((domain ) ? "; domain=" 	+ domain 								: "") +
      						((secure ) ? "; secure" 													: "") ;
  
  document.cookie = curCookie ;
}

function FLOAT (aFloat)
{
	aFloat = new String (aFloat) ;
	aFloat = aFloat.replace ('.',',') ;
	
	coma_pos = aFloat.indexOf (",") ;
	
			 if (coma_pos == -1) 							  return aFloat + ",00" ;
	else if (coma_pos == aFloat.length - 2) return aFloat + "0" ;
	else																 	  return aFloat ;

}

///////////////////////////////////////////////////////////////////////////////////////////

var bAjaxPostSemaphore = true ;

function AjaxPost (url,params,bDebug,bExternalSemaphore)
{
	if (typeof (params						) == 'undefined') params  					 = ''		 ;
	if (typeof (bDebug						) == 'undefined') bDebug  					 = false ;
	if (typeof (bExternalSemaphore) == 'undefined') bExternalSemaphore = false ;	
	
	if ((!bExternalSemaphore) && (!bAjaxPostSemaphore)) return ;
	bAjaxPostSemaphore = false ;

	var xmlhttp = new XMLHttpRequest () ;
	xmlhttp.open ('POST',url,true) ;
	xmlhttp.setRequestHeader ('Content-Type','application/x-www-form-urlencoded') ;
	xmlhttp.send (params) ;
	
	xmlhttp.onreadystatechange = function ()
	{
		if (xmlhttp.readyState == 4)
		{
			var js = xmlhttp.responseText ;
			
			if (bDebug)
			{
				document.write (js) ;
			}
			else
			{
				if (xmlhttp.status == 200)
				{
					eval (js) ;
				}
				else
				{
					//alert (xmlhttp.status) ;
				}
			}
			
			bAjaxPostSemaphore = true ;
		}
	}
}

///////////////////////////////////////////////////////////////////////////////////////////
