﻿

function Get_Cookie( name ) {
	
var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;
if ( ( !start ) &&
( name != document.cookie.substring( 0, name.length ) ) )
{
return null;
}
if ( start == -1 ) return null;
var end = document.cookie.indexOf( ";", len );
if ( end == -1 ) end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}
	
		// this deletes the cookie when called
		function Delete_Cookie( name, path, domain ) {
			if ( Get_Cookie( name ) ) document.cookie = name + "=" +
			( ( path ) ? ";path=" + path : "") +
			( ( domain ) ? ";domain=" + domain : "" ) +
			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
			}

function controlPrograma(){
	var oEditor = FCKeditorAPI.GetInstance('desc_regalo') ;
	var length = GetLength();						
	if(length >20000 && length != globalLength){
		alert("<cfoutput>#application.V.MENUCENTER.MODIFCOURSE.ALERT_PROGRAMCHARS#</cfoutput>");					
	}
	globalLength = length;
	document.getElementById("longitud").value=length;
}
function FCKeditor_OnComplete( editorInstance )
{

	var oEditor = FCKeditorAPI.GetInstance('desc_regalo') ;
	if(!document.all){
		oEditor.Events.AttachEvent( 'OnSelectionChange', controlPrograma ) ;
	}
	oEditor.EditorDocument.body.onkeypress = controlPrograma;
	oEditor.EditorDocument.body.onkeyup = controlPrograma;
	oEditor.EditorDocument.body.onfocus = controlPrograma;
	document.getElementById("longitud").value=GetLength();
	
}
function GetLength() 
{ 
     // This functions shows that you can interact directly with the editor area 
     // DOM. In this way you have the freedom to do anything you want with it. 
  
     // Get the editor instance that we want to interact with. 
     var oEditor = FCKeditorAPI.GetInstance('desc_regalo') ; 
  
     // Get the Editor Area DOM (Document object). 
     var oDOM = oEditor.EditorDocument ; 
  
     var iLength ; 
  
     // The are two diffent ways to get the text (without HTML markups). 
     // It is browser specific. 
 
     if ( document.all )     // If Internet Explorer. 
     { 
            content = oDOM.body.innerText ; 
	    conte=content.replace(/\s/g, '');
	    conte=conte.replace(new RegExp('<br>','gi'), ' ');
	    conte=conte.replace(new RegExp('&nbsp;','gi'), ' ');
	    conte=conte.replace(new RegExp('&lt;','gi'), ' ');
	    conte=conte.replace(new RegExp('&gt;','gi'), ' ');
	    conte=conte.replace(new RegExp('<[^>]*>','gi'), '');
	    iLength = conte.length;
     } 
     else                    // If Gecko. 
     { 
         var r = oDOM.createRange() ; 
         r.selectNodeContents( oDOM.body ) ; 
         content = r.toString() ; 
	 conte=content.replace(/\s/g, '');
	 conte=conte.replace(new RegExp('<br>','gi'), ' ');
	 conte=conte.replace(new RegExp('&nbsp;','gi'), ' ');
	 conte=conte.replace(new RegExp('&lt;','gi'), ' ');
	 conte=conte.replace(new RegExp('&gt;','gi'), ' ');
	 conte=conte.replace(new RegExp('<[^>]*>','gi'), '');
	 iLength = conte.length;
     } 
     
     return iLength; 
} 

function isNumeric(sText)

{
   var ValidChars = "0123456789.,-";
   var IsNumber=true;
   var Char;
	var i;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }

 
function emailCheck (emailStr) {
/* Verificar si el email tiene el formato user@dominio. */
var emailPat=/^(.+)@(.+)$/;

/* Verificar la existencia de caracteres. ( ) < > @ , ; : \ " . [ ] */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";

/* Verifica los caracteres que son válidos en una dirección de email */
var validChars="\[^\\s" + specialChars + "\]";

var quotedUser="(\"[^\"]*\")";

/* Verifica si la dirección de email está representada con una dirección IP Válida */


var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

/* Verificar caracteres inválidos */

var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
/*domain, as opposed to ipDomainPat, shown above. */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");


var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
alert("La dirección de mail parece no ser correcta (comprueba que tiene @ y .)");
return false;
}
var user=matchArray[1];
var domain=matchArray[2];

// Si el user "user" es valido 
if (user.match(userPat)==null) {
// Si no
alert("El nombre de usuario no es válido.");
return false;
}

/* Si la dirección IP es válida */
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("IP de destino inválida");
return false
}
}
return true
}

var domainArray=domain.match(domainPat);
if (domainArray==null) {
alert("El dominio parece no ser válido.");
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("La dicrección debe tener 3 letras si es .com o 2 si en de algún pais.");
return false
}

if (len<2) {
var errStr="La dirección es erronea";
alert(errStr);
return false
}

// La dirección de email ingresada es Válida
return true;
}
// End -->
// this function gets the cookie, if it exists

function creaXML(){
	var xmlhttp=false;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	  try {
	  xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
	  try {
	    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (E) {
	   xmlhttp=false;
	  }
	 }
	@else
	 xmlhttp=false
	 @end @*/
	
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	return xmlhttp;
}

function ponerMenuUsuario(){
	var xmlhttp=creaXML();
	var urlcaja="/home_usuario/cargar_menu.php";
	xmlhttp.open("GET",urlcaja,false);
	xmlhttp.setRequestHeader('Accept','message/x-jl-formresult');
	xmlhttp.send(null);
	
	if (xmlhttp.readyState==4) {		
		document.getElementById("nombre_usuario").innerHTML=xmlhttp.responseText;
		}
	}

function desconectar(){
			Delete_Cookie("hash_logado","/","telocambio.com");
			document.location="/";
		}
		
function combo_provincia(pais,id_provincia){
	var xmlhttp=creaXML();
	var urlcaja="/commons/carga_provincias.php?id_pais="+pais+"&id_provincia="+id_provincia;
	xmlhttp.open("GET",urlcaja,false);
	xmlhttp.setRequestHeader('Accept','message/x-jl-formresult');
	xmlhttp.send(null);
	
	if (xmlhttp.readyState==4) {		
		document.getElementById("capa_provincias").innerHTML=xmlhttp.responseText;
		}
	}
	
function combo_ciudades(provincia,id_ciudad){
	var xmlhttp=creaXML();
	var urlcaja="/commons/carga_ciudades.php?id_provincia="+provincia+"&id_ciudad="+id_ciudad;
	xmlhttp.open("GET",urlcaja,false);
	xmlhttp.setRequestHeader('Accept','message/x-jl-formresult');
	xmlhttp.send(null);
	if (xmlhttp.readyState==4) {			
   		document.getElementById("capa_ciudades").innerHTML=xmlhttp.responseText;
		}
	}
function vota_casa(id_casa){
	var xmlhttp=creaXML();
	var urlcaja="/vota_casa.php?id_casa="+id_casa;
	xmlhttp.open("GET",urlcaja,false);
	xmlhttp.setRequestHeader('Accept','message/x-jl-formresult');
	xmlhttp.send(null);
	if (xmlhttp.readyState==4) {			
   		document.getElementById("capa_voto").innerHTML="Gracias por tu voto.";
		}
	}
function combo_categorias(categoria,id_categ_sel,orden){
	if(orden<3){
	var xmlhttp=creaXML();
	var urlcaja="/menu_centros/carga_categorias.php?id_categ="+categoria+"&id_categ_sel="+id_categ_sel+"&orden="+orden;
	xmlhttp.open("GET",urlcaja,false);
	xmlhttp.setRequestHeader('Accept','message/x-jl-formresult');
	xmlhttp.send(null);
	if (xmlhttp.readyState==4) {											
   		document.getElementById("capa_categorias"+orden).innerHTML=xmlhttp.responseText;
		}
	}
}

// Mostramos ventana de información (Compra - Packs, etc...)
function InfoWindow1(page) {	
	var objBody = document.getElementsByTagName("body").item(0);
	var objOverlay = document.createElement("div");
	objOverlay.setAttribute('id','overlay');	
	objOverlay.style.display = 'none';
	objBody.appendChild(objOverlay);

	var objLightbox = document.createElement("div");
	objLightbox.setAttribute('id','lightbox');
	objLightbox.style.display = 'none';

	objBody.appendChild(objLightbox);
			
	hideSelectBoxes();
	hideFlash();
			
	// stretch overlay to fill page and fade in
	var arrayPageSize = getPageSize();
	alert(arrayPageSize[1]);
	Element.setHeight('overlay', arrayPageSize[1]);		
	new Effect.Appear('overlay', { duration: overlayDuration, from: 0.0, to: overlayOpacity });


	// calculate top offset for the lightbox and display 
	ajaxpagesin(page,'lightbox');
			
	var arrayPageScroll = getPageScroll();
	var lightboxTop = arrayPageScroll[1] + (arrayPageSize[3] / 10);
	Element.setTop('lightbox', lightboxTop);
	Element.show('lightbox');	
}

function CloseInfoWindow1() {
	Element.hide('overlay');
	Element.removeChild('lightbox');
	if(typeof(FCKeditorAPI)!="undefined") {FCKeditorAPI=null;}
	showSelectBoxes();
	showFlash();	
}

function validar_info()
{
	return emailCheck(document.getElementById('mail_info').value);
}

function validar_alta_casa(formulario)
{
	var option = true;
	var option= emailCheck(formulario.mail.value);
	if(option && formulario.titulo.value == ""){
			alert("Debes poner un título para que el usuario pueda decidir si quiere comprar tu propiedad.");
			option = false;
		}
	if(option && formulario.estado.value == "-1"){
			alert("Debes seleccionar un estado para que el usuario pueda decidir si quiere comprar tu propiedad.");
			option = false;
		}
	if(option && document.getElementById('ciudad').value == "-1"){
			alert("Debes seleccionar una ciudad o colonia para que el usuario pueda decidir si quiere comprar tu propiedad.");
			option = false;
		}
	if(option && formulario.direccion.value == ""){
			alert("Debes escribir una dirección o una aproximación para que el usuario pueda decidir si quiere comprar tu propiedad.");
			option = false;
		}
	if(option && formulario.categoria.value == "-1"){
			alert("Debes seleccionar una categoría para que podamos mostrar tu propiedad en el lugar correcto.");
			option = false;
		}
	if(option && formulario.descripcion.value.length <100){
			alert("Debes escribir una descripción lo más detallada posible. Mínimo recomendamos 200 caracteres.");
			option = false;
		}
	return option;
}

function validar_solicitud(formulario)
{
	var option = true;
	var option= emailCheck(formulario.mail.value);
	if(option && formulario.nombre.value == ""){
			alert("Debes tu nombre para que el propietario se ponga en contacto contigo.");
			option = false;
		}
	if(option && formulario.apellidos.value == ""){
			alert("Debes poner el apellido para que el propietario se ponga en contacto contigo.");
			option = false;
		}
	return option;
}

function showAddress(pais){
	var zoom = 7;
	var address=null;
	var address1=null;
	var address2=null;
	address=document.getElementById('estado').options[document.getElementById('estado').selectedIndex].text+", "+pais;
	if(document.getElementById('ciudad').value!=-1){
		address1=address;
		address = document.getElementById('ciudad').options[document.getElementById('ciudad').selectedIndex].text+", "+address;
		var zoom = 10;
	}
	if(document.getElementById('direccion').value!=""){
		address2=address;
		address = document.getElementById('direccion').value+", "+address;
		var zoom = 15;
	}
	if (geocoder) {
    geocoder.getLatLng(
      address,
      function(point) {
        if (!point) {
			geocoder.getLatLng(
			  address1,
			  function(point) {
				if (!point) {
				 geocoder.getLatLng(
					  address2,
					  function(point) {
						if (!point) {
						  alert(address + " not found");
						} else {
						  map.setCenter(point, zoom-8);
						  marker.setPoint(point);
						  marker.openInfoWindowHtml("Situa correctamente el marcador <br/><br/>para que los usuarios puedan ver donde se encuentra");
						  document.getElementById('lat').value = point.y;
						document.getElementById('lng').value = point.x;
						  //map.addOverlay(marker);
						  //marker.openInfoWindowHtml(address);
						}
					  }
					);
				} else {
				  map.setCenter(point, zoom-5);
				  marker.setPoint(point);
				  marker.openInfoWindowHtml("Situa correctamente el marcador <br/>para que los usuarios puedan ver donde se encuentra");
				  document.getElementById('lat').value = point.y;
					document.getElementById('lng').value = point.x;
				  //map.addOverlay(marker);
				  //marker.openInfoWindowHtml(address);
				}
			  }
			);
        } else {
          map.setCenter(point, zoom);
          marker.setPoint(point);
				document.getElementById('lat').value = point.y;
				document.getElementById('lng').value = point.x;
          //map.addOverlay(marker);
          //marker.openInfoWindowHtml(address);
        }
      }
    );

  }
}
