<!--   DATA_ch
    /**
    * script para permitir al usuario introducir en una caja de texto solo caracteres predefinidos
    *Autor   Luciano Moreno ( http://www.terra.es/personal6/morenocerro2/ )
    */
      /**
      * var global correctos >> matriz que contiene los caracters permitidos al usuario   
      */
var correctos = new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
    						"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
							"_","0","1","2","3","4","5","6","7","8","9")

var correctosNumber = new Array("0","1","2","3","4","5","6","7","8","9")
      /***
      * var global estado     >> variable booleana, true si el caracter introducido es correcto y false en caso contrario
      * var global codigoTecla   >>  valor ASCII de la tacla pulsada para cada navegador (son diferentes)
      * var global cadenaTecla  >>  cadena que representa a la tecla pulsada (igual para todos los navegadores)
      */
var estado=false;
var codigoTecla, cadenaTecla;   
      /**
      * function pulsada >> funcion principal  >> comprueba la tecla pulsada y la escribe o no
      * si es correcta      >>  retorna true al manejador de eventos de la caja de texto >> se escribe el caracter
      * si es incorrecta   >>  retorna false al manejador de eventos de la caja de texto >> no se escribe el caracter   
      */
function pulsada(e) 
      {
if (e.keyCode != 13 ) {  
		estado=false
          if(document.all)
          {
              codigoTecla = event.keyCode
              cadenaTecla = (String.fromCharCode(event.keyCode));
          }
          else if(document.layers)
          {
              codigoTecla = e.which
              cadenaTecla = String.fromCharCode(e.which);
          }
          else if(document.getElementById)
          {
              codigoTecla = (window.Event) ? e.which : e.keyCode;
				cadenaTecla=(String.fromCharCode(codigoTecla));
          }
          for(i=0;i<correctos.length;i++)
          {
              if(cadenaTecla==correctos[i])
                  estado=true;
          }
          if(estado==false)
          {
              if(document.all)
                  event.returnValue = false;
             else
                  return false;
          }
}
}
    /**
    * fin del script
    */    
function pulsadaNumber(e) 
      {
          estado=false
          if(document.all)
          {
              codigoTecla = event.keyCode
              cadenaTecla = (String.fromCharCode(event.keyCode));
          }
          else if(document.layers)
          {
              codigoTecla = e.which
              cadenaTecla = String.fromCharCode(e.which);
          }
          else if(document.getElementById)
          {
              codigoTecla = (window.Event) ? e.which : e.keyCode;
              cadenaTecla=(String.fromCharCode(codigoTecla));
          }
          for(i=0;i<correctos.length;i++)
          {
              if(cadenaTecla==correctosNumber[i])
                  estado=true;
          }
          if(estado==false)
          {
              if(document.all)
                  event.returnValue = false;
             else
                  return false;
          }
}

function oW(targetURL,ancho,alto,name)
{  var opciones = "toolbar=0,location=0,directories=0,status=yes,scrollbars=yes,resizable=No,copyhistory=0,width="+ancho+",height="+alto;
   var winComunSub = window.open(targetURL,name,opciones)
   if (winComunSub.focus)
   {
      winComunSub.focus();
   }
}

function verificar(){

if (confirm("Seguro que desea realizar la operacion?"))
	return true;
else
	return false;
}
//fucncion que verifica si se envia el formulario
function submit_form(MyForm){
if (confirm("Seguro que desea realizar la operacion?")){
	MyForm.submit();
	return true;
}
else {
	return false;
  }	
}

// funcion que deshabilita las opciones de un formulario

function disabledForm(myForm){
// recorremos los objetos del formulario 
// cambiando el valor de la propiedad disabled a true
//alert(myForm.name)
for (var i=0 ; i < myForm.length ; i++){
   	fieldActive=myForm.elements(i);  
	if (fieldActive.action!="CLOSE")
		fieldActive.disabled = true;
 }
} // de la funcion


// funcion que modifica la posicion de un div

// funcion para controlar la visibilidad de la ayuda de la tipologia disciplinaria
function showObjPos(obj) {

alert(obj.style.left + " " + obj.style.Top);

objLeft   = obj.offsetLeft;
objTop    = obj.offsetTop;
objParent = obj.offsetParent;
//alert(vlink +" " +enti_id + " " +carg_id +" " +objLeft + " " + objTop ) ;
while( objParent.tagName.toUpperCase() != "BODY" )
{
objLeft  += objParent.offsetLeft;
objTop   += objParent.offsetTop;
objParent = objParent.offsetParent;
}
//alert(vlink +" " +enti_id + " " +carg_id +" " +objLeft + " " + objTop ) ;
document.all.divDesc.style.left = objLeft+300;
document.all.divDesc.style.top = objTop+20;
//291px; :177px;
DesC.innerHTML=descripcion;  
document.all.divDesc.style.visibility="visible";
//alert (objLeft +" " +objTop);
//window.scrollTo(objLeft,objTop);
}

function getTop(obj) {
objLeft   = obj.offsetLeft;
objTop    = obj.offsetTop;
objParent = obj.offsetParent;
while( objParent.tagName.toUpperCase() != "BODY" )
{
objLeft  += objParent.offsetLeft;
objTop   += objParent.offsetTop;
objParent = objParent.offsetParent;
}
return (objTop);
}

function getLeft(obj) {
objLeft   = obj.offsetLeft;
objTop    = obj.offsetTop;
objParent = obj.offsetParent;
while( objParent.tagName.toUpperCase() != "BODY" )
{
objLeft  += objParent.offsetLeft;
objTop   += objParent.offsetTop;
objParent = objParent.offsetParent;
}
return(objLeft);
}

function check_form(myForm){
// propiedades anexada a los inputa para su verficiacion al momento de hacer submit sobre
//el formulario vCheck="1" vDataType="char" , date , number, vSize - > indica el tamaño minimo en caracters del input  
// verificamos que las campos para verificacion no esten indefinidos
// o vengan con el flag vCheck en 0, lo cual indica que no se deben evaluar dichos campos
fieldInvalid ="";

for (var i=0 ; i < myForm.length ; i++){
   fieldActive=myForm.elements(i);
//alert("evaluando " + fieldActive.name+" " +fieldActive.value + " " + fieldActive.data_check + " " + fieldActive.data_type );
   if ( (typeof(fieldActive.data_check)!= "undefined") &&  (fieldActive.data_check=="1")) { //if A
      //se evaluan las variables
//alert("Datos Evalua "+fieldActive.name +" " +fieldActive.value + " " + fieldActive.data_check + " " + fieldActive.data_type)
      if(fieldActive.data_type=="char") { // if B
		   if (fieldActive.value.length == 0 || fieldActive.value.length == ""  ) {// if C
		        fieldInvalid += ","  + fieldActive.name;
				fieldActive.style.background="yellow";
				}
	  } // if B
	  if(fieldActive.data_type=="date"){ // if D
		  if(fieldActive.value.length == 0) {
		        fieldInvalid +=  "," + fieldActive.name;
				fieldActive.style.background="yellow";				
			}
	  } // if D
	  if(fieldActive.data_type=="number"){ // if D
         if (fieldActive.data_format=="1"){
//		 	alert("valor del campo " + fieldActive.value)
		     fieldActive.value = unFormat(fieldActive.value);
	 }
		  if( !check_number(fieldActive.value, "N") ) { // "N" sin decimales, "S" con decimales
		        fieldInvalid +=  "," + fieldActive.name;
				fieldActive.style.background="yellow";				
				}
	  } // if D
	  if(fieldActive.data_type=="mail"){ // if D
		  if( !check_email(fieldActive.value) ) {
		        fieldInvalid +=  "," + fieldActive.name;
				fieldActive.style.background="yellow";				
			}
		  	
	  } // if D
	} //if A			   
} //del for
if (fieldInvalid.length > 0) {
// marcamos campos invalidos con otro color 
// resaltamos el div de atención con otro color
//alert("Los siguientes Campos son Obligatorios " + fieldInvalid);
 return false;
 }
else {

 return true;
 }
} // de la funcion

// funcion que formatea la entrada en un input 

function GetDecimalDelimiter(nCountryCode)
{
      var sRet='';
       switch (nCountryCode)
       {
            case 3:   
                           sRet = '#';
                           break;
            case 2:   
                           sRet = ',';
                           break;
            default:
                           sRet = '.';
                           break;
        }
     return sRet;
}

function GetCommaDelimiter(nCountryCode)
{
       var sRet='';
       switch (nCountryCode)
       {
            case 3:   
                           sRet = '*';
                           break;
            case 2:   
                           sRet = ',';
                           break;
            default:
                           sRet = ',';
                           break;
        }
      return sRet;
}

function FormatClean(num)
{
     var sVal='';
     var nVal = num.length;
     var sChar='';
    try
   {
       for(i=0;i<nVal;i++)
      {
         sChar = num.charAt(i);
         nChar = sChar.charCodeAt(0);
         if ((nChar >=48) && (nChar <=57))  { sVal += num.charAt(i);   }
      }
   }
    catch (exception) { AlertError("Format Clean",e); }
    return sVal;
}

function FormatCurrency(num,nCountryCode)
{       
        var sVal='';
        var minus='';
        var Decimal='';
        Decimal = GetDecimalDelimiter(nCountryCode);
        if (num.lastIndexOf("-") == 0) { minus='-'; }
        if (num.lastIndexOf(Decimal) < 0) { num = num + '00'; }
        num = FormatClean(num);
        sVal = minus + FormatDollar(num,GetCommaDelimiter(nCountryCode)) + GetDecimalDelimiter(nCountryCode) + FormatCents(num); 
        return sVal;
}

function FormatNumber(num,nCountryCode)
{       
        var sVal='';
        var minus='';
        var CommaDelimiter='';
        try 
       {
           CommaDelimiter = GetCommaDelimiter(nCountryCode);
           if (num.lastIndexOf("-") == 0) { minus='-'; }
           num = FormatClean(num);
           num = parseInt(num);
           var samount = new String(num);
           for (var i = 0; i < Math.floor((samount.length-(1+i))/3); i++)
          {
             samount = samount.substring(0,samount.length-(4*i+3)) + CommaDelimiter + samount.substring(samount.length-(4*i+3));
           }
        }
         catch (exception) { AlertError("Format Number",e); }
        return minus + samount;
}

function FormatCents(amount)
{
     var cents = '';
      try
      {
           amount = parseInt(amount);
           var samount = new String(amount);
           if (samount.length == 0) { return '00'; }
           if (samount.length == 1) { return '0' + samount; }
           if (samount.length == 2) { return samount; }
           cents =  samount.substring(samount.length -2,samount.length);
      }
      catch (exception) { AlertError("Format Cents",e); }
      return cents;
}

function FormatDollar(amount,CommaDelimiter)
{
   try 
   {
        amount = parseInt(amount);
        var samount = new String(amount);
        if (samount.length < 3) { return 0; }  
        samount =  samount.substring(0,samount.length -2);
        for (var i = 0; i < Math.floor((samount.length-(1+i))/3); i++)
        {
           samount = samount.substring(0,samount.length-(4*i+3)) + CommaDelimiter + samount.substring(samount.length-(4*i+3));
         }
   }
    catch (exception) { AlertError("Format Comma",e); }
    return samount;
}

 function AlertError(MethodName,e)
 {
            if (e.description == null) { alert(MethodName + " Exception: " + e.message); }
            else {  alert(MethodName + " Exception: " + e.description); }
 }

// funcion que quita las comas, punto y ceros decimales de un numero

function unFormat (num){
	alert(num);
var StringRetorno = "0.00";
if (num.indexOf(",") > 0 && num.indexOf(".") > 0 ) {
	if (num.length > 0) {
	    StringRetorno= "";
	    var StringSinPunto = num.substr(0,num.indexOf("."))
		var arrayString = StringSinPunto.split(",");
		for (var i=0; i < arrayString.length; i++ ){
		   StringRetorno +=  arrayString[i];
		}
	}
}
else
 StringRetorno = num;

return StringRetorno;
}


// funcion que verifica un mail escrito correctamente
// recibe como parametro el valor introducido en el campo destinado para el mail
function check_emailx(e) {
ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";
for(i=0; i < e.length ;i++){
	if(ok.indexOf(e.charAt(i))<0){ 
		return (false);
	}	
} 

if (document.images) {
	re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
	re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
	if (!e.match(re) && e.match(re_two)) {
		return (-1);		
	} 

}

}


function check_email(strEmail){
  var validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
  var retorno = false;

  strEmail = document.forms[0].email.value;
   // search email text for regular exp matches
    if ( strEmail.search(validRegExp) != -1 ) 
		retorno = true;

  return retorno; 
}

function check_number(strNumber, conDecimales){

var retorno = false;
if (conDecimales=="S")
 	var anum=/(^\d+$)|(^\d+\.\d+$)/ ;
else
	var anum=/(^\d+$)/;
	
if (anum.test(strNumber))
	retorno=true;

return (retorno);
}


// Mayo 14 de 2005
// funcion que retorna  el apuntador a un elemento dentro del DOM
function getElement(aID){
         var rv = (document.getElementById) ? document.getElementById(aID) : document.all[aID];
         return rv;
       }
function Ecreate(doc,span,element){//Crea dinamicamente un elemento dentro del documento actual
 doc.getElementById(span).innerHTML="";
// var aElement=doc.createElement(element);
 var aElement=doc.createElement(element);
 doc.getElementById(span).appendChild(aElement);
 //eval("aElement." + oOption.value + "='" + oText.value + "'");
// INPUT TYPE="button";
 //alert("Ya se creo!");
}

function ClearListBox(objDoc,ListBox){//Limpia el contenido de un Listbox
	while (objDoc.getElementById(ListBox).options.length>0)

     if ( document.all ){
       // IE only?
        var optionToRemove = 0;
        objDoc.getElementById(ListBox).options.remove(optionToRemove);

	}
	else
	{ // Firefox?
	 var optionToRemove = objDoc.getElementById(ListBox).options[0];
	  objDoc.getElementById(ListBox).removeChild(optionToRemove);
	}
	
	       //objDoc.getElementById(ListBox).options.remove(0);
}

function ListBox_Add(objDoc,ListBox,text,value){//Agrega un option a un Select (ListBox)
 var oOption= objDoc.createElement("OPTION");
 objDoc.getElementById(ListBox).options.add(oOption);
 oOption.innerHTML = text;
 oOption.value = value;
 oOption=null; 
}

function Tabla_Creafila(table){ //Crea una fila en una tabla
 var tbody = document.getElementById(table).getElementsByTagName("TBODY")[1]; 
 row1 = document.createElement("TR");
 tbody.appendChild(row1); 
 return row1;
}

function Tabla_Creacelda(table,fila){ //Crea una fila en una tabla
  var oTable= document.getElementById(table).getElementsByTagName("TBODY")[1];
  var oRow=fila;
  var oCell = oRow.insertCell();
  oCell.style.borderStyle="solid";
  oCell.style.borderWidth="1px";
  return oCell;
}
function Tabla_Separadorcelda(table,fila){ //Crea una fila en una tabla
  var oTable= document.getElementById(table).getElementsByTagName("TBODY")[1];
  var oRow=fila;
  var oCell = oRow.insertCell();
  oCell.style.width = "8";
  }
function CellSetValue(table,cell,valor){ //Crea una fila en una tabla
  var oTable= document.getElementById(table).getElementsByTagName("TBODY")[1];
  var oCell = cell;
  oCell.innerHTML = valor;
}

function Tabla_Separadofila(table){ //Crea una fila en una tabla
  var tbody = document.getElementById(table).getElementsByTagName("TBODY")[1]; 
  var oRow= document.createElement("TR");
  tbody.appendChild(oRow);
  oRow.style.heigth = "50";
  }

function ira(){
 if (document.getElementById('clasid_txt').value){
  var i=document.getElementById('clasid_txt').value;
  oW('clasi.php?e=d&cl='+i+'',500,580,'ira');
  document.getElementById('clasid_txt').value="";
 }
 else
  alert ("Debe ingresar un código de anuncio."); 
}

function redireccionar(archivo)
{
  window.location=archivo;
}

function encode_utf8( s )
{
  return unescape( encodeURIComponent( s ) );
}

function decode_utf8( s )
{
  return decodeURIComponent( escape( s ) );
}