
// Page Name: FunctionsJS.js
// Page Developed by: Unknown
// Page Created on: Unknown
// Page Last Modified by: Marco Villanueva; GE Ddemesis
// Page Last Modification Date: Thursday June 19th, 2003
// Page Last Modification Change: Add un_lockControls and un_lockControlsQF Functions
// Version: 1.0.1


var InputComboSelected='';
var SelectedInputValueBan=0;
var SignVar;
var DecimalAvailableNumber;
/* Verifica que en el control se tecleen sólo caracteres alfanumericos validos, excepto coma, commillas simples y dobles*/
function checktexto(e)
{
	if (document.layers)
	{	
    //alert(e.which);
		//se verifica si los caracteres que se están tecleando son inválidos
		if ( carValido(e.which) )
			return true;
		else
			return false;
	}	
	else
	{
    //alert(event.keyCode);
	if ( carValido(event.keyCode) )
		return true;
	else
		return false;
	}
}
function carValido(p){
  if ( (p>=97&&p<=122) || (p>=65&&p<=90) || (p>=48&&p<=57)|| (p>=160&&p<=165)|| (p==44 || p==45|| p==46 || p==59 || p==32 || p==64 || p==130 || p==129|| p==58|| p==225 || p==233 || p==237 || p==243 || p==250 || p==241 || p==209 || p==95) )
    return true;
  else
    return false;
}




function OnlyTipoFlujo(DocFieldForm)
{
	InputComboSelected="document."+DocFieldForm+".value";
	if (document.layers)
	{
		document.captureEvents(Event.KEYPRESS);
		document.onkeypress=checktextotipoflujo;
	}
	else
	{
		document.onkeypress=checktextotipoflujo;
	}
}
function checktextotipoflujo(e)
{
	if (document.layers)
	{	
    //alert(e.which);
		//se verifica si los caracteres que se están tecleando son inválidos
		if ( carValidoTupoFlujo(e.which) )
			return true;
		else
			return false;
	}	
	else
	{
    //alert(event.keyCode);
	if ( carValidoTipoFlujo(event.keyCode) )
		return true;
	else
		return false;
	}
}
function carValidoTipoFlujo(p){
  if ( p==67 || p==76 || p==99 || p==108 || p==44 || p==82 || p==114 )
    return true;
  else
    return false;
}
function verificaTipoFlujo(contenido){
	cadena=contenido;
  var nuevaCadena = "";
  var car='';
  var bandera = true;

  for(i=0; i<cadena.length; i++){ 
    car = cadena.substr(i,1);
    if ( car=='L' || car=='C' || car==',' || car=='l' || car=='c' || car=='R' || car=='r'){
      nuevaCadena += car;
      bandera = false;
    }  
    if (bandera)
      nuevaCadena += " "; 
  }
  return nuevaCadena;
}



function OnlyTipoInversion(DocFieldForm)
{
	InputComboSelected="document."+DocFieldForm+".value";
	if (document.layers)
	{
		document.captureEvents(Event.KEYPRESS);
		document.onkeypress=checktextotipoinversion;
	}
	else
	{
		document.onkeypress=checktextotipoinversion;
	}
}
function checktextotipoinversion(e)
{
	if (document.layers)
	{	
    //alert(e.which);
		//se verifica si los caracteres que se están tecleando son inválidos
		if ( carValidoTipoInversion(e.which) )
			return true;
		else
			return false;
	}	
	else
	{
    //alert(event.keyCode);
	if ( carValidoTipoInversion(event.keyCode) )
		return true;
	else
		return false;
	}
}
function carValidoTipoInversion(p){
  if ( p==48 || p==49|| p==50 || p== 44 )
    return true;
  else
    return false;
}
function verificaTipoInversion(contenido){
	cadena=contenido;
  var nuevaCadena = "";
  var car='';
  var bandera = true;

  for(i=0; i<cadena.length; i++){ 
    car = cadena.substr(i,1);
    if ( car=='1' || car=='2' || car=='0' || car==','  ){
      nuevaCadena += car;
      bandera = false;
    }  
    if (bandera)
      nuevaCadena += " "; 
  }
  return nuevaCadena;
}


function OnlyFlujoNegativo(DocFieldForm)
{
	InputComboSelected="document."+DocFieldForm+".value";
	if (document.layers)
	{
		document.captureEvents(Event.KEYPRESS);
		document.onkeypress=checktextoflujonegativo;
	}
	else
	{
		document.onkeypress=checktextoflujonegativo;
	}
}
function checktextoflujonegativo(e)
{
	if (document.layers)
	{	
    //alert(e.which);
		//se verifica si los caracteres que se están tecleando son inválidos
		if ( carValidoFlujoNegativo(e.which) )
			return true;
		else
			return false;
	}	
	else
	{
    //alert(event.keyCode);
	if ( carValidoFlujoNegativo(event.keyCode) )
		return true;
	else
		return false;
	}
}
function carValidoFlujoNegativo(p){
  if ( p==83 || p==67 || p==99 || p== 115 || p==44 )
    return true;
  else
    return false;
}
function verificaFlujoNegativo(contenido){
	cadena=contenido;
  var nuevaCadena = "";
  var car='';
  var bandera = true;

  for(i=0; i<cadena.length; i++){ 
    car = cadena.substr(i,1);
    if ( car=='S' || car=='C' || car=='s' || car=='c' || car==','  ){
      nuevaCadena += car;
      bandera = false;
    }  
    if (bandera)
      nuevaCadena += " "; 
  }
  return nuevaCadena;
}


















function verificaAlfaNum(contenido){
	cadena=contenido;
  var nuevaCadena = "";
  var car='';
  var bandera = true;

  for(i=0; i<cadena.length; i++){ 
    car = cadena.substr(i,1);
    if ( car=='A' || car=='B' ||car=='C' ||car=='D' ||car=='E' ||car=='F' ||car=='G' ||car=='H' ||car=='I' || car=='J' || car=='J' ||car=='K' ||car=='L' ||car=='M' ||car=='N' ||car=='Ń' ||car=='O' ||car=='P' ||car=='Q' || car=='R' || car=='S' ||car=='T' ||car=='U' ||car=='V' ||car=='W' ||car=='X' ||car=='Y' ||car=='Z' ){
      nuevaCadena += car;
      bandera = false;
    }  
    if ( car=='a' || car=='b' ||car=='c' ||car=='d' ||car=='e' ||car=='f' ||car=='g' ||car=='h' ||car=='i' ||car=='j' || car=='j' || car=='k' ||car=='l' ||car=='m' ||car=='n' ||car=='ń' ||car=='o' ||car=='p' ||car=='q' || car=='r' || car=='s' ||car=='t' ||car=='u' ||car=='v' ||car=='w' ||car=='x' ||car=='y' ||car=='z' ){
      nuevaCadena += car;
      bandera = false;
    }  
    if ( car=='0' || car=='1' ||car=='2' ||car=='3' ||car=='4' ||car=='5' ||car=='6' ||car=='7' ||car=='8' ||car=='9' ){
      nuevaCadena += car;
      bandera = false;
    }  
    if ( car=='á' || car=='é' ||car=='í' ||car=='ó' ||car=='ú' ||car=='Á' ||car=='É' ||car=='Í' ||car=='Ó' ||car=='Ú' ){
      nuevaCadena += car;
      bandera = false;
    }  
    if ( car=='ü' || car=='Ü' || car==',' ||car=='.' ||car==';' ||car==':' ||car=='$' ||car=='(' ||car==')' ){
      nuevaCadena += car;
      bandera = false;
    }  
    if ( car=='=' || car=='+' ||car=='-' ||car=='ż' ||car=='?' ||car=='!' ||car=='ˇ' ||car=='@' ||car=='_' ||car=='*' ){
      nuevaCadena += car;
      bandera = false;
    } 
    if ( car=='<' || car=='>' ||car=='/' ||car=='\b' ){
      nuevaCadena += car;
      bandera = false;
    }  
    if ( car=="" || car==" " ){
      nuevaCadena += " ";
      bandera = false;
    }  
    if (bandera)
      nuevaCadena += " "; 
  }
  return nuevaCadena;
}


// Función que le ayuda a dameAscii
function convert(nr){
  if (nr==10){chr="A"} 
  else if (nr==11){chr="B"} 
  else if (nr==12){chr="C"} 
  else if (nr==13){chr="D"} 
  else if (nr==14){chr="E"} 
  else if (nr==15){chr="F"} 
  else{chr=nr}
}
// Función que le ayuda a dameAscii
function hexa(numb){
  var nb1 = Math.floor(numb/16)	
  var nb2 = numb%16		
  convert(nb1)
  str=""+chr
  convert(nb2)
  str+=chr
}
// Obtiene su valor ASCII, de un caracter dado.
function dameAscii(p){
  for (i=1;i<256;i++){
    hexa(i)
    if (p==unescape("%"+str)){
      alert("car "+p+" valor "+i);
      gCar=i;
    }
  }
}


//Verifica que se tecleen caracteres numericos y que coincida con punto flotante
function checkdigit(e)
{
	//if (eval(InputComboSelected+".charAt(0)")=='0' || eval(InputComboSelected+".charAt(0)")=='' || SelectedInputValueBan)
	if ( eval(InputComboSelected+".charAt(0)")=='' || SelectedInputValueBan)
	{
		SelectedInputValueBan=0;
		eval(InputComboSelected+"=''")
	}
	var re,re2;
	var StrNum;
	StrNum=eval(InputComboSelected);	
	re = /\./i;
	re2 = /-/i;
	
	if (SignVar=='1')							//Only +
	{
		if (StrNum.search(re)==-1)//Si no coincide con la expresion regular del punto decimal
		{
			if (document.layers)
			{	
				//se verifica si los caracteres que se están tecleando son inválidos
				if (DecimalAvailableNumber==0 && e.which==46)
					return false;
				if ((e.which<46 || e.which>57) && e.which!=8 || e.which==47)
					return false;
				else
					return true;
			}
			else
			{
				if (DecimalAvailableNumber==0 && event.keyCode==46)
					return false;
				if ((event.keyCode<46 || event.keyCode>57) && event.keyCode!=8 || event.keyCode==47)
					return false;
				else
					return true;
			}
		}
		else
		{
			if ((StrNum.length-StrNum.search(re))>DecimalAvailableNumber)
			{
				return false
			}
			else
			{
				if (document.layers)
				{		
					if ((e.which<48 || e.which>57) && e.which!=8)
						return false;
					else
						return true;
				}
				else
				{
					if ((event.keyCode<48 || event.keyCode>57) && event.keyCode!=8)
						return false;
					else
						return true;
				}
			}
		}
	}
	if (SignVar=='2')							//Only -
	{
		if (parseFloat(eval(InputComboSelected))>0)
		{
			eval(InputComboSelected+"="+InputComboSelected+"*-1")
		}
		
		if (StrNum.search(re2)==-1)
		{
			if (StrNum.search(re)==-1)
			{
				if (document.layers)
				{	
					if (DecimalAvailableNumber==0 && e.which==46)
						return false;
					if (e.which==45)
					{
						if (eval(InputComboSelected)=='')
							return true;
						eval(InputComboSelected+"="+InputComboSelected+"*-1");
						return false;
					}
					if ((e.which<46 || e.which>57) && e.which!=8 || e.which==47)
						return false;
					else
						return true;
				}
				else
				{
					if (DecimalAvailableNumber==0 && event.keyCode==46)
						return false;
					if (event.keyCode==45)
					{
						if (eval(InputComboSelected)=='')
							return true;
						return false;
					}
					if ((event.keyCode<46 || event.keyCode>57) && event.keyCode!=8 || event.keyCode==47)
						return false;
					else
						return true;
				}
			}
			else
			{
				if ((StrNum.length-StrNum.search(re))>DecimalAvailableNumber)
				{			
					return false
				}
				else
				{
					if (document.layers)
					{	
						if (e.which==45)
						{
							eval(InputComboSelected+"="+InputComboSelected+"*-1");
							return false;
						}		
						if ((e.which<45 || e.which>57) && e.which!=8  || e.which==47  || e.which==46)
							return false;
						else
							return true;
					}	
					else
					{
						if (event.keyCode==45)
						{
							eval(InputComboSelected+"="+InputComboSelected+"*-1");
							return false;
						}
						if ((event.keyCode<45 || event.keyCode>57) && event.keyCode!=8  || event.keyCode==46 || event.keyCode==47)
							return false;
						else
							return true;			
					}
				}
			}
		}
		else
		{
			if (StrNum.search(re)==-1)
			{
				if (document.layers)
				{		
					if (DecimalAvailableNumber==0 && e.which==46)
						return false;
					if ((e.which<46 || e.which>57) && e.which!=8 || e.which==47)
						return false;
					else
						return true;
				}
				else
				{
					if (DecimalAvailableNumber==0 && event.keyCode==46)
						return false;
					if ((event.keyCode<46 || event.keyCode>57) && event.keyCode!=8 || event.keyCode==47)
						return false;
					else
						return true;
				}
			}
			else
			{
				if ((StrNum.length-StrNum.search(re))>DecimalAvailableNumber)
				{			
					return false
				}
				else
				{
					if (document.layers)
					{		
						if ((e.which<48 || e.which>57) && e.which!=8)
							return false;
						else
							return true;
					}
					else
					{
						if ((event.keyCode<48 || event.keyCode>57) && event.keyCode!=8)
							return false;
						else
							return true;			
					}
				}
			}
		}
	}
	if (SignVar=='3')							// + or -
	{
		if (StrNum.search(re2)==-1)
		{
			if (StrNum.search(re)==-1)
			{
				if (document.layers)
				{	
					if (DecimalAvailableNumber==0 && e.which==46)
						return false;
					if (e.which==45)
					{
						if (eval(InputComboSelected)=='')
							return true;
						eval(InputComboSelected+"="+InputComboSelected+"*-1");
						return false;
					}
					if ((e.which<46 || e.which>57) && e.which!=8 || e.which==47)
						return false;
					else
						return true;
				}
				else
				{
					if (DecimalAvailableNumber==0 && event.keyCode==46)
						return false;
					if (event.keyCode==45)
					{
						if (eval(InputComboSelected)=='')
							return true;
						eval(InputComboSelected+"="+InputComboSelected+"*-1");
						return false;
					}
					if ((event.keyCode<46 || event.keyCode>57) && event.keyCode!=8 || event.keyCode==47)
						return false;
					else
						return true;
				}
			}
			else
			{
				if ((StrNum.length-StrNum.search(re))>DecimalAvailableNumber)
				{			
					return false
				}
				else
				{
					if (document.layers)
					{	
						if (e.which==45)
						{
							eval(InputComboSelected+"="+InputComboSelected+"*-1");
							return false;
						}	
						if ((e.which<45 || e.which>57) && e.which!=8  || e.which==47  || e.which==46)
							return false;
						else
							return true;
					}
					else
					{
						if (event.keyCode==45)
						{
							eval(InputComboSelected+"="+InputComboSelected+"*-1");
							return false;
						}
						if ((event.keyCode<45 || event.keyCode>57) && event.keyCode!=8  || event.keyCode==46 || event.keyCode==47)
							return false;
						else
							return true;			
					}
				}
			}
		}
		else
		{
			if (StrNum.search(re)==-1)
			{
				if (document.layers)
				{	
					if (DecimalAvailableNumber==0 && e.which==46)
						return false;	
					if ((e.which<46 || e.which>57) && e.which!=8 || e.which==47)
						return false;
					else
						return true;
				}
				else
				{
					if (DecimalAvailableNumber==0 && event.keyCode==46)
						return false;
					if ((event.keyCode<46 || event.keyCode>57) && event.keyCode!=8 || event.keyCode==47)
						return false;
					else
						return true;
				}
			}
			else
			{
				if ((StrNum.length-StrNum.search(re))>DecimalAvailableNumber)
				{			
					return false
				}
				else
				{
					if (document.layers)
					{		
						if ((e.which<48 || e.which>57) && e.which!=8)
							return false;
						else
							return true;
					}
					else
					{
						if ((event.keyCode<48 || event.keyCode>57) && event.keyCode!=8)
							return false;
						else
							return true;			
					}
				}
			}
		}
		
	}
}

//Verifica que se tecleen caracteres numericos y que coincida con punto flotante
function checkdigitinteger(e)
{
	if (eval(InputComboSelected+".charAt(0)")=='0' || eval(InputComboSelected+".charAt(0)")=='' || SelectedInputValueBan)
	{
		SelectedInputValueBan=0;
		eval(InputComboSelected+"=''")
	}
	var re,re2;
	var StrNum;
	StrNum=eval(InputComboSelected);	
	re = /\./i;
	re2 = /-/i;

  // No permite introducir puntos
	if (document.layers)
	{	
		if (e.which == 46)
      return false;
	}	
	else
	{
    if (event.keyCode==46)
      return false;
	}
	
	if (SignVar=='1')							//Only +
	{
		if (StrNum.search(re)==-1)//Si no coincide con la expresion regular del punto decimal
		{
			if (document.layers)
			{	
				//se verifica si los caracteres que se están tecleando son inválidos
				if (DecimalAvailableNumber==0 && e.which==46)
					return false;
				if ((e.which<46 || e.which>57) && e.which!=8 || e.which==47)
					return false;
				else
					return true;
			}
			else
			{
				if (DecimalAvailableNumber==0 && event.keyCode==46)
					return false;
				if ((event.keyCode<46 || event.keyCode>57) && event.keyCode!=8 || event.keyCode==47)
					return false;
				else
					return true;
			}
		}
		else
		{
			if ((StrNum.length-StrNum.search(re))>DecimalAvailableNumber)
			{
				return false
			}
			else
			{
				if (document.layers)
				{		
					if ((e.which<48 || e.which>57) && e.which!=8)
						return false;
					else
						return true;
				}
				else
				{
					if ((event.keyCode<48 || event.keyCode>57) && event.keyCode!=8)
						return false;
					else
						return true;
				}
			}
		}
	}
	if (SignVar=='2')							//Only -
	{
		if (parseFloat(eval(InputComboSelected))>0)
		{
			eval(InputComboSelected+"="+InputComboSelected+"*-1")
		}
		
		if (StrNum.search(re2)==-1)
		{
			if (StrNum.search(re)==-1)
			{
				if (document.layers)
				{	
					if (DecimalAvailableNumber==0 && e.which==46)
						return false;
					if (e.which==45)
					{
						if (eval(InputComboSelected)=='')
							return true;
						eval(InputComboSelected+"="+InputComboSelected+"*-1");
						return false;
					}
					if ((e.which<46 || e.which>57) && e.which!=8 || e.which==47)
						return false;
					else
						return true;
				}
				else
				{
					if (DecimalAvailableNumber==0 && event.keyCode==46)
						return false;
					if (event.keyCode==45)
					{
						if (eval(InputComboSelected)=='')
							return true;
						return false;
					}
					if ((event.keyCode<46 || event.keyCode>57) && event.keyCode!=8 || event.keyCode==47)
						return false;
					else
						return true;
				}
			}
			else
			{
				if ((StrNum.length-StrNum.search(re))>DecimalAvailableNumber)
				{			
					return false
				}
				else
				{
					if (document.layers)
					{	
						if (e.which==45)
						{
							eval(InputComboSelected+"="+InputComboSelected+"*-1");
							return false;
						}		
						if ((e.which<45 || e.which>57) && e.which!=8  || e.which==47  || e.which==46)
							return false;
						else
							return true;
					}	
					else
					{
						if (event.keyCode==45)
						{
							eval(InputComboSelected+"="+InputComboSelected+"*-1");
							return false;
						}
						if ((event.keyCode<45 || event.keyCode>57) && event.keyCode!=8  || event.keyCode==46 || event.keyCode==47)
							return false;
						else
							return true;			
					}
				}
			}
		}
		else
		{
			if (StrNum.search(re)==-1)
			{
				if (document.layers)
				{		
					if (DecimalAvailableNumber==0 && e.which==46)
						return false;
					if ((e.which<46 || e.which>57) && e.which!=8 || e.which==47)
						return false;
					else
						return true;
				}
				else
				{
					if (DecimalAvailableNumber==0 && event.keyCode==46)
						return false;
					if ((event.keyCode<46 || event.keyCode>57) && event.keyCode!=8 || event.keyCode==47)
						return false;
					else
						return true;
				}
			}
			else
			{
				if ((StrNum.length-StrNum.search(re))>DecimalAvailableNumber)
				{			
					return false
				}
				else
				{
					if (document.layers)
					{		
						if ((e.which<48 || e.which>57) && e.which!=8)
							return false;
						else
							return true;
					}
					else
					{
						if ((event.keyCode<48 || event.keyCode>57) && event.keyCode!=8)
							return false;
						else
							return true;			
					}
				}
			}
		}
	}
	if (SignVar=='3')							// + or -
	{
		if (StrNum.search(re2)==-1)
		{
			if (StrNum.search(re)==-1)
			{
				if (document.layers)
				{	
					if (DecimalAvailableNumber==0 && e.which==46)
						return false;
					if (e.which==45)
					{
						if (eval(InputComboSelected)=='')
							return true;
						eval(InputComboSelected+"="+InputComboSelected+"*-1");
						return false;
					}
					if ((e.which<46 || e.which>57) && e.which!=8 || e.which==47)
						return false;
					else
						return true;
				}
				else
				{
					if (DecimalAvailableNumber==0 && event.keyCode==46)
						return false;
					if (event.keyCode==45)
					{
						if (eval(InputComboSelected)=='')
							return true;
						eval(InputComboSelected+"="+InputComboSelected+"*-1");
						return false;
					}
					if ((event.keyCode<46 || event.keyCode>57) && event.keyCode!=8 || event.keyCode==47)
						return false;
					else
						return true;
				}
			}
			else
			{
				if ((StrNum.length-StrNum.search(re))>DecimalAvailableNumber)
				{			
					return false
				}
				else
				{
					if (document.layers)
					{	
						if (e.which==45)
						{
							eval(InputComboSelected+"="+InputComboSelected+"*-1");
							return false;
						}	
						if ((e.which<45 || e.which>57) && e.which!=8  || e.which==47  || e.which==46)
							return false;
						else
							return true;
					}
					else
					{
						if (event.keyCode==45)
						{
							eval(InputComboSelected+"="+InputComboSelected+"*-1");
							return false;
						}
						if ((event.keyCode<45 || event.keyCode>57) && event.keyCode!=8  || event.keyCode==46 || event.keyCode==47)
							return false;
						else
							return true;			
					}
				}
			}
		}
		else
		{
			if (StrNum.search(re)==-1)
			{
				if (document.layers)
				{	
					if (DecimalAvailableNumber==0 && e.which==46)
						return false;	
					if ((e.which<46 || e.which>57) && e.which!=8 || e.which==47)
						return false;
					else
						return true;
				}
				else
				{
					if (DecimalAvailableNumber==0 && event.keyCode==46)
						return false;
					if ((event.keyCode<46 || event.keyCode>57) && event.keyCode!=8 || event.keyCode==47)
						return false;
					else
						return true;
				}
			}
			else
			{
				if ((StrNum.length-StrNum.search(re))>DecimalAvailableNumber)
				{			
					return false
				}
				else
				{
					if (document.layers)
					{		
						if ((e.which<48 || e.which>57) && e.which!=8)
							return false;
						else
							return true;
					}
					else
					{
						if ((event.keyCode<48 || event.keyCode>57) && event.keyCode!=8)
							return false;
						else
							return true;			
					}
				}
			}
		}
		
	}
}

//Funcion que controla que se tecleen en un text solo digitos
//Argumentos: DocFieldForm: Objeto del formulario a validar
//			  SignType: Tipo de dato numerico: valor=1 si es sin signo y 2 con signo
function OnlyIntegers(DocFieldForm,SignType,DecimalNumber)
{
	DecimalAvailableNumber=DecimalNumber;
	SignVar=SignType;
	InputComboSelected="document."+DocFieldForm+".value";

  //alert("DecimalAvailableNumber "+DecimalAvailableNumber+" SignVar "+SignVar+" InputComboSelected "+InputComboSelected);

  
	if (document.layers)
	{
		document.captureEvents(Event.KEYPRESS);
		document.onkeypress=checkdigitinteger;
	}
	else
	{
		document.onkeypress=checkdigitinteger;
	}
}



//Funcion que controla que se tecleen en un text solo digitos
//Argumentos: DocFieldForm: Objeto del formulario a validar
//			  SignType: Tipo de dato numerico: valor=1 si es sin signo y 2 con signo
function OnlyDigits(DocFieldForm,SignType,DecimalNumber)
{
	DecimalAvailableNumber=DecimalNumber;
	SignVar=SignType;
	InputComboSelected="document."+DocFieldForm+".value";

	if (document.layers)
	{
		document.captureEvents(Event.KEYPRESS);
		document.onkeypress=checkdigit;
	}
	else
	{
		document.onkeypress=checkdigit;
	}
}
function OnlyDigitsArr(obj, name, form,SignType){
	var test = document.forms[form].elements[name];
	if (isArray(test)){
		for (var i=0; i<test.length;i++){
			if (test[i] == obj) break;
		}
		OnlyDigits (form + "." + name + "[" + i + "]",SignType);
	} else {
		OnlyDigits (form + "." + name,SignType);
	}
}

function OnlyIntegersArr(obj, name, form,SignType){

  //alert("OnlyIntegersArr  obj "+obj+" name "+name+" form "+form+" SignType "+SignType);

	var test = document.forms[form].elements[name];
	if (isArray(test)){
		for (var i=0; i<test.length;i++){
			if (test[i] == obj) break;
		}
		OnlyIntegers (form + "." + name + "[" + i + "]",SignType);
	} else {
		OnlyIntegers (form + "." + name,SignType);
	}
}

function existeObj(obj){return(typeof(obj)=="undefined")?false:true;}

function isArray(obj){return(typeof(obj.length)=="undefined")?false:true;}



//Funcion que controla que se tecleen en un text caracteres alfanumericos válidos excepto coma, commillas simples y dobles
//Argumentos: DocFieldForm: Objeto del formulario a validar
function OnlyAlfaNum(DocFieldForm)
{
	InputComboSelected="document."+DocFieldForm+".value";
	if (document.layers)
	{
		document.captureEvents(Event.KEYPRESS);
		document.onkeypress=checktexto;
	}
	else
	{
		document.onkeypress=checktexto;
	}
}
function ReleaseOnlyDigits()
{
	SelectedInputValueBan=0;

  //alert("SignVar "+SignVar);
  
	if (eval(InputComboSelected+"==''") )
			eval(InputComboSelected+"=0")
/*
	if (SignVar=='2')
	{
		if (parseFloat(eval(InputComboSelected))>0)
		{
			eval(InputComboSelected+"="+InputComboSelected+"*-1")
		}
	}
*/
  //alert(eval(InputComboSelected));
  
	if (document.layers)
		document.releaseEvents(Event.KEYPRESS);
	else
		document.onkeypress=null;
}

function ReleaseAlfaNum()
{
	if (document.layers)
		document.releaseEvents(Event.KEYPRESS);
	else
		document.onkeypress=null;
}

function ReleaseOnlyIntegers()
{
	if (document.layers)
		document.releaseEvents(Event.KEYPRESS);
	else
		document.onkeypress=null;
}

function un_lockControls(pPage){
	var j;
	var t;
			
	t = document.Form1.selNumPer.value;
	for (j = 1 ; j <= t ; j++) {

		document.Form1.item("HedgeMaturityDateMonth" + j).disabled = false;
		document.Form1.item("HedgeMaturityDateMonth" + j).readonly = false;
		document.Form1.item("HedgeMaturityDateMonth" + j).style.backgroundColor = 16777215 ;

		document.Form1.item("HedgeMaturityDateYear" + j).disabled = false;
		document.Form1.item("HedgeMaturityDateYear" + j).readonly = false;
		document.Form1.item("HedgeMaturityDateYear" + j).style.backgroundColor = 16777215 ;

		document.Form1.item("TradeAmt" + j).disabled = false;
		document.Form1.item("TradeAmt" + j).readonly = false;
		document.Form1.item("TradeAmt" + j).style.backgroundColor = 16777215 ;

		if ( pPage == 'R' ) {
			document.Form1.item("StopLossLevel" + j).disabled = false;
			document.Form1.item("StopLossLevel" + j).readonly = false;
			document.Form1.item("StopLossLevel" + j).style.backgroundColor = 16777215 ;

			document.Form1.item("TakeProfitLevel" + j).disabled = false;
			document.Form1.item("TakeProfitLevel" + j).readonly = false;
			document.Form1.item("TakeProfitLevel" + j).style.backgroundColor = 16777215 ;
		}

		if ( pPage == 'P' ) {
			document.Form1.item("StrikePrice" + j).disabled = false;
			document.Form1.item("StrikePrice" + j).readonly = false;
			document.Form1.item("StrikePrice" + j).style.backgroundColor = 16777215 ;

//			document.Form1.item("PricingNotes" + j).disabled = false;
//			document.Form1.item("PricingNotes" + j).readonly = false;
//			document.Form1.item("PricingNotes" + j).style.backgroundColor = 16777215 ;

		}

		if (document.Form1.item("selFI").value == 'F') {
			document.Form1.item("txtQTY" + j).value = "";
			document.Form1.item("txtQTY" + j).readonly = true;
			document.Form1.item("txtQTY" + j).disabled = true;
			document.Form1.item("txtQTY" + j).style.backgroundColor = 11119017 ;

			document.Form1.item("txtFXP" + j).value = "";
			document.Form1.item("txtFXP" + j).readonly = true;
			document.Form1.item("txtFXP" + j).disabled = true;
			document.Form1.item("txtFXP" + j).style.backgroundColor = 11119017 ;
		}else{
			document.Form1.item("txtQTY" + j).readonly = false;
			document.Form1.item("txtQTY" + j).disabled = false;
			document.Form1.item("txtQTY" + j).style.backgroundColor = 16777215 ;

			document.Form1.item("txtFXP" + j).readonly = false;
			document.Form1.item("txtFXP" + j).disabled = false;
			document.Form1.item("txtFXP" + j).style.backgroundColor = 16777215 ;
		}

		document.Form1.item("Notes" + j).disabled = false;
		document.Form1.item("Notes" + j).readonly = false;
		document.Form1.item("Notes" + j).style.backgroundColor = 16777215 ;
	}
	for ( j ; j <= 12 ; j++) {
		document.Form1.item("HedgeMaturityDateMonth" + j).disabled = true;
		document.Form1.item("HedgeMaturityDateMonth" + j).readonly = true;
		document.Form1.item("HedgeMaturityDateMonth" + j).style.backgroundColor = 11119017 ;

		document.Form1.item("HedgeMaturityDateYear" + j).disabled = true;
		document.Form1.item("HedgeMaturityDateYear" + j).readonly = true;
		document.Form1.item("HedgeMaturityDateYear" + j).style.backgroundColor = 11119017 ;

		document.Form1.item("TradeAmt" + j).value = "";
		document.Form1.item("TradeAmt" + j).readonly = true;
		document.Form1.item("TradeAmt" + j).disabled = true;
		document.Form1.item("TradeAmt" + j).style.backgroundColor = 11119017 ;

		if ( pPage == 'R' ) {
			document.Form1.item("StopLossLevel" + j).value = "";
			document.Form1.item("StopLossLevel" + j).readonly = true;
			document.Form1.item("StopLossLevel" + j).disabled = true;
			document.Form1.item("StopLossLevel" + j).style.backgroundColor = 11119017 ;

			document.Form1.item("TakeProfitLevel" + j).value = "";
			document.Form1.item("TakeProfitLevel" + j).readonly = true;
			document.Form1.item("TakeProfitLevel" + j).disabled = true;
			document.Form1.item("TakeProfitLevel" + j).style.backgroundColor = 11119017 ;
		}

		if ( pPage == 'P' ) {
			document.Form1.item("StrikePrice" + j).disabled = true;
			document.Form1.item("StrikePrice" + j).readonly = true;
			document.Form1.item("StrikePrice" + j).style.backgroundColor = 11119017 ;
	
//			document.Form1.item("PricingNotes" + j).disabled = true;
//			document.Form1.item("PricingNotes" + j).readonly = true;
//			document.Form1.item("PricingNotes" + j).style.backgroundColor = 11119017 ;
		}

		document.Form1.item("txtQTY" + j).value = "";
		document.Form1.item("txtQTY" + j).readonly = true;
		document.Form1.item("txtQTY" + j).disabled = true;
		document.Form1.item("txtQTY" + j).style.backgroundColor = 11119017 ;

		document.Form1.item("txtFXP" + j).value = "";
		document.Form1.item("txtFXP" + j).readonly = true;
		document.Form1.item("txtFXP" + j).disabled = true;
		document.Form1.item("txtFXP" + j).style.backgroundColor = 11119017 ;

		document.Form1.item("Notes" + j).value = "";
		document.Form1.item("Notes" + j).readonly = true;
		document.Form1.item("Notes" + j).disabled = true;
		document.Form1.item("Notes" + j).style.backgroundColor = 11119017 ;
	}
}


function un_lockControlsQF(){
	var j;
	var t;
			
	t = document.Form1.item("selFI").value;
	for( j = 1 ; j <= document.Form1.selNumPer.value ; j++ ) {
		if(t=="I"){
			document.Form1.item("txtQTY" + j).disabled = false;
			document.Form1.item("txtQTY" + j).readonly = false;
			document.Form1.item("txtQTY" + j).style.backgroundColor = 16777215 ;

			document.Form1.item("txtFXP" + j).disabled = false;
			document.Form1.item("txtFXP" + j).readonly = false;
			document.Form1.item("txtFXP" + j).style.backgroundColor = 16777215 ;
		}else{
			document.Form1.item("txtQTY" + j).value = "";
			document.Form1.item("txtQTY" + j).readonly = true;
			document.Form1.item("txtQTY" + j).disabled = true;
			document.Form1.item("txtQTY" + j).style.backgroundColor = 11119017 ;

			document.Form1.item("txtFXP" + j).value = "";
			document.Form1.item("txtFXP" + j).readonly = true;
			document.Form1.item("txtFXP" + j).disabled = true;
			document.Form1.item("txtFXP" + j).style.backgroundColor = 11119017 ;
		}
	}
}

function un_lockControlsPN(){
	var j;
	var t;
			
	t = document.Form1.item("PricingNotes").value;
	for( j = 1 ; j <= document.Form1.selNumPer.value ; j++ ) {
		if(t=="Specify Strike"){
			document.Form1.item("StrikePrice" + j).disabled = false;
			document.Form1.item("StrikePrice" + j).readonly = false;
			document.Form1.item("StrikePrice" + j).style.backgroundColor = 16777215 ;
		}else{
			document.Form1.item("StrikePrice" + j).value = "";
			document.Form1.item("StrikePrice" + j).readonly = true;
			document.Form1.item("StrikePrice" + j).disabled = true;
			document.Form1.item("StrikePrice" + j).style.backgroundColor = 11119017 ;
		}
	}
}


function un_lockControlsSLTP(){
	var j;
	var t;
			
	t = document.Form1.item("HedgeInstrument").value;
	for( j = 1 ; j <= document.Form1.selNumPer.value ; j++ ) {
		if(t=="Stop Loss Order"){
			document.Form1.item("StopLossLevel" + j).disabled = false;
			document.Form1.item("StopLossLevel" + j).readonly = false;
			document.Form1.item("StopLossLevel" + j).style.backgroundColor = 16777215 ;
		}else{
			document.Form1.item("StopLossLevel" + j).value = "";
			document.Form1.item("StopLossLevel" + j).readonly = true;
			document.Form1.item("StopLossLevel" + j).disabled = true;
			document.Form1.item("StopLossLevel" + j).style.backgroundColor = 11119017 ;
		}
		if(t=="Take Profit Order"){
			document.Form1.item("TakeProfitLevel" + j).disabled = false;
			document.Form1.item("TakeProfitLevel" + j).readonly = false;
			document.Form1.item("TakeProfitLevel" + j).style.backgroundColor = 16777215 ;
		}else{
			document.Form1.item("TakeProfitLevel" + j).value = "";
			document.Form1.item("TakeProfitLevel" + j).readonly = true;
			document.Form1.item("TakeProfitLevel" + j).disabled = true;
			document.Form1.item("TakeProfitLevel" + j).style.backgroundColor = 11119017 ;
		}
	}
}


function un_lockFirstIncremental(intTypeForm, intTypeHedge)
{
	var j;
	var t;
			
	t = 12;
	for (j = 1 ; j <= t ; j++) 
	{

		if ( intTypeHedge == '1' ) {

			document.Form1.item("txtAmountPrevHedge" + j).value = "";
			document.Form1.item("txtAmountPrevHedge" + j).readonly = true;
			document.Form1.item("txtAmountPrevHedge" + j).disabled = true;
			document.Form1.item("txtAmountPrevHedge" + j).style.backgroundColor = 11119017 ;

			document.Form1.item("txtContractNum" + j).value = "";
			document.Form1.item("txtContractNum" + j).readonly = true;
			document.Form1.item("txtContractNum" + j).disabled = true;
			document.Form1.item("txtContractNum" + j).style.backgroundColor = 11119017 ;
		  }

	}		  
}



function un_lockControlsCurrency(intTypeForm, intTypeHedge){
	var j;
	var t;
   		
	t = document.Form1.selNumPer.value;
	for (j = 1 ; j <= t ; j++) {


		document.Form1.item("Maturity_Date" + j).disabled = false;
		document.Form1.item("Maturity_Date" + j).readonly = false;
		document.Form1.item("Maturity_Date" + j).style.backgroundColor = 16777215 ;

		document.Form1.item("TradeAmt" + j).disabled = false;
		document.Form1.item("TradeAmt" + j).readonly = false;
		document.Form1.item("TradeAmt" + j).style.backgroundColor = 16777215 ;

//<a onclick="setDateField(document.Form1.DateToExecute);
//top.newWin = window.open('calendar.htm?OpenForm','cal','WIDTH=208,HEIGHT = 230')" name="SD" 
//href="javascript:doNothing()">
//<img src="show-calendar.gif" border="0" WIDTH="24" HEIGHT="22"></a>
				
		strText = "<a onclick=";
		strText =strText + "\"setDateField(document.Form1.Maturity_Date" + j;
		strText =strText + "); ";
		strText =strText + "top.newWin = window.open('calendar.htm?OpenForm','cal','WIDTH=208,HEIGHT = 230');\" " ;
		strText =strText + " name=" ;
		strText =strText + " SD href=javascript:doNothing()> " ;
		strText =strText + " <img src=show-calendar.gif border=0 WIDTH=24 HEIGHT=22> </a>";

		//alert(strText);
		
		
		document.all("imgcalendar" + j).innerHTML = "";
		document.all("imgcalendar" + j).innerHTML =  strText;
 	    
		
		if ( intTypeHedge == '1' || intTypeHedge == 'n') {
			document.Form1.item("txtSourceDoc" + j).disabled = false;
			document.Form1.item("txtSourceDoc" + j).readonly = false;
			document.Form1.item("txtSourceDoc" + j).style.backgroundColor = 16777215 ;
		}
		else
		{
			document.Form1.item("txtSourceDoc" + j).disabled = false;
			document.Form1.item("txtSourceDoc" + j).readonly = false;
			document.Form1.item("txtSourceDoc" + j).style.backgroundColor = 16777215 ;
				
			document.Form1.item("txtAmountPrevHedge" + j).disabled = false;
			document.Form1.item("txtAmountPrevHedge" + j).readonly = false;
			document.Form1.item("txtAmountPrevHedge" + j).style.backgroundColor = 16777215 ;

			document.Form1.item("txtContractNum" + j).disabled = false;
			document.Form1.item("txtContractNum" + j).readonly = false;
			document.Form1.item("txtContractNum" + j).style.backgroundColor = 16777215 ;
		}

		

		if ( intTypeForm == '4' ) {
			document.Form1.item("FarTradeAmt" + j).disabled = false;
			document.Form1.item("FarTradeAmt" + j).readonly = false;
			document.Form1.item("FarTradeAmt" + j).style.backgroundColor = 16777215 ;
			
			document.Form1.item("FarHedgMatDate" + j).disabled = false;
			document.Form1.item("FarHedgMatDate" + j).readonly = false;
			document.Form1.item("FarHedgMatDate" + j).style.backgroundColor = 16777215 ;
			
			strText = "<a onclick=";
			strText =strText + "\"setDateField(document.Form1.FarHedgMatDate" + j;
			strText =strText + "); ";
			strText =strText + "top.newWin = window.open('calendar.htm?OpenForm','cal','WIDTH=208,HEIGHT = 230');\" " ;
			strText =strText + " name=" ;
			strText =strText + " SD href=javascript:doNothing()> " ;
			strText =strText + " <img src=show-calendar.gif border=0 WIDTH=24 HEIGHT=22> </a>";

			//alert(strText);
		
		
			document.all("imgFarcalendar" + j).innerHTML = "";
			document.all("imgFarcalendar" + j).innerHTML =  strText;
			
			
		}

		//document.Form1.item("Notes" + j).disabled = false;
		//document.Form1.item("Notes" + j).readonly = false;
		//document.Form1.item("Notes" + j).style.backgroundColor = 16777215 ;
	}
	for ( j ; j <= 12 ; j++) 
	{
	
		document.Form1.item("Maturity_Date" + j).value = "";
		document.Form1.item("Maturity_Date" + j).disabled = true;
		document.Form1.item("Maturity_Date" + j).readonly = true;
		document.Form1.item("Maturity_Date" + j).style.backgroundColor = 11119017 ;
	
		document.Form1.item("TradeAmt" + j).value = "";
		document.Form1.item("TradeAmt" + j).readonly = true;
		document.Form1.item("TradeAmt" + j).disabled = true;
		document.Form1.item("TradeAmt" + j).style.backgroundColor = 11119017 ;
		

		document.all("imgcalendar" + j).innerHTML = "";
		document.all("imgcalendar" + j).innerHTML =   "<img src=show-calendar_2.gif border=0 WIDTH=24 HEIGHT=22>";
 

								


		if ( intTypeHedge == '1' ) {
			document.Form1.item("txtSourceDoc" + j).value = "";
			document.Form1.item("txtSourceDoc" + j).readonly = true;
			document.Form1.item("txtSourceDoc" + j).disabled = true;
			document.Form1.item("txtSourceDoc" + j).style.backgroundColor = 11119017 ;
		  }
		else
		  {
			document.Form1.item("txtSourceDoc" + j).value = "";
			document.Form1.item("txtSourceDoc" + j).readonly = true;
			document.Form1.item("txtSourceDoc" + j).disabled = true;
			document.Form1.item("txtSourceDoc" + j).style.backgroundColor = 11119017 ;

			document.Form1.item("txtAmountPrevHedge" + j).value = "";
			document.Form1.item("txtAmountPrevHedge" + j).readonly = true;
			document.Form1.item("txtAmountPrevHedge" + j).disabled = true;
			document.Form1.item("txtAmountPrevHedge" + j).style.backgroundColor = 11119017 ;

			document.Form1.item("txtContractNum" + j).value = "";
			document.Form1.item("txtContractNum" + j).readonly = true;
			document.Form1.item("txtContractNum" + j).disabled = true;
			document.Form1.item("txtContractNum" + j).style.backgroundColor = 11119017 ;

		  }

		if ( intTypeForm == '4' ) {

			document.Form1.item("FarTradeAmt" + j).value = "";
			document.Form1.item("FarTradeAmt" + j).readonly = true;
			document.Form1.item("FarTradeAmt" + j).disabled = true;
			document.Form1.item("FarTradeAmt" + j).style.backgroundColor = 11119017 ;
			
			document.Form1.item("FarHedgMatDate" + j).value = "";
			document.Form1.item("FarHedgMatDate" + j).readonly = true;
			document.Form1.item("FarHedgMatDate" + j).disabled = true;
			document.Form1.item("FarHedgMatDate" + j).style.backgroundColor = 11119017 ;

			document.all("imgFarcalendar" + j).innerHTML = "";
			document.all("imgFarcalendar" + j).innerHTML =   "<img src=show-calendar_2.gif border=0 WIDTH=24 HEIGHT=22>";
 

		}

		//document.Form1.item("Notes" + j).value = "";
		//document.Form1.item("Notes" + j).readonly = true;
		//document.Form1.item("Notes" + j).disabled = true;
		//document.Form1.item("Notes" + j).style.backgroundColor = 11119017 ;
	}
}

//********************************************************************************

function dis_abledConverter(){
	if (document.Form1.selStatus.value==3){
		document.Form1.selConverter.disabled = false;
	}else{
		document.Form1.selConverter.value = '0';
		document.Form1.selConverter.disabled = true;
	}
}

//********************************************************************************

function isWeekEnd(pD){
		var r = false;
		var sD = new String(pD);
		var sSYear  = sD.slice(6,10);
		var sSMonth = sD.slice(0,2);
		var sSDay   = sD.slice(3,5);
//		var dD = new Date(sSYear, sSMonth, sSDay);
		var dD = new Date(pD);

		
		r = ((dD.getDay() == 0)||(dD.getDay() == 6));
		return r;
}

//********************************************************************************

function compareDates(pD1, pD2){
		var r = 0;
		var sD1 = new String(pD1);
		var sYear1  = sD1.slice(6,10);
		var sMonth1 = sD1.slice(0,2);
		var sDay1   = sD1.slice(3,5);
		var dD1 = new Date(sYear1, sMonth1, sDay1);
		var sD2 = new String(pD2);
		var sYear2  = sD2.slice(6,10);
		var sMonth2 = sD2.slice(0,2);
		var sDay2   = sD2.slice(3,5);
		var dD2 = new Date(sYear2, sMonth2, sDay2);
		
		if (dD1 > dD2){
			r = (-1);
		}else if (dD1 == dD2){
			r = 0;
		}else{
			r = 1;
		}
		return r;
}

//********************************************************************************

function matchDates(){
	var d;
	
	if(document.Form1.txtDateToExecute.value == ""){
		document.Form1.DateToExecuteMonth.value = "";
		document.Form1.DateToExecuteDay.value = "";
		document.Form1.DateToExecuteYear.value = "";
	}else{
		d = new Date(document.Form1.txtDateToExecute.value);
		document.Form1.DateToExecuteMonth.value = d.getMonth() + 1;
		document.Form1.DateToExecuteDay.value = d.getDate();
		document.Form1.DateToExecuteYear.value = d.getFullYear();
	}

	if(document.Form1.txtHedgeMaturityDate.value == ""){
		document.Form1.HedgeMaturityDateMonth.value = "";
		document.Form1.HedgeMaturityDateDay.value = "";
		document.Form1.HedgeMaturityDateYear.value = "";
	}else{
		d = new Date(document.Form1.txtHedgeMaturityDate.value);
		document.Form1.HedgeMaturityDateMonth.value = d.getMonth() + 1;
		document.Form1.HedgeMaturityDateDay.value = d.getDate();
		document.Form1.HedgeMaturityDateYear.value = d.getFullYear();
	}

	if(document.Form1.txtValidUntil.value == ""){
		document.Form1.ValidUntilMonth.value = "";
		document.Form1.ValidUntilDay.value = "";
		document.Form1.ValidUntilYear.value = "";
	}else{
		d = new Date(document.Form1.txtValidUntil.value);
		document.Form1.ValidUntilMonth.value = d.getMonth() + 1;
		document.Form1.ValidUntilDay.value = d.getDate();
		document.Form1.ValidUntilYear.value = d.getFullYear();
	}
	return 0;
}

function validaFormato(dato,len,dec){
  var nuevo="";
  var i;
  for (i=0;i<dato.length;i++){
    if (dato.substr(i,1)!=","){
      nuevo += dato.substr(i,1);
    }
  }
  if (isNaN(nuevo)){
    return false;
  }
  var cuentaEnteros=0;
  var cuentaDecimales=0;
  var paseElPunto=false;
  for (i=0;i<nuevo.length;i++){
    if (nuevo.substr(i,1)==".")
      paseElPunto=true;
    else{
      if (paseElPunto==true)
        cuentaDecimales++;
      else
        cuentaEnteros++;
    }
  }
  if (cuentaEnteros>len)
    return false;
  else if (cuentaDecimales>dec)
    return false;
  else
    return true;
}
	function divideString(str,len){
		var res="";
		var i=-1;
		while(str.length>len){
			i=str.indexOf(" ");
			if (i==-1) i=len+1;
			if (i<len){
				res += str.substring(0,i+1);
				str = str.substring(i+1,str.length);
			}else{
				res += str.substring(0,len)+" ";
				str = str.substring(len,str.length);
			}
		}
		res += str;
		document.write(res);
	}






  //Función para flotar divs.
  var ns = (navigator.appName.indexOf("Netscape") != -1);
  var d = document;
  //var antX = 0;
  //var antY=0;
  function JSFX_FloatDiv(id, sx, sy, ifId,factor,sleeptime)
  {
    if(typeof(factor)=='undefined')
      factor=10;
    if(typeof(sleeptime)=='undefined')
      sleeptime=20;
    var doc = document;
    var el=doc.getElementById?doc.getElementById(id):doc.all?doc.all[id]:doc.layers[id];
    var oIframe = doc.getElementById(ifId);
    var px = document.layers ? "" : "px";
    window[id + "_obj"] = el;
    if(d.layers)el.style=el;
    //el.cx = el.sx = sx;el.cy = el.sy = sy;
    el.sx = sx;el.sy = sy;
    var antX = window[id + "_antX"];
    var antY = window[id + "_antY"];


    if (antX==undefined && antY==undefined){
      el.cx = el.sx;el.cy = el.sy;
    }else{
      el.cx = antX;el.cy = antY;
    }

    el.sP=function(x,y){
      this.style.left=x+px;
      this.style.top=y+px;
      if (oIframe!=null){
        oIframe.style.left=x+px;
        oIframe.style.top=y+px;
      }
    };

    el.floatIt=function()
    {
      //alert("floatIt");
      var pX, pY;
      pX = (this.sx >= 0) ? 0 : ns ? innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth;
 	    pX = (pX != 0) ? pX : ns ? pageXOffset : document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft;
      pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
      if(this.sy<0) 
      pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
      this.cx += (pX + this.sx - this.cx)/factor;this.cy += (pY + this.sy - this.cy)/factor;

      this.sP(this.cx, this.cy);
      window[id + "_antX"]=el.cx; window[id + "_antY"]=el.cy;



      setTimeout(this.id + "_obj.floatIt()", sleeptime);
    }


    el.floatItCentered=function() 
    {
      var pX, pY;
	  var divWidth="" + this.style.width;
	  if (px=="px") 
	  	divWidth=parseInt(divWidth.substring(0,divWidth.length-2));
	  else 
	  	divWidth=parseInt(divWidth);
	  this.sx = (ns ? innerWidth : 
      document.documentElement && document.documentElement.clientWidth ? 
      document.documentElement.clientWidth : document.body.clientWidth)/2 - divWidth/2;
	  
	  var divHeight="" + this.style.height;
	  if (px=="px") 
	  	divHeight=parseInt(divHeight.substring(0,divHeight.length-2));
	  else 
	  	divHeight=parseInt(divHeight);
	  this.sy = (ns ? innerHeight : 
      document.documentElement && document.documentElement.clientHeight ? 
      document.documentElement.clientHeight : document.body.clientHeight)/2 - divHeight/2;
      pX = (this.sx >= 0) ? 0 : ns ? innerWidth : 
      document.documentElement && document.documentElement.clientWidth ? 
      document.documentElement.clientWidth : document.body.clientWidth;
 	    pX = (pX != 0) ? pX : ns ? pageXOffset : document.documentElement && document.documentElement.scrollLeft ? 
      document.documentElement.scrollLeft : document.body.scrollLeft;
      pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? 
      document.documentElement.scrollTop : document.body.scrollTop;
      if(this.sy<0) 
      pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? 
      document.documentElement.clientHeight : document.body.clientHeight;
      this.cx += (pX + this.sx - this.cx)/factor;this.cy += (pY + this.sy - this.cy)/factor;
      this.sP(this.cx, this.cy);
      window[id + "_antX"]=el.cx; window[id + "_antY"]=el.cy;
      setTimeout(this.id + "_obj.floatItCentered()", sleeptime);
    }

    return el;
  }

  var once_per_browser=0
  var offsetx=0;
  var offsety=0;
  var ie4=document.all

  //función arrastrar y soltar para ie4+ y NS6
  function drag_drop(e){
    captureMousePosition(e);
    if (ie4&&dragapproved){
      var pX, pY;
      pX = document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft;
      pY = document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
    
      JSFX_FloatDiv("marcoVolador",tempx+event.clientX-offsetx-pX,tempy+event.clientY-offsety-pY);
      return false
    }
  }

  function initializedrag(e){
    if (ie4&&event.srcElement.id=="marcoVolador"){
      offsetx=ie4? event.clientX : e.clientX
      offsety=ie4? event.clientY : e.clientY
 
      tempx=parseInt(crossobj.style.left)
      tempy=parseInt(crossobj.style.top)

      dragapproved=true 
      document.onmousemove=drag_drop
      }
  }


//********************************************************************************

// Set Netscape up to run the "captureMousePosition" function whenever
// the mouse is moved. For Internet Explorer and Netscape 6, you can capture
// the movement a little easier.
if (document.layers) { // Netscape
    document.captureEvents(Event.MOUSEMOVE);
    document.onmousemove = captureMousePosition;
} else if (document.all) { // Internet Explorer
    document.onmousemove = captureMousePosition;
} else if (document.getElementById) { // Netcsape 6
    document.onmousemove = captureMousePosition;
}
// Global variables
xMousePos = 0; // Horizontal position of the mouse on the screen
yMousePos = 0; // Vertical position of the mouse on the screen
xMousePosMax = 0; // Width of the page
yMousePosMax = 0; // Height of the page

function captureMousePosition(e) {
    if (document.layers) {
        // When the page scrolls in Netscape, the event's mouse position
        // reflects the absolute position on the screen. innerHight/Width
        // is the position from the top/left of the screen that the user is
        // looking at. pageX/YOffset is the amount that the user has 
        // scrolled into the page. So the values will be in relation to
        // each other as the total offsets into the page, no matter if
        // the user has scrolled or not.
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
    } else if (document.all) {
        // When the page scrolls in IE, the event's mouse position 
        // reflects the position from the top/left of the screen the 
        // user is looking at. scrollLeft/Top is the amount the user
        // has scrolled into the page. clientWidth/Height is the height/
        // width of the current page the user is looking at. So, to be
        // consistent with Netscape (above), add the scroll offsets to
        // both so we end up with an absolute value on the page, no 
        // matter if the user has scrolled or not.
        xMousePos = window.event.x+document.body.scrollLeft;
        yMousePos = window.event.y+document.body.scrollTop;
        xMousePosMax = document.body.clientWidth+document.body.scrollLeft;
        yMousePosMax = document.body.clientHeight+document.body.scrollTop;
    } else if (document.getElementById) {
        // Netscape 6 behaves the same as Netscape 4 in this regard 
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
    }
}

//********** Esto es para mostrar el texto tooltip usando un div.

	document.write('<div id="divTextoToolTip" style="position:absolute;visibility:hidden;">Hola</div>');
	function muestraTextoFlotante(texto,flotante){
      document.write('<div onmouseover="muestraTexto(&quot;' + flotante + '&quot;,this.style.left,this.style.top);" onmouseout="ocultaTexto();">' + texto + '</div>');
	}
	function muestraPedazo(texto){
    var maxLen=20;
    if (texto.length>maxLen){
//      alert("this.style.left. "+this.style.left+" this.style.top. "+this.style.top);
      document.write('<div onmouseover="muestraTexto(&quot;' + texto + '&quot;,this.style.left,this.style.top);" onmouseout="ocultaTexto();">' + texto.substr(0,maxLen) + "..." + '</div>'); 
    }else
      document.write(texto);
	}

	function muestraPedazoNumCar(texto, numMaxCar,style){
    var maxLen=numMaxCar;
    if (texto.length>maxLen){
      document.write('<div onmouseover="muestraTexto(&quot;' + texto + '&quot;,this.style.left,this.style.top, &quot;'+style+'&quot;);" onmouseout="ocultaTexto();">' + texto.substr(0,maxLen) + "..." + '</div>'); 
    }else
      document.write(texto);
	}

	function muestraTextoNumCar(texto,x,y, style){
		var div = document.all["divTextoToolTip"];
		div.innerHTML ="<table bgcolor='#D3DBE4' border='2' cellspacing='0' cellpadding='0'><tr><td style='+style+'>" + texto + "</td></tr></table>";
		div.style.visibility="visible";
		div.style.left=xMousePos;
		div.style.top=yMousePos;
	}

  
	function muestraTexto(texto,x,y){
		var div = document.all["divTextoToolTip"];
		div.innerHTML ="<table bgcolor='#D3DBE4' border='2' cellspacing='0' cellpadding='0'><tr><td>" + texto + "</td></tr></table>";
		div.style.visibility="visible";
		div.style.left=xMousePos;
		div.style.top=yMousePos;
	}
	function ocultaTexto(){
		var div = document.all["divTextoToolTip"];
		div.style.visibility="hidden";
	}

	function muestraPedazoAsociacion(texto, textofondo){
    var maxLen=20;
      document.write('<div onmouseover="muestraTexto(&quot;' + texto + '&quot;,this.style.left,this.style.top);" onmouseout="ocultaTexto();">' + textofondo.substr(0,maxLen) + '</div>'); 
	}
















