// ---------------------------------------------------------------------- //
//                                VARIABLES                               //
// ---------------------------------------------------------------------- //

// Esta variable indica si est� bien dejar las casillas
// en blanco como regla general
var defaultEmptyOK = false

// Esta variable indica si se debe verificar la presencia de comillas
// u otros s�mbolos extra�os en un campo, por omisi�n no, porque
// siempre crea problemas con las bases de datos o programas CGI
var checkNiceness = true;

// listas de caracteres
var digits = "0123456789";
var lowercaseLetters = "abcdefghijklmnopqrstuvwxyzáéíóúñ "
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚÑ "
var whitespace = " \t\n\r";

// caracteres admitidos en nos de telefono
var phoneChars = "()-+ ";

// ---------------------------------------------------------------------- //
//                     TEXTOS PARA LOS MENSAJES                           //
// ---------------------------------------------------------------------- //

// m abrevia "missing" (faltante)
var mMessage = "Error: no puede dejar este espacio vacio"

// p abrevia "prompt"
var pPrompt = "Error: ";
var pAlphanumeric = "ingrese un texto que contenga solo letras y/o numeros";
var pAlphabetic   = "ingrese un texto que contenga solo letras";
var pInteger = "ingrese un numero entero";
var pNumber = "ingrese un numero";
var pPhoneNumber = "ingrese un número de teléfono";
var pEmail = "ingrese una dirección de correo electrónico válida";
var pName = "ingrese un texto que contenga solo letras, numeros o espacios";
var pNice = "no puede utilizar comillas aqui";


// ---------------------------------------------------------------------- //
//                  CODIGO PARA FUNCIONES BASICAS                         //
// ---------------------------------------------------------------------- //


// s es vacio
function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

// s es vacio o solo caracteres de espacio
function isWhitespace (s)
{   var i;
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        // si el caracter en que estoy no aparece en whitespace,
        // entonces retornar falso
        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}

// Quita todos los caracteres que que estan en "bag" del string "s" s.
function stripCharsInBag (s, bag)
{   var i;
    var returnString = "";

    // Buscar por el string, si el caracter no esta en "bag", 
    // agregarlo a returnString
    
    for (i = 0; i < s.length; i++)
    {   var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }

    return returnString;
}

// Lo contrario, quitar todos los caracteres que no estan en "bag" de "s"
function stripCharsNotInBag (s, bag)
{   var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) != -1) returnString += c;
    }

    return returnString;
}

// Quitar todos los espacios en blanco de un string
function stripWhitespace (s)
{   return stripCharsInBag (s, whitespace)
}

// La rutina siguiente es para cubrir un bug en Netscape
// 2.0.2 - seria mejor usar indexOf, pero si se hace
// asi stripInitialWhitespace() no funcionaria

function charInString (c, s)
{   for (i = 0; i < s.length; i++)
    {   if (s.charAt(i) == c) return true;
    }
    return false
}

// Quita todos los espacios que antecedan al string
function stripInitialWhitespace (s)
{   var i = 0;
    while ((i < s.length) && charInString (s.charAt(i), whitespace))
       i++;
    return s.substring (i, s.length);
}

// c es una letra del alfabeto espanol
function isLetter (c)
{
    return( ( uppercaseLetters.indexOf( c ) != -1 ) ||
            ( lowercaseLetters.indexOf( c ) != -1 ) )
}

// c es un digito
function isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}

// c es letra o digito
function isLetterOrDigit (c)
{   return (isLetter(c) || isDigit(c))
}

// ---------------------------------------------------------------------- //
//                          NUMEROS                                       //
// ---------------------------------------------------------------------- //

// s es un numero entero (con o sin signo)
function isInteger (s)
{   var i;
    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);
    
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if( i != 0 ) {
            if (!isDigit(c)) return false;
        } else { 
            if (!isDigit(c) && (c != "-") || (c == "+")) return false;
        }
    }
    return true;
}

// s es un numero (entero o flotante, con o sin signo)
function isNumber (s)
{   var i;
    var dotAppeared;
    dotAppeared = false;
    if (isEmpty(s)) 
       if (isNumber.arguments.length == 1) return defaultEmptyOK;
       else return (isNumber.arguments[1] == true);
    
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if( i != 0 ) {
            if ( c == "." ) {
                if( !dotAppeared )
                    dotAppeared = true;
                else
                    return false;
            } else     
                if (!isDigit(c)) return false;
        } else { 
            if ( c == "." ) {
                if( !dotAppeared )
                    dotAppeared = true;
                else
                    return false;
            } else     
                if (!isDigit(c) && (c != "-") || (c == "+")) return false;
        }
    }
    return true;
}


function isAlfanumerico (valor)
{   

   var valorBien = "";
   if (valor)
   {
      for (var i=0; i<valor.length; i++){
	  	 var c = valor.charAt(i);
		 if ((isLetter(c) || isDigit(c) ) )
		  		valorBien = valorBien + c;
	  }
        			
    }	
	return valorBien;
}


// s tiene solo letras
function isAlfabetico (valor)
{   var i;
	
   var valorBien = "";
   if (valor)
   {
      for (var i=0; i<valor.length; i++){
	  	 var c = valor.charAt(i);
		 if (isLetter(c) )
		  		valorBien = valorBien + c;
	  }
        			
    }	
	return valorBien;		
}




function getPadre(path, pregunta_id,padre_id){
	OpenUrl(''+path+'modules/add_opciones.php?productos=ok&pregunta_id='+pregunta_id+'&padre_id='+padre_id,'',800,220);
}	

function OpenThickbox(url,height,width){
	TB_show('', ''+url+'&height='+height+'&width='+width+'&keepThis=true&TB_iframe=true&modal=true', 'parent');
} 


function OpenThickboxDireccion(url,value,height,width){
	TB_show('', ''+url+'&value='+value+'&height='+height+'&width='+width+'&keepThis=true&TB_iframe=true&modal=true', 'parent');
}

function getPadreTodos(combo_name,tipo,path,pregunta_id,padre_id){
	if(tipo == 'barrio'){
		if(padre_id > 0 && pregunta_id > 0){
			TB_show('', ''+path+'modules/add_opciones.php?combo_name='+combo_name+'&tipo='+tipo+'&pregunta_id='+pregunta_id+'&padre_id='+padre_id+'&mos=NO&height=250&width=680&&keepThis=true&TB_iframe=true', 'parent')
		}else{
			alert("Debe selecionar un municipio");
			}
	}else if(tipo == 'depend'){
			if(pregunta_id > 0 && padre_id > 0){
				TB_show('', ''+path+'modules/add_opciones.php?combo_name='+combo_name+'&tipo='+tipo+'&pregunta_id='+pregunta_id+'&padre_id='+padre_id+'&mos=NO&keepThis=true&TB_iframe=true&height=250&width=680', '')
			}else{
				alert("Debe seleccionar un opción principal");
				}
	}else if(tipo == 'combox'){
		if(pregunta_id > 0){			
			TB_show('', ''+path+'modules/add_opciones.php?combo_name='+combo_name+'&tipo='+tipo+'&pregunta_id='+pregunta_id+'&mos=NO&height=250&width=680&&keepThis=true&TB_iframe=true', 'parent')
		}			
	}else if(pregunta_id > 0){
				tipo = 'general';
				TB_show('', ''+path+'modules/add_opciones.php?combo_name='+combo_name+'&tipo='+tipo+'&pregunta_id='+pregunta_id+'&padre_id='+padre_id+'&mos=NO&keepThis=true&TB_iframe=true&height=250&width=680', '')
			}
}	


function BuscarTercero(url,valor) {
	if (valor!='') {
			if(url.indexOf('?') > 0){
				IrUrl(url+"&documento="+valor);
			}else{
				IrUrl(url+"?documento="+valor);
			}
	}

}

function BuscarBenTercero(url,tercero,ben_tercero) {
	if (tercero!='' && ben_tercero!='') {
			IrUrl(url+"?cabeza_id="+tercero+"&documento="+ben_tercero);
	}

}

function removeRow(tabla,idFila) { 
	if (confirm("Realmente desea eliminar este registro?")==true) {
 		document.getElementById(tabla).deleteRow(idFila);
		return true;
	} else {
	 	return false;
	}
}

function removeRowAjax(tablaDB,where,nivel,idFila,tabla) {	
	ajax_con = 0;
	ajax_con = DeleteAjaxFull(tablaDB,where,nivel);
	if (ajax_con == 1) {
		document.getElementById(tabla).deleteRow(idFila);
	}

}


function removeThisFile(tabla_id, file_id){
	document.getElementById(tabla_id).deleteRow(file_id);
}

var indiceFileUpload=0;
function addFile(campo,tabla_id,noFiles,tipo_doc,path,vacio){

	var files 	  = document.getElementsByName(campo+"[]");
	var files_ori = document.getElementsByName(campo+"_ori[]");
	var con = 0;
	
	if(files.length > 0){
					 for (i=0; i< files.length;i++) {					 		
							if (files[i].value == '') {
								con++;
							}
					 }
	}
	
	
	if(vacio == true){
		con = 0;
	}
	
	var entra = true;
	if(noFiles !='' && files.length >= noFiles){
		alert("Solo puede agregar "+noFiles+" archivos");
		var entra = false;
	}
	
	if(entra == true){
			if(con == 0){		
								 myNewRow = document.getElementById(tabla_id).insertRow(-1); 
								 c = '<div id="obj'+campo+indiceFileUpload+'" ><input size="30" name="'+campo+'[]" onChange="changeFile(\''+campo+'\',this,\''+tabla_id+'\',myNewRow.rowIndex,-1)" id="'+campo+'" type="file" value="" /><div>';
								 f = '<img src="'+(window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+'delete.gif" onclick="removeThisFile(\''+tabla_id+'\',this.parentNode.parentNode.rowIndex)" class="Cursor" />'; 			
								 
								 
								 
								 myNewCell=myNewRow.insertCell(0);
								 myNewCell.className="fileUpload";
								 myNewCell.width='10%';
								 myNewCell.height='50';
								 myNewCell.align='center';
								 myNewCell.innerHTML='<div id="icono'+campo+indiceFileUpload+'" ></div>';
								 
								 myNewCell=myNewRow.insertCell(1);
								 myNewCell.className="fileUpload";
								 myNewCell.width='50%';
								 myNewCell.align = "left";
								 myNewCell.vAlign = "middle";
								 myNewCell.innerHTML='<div id="text'+campo+indiceFileUpload+'" ></div>'+c;
													
								 myNewCell=myNewRow.insertCell(2);
								 myNewCell.className="fileUpload";
								 myNewCell.width='50%';
								 myNewCell.align = "left";
								 myNewCell.vAlign = "middle";
								 myNewCell.innerHTML=tipo_doc;
								 
								 myNewCell=myNewRow.insertCell(3);
								 myNewCell.align='center';
								 myNewCell.width='10%';
								 myNewCell.className="fileUpload";
								 
								 myNewCell.innerHTML=f;		
								 
				}else{
					alert("Para agregar otro archivo debe seleccionar el último que agregó");
				}		
	}
}


function addFile2(campo,tabla_id,noFiles,tipo_doc,path,vacio){

	var files 	  = document.getElementsByName(campo+"[]");
	var files_ori = document.getElementsByName(campo+"_ori[]");
	var con = 0;
	
	if(files.length > 0){
					 for (i=0; i< files.length;i++) {	
					 		if(files_ori[i]){
								if (files[i].value == '' && files_ori[i].value == '') {
									con++;
								}
							}
					 }
	}
	
	if(vacio == true){
		con = 0;
	}
	
	var entra = true;
	if(noFiles !='' && files.length >= noFiles){
		alert("Solo puede agregar "+noFiles+" archivos");
		var entra = false;
	}
	
	
	
	if(entra == true){
			if(con == 0){		
								 myNewRow = document.getElementById(tabla_id).insertRow(-1); 
								 c = '<div id="obj'+campo+indiceFileUpload+'" ><input size="30" name="'+campo+'[]" onChange="changeFile(\''+campo+'\',this,\''+tabla_id+'\',myNewRow.rowIndex,-1,'+indiceFileUpload+')" id="'+campo+'" type="file" value="" /><div>';
								 d = '<input size="30" name="'+campo+'[descripcion][]"  id="'+campo+'" type="text" size="80" />';
								 f = '<img src="'+(window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+'delete.gif" onclick="removeThisFile(\''+tabla_id+'\',this.parentNode.parentNode.rowIndex)" class="Cursor" />'; 			
								 
								 myNewCell=myNewRow.insertCell(0);
								 myNewCell.className="fileUpload";
								 myNewCell.width='5%';
								 myNewCell.height='50';
								 myNewCell.align='center';
								 myNewCell.innerHTML='<div id="icono'+campo+indiceFileUpload+'" >&nbsp;</div>';
								 
								 myNewCell=myNewRow.insertCell(1);
								 myNewCell.className="fileUpload";
								 myNewCell.width='30%';
								 myNewCell.align = "left";
								 myNewCell.vAlign = "middle";
								 myNewCell.innerHTML='<div id="text'+campo+indiceFileUpload+'" ></div>'+c;																					 
								 
								 myNewCell=myNewRow.insertCell(2);
								 myNewCell.className="fileUpload";
								 myNewCell.width='30%';
								 myNewCell.align = "left";
								 myNewCell.vAlign = "middle";
								 myNewCell.innerHTML=d;
								 
															 
								 //tipo_doc = tipo_doc.split('id="tipo_doc_id[]"');
								 //tipo_doc = tipo_doc[0]+' id="tipo_doc_id"'+indiceFileUpload+' '+tipo_doc[1];
								 myNewCell=myNewRow.insertCell(3);
								 myNewCell.className="fileUpload";
								 myNewCell.width='15%';
								 myNewCell.align = "left";
								 myNewCell.vAlign = "middle";
								 myNewCell.innerHTML='<table width=100%><tr><td>'+tipo_doc+'</td><td><a onClick="OpenThickbox(\''+path+'modules/add_opciones.php?tipo=general&pregunta_id=308&combo=tipo_doc_id[]&form=form1\',220,800)" class=\'thickbox\'  ><img src=\''+path+'pic/filefind.gif\' style=\'cursor:pointer\' width="16" height="16"></a></td></tr></table>';
								 
								
									
								 myNewCell=myNewRow.insertCell(4);
								 myNewCell.className="fileUpload";
								 myNewCell.width='15%';
								 myNewCell.align = "center";
								 myNewCell.vAlign = "middle";
								 myNewCell.innerHTML='<input name="files[fecha_renovacion][]" id="fecha_renovacion'+indiceFileUpload+'" class="TextBox" size="10" onkeyup="mascara(this,\'yyyymmdd\',\'-\',true)" >&nbsp;<img src=\''+path+'pic/Calendar.gif\' name=\'fecha_renovacion'+indiceFileUpload+'\' class=\'Cursor\' id=\'fecha_renovacion'+indiceFileUpload+'\' width=\'20\' height=\'13\'> ';
								 
								 
								 myNewCell=myNewRow.insertCell(5);
								 myNewCell.align='center';
								 myNewCell.width='5%';
								 myNewCell.className="fileUpload";
								 myNewCell.innerHTML='<a onclick="OpenThickbox(\''+path+'modules/permisos_files.php?existe=false&archivo_id='+indiceFileUpload+'\',500,800)" class="thickbox"><img border="0" src="'+path+'pic/iconos_grid/permisos.png" class="Cursor" /></a>';
								 
								 myNewCell=myNewRow.insertCell(6);
								 myNewCell.align='center';
								 myNewCell.width='5%';
								 myNewCell.className="fileUpload";
								 
								 myNewCell.innerHTML=f;		
								 indiceFileUpload++;
				}else{
					alert("Para agregar otro archivo debe seleccionar el último que agregó");
				}		
	}
}


function addOption(theText, theValue, objeto)
{
	var theSel = document.getElementById(objeto);
	var newOpt = new Option(theText, theValue);
	var selLength = theSel.length;
	theSel.options[selLength] = newOpt;
}

function changeFile(campo, obj, tabla_id, fila_id, pos, indiceFileUpload2){
	if(obj.value != ''){
		 
		var files = document.getElementsByName(campo+"[]");
		var files_ori = document.getElementsByName(campo+"_ori[]");
		var con = 0;
		if(files.length > 1 ){
					 for (i=0; i< files.length-1;i++) {						 	
							if(pos>=0){
								
								if (files[i].value == obj.value && pos!=i) {									
									con++;
								}
							}else{
								if (files[i].value == obj.value) {									
									con++;
								}								
							}
					 }
		}
		
		if(files_ori.length > 0){
					 for (i=0; i< files_ori.length;i++) {						
							if (files_ori[i].value == obj.value) {	
								con++;
							}
					 }
		}
	
		if(con == 0){			 
				 obj.className = "hidden";	
				 var nombre = obj.value;
				 nombre = nombre.split("\\");
				 imgFile = getImgFile(obj.value);
				 imgFile = "<img src='"+imgFile+"' />"; 
							 
				 var icono = document.getElementById('icono'+campo+indiceFileUpload2);
				 
				 icono.innerHTML = imgFile;	
				
				 
				 var x = document.getElementById('text'+campo+indiceFileUpload2);
				 x.innerHTML = nombre[nombre.length-1];
				 indiceFileUpload++;
		}else{
				alert("Ya agregó este archivo");
				obj.value = '';
		}	
		 //myNewRow = document.getElementById(tabla_id).insertRow(-1); 
	}
}

function changeIcono(campo, obj, tabla_id, fila_id, indiceId){
	if(obj.value != ''){
		 
				
				 var nombre = obj.value;
				 nombre = nombre.split("\\");
				 imgFile = getImgFile(obj.value);
				 imgFile = "<img src='"+imgFile+"' />"; 	
				 var icono = document.getElementById('icono'+campo+indiceId);				 
				 icono.innerHTML = imgFile;									 
	}
}


function getImgFile(fileName)
{
    //-------------------------------------------
    var srcImgPic = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"ico_image.png";
    var srcImgVideo = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"ico_video.png";
    var srcImgSound = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"ico_sound.png";
    var srcImgArchives = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"ico_zip.png";
    var srcImgFile = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"ico_file.png";
	var srcImgExcel = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"excel.png";
	var srcImgWord = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"word.png";
	var srcImgPdf = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"pdf.png";
	var srcImgPp = (window.dhx_globalImgPathFileType?dhx_globalImgPathFileType:"")+"pp.png";

    var valueImgPic = "jpg,jpeg,gif,png,bmp,tiff";
    var valueImgVideo = "avi,mpg,mpeg,rm,move";
    var valueImgSound = "wav,mp3,ogg";
    var valueImgArchives = "zip,rar,tar,tgz,arj";
	var valueImgWord = "doc,docx";
	var valueImgExcel = "xls,xlsx";
	var valueImgPdf = "pdf";
	var valueImgPp = "ppt,pptx";
    //------------------------------------------


    var ext = "_";
    var ext0 = fileName.split(".");
    if (ext0.length > 1) ext = ext0[ext0.length - 1].toLowerCase();

    if (valueImgPic.indexOf(ext) != -1)
    {
        return srcImgPic;
    }
	 if (valueImgPdf.indexOf(ext) != -1)
    {
        return srcImgPdf;
    }
	 if (valueImgPp.indexOf(ext) != -1)
    {
        return srcImgPp;
    }
	
	 if (valueImgExcel.indexOf(ext) != -1)
    {
        return srcImgExcel;
    }
	
	 if (valueImgWord.indexOf(ext) != -1)
    {
        return srcImgWord;
    }

    if (valueImgVideo.indexOf(ext) != -1)
    {
        return srcImgVideo;
    }

    if (valueImgSound.indexOf(ext) != -1)
    {
        return srcImgSound;
    }

    if (valueImgArchives.indexOf(ext) != -1)
    {
        return srcImgArchives;
    }

    return srcImgFile;
}	


//FUNCIONES PARA FORMATEAR MONEDA
function formatNumber2(campo) {
	//campo.value=SoloNumeros(campo.value);
	if (campo) {
		num = campo;	
		num = num.toString().replace(/\$|\,/g,'');
		if (isNaN(num))
		num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
		if (cents<10)
		cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
		num.substring(num.length-(4*i+3));
		campo=(((sign)?'':'-') + '$' + num + '.' + cents);
		return campo;
	}
}


function formatNumber(campo) {
	if (campo) {
		num = campo.value;	
		num = num.toString().replace(/\$|\,/g,'');
		if (isNaN(num))
		num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
		if (cents<10)
		cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
		num.substring(num.length-(4*i+3));
		campo.value=(((sign)?'':'-') + '$' + num + '.' + cents);	
	}
}

function formatNumberInt(field) {
	if (field) {
		num = field.value;
        num = num.toString().replace(/\$|\./g,'');
        if (isNaN(num))
               num = "0";
        sign = (num == (num = Math.abs(num)));
        num = Math.floor(num*100+0.50000000001);
        cents = num%100;
        num = Math.floor(num/100).toString();
        if (cents<10)
        cents = "0" + cents;
        for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
        num = '$'+num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));
        field.value = num;
	}
}

function unformatNumber(num) {
	num=num.toString();
    return num.replace(/([^0-9\.\-])/g,'')*1;
} 






function check_fechas(fecha1,fecha2)  {
  var control,control1;
   control=check_fecha(fecha1.value);
   if (control==false) {
	     return false;
	 } else {
		   		control1=check_fecha(fecha2.value);		 
		   } 
	if (control1==false) {
	     return false;
	 } else {
		 control2=Comparar_Fecha(fecha1.value,fecha2.value);
		 }

  if (control2==false) {
	     return false;
	 } else return true; 
 }
 
function Comparar_Fecha(fecha1,fecha2) {
var campo1,campo2, cadena,cadena1,control;
var Error1 = "El a?o inicial debe ser menor o igual que el final.\n"
	       + "               Rev?selo, por favor.                  ";
var Error2 = "El mes inicial debe ser menor o igual que el final.\n"
	       + "               Rev?selo, por favor.                  ";
var Error3= "El d?a inicial debe ser menor que el final.\n"
	      + "           Rev?selo, por favor.              ";
var Dia1, Mes1, Anyo1, Dia2, Mes2, Anyo2;
campo1=fecha1;
campo2=fecha2;

Dia1=campo1.substring(8,10);
Mes1=campo1.substring(5,7);
Anyo1=campo1.substring(0,4);
Dia2=campo2.substring(8,10);
Mes2=campo2.substring(5,7);
Anyo2=campo2.substring(0,4);

 if (Anyo1>Anyo2) {
  	  alert(Error1);  return false;	
   }
   
   if (Anyo1==Anyo2) {
	 if (Mes1>Mes2) {
		    alert(Error2); return false;
		   } else if (Mes1==Mes2) {
	               if (Dia1>Dia2) {
		    		alert(Error3); return false;
				   } else {}
			}
	}
 		
}


function check_fecha(fecha) {
var campo, cadena,cadena1,control;
var Error = "La fecha introducida es inv?lida.\n"
          + "       Rev?sela, por favor.        ";
var Error1 = "El rango de fecha no puede ser menor de 01/08/2005.\n"
           + "        &oacute; es incorrecta. Rev?selo, por favor.        ";
var Dia, Mes, Anyo, Dia_Mes_Mal = false;
campo=fecha;
cadena="Fecha incorrecta\n"
     + " Revise por favor ";
Error="La fecha es incorrecta\n"
    + "    Revise por favor    ";
Dia=campo.substring(8,10);
Mes=campo.substring(5,7);
Anyo=campo.substring(0,4);
//Dia = parseInt(Dia);
//Mes = parseInt(Mes);
//Anyo = parseInt(Anyo);

cadena1="Fecha incorrecta. Solo n&uacute;meros\n"
           + "        Revise sus datos";
control=1;
if (campo == "")  {
      alert(Error);  return false; control=0;
	  }
if ( campo.length !=10 || campo.substring(4,5) != "-" || campo.substring(7,8) != "-" ) { 
	   alert(cadena); return false; control=0;
	   } else if (isNaN(Anyo)==true || isNaN(Mes)==true || isNaN(Dia)==true) {
					   alert(cadena1); return false; control=0;
	          } else if (Dia<=0 || Mes<=0 || Anyo<=0 || Mes>12 || Mes<=0) {
   			        alert(Error1); return false; control=0;
			  	  } else if (control==1) {
					/* Los meses de Enero, Marzo, Mayo, Julio, Agosto,  Octubre y Diciembre tienen 31 d?as */
					if (( Mes == 1 || Mes == 3 || Mes == 5 || Mes == 7 || Mes == 10 || Mes == 12 || Mes == 8 )  && Dia > 31 )   
							  Dia_Mes_Mal = true;
					
							/* Los meses de Mayo, Junio, Septiembre  y Noviembre tienen 30 d?as */
					
							if ( (Mes == 4 || Mes == 6 || Mes == 9 || Mes == 11)  && Dia > 30  ) 
							 Dia_Mes_Mal = true;
					
						/* Febrero tiene 28 &oacute; 29 d?as, dependiendo de si es bisiesto o no. Un a?o es 
						bisiesto si es m&uacute;ltiplo de 4 pero no de  100 salvo que sea m&uacute;ltiplo de 400. 
						Por ejemplo, 12 y 400  son bisiestos, pero 100 y 700 no. */
        if ( Mes == 2 && ( Dia > 29 || ( Dia == 29 && ( (Anyo % 400 != 0) && ((Anyo % 4 != 0) || 
		         (Anyo % 100 == 0) ) ) ) ) )  Dia_Mes_Mal = true;
						
					
							   if (Dia_Mes_Mal)  {
								  alert(Error);
								  return false;
								  } 
								 } else return true;///FIN DE MI FUNCI?N
}



function OpenMunicipio(Url,Titulo,Width,Height,Top,Left)
{

   var styleStr = 'width='+Width+',height='+Height+', top='+Top+',left='+Left+',scrollbars=NO,titlebar=no,menubar=no,toolbar=no,location=no,CloseForm("Yes")=no;>';
   window.name = "main";
   window.open(Url,Titulo, styleStr);  
}



function SoloNumeros(caja)
{
   var cajaBien = "";
   if (caja)
   {
      for (var i=0; i<caja.length; i++)
         if (isNaN(caja.charAt(i))==false)
            cajaBien = cajaBien + caja.charAt(i);  			
    }	
	return cajaBien;	
} 


function SoloNumerosMoneda(campo)
{
   var cajaBien = "";
 //  alert(caja);
 var caja=campo.value;
   if (caja)
   {
      for (var i=0; i<caja.length; i++)
         if (isNaN(caja.charAt(i))==false || caja.charAt(i)=='.' || caja.charAt(i)==',' || caja.charAt(i)=='$')
            cajaBien = cajaBien + caja.charAt(i);  			
    }	
	campo.value=cajaBien;	
} 



function ChangeClass(msg,id,classname) {
	 var elementos=document.getElementsByTagName("span");	
	for (i=0;i<elementos.length;i++) {
			idelements = elementos[i].getAttribute("id");	
		if (idelements == id) {		
			elementos[i].className=classname;
			elementos[i].innerHTML=msg;									
		}
	}	
}



function DL_GetElementLeft()
{
    var nLeftPos = this.offsetLeft;         // this keyword refers to element
    var eParElement = this.offsetParent;
    while (eParElement != null)
    {
        nLeftPos += eParElement.offsetLeft;
        eParElement = eParElement.offsetParent;
    }
    return nLeftPos;
}

function DL_GetElementTop()
{
    var nTopPos = this.offsetTop;
    var eParElement = this.offsetParent;
    while (eParElement != null)
    {
        nTopPos += eParElement.offsetTop;
        eParElement = eParElement.offsetParent;
    }
    return nTopPos;
}



function showToolTip(msg, obj, obj1, idMsgTooltip, widthAdd){

	var name = obj1;
	var obj  = document.getElementById(obj);
	var obj1 = document.getElementById(obj1);
	
	obj.getTrueXPosition = DL_GetElementLeft;
	obj.getTrueYPosition = DL_GetElementTop;



	var nMyElementsTrueXPosition = obj.getTrueXPosition();
	var nMyElementsTrueYPosition = obj.getTrueYPosition();


	obj1.style.top = nMyElementsTrueYPosition-9+'px';
	totalWidth = nMyElementsTrueXPosition + obj.offsetWidth;
	
	var objTop = document.getElementById('topTooltip'+name);
	
		
	if(totalWidth > 800){
		
		objTop.className="bubble_top1";
		objTop.innerHTML ='<a style="cursor:pointer;padding-left:88px;padding-bottom:22px;text-decoration: none" onClick="hideToolTip(\''+name+'\')"><br>&nbsp;&nbsp;</a>';		
		
		var objTop = document.getElementById('middleTooltip'+name);
		objTop.className="bubble_middle1";
		var objTop = document.getElementById('bottomTooltip'+name);
		objTop.className="bubble_bottom1";
		
		obj1.style.left = nMyElementsTrueXPosition+widthAdd-288+'px';
	}else{
		objTop.innerHTML ='<a style="font-size:16px;cursor:pointer;padding-right:28px;text-decoration: none" onClick="hideToolTip(\''+name+'\')"><br>&nbsp;&nbsp;</a>';		
		obj1.style.left = nMyElementsTrueXPosition+(obj.offsetWidth+4)+widthAdd+'px';
	}
	
	var text = document.getElementById(idMsgTooltip);
	text.innerHTML = msg;
	obj1.style.display = 'block';
}


function hideToolTip(obj){
	var obj = document.getElementById(obj);
	obj.style.display = 'none';
}


function IsEmpty(campo,msg,style) {
	var idTooltip    = "toltiperror_"+campo.name;
	var idMsgTooltip = "msgerror_"+campo.name;
	
	if (campo.value == '') {
				campo.className = 'errorObjeto';
				showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
				return false;									
		} else {				
				campo.className = style;
				hideToolTip(idTooltip);
				return true;
			}
}
// Global object to hold drag information.
//var browser = new Browser();
var dragObj = new Object();
dragObj.zIndex = 0;

function dragStart(event, id) {

  var el;
  var x, y;

  // If an element id was given, find it. Otherwise use the element being
  // clicked on.

  if (id)
    dragObj.elNode = document.getElementById(id);
  else {
    if (browser.isIE)
      dragObj.elNode = window.event.srcElement;
    if (browser.isNS)
      dragObj.elNode = event.target;
    // If this is a text node, use its parent element.

    if (dragObj.elNode.nodeType == 3)
      dragObj.elNode = dragObj.elNode.parentNode;
  }


  // Get cursor position with respect to the page.
  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }


  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }


  // Save starting positions of cursor and element.
  dragObj.cursorStartX = x;
  dragObj.cursorStartY = y;
  dragObj.elStartLeft  = parseInt(dragObj.elNode.style.left, 10);
  dragObj.elStartTop   = parseInt(dragObj.elNode.style.top,  10);
  if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
  if (isNaN(dragObj.elStartTop))  dragObj.elStartTop  = 0;
  // Update element's z-index.
  dragObj.elNode.style.zIndex = ++dragObj.zIndex;
  // Capture mousemove and mouseup events on the page.

  if (browser.isIE) {
    document.attachEvent("onmousemove", dragGo);
    document.attachEvent("onmouseup",   dragStop);
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }


  if (browser.isNS) {
    document.addEventListener("mousemove", dragGo,   true);
    document.addEventListener("mouseup",   dragStop, true);
   event.preventDefault();
  }
}



function dragGo(event) {
  var x, y;
  // Get cursor position with respect to the page.

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;

    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;


  }


  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

  // Move drag element by the same amount the cursor has moved.
  dragObj.elNode.style.left = (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
  dragObj.elNode.style.top  = (dragObj.elStartTop  + y - dragObj.cursorStartY) + "px";


  if (browser.isIE) {
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }


  if (browser.isNS)
    event.preventDefault();
}





function dragStop(event) {

  dragObj.elNode = null;

  if (browser.isIE) {
    document.detachEvent("onmousemove", dragGo);
    document.detachEvent("onmouseup",   dragStop);
  }


  if (browser.isNS) {
    document.removeEventListener("mousemove", dragGo,   true);
    document.removeEventListener("mouseup",   dragStop, true);
  }


}



function comprueba_extension2(campo,extensiones_permitidas,style){  
   var idTooltip    = "toltiperror0_"+campo.name;
   var idMsgTooltip = "msgerror0_"+campo.name;

   
   mierror = "";    
   if (campo.value) { 
      //recupero la extensión de este nombre de archivo 
      extension = (campo.value.substring(campo.value.lastIndexOf("."))).toLowerCase(); 
      //alert (extension); 
      //compruebo si la extensión está entre las permitidas 
      permitida = false; 
      for (var i = 0; i < extensiones_permitidas.length; i++) { 
         if (extensiones_permitidas[i] == extension) { 
         permitida = true; 
         break; 
         } 
      } 
      if (!permitida) { 
         		msg = "Sólo se pueden subir archivos con extensiones: " + extensiones_permitidas.join();        
      	 		campo.className = 'errorObjeto';
				showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
				return false;     
      }else{      
       	 		campo.className = style;
				hideToolTip(idTooltip);
				return true;
       } 
   } 
   
}



function CheckOption(campo,msg) {
	
 var objeto=document.getElementsByName(campo+'[]');
 var con=0;
 
 var idTooltip    = "toltiperror5_"+campo.name;
 var idMsgTooltip = "msgerror5_"+campo.name;
	

 for (i=0;i<objeto.length;i++) { 
		if (objeto[i].checked) {
		  con++;
		}
	}
	
	if (con==0) {
				showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
				return false;
	} else {
				hideToolTip(idTooltip);
				return true;
				
	}
	
}

function CheckInputArray(id,msg) {
 var objeto=document.getElementsByName(id+'[]');
 var con=0;
 var ids="tagOptionChecked_"+id;
 for (i=0;i<objeto.length;i++) { 
		if (objeto[i].value!='') {
		  con++;
		}
	}

	if (con==0) {
		ChangeClass(msg,ids,'textOptionMsgError');
		return false;
	} else {
			ChangeClass(msg,ids,'textOptionMsg');
			return true;
	}
	
}




function IsEmptyCombox(value,name,msg) {
	var idTooltip    = "toltiperror8_"+name;
 	var idMsgTooltip = "msgerror8_"+name;
 	var comboName	 = "ComboObj_"+name;
	if (value == '') {
				showToolTip(msg, comboName, idTooltip, idMsgTooltip,10);
				return false;									
		} else {				
				hideToolTip(idTooltip);
				return true;
			}
}


function IsNoEmptyOption(id,msg) {
	
 var objeto=document.getElementById(id);
 var con=0;
 var ids="IsNoEmptyOption";
 alert(objeto);
 /*for (i=0;i<objeto.length;i++) { 	
		if (objeto[i].value!='') {
		  con++;
		}
	}
	*/
	if (con==0) {
		ChangeClass(msg,ids,'textIsNoEmptyOptionMsgError');
		return false;
	} else {
			ChangeClass(msg,ids,'textIsNoEmptyOption');
			return true;
	}
	
}
function IsEmptySelects(campo,msg,style) {
	var idTooltip    = "toltiperror7_"+campo.name;
	var idMsgTooltip = "msgerror7_"+campo.name;
	
	if (campo.options[campo.selectedIndex].value==0) {
				campo.className = 'errorObjeto';
				showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
				return false;						
		} else {				
				campo.className = style;
				hideToolTip(idTooltip);
				return true;
			}
}

function IsRange(campo,msg,valmin,valmax,style) {
	
	var idTooltip    = "toltiperror6_"+campo.name;
	var idMsgTooltip = "msgerror6_"+campo.name;
	

	if (valmax>0) {
			if (unformatNumber(campo.value)<valmin || unformatNumber(campo.value)>valmax) {
					campo.className = 'errorObjeto';
					showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
					return false;
			} else {
					campo.className = style;
					hideToolTip(idTooltip);
					return true;
				}
	} else if (valmin>0) {
			if (unformatNumber(campo.value)<valmin) {							
					campo.className = 'errorObjeto';
					showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
					return false;
			} else {
					campo.className = style;
					hideToolTip(idTooltip);
					return true;
				}	
	}

}

function IsLengthMin(campo,msg,valmin,style) {
	var idTooltip    = "toltiperror1_"+campo.name;
	var idMsgTooltip = "msgerror1_"+campo.name;
	
	if (campo.value.length<valmin) {
				campo.className = 'errorObjeto';
				showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
				return false;									
		} else {				
				campo.className = style;
				hideToolTip(idTooltip);
				return true;
			}					
}

function IsPassEqual(pass1,pass2,msg) {
	var id="tagPass_"+pass1.name;
	var id2="tagPass_"+pass2.name;

			if (pass1.value!=pass2.value) {
					ChangeClass(msg,id,'textPassMsgError');
					ChangeClass(msg,id2,'textPassMsgError');
					pass1.value='';
					pass2.value='';
					return false;
			} else {
					ChangeClass(msg,id,'textPassMsg');
					ChangeClass(msg,id2,'textPassMsg');
					return true;
				}

}

function IsRangeDate(campo,msg,fechainicial,fechafinal,patron,mask, style) {
	
	var idTooltip    = "toltiperror2_"+campo.name;
	var idMsgTooltip = "msgerror2_"+campo.name;

	if (fechainicial!='' && fechainicial!='') {		
			if (comparar_2_fechas(fechainicial,campo.value,patron,mask)==false || comparar_2_fechas(campo.value,fechafinal,patron,mask)==false) {
					campo.className = 'errorObjeto';
					showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
					return false;	
			} else {
					campo.className = style;
					hideToolTip(idTooltip);
					return true;
				}
	} else if (fechainicial!='') {
			if (comparar_2_fechas(fechainicial,campo.value,patron,mask)==false) {							
					campo.className = 'errorObjeto';
					showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
					return false;	
			} else {
					campo.className = style;
					hideToolTip(idTooltip);
					return true;				
				}		
	} else if (fechafinal!='') {
			if (comparar_2_fechas(campo.value,fechafinal,patron,mask)==false) {							
					campo.className = 'errorObjeto';
					showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
					return false;	
			} else {
					campo.className = style;
					hideToolTip(idTooltip);
					return true;				
				}		
	}

}


function IsCheckDate(campo,msg,patron,mask,style) {
	var idTooltip    = "toltiperror3_"+campo.name;
	var idMsgTooltip = "msgerror3_"+campo.name;
	
	if (check_fecha_2(campo.value,patron,mask) == false) {
			campo.className = 'errorObjeto';
			showToolTip(msg, campo.id, idTooltip, idMsgTooltip,22);
			return false;									
	} else {				
			campo.className = style;
			hideToolTip(idTooltip);
			return true;
	}	
}


function IsCheckDateTime(campo,msg,patron,mask,style) {
	var idTooltip    = "toltiperror3_"+campo.name;
	var idMsgTooltip = "msgerror3_"+campo.name;
	
	if (check_fecha_time(campo.value,patron,mask) == false) {
			campo.className = 'errorObjeto';
			showToolTip(msg, campo.id, idTooltip, idMsgTooltip,22);
			return false;									
	} else {				
			campo.className = style;
			hideToolTip(idTooltip);
			return true;
	}	
}


function comparar_2_fechas(fecha1,fecha2,patron,mask) {

var Dia1, Mes1, Anyo1, Dia2, Mes2, Anyo2;
campo1=fecha1;
campo2=fecha2;

Dia1=campo1.substring(8,10);
Mes1=campo1.substring(5,7);
Anyo1=campo1.substring(0,4);
Dia2=campo2.substring(8,10);
Mes2=campo2.substring(5,7);
Anyo2=campo2.substring(0,4);
 if (Anyo1>Anyo2) {
  	  return false;	
   }
   
   if (Anyo1==Anyo2) {
	 if (Mes1>Mes2) {
		    return false;
		   } else if (Mes1==Mes2) {
	               if (Dia1>Dia2) {
		    		return false;
				   } else { 
				   		return true; }
			}
	}
 		
}

function check_fecha_2(fecha,patron,mask) {
var campo, cadena,cadena1,control;
var Dia, Mes, Anyo, Dia_Mes_Mal = false;
campo=fecha;

Dia=campo.substring(8,10);
Mes=campo.substring(5,7);
Anyo=campo.substring(0,4);

control=1;
if (campo == "")  {
       return false; control=0;
	  }
if ( campo.length !=10 || campo.substring(4,5) != patron || campo.substring(7,8) != patron ) { 
	   return false; control=0;
	   } else if (isNaN(Anyo)==true || isNaN(Mes)==true || isNaN(Dia)==true) {
					   return false; control=0;
	          } else if (Dia<=0 || Mes<=0 || Anyo<=0 || Mes>12 || Mes<=0) {
   			        return false; control=0;
			  	  } else if (control==1) {
					/* Los meses de Enero, Marzo, Mayo, Julio, Agosto,  Octubre y Diciembre tienen 31 d?as */
					if (( Mes == 1 || Mes == 3 || Mes == 5 || Mes == 7 || Mes == 10 || Mes == 12 || Mes == 8 )  && Dia > 31 )   
							  Dia_Mes_Mal = true;
					
							/* Los meses de Mayo, Junio, Septiembre  y Noviembre tienen 30 d?as */
					
							if ( (Mes == 4 || Mes == 6 || Mes == 9 || Mes == 11)  && Dia > 30  ) 
							 Dia_Mes_Mal = true;
					
						/* Febrero tiene 28 &oacute; 29 d?as, dependiendo de si es bisiesto o no. Un a?o es 
						bisiesto si es m&uacute;ltiplo de 4 pero no de  100 salvo que sea m&uacute;ltiplo de 400. 
						Por ejemplo, 12 y 400  son bisiestos, pero 100 y 700 no. */
        if ( Mes == 2 && ( Dia > 29 || ( Dia == 29 && ( (Anyo % 400 != 0) && ((Anyo % 4 != 0) || 
		         (Anyo % 100 == 0) ) ) ) ) )  Dia_Mes_Mal = true;
						
					
							   if (Dia_Mes_Mal)  {
								
								  return false;
								  } 
								 } else return true;///FIN DE MI FUNCI?N
}


function check_fecha_time(fecha,patron,mask) {
var campo, cadena,cadena1,control;
var Dia, Mes, Anyo, Dia_Mes_Mal = false;
campo=fecha;

Dia=campo.substring(8,10);
Mes=campo.substring(5,7);
Anyo=campo.substring(0,4);


control=1;
if (campo == "")  {
       return false; control=0;
	  }
if ( campo.length !=16 || campo.substring(4,5) != patron || campo.substring(7,8) != patron ) { 
	   return false; control=0;
	   } else if (isNaN(Anyo)==true || isNaN(Mes)==true || isNaN(Dia)==true) {
					   return false; control=0;
	          } else if (Dia<=0 || Mes<=0 || Anyo<=0 || Mes>12 || Mes<=0) {
   			        return false; control=0;
			  	  } else if (control==1) {
					/* Los meses de Enero, Marzo, Mayo, Julio, Agosto,  Octubre y Diciembre tienen 31 d?as */
					if (( Mes == 1 || Mes == 3 || Mes == 5 || Mes == 7 || Mes == 10 || Mes == 12 || Mes == 8 )  && Dia > 31 )   
							  Dia_Mes_Mal = true;
					
							/* Los meses de Mayo, Junio, Septiembre  y Noviembre tienen 30 d?as */
					
							if ( (Mes == 4 || Mes == 6 || Mes == 9 || Mes == 11)  && Dia > 30  ) 
							 Dia_Mes_Mal = true;
					
						/* Febrero tiene 28 &oacute; 29 d?as, dependiendo de si es bisiesto o no. Un a?o es 
						bisiesto si es m&uacute;ltiplo de 4 pero no de  100 salvo que sea m&uacute;ltiplo de 400. 
						Por ejemplo, 12 y 400  son bisiestos, pero 100 y 700 no. */
        if ( Mes == 2 && ( Dia > 29 || ( Dia == 29 && ( (Anyo % 400 != 0) && ((Anyo % 4 != 0) || 
		         (Anyo % 100 == 0) ) ) ) ) )  Dia_Mes_Mal = true;
						
					
							   if (Dia_Mes_Mal)  {
								
								  return false;
								  } 
								 } else return true;///FIN DE MI FUNCI?N
}



function checkMail(campo,msg,style) {
 var idTooltip    = "toltiperror4_"+campo.name;
 var idMsgTooltip = "msgerror4_"+campo.name;	
 var email=campo.value;
 var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
 if(email!=''){
			
						if (filter.test(email)){
							campo.className = style;
							hideToolTip(idTooltip);
							return true;
						 }else{
						 	campo.className = 'errorObjeto';
							showToolTip(msg, campo.id, idTooltip, idMsgTooltip,0);
							return false;	
						 }

						
  }
}

/**************************************************************
M?scara de entrada. Script creado por Tunait! (21/12/2004)
Si quieres usar este script en tu sitio eres libre de hacerlo con la condici&oacute;n de que permanezcan intactas estas l?neas, osea, los cr?ditos.
No autorizo a distribu?r el c&oacute;digo en sitios de script sin previa autorizaci&oacute;n
Si quieres distribu?rlo, por favor, contacta conmigo.
Ver condiciones de uso en http://javascript.tunait.com/
tunait@yahoo.com 
****************************************************************/
var patron = new Array(2,2,4);
var patron2 = new Array(4,2,2);
var patron3 = new Array(2,2,2);
var patron4 = new Array(2);
var patron5 = new Array(4,2);
var patron6 = new Array(2,2);

function mascara(d,pat,sep,nums) {

switch(pat) {
		case 'yyyymm':
			pat=patron5;
		break;
		case 'ddmmyyyy':
			pat=patron;
		break;
		case 'yyyymmdd':
			pat=patron2;
		break;
		case 'ddmmyy':
			pat=patron3;
		break;
		case '(##) ######':
			pat=patron4;
		break;
		case 'hhmm':
			pat=patron6;
		break;
	}
if (d.valant != d.value) {

	val = d.value
	largo = val.length
	val = val.split(sep)
	val2 = ''
	for(r=0;r<val.length;r++) {
		val2 += val[r]	
	}
	if (nums) {
		for(z=0;z<val2.length;z++) {
			if (isNaN(val2.charAt(z))) {
				letra = new RegExp(val2.charAt(z),"g")
				val2 = val2.replace(letra,"")
			}
		}
	}
	val = ''
	val3 = new Array()
	for(s=0; s<pat.length; s++) {
		val3[s] = val2.substring(0,pat[s])
		val2 = val2.substr(pat[s])
	}
	for(q=0;q<val3.length; q++) {
		if (q ==0) {
			val = val3[q]
		}
		else {
			if (val3[q] != "") {
				val += sep + val3[q]
				}
		}
	}
	d.value = val
	d.valant = val
	}
}


/////OCULTACIONES DE COMBOS DE FORMULARIOS
function ocultaCombo(obj,obj2,obj3,valor) {
var objeto=document.getElementById(obj);
var objeto2=document.getElementById(obj2);
var objeto3=document.getElementById(obj3);

	if (objeto.value==valor) {
		objeto2.style.visibility='visible';
   		objeto3.style.visibility='visible';
	} else if (objeto.value!=valor) {
		objeto2.value=0;
		objeto2.style.visibility='hidden';
		objeto3.style.visibility='hidden';
			
	}

}

function ocultaCombo1(obj,obj2,valor) {
var objeto=document.getElementById(obj);
var objeto2=document.getElementById(obj2);

	if (objeto.value==valor) {
		objeto2.style.visibility='visible';
	} else if (objeto.value!=valor) {
		objeto2.value=0;
		objeto2.style.visibility='hidden';			
	}

}

function habilitaCombo(obj,obj2,valor) {
var objeto=document.getElementById(obj);
var objeto2=document.getElementById(obj2);
if(objeto2 != null && objeto != null){
	if (objeto.value==valor) {
		objeto2.disabled=true;
		objeto2.value=0;
		objeto2.value='';
	} else {		
		objeto2.disabled=false;			
	}
}
}

function habilitaCombos(obj,obj2,valor) {
var objeto=document.getElementById(obj);
var objeto2=document.getElementById(obj2);
	if(objeto2 != null && objeto != null){
		if (objeto.value == valor) {
			objeto2.disabled=false;	
		} else {		
			objeto2.disabled=true;
			objeto2.value=0;
			objeto2.value='';		
		}
	}
}

function habilitaOtrosCombos(obj,obj2,valor) {
var objeto=document.getElementById(obj);
var objeto2=document.getElementById(obj2);
	if(objeto2 != null && objeto != null){
		if (objeto.value == valor) {
			objeto2.disabled = false;	
		} else {		
			objeto2.disabled = true;		
		}
	}
}

function habilitaCheckbox(obj,obj2) {
var objeto=document.getElementById(obj);
var objeto2=document.getElementById(obj2);
	if(objeto2 != null && objeto != null){
		if (objeto.checked == true) {
			objeto2.disabled = false;	
		} else {		
			objeto2.disabled = true;	
		}
	}
}

function inhabilitaCombos(obj,obj2,valor) {
var objeto=document.getElementById(obj);
var objeto2=document.getElementById(obj2);
	if(objeto2 != null && objeto != null){
		if (objeto.value==valor) {					
			objeto2.disabled=true;
			objeto2.value=0;
			objeto2.value='';		
		}
	}
}

function habilitaCombosVarios(obj,obj2,valores) {
var objeto  = document.getElementById(obj);
var objeto2 = document.getElementById(obj2);
var valores = valores.split(',');
var existe	= false;
	for(r=0;r<valores.length;r++) {
		if (objeto.value==valores[r]) {
			existe = true;
		}
	}
	if (existe == true) {
			objeto2.disabled=false;	
		} else {		
			objeto2.disabled=true;
			objeto2.value=0;
			objeto2.value='';		
		}
}

function soloHabilita(obj,habilita) {
var objeto  = document.getElementById(obj);

	if (habilita == true) {
			objeto.disabled=false;	
		} else {		
			objeto.disabled=true;
			objeto.value=0;
			objeto.value='';		
		}
}

function habilitaCombo1(obj,obj2,valor1,valor2) {
var objeto=document.getElementById(obj);
var objeto2=document.getElementById(obj2);

	if (objeto.value==valor1 || objeto.value==valor2) {
		objeto2.disabled=true;
		objeto2.value=0;
	} else {		
		objeto2.disabled=false;			
	}

}