var ListMessage=new Array();
ListMessage["login"]="Debe especificar el login";
ListMessage["password"]="Debe especificar la contraseña";
ListMessage["nombre"]="Debe especificar el nombre";
ListMessage["apellido1"]="Debe especificar el 1er. apellido";
ListMessage["apellido2"]="Debe especificar el 2do. apellido";
ListMessage["email"]="Debe especificar el email";
ListMessage["emailE"]="Email incorrecto";
ListMessage["telefono"]="Debe especificar el teléfono";
ListMessage["cp"]="Debe especificar el código postal";
ListMessage["provincia_id"]="Debe especificar la provincia";
ListMessage["localidad"]="Debe especificar la localidad";
ListMessage["sexo_id"]="Debe especificar el género";
ListMessage["user_type_id"]="Debe especificar el user_type_id";
ListMessage["empresa"]="Debe especificar la empresa del distribuidor";
ListMessage["emailExiste"]="Email ya existe";

var CorrectClass="inputClass";
var ErrorClass="inputClass";

function displayElementMenu(sName){
	if(document.getElementById(sName).style.display=="")
		document.getElementById(sName).style.display = "none";
	else
		document.getElementById(sName).style.display = "";
	return false;
}

function changePaginador(total, type){
	if(type=="A"){
		position=new Number(document.getElementById("positionA").value)-1;
	} else {
		position=new Number(document.getElementById("positionA").value)+1;
	}
	if(position<1){
		position=1;
	}
	if(position>total){
		position=total;
	}
	displayPaginador(total, position);
}

function displayPaginador(total, position){
	for(j=1; j<=total; j++){
		document.getElementById("bloque_"+j).style.display = "none";
		document.getElementById("paginador_"+j).className="Estilo4";
		if(j==position){
			document.getElementById("bloque_"+j).style.display = "";
			document.getElementById("positionA").value=position;
			document.getElementById("paginador_"+j).className="Estilo4On";
		}
	}
	document.getElementById("bloque_siguiente").style.display = "";
	document.getElementById("bloque_anterior").style.display = "";
	document.getElementById("flecha_siguiente_i").style.display = "";
	document.getElementById("flecha_anterior_t").style.display = "";
	document.getElementById("flecha_siguiente_t").style.display = "";
	document.getElementById("flecha_anterior_i").style.display = "";
	document.getElementById("botonterminar").style.display = "none";
	if(position==1){
		document.getElementById("bloque_anterior").style.display = "none";
		document.getElementById("flecha_anterior_t").style.display = "none";
		document.getElementById("flecha_anterior_i").style.display = "none";
	}
	if(position==total){
		document.getElementById("bloque_siguiente").style.display = "none";
		document.getElementById("flecha_siguiente_i").style.display = "none";
		document.getElementById("flecha_siguiente_t").style.display = "none";
		document.getElementById("botonterminar").style.display = "";
	}
}

function displayElementAll(sName){
	document.getElementById(sName).style.display = "";
}


function disconnect() {
	return confirm('Esta seguro de querer salir de la aplicacion');
}

//Verifies that variable has value
function isValue(name){
	if( name.length ==0){
		return false;
	}
	return true;
}

function isValueSelect(name){
	if(name==0){
		return false;
	}
	if( name.length ==0){
		return false;
	} else if (name==-1){
		return false;
	}
	return true;
}


function isRadioValue(name){
	for(j=0; j<name.length; j++){
		if (name[j].checked){
			return true;
		}
	}
	return false;
}

// Verifies that variable is a Number
function isValueNumber(name) {
	var numberText= /^([0-9\s\+\-])+$/;
	if(!numberText.test(name) ) {  
         return false;
    }
    return true;
}

// Verifies long to Number Phone
function isLongNumber(name) {
	if(name.length!=9 && name.length!=0) {  
         return false;
    }
    return true;
}

function isMobileNumber(name) {
	if(name.length!=0) { 
		var primernumero = name.substr(0, 1);
         if(primernumero!=6 ) {  
         	return false;
    	 }
    }
    return true;
}

function isValueSecondParameter(oForm, valueA){
	isValueV=true;
	//Is value WHEN value 1 has value
	if(valueA.length==3){
		if(eval("oForm."+valueA[2]+".length")>1 && eval("oForm."+valueA[2]+".type")!="select-one"){
			isValueV=isRadioValue(eval("oForm."+valueA[2]));
		} else{
			isValueV=isValue(document.getElementById(valueA[2]).value);
		}
	}
	return isValueV; 
}

function universalValidation(oForm, type) {
	// Input classes
	var resForm=true;
	var messageAE=new Array();
	var total=oForm.elements.length;
	// Iterate over the Form elements 
	for(positionForm=0;positionForm<total;positionForm++) {
		// First reset the input classes
		if(oForm.elements[positionForm].type=='text' || oForm.elements[positionForm].type=='select-one' ||
    	   oForm.elements[positionForm].type=='textarea'){
	       //oForm.elements[positionForm].className = CorrectClass;
	    }
	    //alert(oForm.elements[positionForm].name);
		check=oForm.elements[positionForm].name.indexOf("_check");
		if(check>0){
		    lang=oForm.elements[positionForm].value;
		    checkName=oForm.elements[positionForm].name.substr(0,check);
		    checkData=eval("oForm."+checkName);
			validationsA=lang.split("|");
			total1=validationsA.length;
			for (v=0; v<total1; v++){
				valueA=validationsA[v].split(";");
				res=true;
				message=valueA[1];
				switch(valueA[0]) {
					//Verifies that element is a Number
					case 'NUMBER':
						if(isValueSecondParameter(oForm, valueA)){			
							res=isValueNumber(checkData.value);
						}
					break; 
					//Verifies that element has a value
					case 'VALUE':
						//Verifies that elements has value
						if(isValueSecondParameter(oForm, valueA)){
							if(checkData.type=="radio" || checkData.type=="checkbox"){
								if(checkData.checked){
									res=true;
								} else{
									res=isRadioValue(eval("oForm."+checkData.name));
								}
							} else if(checkData.type=="select-one") {
								res=isValueSelect(checkData.value);
							} else {
								res=isValue(checkData.value);
							}
						}
					break;
					case 'EMAIL':
						if(isValueSecondParameter(oForm, valueA)){
							res=checkEmail (checkData.value);
						}
					break;
					case 'ZIPCODE':
						res=isZipCodeCorrect (checkData.value);
					break;
					case 'PASTDATE':
						 res=isPastDate(checkData.value);
					break;
					case 'POSTDATE':
						 res=isPostDate(checkData.value);
					break;
					case 'CORRECTDATE':
						res=isDateCorrect(checkData.value);
					break;
					case 'MAYORDATE':
						if(valueA.length>2){
							res=isMayorDate (checkData.value, document.getElementById(valueA[2]).value);
						}
					break;
					case 'MINORDATE':
						if(valueA.length>2){
							res=isMayorDate (checkData.value, document.getElementById(valueA[2]).value);
						}
					break;
					case 'AJAXGET':
						res=isExistAjaxGet(checkData.value, valueA[2], valueA[3]);
					break
					case 'BETWEENDATE':
                        if(valueA.length>3){
                            res=isBetweenDate(checkData.value, document.getElementById(valueA[2]).value, document.getElementById(valueA[3]).value);
                        }
                    break;					
					case 'NIF':
						res=isNifCorrect (checkData.value, document.getElementById(valueA[2]).value);
					break
					case 'NUMBER_PHONE':
						if(isValueSecondParameter(oForm, valueA)){			
							res=isLongNumber(checkData.value);
						}
					break;
				}
			    if(!res){
			        if(checkData.type!='radio' && checkData.type!='checkbox' && checkData.type!='hidden'){
				        //checkData.className = ErrorClass;
				    }
				    messageAE.push(ListMessage[message]);
				    v=total1;
				    resForm=false;
			    }
			 }
		}
	} // FOR
	if(!resForm){
		alert(messageAE.join('\n'));
	}
	return resForm;
}//universalValidation

function controlBorrar(text){
	return confirm("¿Esta seguro de querer borrar "+text+" ?");
}

function changeClassRadio(radio, clase, div){
	for(r=0; r<radio.length; r++ ){
		option=radio[r].value;
		eval("document.getElementById('"+div+option+"').className='"+clase+"';");
		if(radio[r].checked){
			eval("document.getElementById('"+div+option+"').className='"+clase+"On';");
		}
	}
}

function checkEmail(name) {
	if(!isValue(name))
		return false;
	var email = /^(.+\@.+\..+)$/;
	var email1 = /^(.+\@..+\@.+\..+)$/;
	if(!email.test(name) || email1.test(name)) {   
		return false;
	}
	return true;
}


function mueveReloj(){
	if( (inicial==0 && totalsegundos>0) || inicial > 0){
		if(totalsegundos==0){
			inicial--;
			totalsegundos=59;
		}
		segundos= (totalsegundos<10)?"0"+totalsegundos:totalsegundos;
		hora=(inicial<10)?"0"+inicial:inicial;
		horaImprimible = hora + ":" + segundos;
	    document.getElementById("reloj").innerHTML = horaImprimible;
	    setTimeout("mueveReloj()",1000);
	    totalsegundos--;
    }
}
function displayElementMenu(sName){
	if(document.getElementById(sName).style.display=="")
		document.getElementById(sName).style.display = "none";
	else
		document.getElementById(sName).style.display = "";
	return false;
}

function changeImage(id, img, type){
	extra="";
	if(type=="on"){
		extra="_on";
	}
	document.getElementById(id).style.backgroundImage = "url(images/"+img+extra+".gif)";
}

function changeImageM(id, img, type){
	if(document.getElementById("div_"+id).style.display=="none"){
		changeImage(id, img, type);
	}
}


function displayMenu(id, img){
	//alert(document.getElementById("div_"+id).style.display);
	if(document.getElementById("div_"+id).style.display=="none"){
		document.getElementById("div_"+id).style.display="";
		document.getElementById(id).style.backgroundImage = "url(images/"+img+"_det.gif)";
	}
	return false;
}

function changeClass(id, clase, type){
	extra="";
	if(type=="on"){
		extra="On";
	}
	//alert(clase+extra+" "+type);
	document.getElementById(id).className= clase+extra;
}

function changeClassM(id, clase, type){
	if(document.getElementById(id+"_det").style.display=="none"){
		changeClass(id, clase, type)
	}
}

function openSubMenu(id, clase){
	if(document.getElementById(id+"_det").style.display=="none"){
		document.getElementById(id+"_det").style.display="";
		document.getElementById(id).className = clase+"On";
	}
	return false;
}


function ajaxResponseGet(urlP){
	//alert(urlP);
	return  $.ajax({
  		type: "GET",
  		url: urlP,
  		async: false,
  		error: 0
		}).responseText;
}

function isExistAjaxGet(value, extra, type){
	if (ajaxResponseGet("index.php?inc=ajax&type="+type+"&value="+value+"&extra="+extra)==1)
		return true;
	return false;
}

function isValueInBD(value, extra, type, text){
	url=ajaxResponseGet("index.php?inc=ajax&type="+ type +"&value="+value+"&extra="+extra);
	if( url!= 1){
		alert(text);
	}
}

function controlExamen(){
	return confirm("¿Esta seguro que quiere abandonar el examén?\n Si lo hace podrá volver a empezar, pero no se guardarán sus respuestas.");
}