var im_suchfilter_objektart;
var im_suchfilter_vertrag;
var im_suchfilter_bl;
var im_suchfilter_bez;
var im_suchfilter_topimmo;


function im_update(von) {
  new Ajax.Request(im_proxyurl,
  {
    method:'get',
    parameters: {authkey: im_authkey, im_config: im_config, view: 'results', von: von, suchfilter_objektart: im_suchfilter_objektart, 'suchfilter_vertrag[]': im_suchfilter_vertrag, 'suchfilter_bl': im_suchfilter_bl, 'suchfilter_bez': im_suchfilter_bez, 'suchfilter_topimmo': im_suchfilter_topimmo },
    onSuccess: function(transport) {
      var response = transport.responseText || "zero";
       document.getElementById("im_website").innerHTML = response;
    }
  });
}

function im_website() {
  document.getElementById("im_website").innerHTML = "Loading ...";
  im_update(1);
}

function im_search(im_s_objektart, im_s_vertrag) {
  im_suchfilter_objektart = im_s_objektart;
  im_suchfilter_vertrag = im_s_vertrag;
  im_suchfilter_topimmo = "0";
  im_update(1);
}

function im_search_detail(im_s_objektart, im_s_vertrag, im_s_bl, im_s_bez) {
  im_suchfilter_objektart = im_s_objektart;
  im_suchfilter_vertrag = im_s_vertrag;
  im_suchfilter_bl = im_s_bl;
  im_suchfilter_bez = im_s_bez;
  im_suchfilter_topimmo = "0";
  im_update(1);
}

function im_topimmo() {
  im_suchfilter_topimmo = "1";
  im_update(1);
}

function im_update_page (von) {
  im_update(von);
}



function LoadMapSearchControl(gsearch) {
  var options = {
            zoomControl : GSmapSearchControl.ZOOM_CONTROL_ENABLE_ALL,
            idleMapZoom : GSmapSearchControl.ACTIVE_MAP_ZOOM,
            activeMapZoom : GSmapSearchControl.ACTIVE_MAP_ZOOM
            }
  new GSmapSearchControl(document.getElementById("mapsearch"), gsearch, options);
  Lightbox.prototype.updateImageList();
}



function im_showdetail(id) {
  new Ajax.Request(im_proxyurl,
  {
    method:'get',
    parameters: {authkey: im_authkey, im_config: im_config, view: 'detail', id: id},
    onSuccess: function(transport){
      var response = transport.responseText || "no response text";
      var split_text = response.split("--||--");
      document.getElementById("im_website").innerHTML = split_text[0];
      var im_gmap_search = split_text[1];
      LoadMapSearchControl(im_gmap_search);
      Lightbox.prototype.updateImageList();

    }
  });
}

function im_backtoresults() {
  im_update(von);
}


function im_email(action) {
  if (action == 'close') {
    document.getElementById('im_message').style.display = 'none';
  } else {
    document.getElementById('im_message').style.display = 'block';
  }
}


function im_sendmail() {
  // check name
  if (document.getElementById("anfrage_name").value < 3) {
    alert("Geben Sie bitte Ihren Namen ein!");
    document.getElementById("anfrage_name").focus();
    return FALSE;
  }

  // check telefon
  if (document.getElementById("anfrage_telefon").value < 3) {
    alert("Geben Sie bitte Ihre Telefonnummer ein!");
    document.getElementById("anfrage_telefon").focus();
    return FALSE;
  }

  // check email
  if (document.getElementById("anfrage_email").value < 3) {
   alert("Geben Sie bitte Ihre E-Mail Adresse ein!");
   document.getElementById("anfrage_email").focus();
   return FALSE;
  }


  new Ajax.Request('http://immo.imleben.com/website/im_action.php?' + im_create_request_string(document.getElementById("im_sendmail")), {
      onSuccess: function(transport) {
        document.getElementById('im_message').style.display = 'none';
      }
  });
}


function im_forward(action) {
  if (action == 'close') {
    document.getElementById('forward').style.display = 'none';
  } else {
    document.getElementById('forward').style.display = 'block';
  }
}

function im_forwardmessage() {
  // check name
  if (document.getElementById("forward_name").value < 3) {
    alert("Geben Sie bitte Ihren Namen ein!");
    document.getElementById("forward_name").focus();
    return FALSE;
  }

  // check email
  if (document.getElementById("forward_email").value < 3) {
   alert("Geben Sie bitte Ihre E-Mail Adresse ein!");
   document.getElementById("forward_email").focus();
   return FALSE;
  }

  new Ajax.Request('http://immo.imleben.com/website/im_action.php?' + im_create_request_string(document.getElementById("forwardmessage")), {
      onSuccess: function(transport) {
        document.getElementById('forward').innerHTML = '<h1>Nachricht wurde versendet.</h1><br><br><a href="javascript:im_forward(\'close\')">schließen</a>';
      }
  });
}


function im_print(id) {
  url = "http://immo.imleben.com/website/widget.php?view=print&id=" + id + "&authkey=" + im_authkey + "&im_config=" + im_config;
  np = window.open(url,status,"toolbar=0,location=0,status=0,scrollbars=1,resizable=0,width=700,height=800");
  np.focus();
}


function im_create_request_string(theform) {
            var reqStr = "";
            for(i=0; i < theform.elements.length; i++) {
              isformObject = false;
              switch (theform.elements[i].tagName) {
                case "INPUT":
                  switch (theform.elements[i].type) {
                    case "text":
                    case "hidden":
                      reqStr += theform.elements[i].name + "=" + encodeURIComponent(theform.elements[i].value);
                      isformObject = true;
                    break;

                    case "checkbox":
                      if (theform.elements[i].checked) {
                        reqStr += theform.elements[i].name + "=" + theform.elements[i].value;
                      } else {
                        reqStr += theform.elements[i].name + "=";
                      }
                      isformObject = true;
                    break;

                    case "radio":
                      if (theform.elements[i].checked) {
                        reqStr += theform.elements[i].name + "=" + theform.elements[i].value;
                        isformObject = true;
                      }
                  }
                break;

                case "TEXTAREA":
                  reqStr += theform.elements[i].name + "=" + encodeURIComponent(theform.elements[i].value);
                  isformObject = true;
                break;

                case "SELECT":
                  var sel = theform.elements[i];
                  reqStr += sel.name + "=" + sel.options[sel.selectedIndex].value;
                  isformObject = true;
                break;
              }

              if ((isformObject) && ((i+1)!= theform.elements.length)) {
                reqStr += "&";
              }

            }
            return reqStr;
}





