function CambiarFoto(url_foto){
	document.getElementById("FotoMostrada").src=url_foto;
}
function CambiarFotoOb(url_foto){
	document.getElementById("FotoMostradaOb").src=url_foto;
}
function validarSolicitudInfo(idPromo){

        var strCampos="";
        msgAviso="Faltan por especificar los siguientes campos obligatorios: ";
        
        if(document.getElementById("nom").value=="")
        {
			strCampos += "NOMBRE";
		}
				
        if(document.getElementById("ape").value=="")
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "APELLIDOS";
		}

        if(document.getElementById("email").value=="")
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "E-MAIL";
		}

        if(document.getElementById("mensaje").value=="")
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "MENSAJE";
		}

		if(strCampos!="")
		{
			msgAviso += strCampos;
			alert(msgAviso);
		}
		else
		{			
			;
			msgAviso="La introducción de los datos es incorrecta debido a que:\n\n";
			var strFallos="";
			
			if(validarEmail(document.getElementById("email").value)==false)
			{
				strFallos += "- El campo E-MAIL no es válido.\n";
			}
			if(strFallos!="")
			{
				msgAviso += strFallos + "\n" + "Por favor, revise los datos.";
				alert(msgAviso);				
			}
			else
			{
				HacerPostBack(frmSolicitarInformacion,"ENVIAR","SOLICITUDINFO" + "," + idPromo);
			}
			
		}

}

function limpiarSolicitudInfo(){
        
        document.getElementById("nom").value="";				
        document.getElementById("ape").value="";
        document.getElementById("telefono").value="";
        document.getElementById("email").value="";
        document.getElementById("mensaje").value="";        
}


function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function validarEmail(email) {
    if (! isValidEmail(email)) {
        return false;
    }
    return true;
 }
 
function validarEntero(cadena)
{
	k="0123456789 ";
	for (j=0;j<cadena.length;j++)
	{
		if (k.indexOf(cadena.charAt(j)) == -1)
		{
			return false;
		}
	}
	return true;
}
 
function valSep(oTxt){
	var bOk = false;
	bOk = bOk || ((oTxt.charAt(2) == "-") && (oTxt.charAt(5) == "-"));
	bOk = bOk || ((oTxt.charAt(2) == "/") && (oTxt.charAt(5) == "/"));
	return bOk;
}
 
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;
	}
	return nRes;
}
 
function valDia(oTxt){
	var bOk = false;
	var nDia = parseInt(oTxt.substr(0, 2), 10);
	bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
	return bOk;
}

function valMes(oTxt){
	var bOk = false;
	var nMes = parseInt(oTxt.substr(3, 2), 10);
	bOk = bOk || ((nMes >= 1) && (nMes <= 12));
	return bOk;
}

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));
		}
	}
	return bOk;
}
 
function validarFecha(oFecha){
	var bOk = true;
	if (oFecha.value != ""){
		bOk = bOk && (valAno(oFecha));
		bOk = bOk && (valMes(oFecha));
		bOk = bOk && (valDia(oFecha));
		bOk = bOk && (valSep(oFecha));
		return bOk;
	}
}

function esDigito(sChr){
	var sCod = sChr.charCodeAt(0);
	return ((sCod > 47) && (sCod < 58));
}


function grid_onClick(grid,fila)
{	
	HacerPostBack(frmSolicitarInformacion,"ONCLICK",grid + "," + obtenerPKFila(grid,fila));	
}    

//Postback
function HacerPostBack(theform,operacion,parametros)
{ 
		theform.__EVENTTARGET.value = "btnPostBack";
		theform.__EVENTARGUMENT.value = operacion + "|" + parametros; 
		theform.submit(); 
}

function getElementsById(id) {
	var allObj, retObj = new Array();
	re = new RegExp(id,"");
	allObj = document.getElementsByTagName ? document.getElementsByTagName( "*") : document.all ? document.all : 0;
	if(allObj!=0) {
		for (var i=0; i<allObj.length;i++) {
			if(re.test(allObj[i].id)) {
				retObj.push(allObj[i]);
			}
		}
	}
	return retObj;
}

function hasInnerText()
{
	return (document.getElementsByTagName("body")[0].innerText != undefined) ? true : false;
}

//Para obtener las PKs separadas por '*' de una determinada fila
//de un determinado grid

function obtenerPKFila(grid,fila)
{
	var filaPK="";
	var matPKs=new Array();

	matPKs= getElementsById(grid+'_fPK_'+fila+'_');
	
	for (var i=0; i < matPKs.length; i++)
	{
		if(filaPK!="")
		{
			filaPK=filaPK+"*";
		}

		if(!hasInnerText())
		{
			filaPK=filaPK+matPKs[i].textContent;
		}
		else
		{
			filaPK=filaPK+matPKs[i].innerText;
		}			
	}

	return filaPK
}
function ocultarCapas()
{	 
	 document.getElementById('dvEstado').style.display = 'none';
     document.getElementById('dvEstadoD').style.display = 'none';
     document.getElementById('dvDetalles').style.display = 'none';
     document.getElementById('dvDetallesD').style.display = 'none';
     document.getElementById('dvViviendas').style.display = 'none';
     document.getElementById('dvViviendasD').style.display = 'none';
     document.getElementById('dvImagenes').style.display = 'none';
     document.getElementById('dvImagenesD').style.display = 'none';
     document.getElementById('dvEntorno').style.display = 'none';
     document.getElementById('dvSituacion').style.display = 'none';
     document.getElementById('dvSituacionD').style.display = 'none';     
     document.getElementById('dvPresentacion').style.display = 'none';
     document.getElementById('dvPresentacionD').style.display = 'none';
     document.getElementById('dvInformacion').style.display = 'none';
     document.getElementById('dvInformacionD').style.display = 'none';
     document.getElementById('dvInmuebles').style.display = 'none';
	 document.getElementById('dvInmueblesD').style.display = 'none';          
}
function MostrarCapa(id)
{    
  switch (id)
  {
   case 'dvPresentacion':
     if (document.getElementById('dvDescPresentacion').innerHTML != '')
      {
		ocultarCapas();
		document.getElementById('dvPresentacion').style.display = 'block';
		document.getElementById('dvPresentacionD').style.display = 'block';
	  }	
     break;
  case 'dvSituacion':
       if (document.getElementById('dvDescSituacion').innerHTML != '')
		{
			ocultarCapas();
			document.getElementById('dvSituacion').style.display = 'block';
			document.getElementById('dvSituacionD').style.display = 'block';
		}	
     break;
 case 'dvEntorno':
       if (document.getElementById('tdEntorno').innerHTML != '')
		{
 			ocultarCapas();
			document.getElementById('dvEntorno').style.display = 'block';
		}	
     break;
 case 'dvImagenes':
       if (document.getElementById('tdImagenes').innerHTML != '')
		{
			ocultarCapas();
			document.getElementById('dvImagenes').style.display = 'block';
			document.getElementById('dvImagenesD').style.display = 'block';
		}	
     break;
 case 'dvViviendas':
 	 ocultarCapas();
	 document.getElementById('dvViviendas').style.display = 'block';
	 document.getElementById('dvViviendasD').style.display = 'block';     
     break;
 case 'dvDetalles':
        if (document.getElementById('dvDescDetalles').innerHTML != '')
		{
			ocultarCapas();
			document.getElementById('dvDetalles').style.display = 'block';
			document.getElementById('dvDetallesD').style.display = 'block';
		}	
     break;
 case 'dvEstado':
     if (document.getElementById('tdEstado').innerHTML != "")
      {
		ocultarCapas();
		document.getElementById('dvEstado').style.display = 'block';
		document.getElementById('dvEstadoD').style.display = 'block';     
	  }	
     break;
 case 'dvInformacion':
	 ocultarCapas();
	 document.getElementById('dvInformacion').style.display = 'block';
 	 document.getElementById('dvInformacionD').style.display = 'block';
     break;
 case 'dvInmuebles':	 
     ocultarCapas();          
     document.getElementById('dvInmuebles').style.display = 'block';     
     document.getElementById('dvInmueblesD').style.display = 'block';     
     break;
  };
}

//Volver del grid de inmuebles a tipologias
function volver_a_tipologias(idProv,idPromo)
{	
	HacerPostBack(frmSolicitarInformacion,"VOLVER_INM_TIP",idProv + "," + idPromo);
}    

//Grid
function grid_obtenerDatos(frm,grid,pag)
{
	switch (frm) {
		case 'frmBuscador':
			HacerPostBack(frmBuscador,"PAGINAR",grid + "," +pag);			
			break;
		case 'frmSolicitarInformacion':
			HacerPostBack(frmSolicitarInformacion,"PAGINAR",grid + "," +pag);		
			break;
	} 
}    
function verPlano(){
	limpiarDatosPrereserva();
	ocultarCapasDetalle();
	mostrarCapaDetalle("divPlanos");
}


function verFormaPago(idPromo){
	eval("window.open('formaPago.aspx?idPromocion=" + idPromo + "', '', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=435,height=470,left = 270,top = 154');");
}

function verDocumento(docu){
	eval("window.open('" + docu + "', '');");
}

function ocultarCapasDetalle()
{
	document.getElementById('divPlanos').style.display='none';
	document.getElementById('divPrereservaPantalla1').style.display='none';
	document.getElementById('divPrereservaPantalla2').style.display='none';
	document.getElementById('divPrereservaPantalla3').style.display='none';
}

function mostrarCarroCompra(blnMostrar)
{	
	alert("pasa1");
	//Mostramos o no el carrito de la compra
	if(blnMostrar==true)
	{
		alert("pasa2");
		document.getElementById('divCarrito').style.display='block';
	}
	else
	{
		alert("pasa3");
		document.getElementById('divCarrito').style.display='none';
	}
}

function mostrarCapaDetalle(idCapa,blnMostrar)
{
	document.getElementById(idCapa).style.display='block';
	
	//Mostramos o no el carrito de la compra
	if(idCapa=='divPlanos')
	{
		//document.getElementById('divCarrito').style.display='block';
		if(blnMostrar==true)
		{
			document.getElementById('divCarrito').style.display='block';
		}
		else
		{
			document.getElementById('divCarrito').style.display='none';
		}
	}
	else
	{
		document.getElementById('divCarrito').style.display='none';
	}
}
function limpiarDatosPrereserva(){
        
        document.getElementById("nombre").value="";
        document.getElementById("apellidos").value="";
        document.getElementById("email").value="";
        document.getElementById("telefono").value="";        
        document.getElementById("fnacimientoDia").selectedIndex=0;
        document.getElementById("fnacimientoMes").selectedIndex=0;
        document.getElementById("fnacimientoAnio").selectedIndex=0;
        document.getElementById("personaF").checked=true;
        cambioPersona();
        document.getElementById("tipodocumento").selectedIndex=0;
        document.getElementById("codDocumento").value="";        
        document.getElementById("ciudad").value="";        
        document.getElementById("direccion").value="";        
        document.getElementById("cp").value="";        
        document.getElementById("provincia").value="";        
        
}

function cambioPersona(){
	
	if(document.getElementById("personaF").checked==true)
	{
		//document.getElementById("tipoDocumento").options[0].text="N.I.F.";
		document.getElementById("trTipoDocumento").style.display="block";
	}
	else
	{
		//document.getElementById("tipoDocumento").options[0].text="C.I.F.";
		document.getElementById("trTipoDocumento").style.display="none";
	}
}

function validarNIF(valor)
{
abc=valor;
dni=abc.substring(0,abc.length-1);
let=abc.charAt(abc.length-1);
if (!isNaN(let))
 {
  return false;
 }
else
 {
  cadena="TRWAGMYFPDXBNJZSQVHLCKET";
  posicion = dni % 23;
  letra = cadena.substring(posicion,posicion+1);
  if (letra!=let.toUpperCase())
   {
    return false;
   }
 }
return true;
}

function validarDatosPrereserva(idPromocion,idInmueble){

        var strCampos="";
        msgAviso="Faltan por especificar los siguientes campos obligatorios: ";

        if(document.getElementById("nombre").value=="")
        {
			strCampos += "NOMBRE";
		}
				
        if(document.getElementById("apellidos").value=="")
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "APELLIDOS";
		}

        if(document.getElementById("email").value=="")
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "E-MAIL";
		}

        if(document.getElementById("telefono").value=="")
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "TELEFONO";
		}

        if((document.getElementById("fnacimientoDia").value=="") || (document.getElementById("fnacimientoMes").value=="") || (document.getElementById("fnacimientoAnio").value==""))
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "FECHA NACIMIENTO";
		}

        /*
        if(document.getElementById("tipodocumento").value=="")
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "TIPO DE DOCUMENTO";
		}
		*/

        if(document.getElementById("codDocumento").value=="")
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "DOCUMENTO";
		}

        if(document.getElementById("ciudad").value=="")
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "CIUDAD";
		}

        if(document.getElementById("direccion").value=="")
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "DIRECCION";
		}

        if(document.getElementById("cp").value=="")
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "C.P.";
		}

        if(document.getElementById("provincia").value=="")
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "PROVINCIA";
		}

		if(strCampos!="")
		{
			msgAviso += strCampos;
			alert(msgAviso);
		}
		else
		{			

			msgAviso="La introducción de los datos es incorrecta debido a que:\n\n";
			var strFallos="";
			
			if(validarEmail(document.getElementById("email").value)==false)
			{
				strFallos += "- El campo EMAIL no es válido.\n";
			}

			if(!validarEntero(document.getElementById("telefono").value))
			{
				strFallos += "- El campo TELEFONO no es válido.\n";
			}

			/*
			if(document.getElementById("fnacimiento").value!="")
			{
				if(validarFecha(document.getElementById("fnacimiento").value)==false)
				{
					strFallos += "- El campo FECHA NACIMIENTO no es válido.\n";
				}
			}
			*/
			var fnac;
			fnac=document.getElementById("fnacimientoDia").value + "/" + document.getElementById("fnacimientoMes").value + "/" + document.getElementById("fnacimientoAnio").value
			if(validarFecha(fnac)==false)
			{
				strFallos += "- El campo FECHA NACIMIENTO no es válido.\n";
			}
			

			if(document.getElementById("personaJ").checked==true)
			{				
				if(!validarCIF(document.getElementById("codDocumento").value))
				{
					strFallos += "- El campo DOCUMENTO (C.I.F.) no es válido.\n";
				}
			}
			
			if((document.getElementById("personaF").checked==true) && (document.getElementById("tipodocumento").value=="N"))
			{		
				if(!validarNIF(document.getElementById("codDocumento").value))
				{
					strFallos += "- El campo DOCUMENTO (N.I.F.) no es válido.\n";
				}
			}

			if((document.getElementById("cp").value.length<5) || (!validarEntero(document.getElementById("cp").value)))
			{
				strFallos += "- El campo C.P. no es válido.\n";
			}

			if(strFallos!="")
			{
				msgAviso += strFallos + "\n" + "Por favor, revise los datos.";
				alert(msgAviso);				
			}
			else
			{
				HacerPostBack(frmDetallesInmueble,"ENVIAR","PRERESERVA" + "," + idPromocion + "," + idInmueble);
			}
			
		}

}
function PopUp(img)
{	
	foto1= new Image();
	foto1.src=(img);
	Control(img);
}
function Control(img)
{
	if((foto1.width!=0)&&(foto1.height!=0))
	{
		verFoto(img);
	}
}

function verFoto(img)
{
	ancho=foto1.width+20;
	alto=foto1.height+20;

	var windowLeft = (screen.width - ancho) / 2;
	var windowTop = (screen.height - alto) / 2;
  
	cadena="width="+ancho+",height="+alto+",left="+windowLeft+",top="+windowTop;
	ventana=window.open(img,"",cadena);
}


function validarSolicitudContacto(){

        var strCampos="";
        msgAviso="Faltan por especificar los siguientes campos obligatorios: ";
        
        if(document.getElementById("nombre").value=="")
        {
			strCampos += "NOMBRE";
		}
				
        if(document.getElementById("email").value=="")
        {
			(strCampos!="") ? strCampos += ", " : strCampos += "";
			strCampos += "E-MAIL";
		}


		if(strCampos!="")
		{
			msgAviso += strCampos;
			alert(msgAviso);
		}
		else
		{			
			;
			msgAviso="La introducción de los datos es incorrecta debido a que:\n\n";
			var strFallos="";
			
			if(validarEmail(document.getElementById("email").value)==false)
			{
				strFallos += "- El campo E-MAIL no es válido.\n";
			}
			if(strFallos!="")
			{
				msgAviso += strFallos + "\n" + "Por favor, revise los datos.";
				alert(msgAviso);				
			}
			else
			{
				HacerPostBack(frmSolicitarInformacion,"ENVIAR","SOLICITUDINFO");
			}
			
		}

}

function limpiarSolicitudContacto(){
        
        document.getElementById("nombre").value="";				
        document.getElementById("apellidos").value="";
        document.getElementById("telefono").value="";
        document.getElementById("email").value="";
        document.getElementById("mensaje").value="";        
}
