<!--
/////---------------------------------------------------------------------------------------------------
/// 					funciones AUXLIARES de VALIDACION
/////---------------------------------------------------------------------------------------------------
function IsEmpty(campo) {
		//alert(campo.name);
	if (campo.value.length==0) {return true;}  
	else {return false;}
}

function IsNumPos(campo){
	inputString=campo.value;
	if (!isNaN(inputString))
		{	return ((inputString>=0) ?true:false);	}
	else
		{return false;}
}

function conEspacios(campo){

	return (campo.value.indexOf(" ")>0);
	
}

function validaCadena(campo, caracteresNoValidos) {

  var ubicacion;
  var contador = 0;
  //alert(" campo.value: " + campo.value + "\n caracteresNoValidos: "+caracteresNoValidos);
  for (var i=0; i < campo.value.length; i++) {
    ubicacion = campo.value.substring(i, i + 1);
	//alert("pos: " + caracteresNoValidos.indexOf(ubicacion));
    if (caracteresNoValidos.indexOf(ubicacion)>0) {
	     //alert("ERROR: No se acepta el caracter '" + ubicacion + "'.");
    	  return false;
	    } 
	else {
		contador++;
    }
  }
  //alert("Datos correctos.");
  return true;
}

function isNumberFloat(campo)
{
  inputString=campo.value;
  return (!isNaN(parseFloat(inputString))) ? true : false;
}

function IsTooLong(campo,tam){
	if (campo.value.length>tam)  {return true;}
	else { return false;}
}


/*
function validListEmails(campo){
	
	valor=campo.value;
	vEmails=valor.split(";");
	re=/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/;
    resp="";
	for (i=0;i<vEmails.lenght;i++){
		if(!re.exec(vEmails[i]))    {
    	    resp+=vEmails[i] +" no es un correo valido#" 
	    }		
	}
	
	return resp;
}
*/


function IsEmail(campo){

	valor=campo.value;
    re=/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/;
    if(!re.exec(valor))    {
        return false;
    }else{
        return true;
    }
}

function IsCheckedRadioButton(radioGrp){
	for (var i = 0; i< radioGrp.length; i++) {
	   		 if (radioGrp[i].checked) {
			       	return true;
	    	}
	} 
	return false;
}


var DateValidationFormat="dd/mm/yyyy";


function IsDate(field){
		var checkstr = "0123456789";
		var DateField = field;
		var Datevalue = "";
		var DateTemp = "";
		//var seperator = "/";
		var day;
		var month;
		var year;
		var leap = 0;
		var err = 0;
		var i;
		   err = 0;
		   DateValue = DateField.value;
		   //alert(DateField.Name);
		   /* Delete all chars except 0..9 */
		   for (i = 0; i < DateValue.length; i++) { 
		   		if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) { DateTemp = DateTemp + DateValue.substr(i,1); }   
			}
		   DateValue = DateTemp;
		   /* Always change date to 8 digits - string*/
		   /* if year is entered as 2-digit / always assume 20xx */
		  
		  
		  
		  switch (DateValidationFormat){
		  	
				case "dd/mm/yyyy": case "dd-mm-yyyy": case "dd/mm/yy": case "dd-mm-yy":	 
											if (DateValue.length == 6) { DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
											if (DateValue.length!=8) { return false;}
											day = DateValue.substr(0,2);  month = DateValue.substr(2,2);year = DateValue.substr(4,4);
											break;
				
				case "yyyy/mm/dd": case "yyyy-mm-dd": case "yy/mm/dd": case "yy-mm-dd":	
											if (DateValue.length == 6) { DateValue = '20' + DateValue; }
											if (DateValue.length!=8) { return false;}
											year = DateValue.substr(0,4);  month = DateValue.substr(4,2);day = DateValue.substr(6,2);
											break;
				
				case "yyyy/dd/mm": case "yyyy-dd-mm": case "yy/dd/mm": case "yy-dd-mm":
											if (DateValue.length == 6) { DateValue = '20' + DateValue; }
											if (DateValue.length!=8) { return false;}
											year = DateValue.substr(0,4);  day = DateValue.substr(6,2); month = DateValue.substr(6,2);
											break;
											
				case "mm/dd/yyyy": case "mm-dd-yyyy": case "mm/dd/yy": case "mm-dd-yy":
											
											if (DateValue.length == 6) { DateValue = '20' + DateValue; }
											if (DateValue.length!=8) { return false;}
											month = DateValue.substr(0,2);  day = DateValue.substr(2,2); year = DateValue.substr(4,4);
											
											break;												
																		
				default:			// dd/mm/yyyy - dd/mm/yy
											if (DateValue.length == 6) { DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
											if (DateValue.length!=8) { return false;}
											day = DateValue.substr(0,2);  month = DateValue.substr(2,2);year = DateValue.substr(4,4);
											break;
																				
		
		  }
		  
		 
		 // alert (DateValidationFormat + " .... " + DateValue + " ---- year:" + year + "  month: " + month + " day:" + day);
		   
		   /* year is wrong if year = 0000 */
		   if (year == 0) { err = 20;}
		   /* Validation of month*/
		   if ((month < 1) || (month > 12)) { err = 21; }
		   /* Validation of day*/
		   if (day < 1) { err = 22; }
		   /* Validation leap-year / february / day */
		   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {leap = 1; }
		   if ((month == 2) && (leap == 1) && (day > 29)) { err = 23; }
		   if ((month == 2) && (leap != 1) && (day > 28)) { err = 24; }
		   /* Validation of other months */
		   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {  err = 25;  }
		   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) { err = 26; }
		   /* if 00 ist entered, no error, deleting the entry */
		  // if ((day == 0) && (month == 0) && (year == 00)) {   err = 0; day = ""; month = ""; year = ""; seperator = "";   }
		   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
		   if (err == 0) {   //   DateField.value = day+ seperator + month + seperator + year;
			  return true;   }
		   /* Error-message if err != 0 */
		   else {  //alert("date is incorrect!");  DateField.select();	  DateField.focus();
			  return false;   }
}


function isTime(fieldTime){
	
	//var TimeField = field;
	var TimeValue;
	
	var hour, minute;
	
	
	// err = 0;
   	
	//alert(field.value);
	
	//TimeValue = TimeField.value;
	
	
	TimeValue = fieldTime.value;
	
	TimeValue=TimeValue.split(":");
	if (TimeValue.length!=2) {		
		return false;
	}
		
	hour=parseInt( TimeValue[0]);
	if ( (isNaN(hour)) || (hour<0) || (hour>23)) { return false;}
	
	minute=parseInt(TimeValue[1]);
	if ( (isNaN(minute)) || (minute<0) || (minute>59)) { return false;}
	
	
	return true;
	
	
}

function ToDate(textDate, textTime){
	
	
	if (IsDate(textDate)){
			
		vDate=textDate.value.split("/");		// separador de dias /
		vTime=textTime.value.split(":");		// separador de horas-minutos :
		
		
		switch (DateValidationFormat){
  		//Date(año,mes,dia,hora,minutos,segundos) 
		case "dd/mm/yyyy": case "dd-mm-yyyy": case "dd/mm/yy": case "dd-mm-yy":	 
									auxDate= new Date(vDate[2], vDate[1], vDate[0], vTime[0],vTime[1],0);		// para formato d/m/y h:m					
									break;
		
		case "yyyy/mm/dd": case "yyyy-mm-dd": case "yy/mm/dd": case "yy-mm-dd":	
									auxDate= new Date(vDate[0], vDate[1], vDate[2], vTime[0],vTime[1],0);							
									break;
		
		case "yyyy/dd/mm": case "yyyy-dd-mm": case "yy/dd/mm": case "yy-dd-mm":
									auxDate= new Date(vDate[0], vDate[2], vDate[1], vTime[0],vTime[1],0);		
									break;
									
		case "mm/dd/yyyy": case "mm-dd-yyyy": case "mm/dd/yy": case "mm-dd-yy":
									auxDate= new Date(vDate[2], vDate[0], vDate[1], vTime[0],vTime[1],0);		
									break;												
																
		default:			// dd/mm/yyyy - dd/mm/yy
									auxDate= new Date(vDate[2], vDate[1], vDate[0], vTime[0],vTime[1],0);		// para formato d/m/y h:m							
									break;
																		

  	}
		
		//alert(auxDate + " ..... " + DateValidationFormat);
		return auxDate;
		
		
	}
	else return false;
	
}


function inspect(obj, maxLevels, level)
{
  var str = '', type, msg;

    // Start Input Validations
    // Don't touch, we start iterating at level zero
    if(level == null)  level = 0;

    // At least you want to show the first level
    if(maxLevels == null) maxLevels = 1;
    if(maxLevels < 1)     
        return '<font color="red">Error: Levels number must be > 0</font>';

    // We start with a non null object
    if(obj == null)
    return '<font color="red">Error: Object <b>NULL</b></font>';
    // End Input Validations

    // Each Iteration must be indented
    str += '<ul>';

    // Start iterations for all objects in obj
    for(property in obj)
    {
      try
      {
          // Show "property" and "type property"
          type =  typeof(obj[property]);
          str += '<li>(' + type + ') ' + property + 
                 ( (obj[property]==null)?(': <b>null</b>'):('')) + '</li>';

          // We keep iterating if this property is an Object, non null
          // and we are inside the required number of levels
          if((type == 'object') && (obj[property] != null) && (level+1 < maxLevels))
          str += inspect(obj[property], maxLevels, level+1);
      }
      catch(err)
      {
        // Is there some properties in obj we can't access? Print it red.
        if(typeof(err) == 'string') msg = err;
        else if(err.message)        msg = err.message;
        else if(err.description)    msg = err.description;
        else                        msg = 'Unknown';

        str += '<li><font color="red">(Error) ' + property + ': ' + msg +'</font></li>';
      }
    }

      // Close indent
      str += '</ul>';

    return str;
}


//-->
