function Item(){
	this.length = Item.arguments.length 
	for (var i = 0; i < this.length; i++)
		this[i] = Item.arguments[i]
}
function Fecha() {
	var ndia  = new Item('Domingo', 'Lunes', 'Martes', 'Mi&eacute;rcoles', 'Jueves', 'Viernes', 'S&aacute;bado')
	var nmes  = new Item('enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 
							  'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre')
	var ahora
	var fecha = new Date()
	var ano   = fecha.getYear()
	var mes   = fecha.getMonth()
	var dia   = fecha.getDay()
	var aux   = "" + fecha
	if (ano<10) {
		ano2 = "200" + eval(ano)
	}
	else if (ano<80) {
		ano2 = "20" + ano
	} 
	else if (ano<=99) {
	ano2 = "19" + ano
	}
	else if (ano<1000) {
	ano2 = eval(ano) + eval(1900)
	}
	else {
	ano2 = ano
	}
	ahora = ndia[dia] + ", " + eval(aux.substring(7, 10)) + " " + nmes[mes] + " " + ano2
	return ahora
}


function FechaHoy(){
	theDate = new Date();

    // split into day, month, year
    dia = theDate.getDate();
    mes = theDate.getMonth()+1;
    ano = theDate.getFullYear();

	if (dia<10){
		dia = "0" + dia;
	}
	if (mes<10){
		mes = "0" + mes
	}

    fecha = dia  + "/" + mes + "/" + ano;

    return fecha;
}

function sel_img(flecha,tipo) {
	if (Number(tipo)==1){
		flecha.src = "images/flechas_r1_c2.gif";
	}else{
		flecha.src = "images/flechas_r1_c2_F2.gif";
	}
}

function sel_imgadm(flecha,tipo) {
	if (Number(tipo)==1){
		flecha.src = "../images/flechas_r1_c2.gif";
	}else{
		flecha.src = "../images/flechas_r1_c2_F2.gif";
	}
}


function ValidateForm( wich ){

	DisableForm( wich );
	
	SubmitButtonValueChange = wich.SubmitButtonValueChange.value.split('&');

	ChangeButtonCaption( eval('wich.'+SubmitButtonValueChange[0]), SubmitButtonValueChange[2] );
	
	ErrorList = "";

	if( wich.RequiredFields ){
	
		RequiredFieldsArray = wich.RequiredFields.value.split('&');
		
		for( i=0; i<RequiredFieldsArray.length; i++){
		
			RequiredFieldData = RequiredFieldsArray[i].split(':');
			FieldValue = eval('wich.'+RequiredFieldData[0]+'.value');
			
			switch( RequiredFieldData[2] ){
			
				case "0": // Must be filled with anything
					if( FieldValue == "" ){
						ErrorList = ErrorList+RequiredFieldData[1]+"\n";
					}
					break;
					
				case "1": // EMail validation
					if( !emailCheck( FieldValue ) && FieldValue != "" ){
						ErrorList = ErrorList+RequiredFieldData[1]+"\n";
					}
					break;
				case "2": // Telefono validation
					if( !IsNumeric(FieldValue) || FieldValue.length!=9){
						ErrorList = ErrorList+RequiredFieldData[1]+"\n";
					}
					break;
					
				case "50": // If the specified CheckBox is checked, checks for requiring the specified field to be filled
					FirstFieldValue = eval('wich.'+RequiredFieldData[0]+'.checked');
					SecondFieldValue = eval('wich.'+RequiredFieldData[3]+'.value');
					if( FirstFieldValue && SecondFieldValue == "" ){
						ErrorList = ErrorList+RequiredFieldData[1]+"\n";
					}
					break;
			}
		}
		
		if( ErrorList != "" ){
			ErrorList = wich.Text_ErrorHeader.value+"\n\n"+ErrorList;
			alert( ErrorList );
			EnableForm( wich );
			ChangeButtonCaption( eval('wich.'+SubmitButtonValueChange[0]), SubmitButtonValueChange[1] );
			return false;
		}
		
	}
	
	return true;
	
}

function ChangeButtonCaption( Button, Caption )
{
	Button.value = Caption;
}

function DisableForm( wich ){
	if( document.all || document.getElementById ){
		for( i=0; i<wich.length; i++ ){
			var tempobj = wich.elements[i];
			var type = tempobj.type.toLowerCase();
			if( type == "submit" || type == "reset" ){
				tempobj.disabled = true;
			}
		}
	}
}

function EnableForm(wich){
	if( document.all || document.getElementById ){
		for( i=0; i<wich.length; i++ ){
			var tempobj = wich.elements[i];
			var type = tempobj.type.toLowerCase();
			if( type == "submit" || type == "reset" ){
				tempobj.disabled = false;
			}
		}
	}
}

function emailCheck (emailStr) {
	// EMail validation function
	// Changes:  Sandeep V. Tamhankar (stamhankar@hotmail.com)
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		//alert("Email address seems incorrect (check @ and .'s)")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]

	if (user.match(userPat)==null) {
	    //alert("The username doesn't seem to be valid.")
	    return false
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
		        //alert("Destination IP address is invalid!")
				return false
		    }
	    }
	    return true
	}

	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		//alert("The domain name doesn't seem to be valid.")
	    return false
	}

	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
	   //alert("The address must end in a three-letter domain, or two letter country.")
	   return false
	}

	if (len<2) {
	   //var errStr="This address is missing a hostname!"
	   //alert(errStr)
	   return false
	}

	return true;
}




function IsNumeric(sText){
   var ValidChars = "0123456789.,";
   var IsNumber=true;
   var Char;
   var i;
   for (i = 0; (i < sText.length); i++){ 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1){
		 IsNumber = false;
      }
   }
   return IsNumber;
   
}


function changeZona(busquedas){
	RellenarLocalidades(busquedas);
}

function changeLocalidad(busquedas){
	RellenarBarrios(busquedas);
}

function RellenarLocalidades(busquedas){
	txt_todas = (busquedas==0)?"":"TODAS";
	cmbzonas = document.getElementById('combo_zonas');
	id_zona = cmbzonas.value;
	cmblocalidades = document.getElementById('combo_localidades');
	cmblocalidades.innerHTML = "";
	var arrLocalidadZona = new Array();
	var contador = 0;
	for (var prop in arrLocalidades){
		var datos = new Array();
		datos = prop.split("_");
		id_localidad = datos[1];
		if (datos[0] == id_zona){
			arrLocalidadZona[id_localidad]=arrLocalidades[prop];
			contador++;
		}
	}
	
	if (contador>1 || contador==0){
		var option = document.createElement('option');
		option.text = txt_todas;
		option.innerHTML = txt_todas;
		option.value = 0;
		cmblocalidades.appendChild(option);
	}

		
	for (var localidad in arrLocalidadZona){
		var option = document.createElement('option');
		option.text = arrLocalidadZona[localidad];
		option.innerHTML = arrLocalidadZona[localidad];
		option.value = localidad;
		cmblocalidades.appendChild(option);
	}

	RellenarBarrios(busquedas);
	
	
}

function RellenarBarrios(busquedas){
	txt_todas = (busquedas==0)?"":"TODAS";
	cmblocalidades = document.getElementById('combo_localidades');
	id_localidad = cmblocalidades.value;
	cmbbarrios = document.getElementById('combo_barrios')
	cmbbarrios.innerHTML = "";
	var arrBarrioLocalidad = new Array();
	var contador = 0;
	for (var prop in arrBarrios){
		var datos = new Array();
		datos = prop.split("_");
		id_barrio = datos[1];
		if (datos[0] == id_localidad){
			arrBarrioLocalidad[id_barrio]=arrBarrios[prop];
			contador++;
		}
	}
	
	if (contador>1 || contador==0){
		var option = document.createElement('option');
		option.text = txt_todas;
		option.innerHTML = txt_todas;
		option.value = 0;
		cmbbarrios.appendChild(option);
	}

		
	for (var barrio in arrBarrioLocalidad){
		var option = document.createElement('option');
		option.text = arrBarrioLocalidad[barrio];
		option.innerHTML = arrBarrioLocalidad[barrio];
		option.value = barrio;
		cmbbarrios.appendChild(option);
	}


}




