var img_cargando ="<img src='/img/cargando2.gif' id='img_cargando'>";

var total_msg="";
var msg;

$(document).ready(function(){
    $("body").append("<div id=\"overlayer\" style=\"position:absolute;top:0px;left:0px;z-index:9900;display:block;margin:0px;padding:0px;float:none;clear:none;background-color:#000000;\"></div>");
    $("body").append("<div id=\"modal\" style=\"display:block;position:absolute;z-index:10000;width:auto;height:auto;\"></div>");
});

function aviso(texto,titulo,sel,sel2){
	var distancia_defecto_top=50; //distancia en pixeles
	if (titulo==undefined) titulo="Aviso";
    var ventana = '<div class="popup3 estirar"><h2>'+titulo+'</h2><div class="aviso"><p>'+texto+'</p></div><a href="#" id="cerrar" class="boton"><img border=0 src="/casasrurales/imagenes/boton_cerrar_rojo.gif" alt="Cerrar" title="Cerrar el aviso"/></a></div>';
    
    if(sel=="fijo"){
    	if (sel2==undefined) distancia_desde_top = distancia_defecto_top;
    	else distancia_desde_top = sel2;
        $("#modal").html(ventana).popUp(distancia_desde_top);
    }
    else {
        $("#modal").html(ventana).popUp();
    }
    /* estos casos siguientes no funcionan
    else{
        if(sel2!="cerrar")
            $().popUp2(sel,ventana,sel2);
        else
            $("#"+sel).html(ventana).popUp(null,1);
    }*/
}
function aviso_enlace(texto,titulo,sel,enlace){
	var distancia_top=50; //distancia en pixeles
	if (titulo==undefined) titulo="Aviso";
    var ventana = '<div class="popup3 estirar"><h2>'+titulo+'</h2><div class="aviso"><p>'+texto+'</p></div><a href="'+enlace+'" class="boton"><img border="0" src="/casasrurales/imagenes/boton_cerrar_rojo.gif" alt="Cerrar" title="Cerrar el aviso"/></a></div>';
    
    if(sel=="fijo"){
        $("#modal").html(ventana).popUp(distancia_top,undefined,"SIN SCROLL");
    }
    else {
        $("#modal").html(ventana).popUp();
    }
}

function info(texto,titulo,sel,sel2){
	if (titulo==undefined) titulo="Info";
    var ventana = '<div class="popup3 estirar"><h3 style="margin-top:10px; color:#FFFFFF">'+titulo+'</h3><div class="aviso">'+texto+'</div><a href="#" id="cerrar" class="boton"><img border=0 src="/casasrurales/imagenes/boton_cerrar_rojo.gif" alt="" /></a></div>';
    
    if(sel==undefined){
        $("#modal").html(ventana).popUp();
    }
    else{
        if(sel2!="cerrar")
            $().popUp2(sel,ventana,sel2);
        else
            $("#"+sel).html(ventana).popUp(null,1);
    }
}

function confirmar(texto){
    var msg;
    
    msg = '<div class="popup3 estirar"><h2>Confirmación</h2><div class="aviso"><p>'+texto+'</p></div><a href="#" id="cerrar" class="boton"><img src="/img/boton_cerrar_rojo.gif" alt="" /></a></div>';
    $("#modal").html(msg).popUp();

}


function parametros(url){
      var p = new Array();
      var esDeCod = url.match(/\?/g);
      if (esDeCod==null)
        url = unescape(url);
      var argsDec = url.split("?")[1];
      var aP      = argsDec.split("aP=")[1];
      p["aP"]     = unescape(aP.split("&")[0]);
      var ctn     = argsDec.split("ctn=")[1];
      p["ctn"]    = ctn.split("&")[0];
      var params  = unescape(p["aP"].split("params=")[1]);
      var aP2     = params.split("aP2=")[1];
      if(aP2)
          p["aP2"] = unescape(aP2.split("&")[0]);
      var ctn2     = params.split("ctn2=")[1];
      if(ctn2)
          p["ctn2"] = ctn2.split("&")[0];
      return p;
}

function parametrosForm(idForm,atr){
    var inputs="";
    var sw=true;
    var sep="";
    
    getInputs = function(i){
    	
    	switch(atr) {
    	case "id":	
        	inputs+=sep+this.id+'='+this.value;
        	break;
        case "name":	
        	inputs+=sep+this.name+'='+this.value;
        	break;
    	}
    	if (sw) {
    		sep="&";
    		sw=false;
    	}
    }
    //$("#"+idForm+" :input").each(getInputs);
    $("#"+idForm+" select").each(getInputs);
    $("#"+idForm+" textarea").each(getInputs);
    $("#"+idForm+" input:hidden").each(getInputs);
    $("#"+idForm+" :password").each(getInputs);
    $("#"+idForm+" :text").each(getInputs);
    $("#"+idForm+" :radio:checked").each(getInputs);
    $("#"+idForm+" :checkbox:checked").each(getInputs);
    $("#"+idForm+" :submit").each(getInputs);
    //$("#"+idForm+" :button").each(getInputs);
    //$("#"+idForm+" :file").each(getInputs);
   
    var ctn=$("#"+idForm+" #ctn").val();
    var modulo=$("#"+idForm+" #modulo").val();
    var aP = "modulo="+modulo+"&params="+escape(inputs); 
    var p= new Array();
    p["aP"]=aP;
    p["ctn"]=ctn;
    return p;
}

 //Ventana modal hecha por Javier Villarrubia (por definir la funcióefinitiva)
/*Funcion que ubica un elemento a una determinada altura del 'screen' en posicióelativa al 
 *desplazamiento del scroll-dado que utiliza 'jquery' hay que cargar previamnete la libreríde 
 *'jquery'-
 *El argumento 'capa' es un string que sigue la nomenclatura de 'jquery' por ej: "#capax", ".etiquetax",
 *El segundo argumento (top) se refiere a la altura donde deseamos ubicar la capa en relacion al screen.*/
function centerScreen(capa,top) {
    var anchoDivAMostrar = $(capa).width();
    var innerWidth = 0, innerHeight = 0;
    if( typeof( window.innerWidth ) == 'number' ) {
      //Non-IE
      innerWidth = window.innerWidth;
      innerHeight = window.innerHeight;
      myPageXOffset = window.pageXOffset;
      myPageYOffset = window.pageYOffset;
    } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
      //IE 6+ in 'standards compliant mode'
      innerWidth = document.documentElement.clientWidth;
      innerHeight = document.documentElement.clientHeight;
      myPageXOffset =document.documentElement.scrollLeft;
      myPageYOffset =document.documentElement.scrollTop;
      
    } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
      //IE 4 compatible
      innerWidth = document.body.clientWidth;
      innerHeight = document.body.clientHeight;
      myPageXOffset = document.body.scrollLeft;
      myPageYOffset = document.body.scrollTop;
    }
    var x = ((innerWidth - anchoDivAMostrar) / 2) + myPageXOffset;
    var y = top + myPageYOffset;
    $(capa).css("left",x+"px");
    $(capa).css("top",y+"px");
    $(capa).show();
    return false;
}

jQuery.altura=function(){
    return self.innerHeight||jQuery.boxModel&&document.documentElement.clientHeight||document.body.clientHeight;
};
jQuery.anchura=function(){
    return self.innerWidth||jQuery.boxModel&&document.documentElement.clientWidth||document.body.clientWidth;
};
jQuery.scrollTop=function(){
    return self.pageYOffset||jQuery.boxModel&&document.documentElement.scrollTop||document.body.scrollTop;
};
jQuery.scrollLeft=function(){
    return self.pageXOffset||jQuery.boxModel&&document.documentElement.scrollLeft||document.body.scrollLeft;
};
jQuery.fn.centroLeft=function(){
    var w1=Math.round(jQuery.anchura()/2),w2=Math.round(this.width()/2),left=w1-w2+jQuery.scrollLeft();
    return left;
};
jQuery.fn.centroTop=function(){
    var h1=Math.round(jQuery.altura()/2),h2=Math.round(this.height()/2),top=h1-h2+jQuery.scrollTop();
    return top; 
};
jQuery.fn.popUp2=function(sel,html,sel2){
        if(sel2!=undefined)
            $("div#"+sel2).fadeOut();
    $("body").append("<div id=\""+sel+"\" style=\"display:block;position:absolute;z-index:10100;width:auto;height:auto;\"></div>");
        var pop=$("div#"+sel);
        pop.html(html);
    var top=pop.centroTop(),left=pop.centroLeft();
    pop.css("top",top).css("left",left);
    pop.find("#cerrar,.cerrar,a.cancelar").bind("click",function(){pop.popDown2(sel2);return false;});
    pop.fadeIn().show().siblings().find("object,embed,select,iframe").css("visibility","hidden");
    $("div#overlayer").css({"opacity":0.9,"width":jQuery.anchura(),"height":$(document).height()}).fadeIn(function(){$("div#overlayer").show();});
};
jQuery.fn.popDown2=function(sel2){
    this.fadeOut().hide().empty().remove();
        if(sel2!=undefined)
            $("div#"+sel2).fadeIn();
};
jQuery.fn.popUp=function(distancia,nullbind,cuentaScroll){
    var div=this,id=this.attr("id");
    if (cuentaScroll=="SIN SCROLL")
    	var top=distancia==undefined||isNaN(distancia)?this.centroTop():distancia,left=this.centroLeft();
    else
    	var top=distancia==undefined||isNaN(distancia)?this.centroTop():jQuery.scrollTop()+distancia,left=this.centroLeft();

    this.css("top",top).css("left",left);
    if(!nullbind) this.find("#cerrar,.cerrar,a.cancelar").bind("click",function(){div.popDown();return false;});
    this.fadeIn().show().siblings().find("object,embed,select,iframe").css("visibility","hidden");
    $("div#overlayer").css({"opacity":0.6,"width":jQuery.anchura(),"height":$(document).height()}).fadeIn(function(){$("div#overlayer").show();});
    
};
jQuery.fn.popDown=function(){
    $("div#overlayer").fadeOut(function(){$("div#overlayer").hide();});
    this.fadeOut().hide().empty();
    this.siblings().find("object,embed,select,iframe").css({"visibility":"visible"});
};
jQuery.fn.pre_loading=function(sel,html,opacity,modal){
    $("body").append("<div id=\"pre_loading_over\" style=\"position:absolute;top:0px;left:0px;z-index:10100;display:block;margin:0px;padding:0px;float:none;clear:none;\"></div>");
    $("body").append("<div id=\"pre_loading\" style=\"position:absolute;z-index:10200;width:auto;height:auto;\"></div>");
        var pop=$("div#pre_loading");
        var over=$("div#pre_loading_over");
        var elem=$(sel);
        pop.html(html);
        over.css({"width":elem.width(),"height":elem.height(),"opacity":0});
        if(modal==undefined){
            var elemTop=elem.eTop();
            var elemLeft=elem.eLeft();
        var dimT=Math.round((elem.height()/2)+elem.eTop());
        var dimL=Math.round((elem.width()/2)+elem.eLeft());
            var top=dimT-pop.height()/2;
            var left=dimL-pop.width()/2;
        }
        else{
            var elemTop=over.centroTop();
            var elemLeft=over.centroLeft();
            var top=pop.centroTop();
            var left=pop.centroLeft();
        }
    pop.css("top",top);
        pop.css("left",left);
        over.css("top",elemTop);
        over.css("left",elemLeft);
        if(opacity!=undefined){
            elem.fadeTo("fast",opacity);
        }
};
jQuery.fn.post_loading=function(sel,opacity){
        var pop=$("div#pre_loading");
        var over=$("div#pre_loading_over");
        over.remove();
        pop.remove();
        if(opacity!=undefined){
            var elem=$(sel);
            elem.fadeTo("slow",opacity);
        }
};
jQuery.fn.eTop=function(){
    var nodo=this[0];
    var etop=0;     
    while(nodo.tagName!="BODY"){
        etop+=nodo.offsetTop;
        nodo=nodo.offsetParent;
    }
    return etop;
};
jQuery.fn.eLeft=function(opts){
    var nodo=this[0];
    var eleft=0;
    while(nodo.tagName!="BODY"){
        eleft+=nodo.offsetLeft;
        nodo=nodo.offsetParent;
    }
    return eleft;
};

var paginacionCallbacks = new Array();
function registrarPaginacionCallbacks(callback){
    var i;
    for (i=0;i<paginacionCallbacks.length;i++){
        if (callback == paginacionCallbacks[i])
            break;
    }
    if (i == paginacionCallbacks.length)
        paginacionCallbacks[paginacionCallbacks.length] = callback;
}

function ejecutarCallbacks(){
    for (var i=0;i<paginacionCallbacks.length;i++){
        paginacionCallbacks[i]();
    }
}
paginacionCallbacks.registrar = registrarPaginacionCallbacks;
paginacionCallbacks.ejecutar = ejecutarCallbacks;



function marca(formulario) {
    var cl;

    $("#"+formulario+" :checkbox").each(function() {
        cl = $(this).attr("class");
        if (cl == 'marca') {         
            if (this.checked)
                $(this).attr("checked","");
            else 
                $(this).attr("checked","checked");
        }
    });
}
function mostrarPoblaciones(formulario,view,ctn,nombre_campo,eventos,select_name) {
        var parametros="";
        var dataAjax;
        var nr_provincia=0;

		if (formulario==undefined) formulario="formCasasCercanas";
        if (view==undefined) view="portada_casasrurales";
        if (ctn==undefined) ctn="poblaciones";
        if (nombre_campo==undefined) nombre_campo="";
        if (eventos==undefined) eventos="";
        if (select_name==undefined) select_name="nr_provincia";

        nr_provincia = $("#"+formulario+" select[name="+select_name+"] option:selected").val();
        parametros="nr_provincia="+nr_provincia+"&view="+view+"&nombre_campo="+nombre_campo+"&eventos="+eventos;
        dataAjax = "modulo=PRVPoblacionOU&params="+escape(parametros);

        ejecucionOK = function(html){
           	$("#"+ctn).html(html);
        }
        $.ajax({ url: "/modulo/index.php",data: dataAjax, success: ejecucionOK });

}

/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
function validarEmail(email) {

		var at="@"
		var dot="."
		var lat=email.indexOf(at)
		var lemail=email.length
		var ldot=email.indexOf(dot)
		if (email.indexOf(at)==-1){
		   return false
		}

		if (email.indexOf(at)==-1 || email.indexOf(at)==0 || email.indexOf(at)==lemail){
		   return false
		}

		if (email.indexOf(dot)==-1 || email.indexOf(dot)==0 || email.indexOf(dot)==lemail){
		    return false
		}

		 if (email.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (email.substring(lat-1,lat)==dot || email.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (email.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (email.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}

