/**********************************************************************************************************************/

/**********************************************************************************************************************/
function vcontacto(frm){
	
	var obj = document.getElementById(frm);
	var ok = true;
  
  /* E-MAIL */
  if(!checkEmail (obj.t_email.value,"si")){
		obj.t_email.style.borderColor = "#FF0000";
	  ok = false;
  }//EndIf
  else
  	obj.t_email.style.borderColor = "#333333";

	/* MENSAJE */
	if(EsVacio (obj.t_mensaje.value)){
		obj.t_mensaje.style.borderColor = "#FF0000";
	  ok = false;
  }//EndIf
  else
  	obj.t_mensaje.style.borderColor = "#333333";
  	
  if (ok) obj.submit();
  else location.href="#vinculoError";
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
// Valida un campo numérico 
function EsNumero(n, obligatorio) {	
	var ok = false;
	if ( (obligatorio=="si") && (EsVacio(n)) ) ok = false;
	else {
		if (!EsVacio(n)){
			if (isNaN(n)) ok = false;
			else ok = true;
		}//EndIf
		else ok = true;
	}//EndElse
	return ok;
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
// Valida un campo alfanumérico
function EsVacio(str) {	
	var ok = false;
	if ( (str+"" == "undefined") || (str+"" == "null") || (str+"" == "") || (!str) ){
	  ok = true; 
	} else {
		for(i=0; i<str.length; ){
			if(str.charAt(i)==" ") str=str.substring(i+1, str.length);
			else break;
		}//EndFor
		if (str=="") ok = true;
	}//EndElse
	return ok;
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function EsFicheroImagen(archivo, obligatorio) {
	var ok = false;
	if ( (obligatorio=="si") && (EsVacio(archivo)) ) ok = false;
	else {
		if (!EsVacio(archivo)){
   		extensiones_permitidas = new Array(".jpg", ".png", ".gif");
      //recupero la extensión de este nombre de archivo
      extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase();
      //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;
      	}//EndIf
      }//EndFor
      if (!permitida) ok = false;
      else ok = true;
		}//EndIf
  	else ok = true;
  }//EndElse
  return (ok);
}//EndFunction 
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function EsFicheroBanner(archivo, obligatorio) {
	var ok = false;
	if ( (obligatorio=="si") && (EsVacio(archivo)) ) ok = false;
	else {
		if (!EsVacio(archivo)){
   		extensiones_permitidas = new Array(".jpg", ".png", ".gif", ".swf");
      //recupero la extensión de este nombre de archivo
      extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase();
      //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;
        }//EndIf
      }//EndFor
      if (!permitida) ok = false;
      else ok = true;
		}//EndIf
  	else ok = true;
	}//EndElse
	return (ok);
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function EsFichero(archivo, obligatorio) {
	var ok = false;
	if ( (obligatorio=="si") && (EsVacio(archivo)) ) ok = false;
	else {
		if (!EsVacio(archivo)){
   		extensiones_permitidas = new Array(".pdf", ".doc", ".zip");
      //recupero la extensión de este nombre de archivo
      extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase();
      //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;
        }//EndIf
      }//EndFor
      if (!permitida) ok = false;
      else ok = true;
 		}//EndIf
  	else ok = true;
  }//EndElse
	return (ok);
}//EndFunction 
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function checkEmail(emailStr,obligatorio) {
	var ok = true;
	if (obligatorio=="si"){
		if ( (emailStr.length==0) || (emailStr.search("^([a-zA-Z0-9_'+*$%\^&!\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9:]{2,4})+$")) ) ok = false;
	} else {
  	if ( (emailStr.search("^([a-zA-Z0-9_'+*$%\^&!\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9:]{2,4})+$")) && (emailStr.length > 0) ) ok = false;
	}//EndElse
	return ok;
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function checkTelefono(telefonoStr,obligatorio) {
	var ok = true;
	if (obligatorio=="si"){
		if ( (telefonoStr.length!=9) || (isNaN(telefonoStr)) ) ok = false;
	} else {
  	if (telefonoStr.length > 0){
			if ( (isNaN(telefonoStr)) || (telefonoStr.length!=9) ) ok = false;
		}//EndIf
	}//EndElse
  return ok;
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function checkCPostal(cPostalStr,obligatorio) {
	var ok = false;
	if (obligatorio=="si"){
		if ( (cPostalStr.length==5) && (!isNaN(cPostalStr)) ) ok = true;
	} else {
  	if (cPostalStr.length > 0) {
			if ( (!isNaN(cPostalStr)) && (cPostalStr.length == 5) ){
	 	  	ok = true;
	 		}//EndIf
		}//EndIf
		else ok = true;
	}//EndElse
  return ok;
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function compararFechas (fechaDesde,fechaHasta){  
  diaDesde = fechaDesde.substr (0,2);
  mesDesde = fechaDesde.substr (3,2);
  anoDesde = fechaDesde.substr (6,4);
  diaHasta = fechaHasta.substr (0,2);
  mesHasta = fechaHasta.substr (3,2);
  anoHasta = fechaHasta.substr (6,4);
  okFecha = true;
  if (anoDesde>anoHasta) {
  	okFecha = false;
  } else {
  	if ( (mesDesde>mesHasta) && (anoDesde==anoHasta) ){
  		okFecha = false;
  	} else {
  		if ( (diaDesde>diaHasta) && (mesDesde==mesHasta) && (anoDesde==anoHasta) ){
  			okFecha = false;
  		}//EndIf
  	}//EndElse
  }//EndElse
  return okFecha;	
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/function esDigito(sChr){
	var sCod = sChr.charCodeAt(0);
	return ((sCod > 47) && (sCod < 58));
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function valSep(oTxt){
	var bOk = false;
	bOk = bOk || ((oTxt.charAt(2) == "-") && (oTxt.charAt(5) == "-"));
	bOk = bOk || ((oTxt.charAt(2) == "/") && (oTxt.charAt(5) == "/"));
	return bOk;
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function finMes(oTxt){
	var nMes = parseInt(oTxt.substr(3, 2), 10);
	var nRes = 0;
	switch (nMes){
		case 1: nRes = 31; break;
		case 2: nRes = 29; break;
		case 3: nRes = 31; break;
		case 4: nRes = 30; break;
		case 5: nRes = 31; break;
		case 6: nRes = 30; break;
		case 7: nRes = 31; break;
		case 8: nRes = 31; break;
		case 9: nRes = 30; break;
		case 10: nRes = 31; break;
		case 11: nRes = 30; break;
		case 12: nRes = 31; break;
	}//EndSwitch
	return nRes;
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function valDia(oTxt){
	var bOk = false;
	var nDia = parseInt(oTxt.substr(0, 2), 10);
	bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
	return bOk;
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function valMes(oTxt){
	var bOk = false;
	var nMes = parseInt(oTxt.substr(3, 2), 10);
	bOk = bOk || ((nMes >= 1) && (nMes <= 12));
	return bOk;
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function valAno(oTxt){
	var bOk = true;
	var nAno = oTxt.substr(6);
	bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
	if (bOk){
		for (var i = 0; i < nAno.length; i++){
			bOk = bOk && esDigito(nAno.charAt(i));
		}//EndFor
	}//EndIf
	return bOk;
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function valFecha(oTxt){
	var bOk = true;
	if (oTxt != ""){
		bOk = bOk && (valAno(oTxt));
		bOk = bOk && (valMes(oTxt));
		bOk = bOk && (valDia(oTxt));
		bOk = bOk && (valSep(oTxt));
		if (!bOk) return false;
		else return true;
	}//EndIf
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
function separarFecha(objFecha){
	var str = objFecha;
	if ( (str.length==8) && (EsNumero (str,"si")) ) {
	  aux = "";
	  aux += str.charAt(0);
	  aux += str.charAt(1);
	  aux += "/";
	  aux += str.charAt(2);
	  aux += str.charAt(3);
	  aux += "/";
	  aux += str.charAt(4);
	  aux += str.charAt(5);
	  aux += str.charAt(6);
	  aux += str.charAt(7);
  }//EndIf
  else aux = str;
	objFecha = aux;
}//EndFunction
/**********************************************************************************************************************/

/**********************************************************************************************************************/
// Valida la longitud de un campo 
function Longitud(n, lon, obligatorio) {	
	var ok = false;
	if ( (obligatorio=="si") && (EsVacio(n)) ) ok = false;
	else {
		if (!EsVacio(n)){
			if (n.length == lon) ok = true;
			else ok = false;
		}//EndIf
		else ok = true;
	}//EndElse
	return ok;
}//EndFunction