/* General v1.0 */
/* ©2008 */
/* www.housetic.com */
/* Software licenced */

function replaceAll (streng, soeg, erstat)
{ var st = streng;
  if (soeg.length == 0)
     return st;
  var idx = st.indexOf(soeg);
  while (idx >= 0)        
  {  st = st.substring(0,idx) + erstat + st.substr(idx+soeg.length);
     idx = st.indexOf(soeg);
  }
  return st;
}

/**
*
*  URL encode / decode
*  http://www.webtoolkit.info/
*
**/

var Url = {

    // public method for url encoding
    encode : function (string) {
        return escape(this._utf8_encode(string));
    },

    // public method for url decoding
    decode : function (string) {
        return this._utf8_decode(unescape(string));
    },

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);
            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }
        }

        return utftext;
    },

    // private method for UTF-8 decoding
    _utf8_decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }

}

function fnModLoc_Buscar(sFormLocalizaciones,sFormParamEntrada,sUrl,sParametros){
      var pai = new Array();
      var pro = new Array();
      var zon = new Array();
      var pob = new Array();
      var dis = new Array();
      var urlSalida = sUrl + "?";
      var oParams = sParametros.split("-",12);
      var nomParamPais = oParams[0];
      var nomParamProvincia = oParams[1];
      var nomParamZona = oParams[2];
      var nomParamPoblacion = oParams[3];
      var nomParamDistrito = oParams[4];
      var nomParamOperacion = oParams[5];
      var nomParamMostrar = oParams[6];
      var nomParamTipo = oParams[7];
      var nomParamPrecio = oParams[8];
      var nomParamSuperficie = oParams[9];
      var nomParamHabitaciones = oParams[10];
      var nomParamOrden = oParams[11];
      
      var oFormLocalizaciones = eval("document." + sFormLocalizaciones);
      var oFormEntrada = eval("document." + sFormParamEntrada);
      
      //pai = oFormLocalizaciones.pais.value.split("-",2);
      //urlSalida = urlSalida + nomParamPais + "=" + replaceAll(pai[1].toLowerCase()," ","_");
      urlSalida = urlSalida + nomParamPais + "=es";

      pro = oFormLocalizaciones.provincia.value.split("-",2);
      urlSalida = urlSalida + "&" + Url.encode(nomParamProvincia) + "=" + Url.encode(replaceAll(pro[1].toLowerCase()," ","_"));
      zon = oFormLocalizaciones.zona.value.split("-",2);
      if ((zon[1].toLowerCase() != "")&&(zon[1].toLowerCase() != "todos")) urlSalida = urlSalida + "&" + Url.encode(nomParamZona) + "=" + Url.encode(replaceAll(zon[1].toLowerCase()," ","_"));
      pob = oFormLocalizaciones.poblacion.value.split("-",2);
      if ((pob[1].toLowerCase() != "")&&(pob[1].toLowerCase() != "todos")) urlSalida = urlSalida + "&" + Url.encode(nomParamPoblacion) + "=" + Url.encode(replaceAll(pob[1].toLowerCase()," ","_"));
      dis = oFormLocalizaciones.distrito.value.split("-",2);
      if ((dis[1].toLowerCase() != "")&&(dis[1].toLowerCase() != "todos")) urlSalida = urlSalida + "&" + Url.encode(nomParamDistrito) + "=" + Url.encode(replaceAll(dis[1].toLowerCase()," ","_"));
      
      if (oFormEntrada.operacion.value != "") urlSalida = urlSalida + "&" + Url.encode(nomParamOperacion) + "=" + Url.encode(replaceAll(oFormEntrada.operacion.value.toLowerCase()," ","_"));
      if (oFormEntrada.mostrar.value != "") urlSalida = urlSalida + "&" + Url.encode(nomParamMostrar) + "=" + Url.encode(replaceAll(oFormEntrada.mostrar.value.toLowerCase()," ","_"));
      if (oFormEntrada.tipo.value != "") urlSalida = urlSalida + "&" + Url.encode(nomParamTipo) + "=" + Url.encode(replaceAll(oFormEntrada.tipo.value.toLowerCase()," ","_"));
      if (oFormEntrada.precio.value != "") urlSalida = urlSalida + "&" + Url.encode(nomParamPrecio) + "=" + Url.encode(replaceAll(oFormEntrada.precio.value.toLowerCase()," ","_"));
      if (oFormEntrada.superficie.value != "") urlSalida = urlSalida + "&" + Url.encode(nomParamSuperficie) + "=" + Url.encode(replaceAll(oFormEntrada.superficie.value.toLowerCase()," ","_"));
      if (oFormEntrada.habitaciones.value != "") urlSalida = urlSalida + "&" + Url.encode(nomParamHabitaciones) + "=" + Url.encode(replaceAll(oFormEntrada.habitaciones.value.toLowerCase()," ","_"));
      if (oFormEntrada.orden.value != "") urlSalida = urlSalida + "&" + Url.encode(nomParamOrden) + "=" + Url.encode(replaceAll(oFormEntrada.orden.value.toLowerCase()," ","_"));
      if (oFormEntrada.l.value != "") urlSalida = urlSalida + "&l=" + Url.encode(replaceAll(oFormEntrada.l.value.toLowerCase()," ","_"));
      
      window.open(urlSalida, "_self");
}
    
function fnModFiltros_Buscar(sFormParamEntrada,sMostrar,sTipo,sPrecio,sSuperficie,sHabitaciones,sUrl,sParametros){
      var urlSalida = sUrl + "?";
      var oParams = sParametros.split("-",12);
      var nomParamPais = oParams[0];
      var nomParamProvincia = oParams[1];
      var nomParamZona = oParams[2];
      var nomParamPoblacion = oParams[3];
      var nomParamDistrito = oParams[4];
      var nomParamOperacion = oParams[5];
      var nomParamMostrar = oParams[6];
      var nomParamTipo = oParams[7];
      var nomParamPrecio = oParams[8];
      var nomParamSuperficie = oParams[9];
      var nomParamHabitaciones = oParams[10];
      var nomParamOrden = oParams[11];
      
      var oFormEntrada = eval("document." + sFormParamEntrada);
      
      urlSalida = urlSalida + Url.encode(nomParamPais) + "=" + Url.encode(oFormEntrada.pais.value.toLowerCase());
      urlSalida = urlSalida + "&" + Url.encode(nomParamProvincia) + "=" + Url.encode(oFormEntrada.provincia.value.toLowerCase());
      if ((oFormEntrada.zona.value.toLowerCase() != "")&&(oFormEntrada.zona.value.toLowerCase() != "todos")) urlSalida = urlSalida + "&" + Url.encode(nomParamZona) + "=" + Url.encode(oFormEntrada.zona.value.toLowerCase());
      if ((oFormEntrada.poblacion.value.toLowerCase() != "")&&(oFormEntrada.poblacion.value.toLowerCase() != "todos")) urlSalida = urlSalida + "&" + Url.encode(nomParamPoblacion) + "=" + Url.encode(oFormEntrada.poblacion.value.toLowerCase());
      if ((oFormEntrada.distrito.value.toLowerCase() != "")&&(oFormEntrada.distrito.value.toLowerCase() != "todos")) urlSalida = urlSalida + "&" + Url.encode(nomParamDistrito) + "=" + Url.encode(oFormEntrada.distrito.value.toLowerCase());
      if (oFormEntrada.operacion.value != "") urlSalida = urlSalida + "&" + Url.encode(nomParamOperacion) + "=" + Url.encode(replaceAll(oFormEntrada.operacion.value.toLowerCase()," ","_"));
      if ((sMostrar != "")&&(sMostrar != "todos")) {
        urlSalida = urlSalida + "&" + Url.encode(nomParamMostrar) + "=" + Url.encode(sMostrar);
      }else if (sMostrar == "todos"){
      }else if (oFormEntrada.mostrar.value != "") {
        urlSalida = urlSalida + "&" + Url.encode(nomParamMostrar) + "=" + Url.encode(replaceAll(oFormEntrada.mostrar.value.toLowerCase()," ","_"));
      }
      if ((sTipo != "")&&(sTipo != "todos")) {
        urlSalida = urlSalida + "&" + Url.encode(nomParamTipo) + "=" + Url.encode(sTipo);
      }else if (sTipo == "todos"){
      }else if (oFormEntrada.tipo.value != "") {
        urlSalida = urlSalida + "&" + Url.encode(nomParamTipo) + "=" + Url.encode(replaceAll(oFormEntrada.tipo.value.toLowerCase()," ","_"));
      }  
      if ((sPrecio != "")&&(sPrecio != "todos")) {
        urlSalida = urlSalida + "&" + Url.encode(nomParamPrecio) + "=" + Url.encode(sPrecio);
      }else if (sPrecio == "todos"){
      }else if (oFormEntrada.precio.value != "") {
        urlSalida = urlSalida + "&" + Url.encode(nomParamPrecio) + "=" + Url.encode(replaceAll(oFormEntrada.precio.value.toLowerCase()," ","_"));
      }
      if ((sSuperficie != "")&&(sSuperficie != "todos")) {
        urlSalida = urlSalida + "&" + Url.encode(nomParamSuperficie) + "=" + Url.encode(sSuperficie);
      }else if (sSuperficie == "todos"){
      }else if (oFormEntrada.superficie.value != "") {
        urlSalida = urlSalida + "&" + Url.encode(nomParamSuperficie) + "=" + Url.encode(replaceAll(oFormEntrada.superficie.value.toLowerCase()," ","_"));
      }
      if ((sHabitaciones != "")&&(sHabitaciones != "todos")) {
        urlSalida = urlSalida + "&" + Url.encode(nomParamHabitaciones) + "=" + Url.encode(sHabitaciones);
      }else if (sHabitaciones == "todos"){
      }else if (oFormEntrada.habitaciones.value != "") {
        urlSalida = urlSalida + "&" + Url.encode(nomParamHabitaciones) + "=" + Url.encode(replaceAll(oFormEntrada.habitaciones.value.toLowerCase()," ","_"));
      }
      if (oFormEntrada.orden.value != "") urlSalida = urlSalida + "&" + Url.encode(nomParamOrden) + "=" + Url.encode(replaceAll(oFormEntrada.orden.value.toLowerCase()," ","_"));
      if (oFormEntrada.l.value != "") urlSalida = urlSalida + "&l=" + Url.encode(replaceAll(oFormEntrada.l.value.toLowerCase()," ","_"));
      
      window.open(urlSalida, "_self");
}
    
function fnModOrden_Buscar(urlSalida){
      window.open(urlSalida, "_self");
}
