
var xmlhttp1 = false;
var xmlhttp2 = false;
var xmlhttp3 = false;
var xmlhttp4 = false;
//Check if we are using IE.
try {
  //If the Javascript version is greater than 5.
  xmlhttp1 = new ActiveXObject("Msxml2.XMLHTTP");
  xmlhttp2 = new ActiveXObject("Msxml2.XMLHTTP");
  xmlhttp3 = new ActiveXObject("Msxml2.XMLHTTP");
  xmlhttp4 = new ActiveXObject("Msxml2.XMLHTTP");
  //alert ("You are using Microsoft Internet Explorer.");
}
catch (e) {
  //If not, then use the older active x object.
  try {
  //If we are using Internet Explorer.
  xmlhttp1 = new ActiveXObject("Microsoft.XMLHTTP");
  xmlhttp2 = new ActiveXObject("Microsoft.XMLHTTP");
  xmlhttp3 = new ActiveXObject("Microsoft.XMLHTTP");
  xmlhttp4 = new ActiveXObject("Microsoft.XMLHTTP");
  //alert ("You are using Microsoft Internet Explorer");
  } catch (E) {
  //Else we must be using a non-IE browser.
    xmlhttp1 = false;
    xmlhttp2 = false;
    xmlhttp3 = false;
    xmlhttp4 = false;
  }
}

//If we are using a non-IE browser, create a javascript instance of the object.
if (!xmlhttp1 && typeof XMLHttpRequest != 'undefined') {
  xmlhttp1 = new XMLHttpRequest();
  //alert ("You are not using Microsoft Internet Explorer");
}
if (!xmlhttp2 && typeof XMLHttpRequest != 'undefined') {
  xmlhttp2 = new XMLHttpRequest();
}
if (!xmlhttp3 && typeof XMLHttpRequest != 'undefined') {
  xmlhttp3 = new XMLHttpRequest();
}
if (!xmlhttp4 && typeof XMLHttpRequest != 'undefined') {
  xmlhttp4 = new XMLHttpRequest();
}

function makerequest1(serverPage, objID) {
  var obj = new Object();
  if (objID != null) {
    obj = document.getElementById(objID);
  }
  
	xmlhttp1.open("GET", serverPage);
	xmlhttp1.onreadystatechange = function() {

	  if (xmlhttp1.readyState == 4 && xmlhttp1.status == 200) {
			if (obj != null && xmlhttp1.responseText.length > 0) { 
        //document.body.style.cursor = 'default';
        if (document.all) {
          if ((objID == "state" || objID == "subcategory")) {
            var select = "<select class='select' id='" + objID + "' name='" + objID + "'>";
            select += xmlhttp1.responseText + "</select>";
            obj.outerHTML = select;
            //alert(obj.innerHTML);
          }
          else if (objID == "stateajax") {
            select = "<select class='select' style='width:100px' id='stateajax' name='state' onchange='ajaxSearch();'>";
            select += xmlhttp1.responseText + "</select>";
            obj.outerHTML = select;
          }
          else {
            obj.innerHTML = xmlhttp1.responseText;
          }
        }
        else {
          obj.innerHTML = xmlhttp1.responseText;
        }
      }
	  }
  }
	xmlhttp1.send(null);
}

function makerequest2(serverPage, objID) {

  var obj = new Object();
  if (objID != null) {
    obj = document.getElementById(objID);
  }
  
	xmlhttp2.open("GET", serverPage);
	xmlhttp2.onreadystatechange = function() {

	  if (xmlhttp2.readyState == 4 && xmlhttp2.status == 200) {
			if (obj != null && xmlhttp2.responseText.length > 0) {
        if (document.all) {
          if ((objID == "state" || objID == "subcategory")) {
            var select = "<select class='select' id='" + objID + "' name='" + objID + "'>";
            select += xmlhttp2.responseText + "</select>";
            obj.outerHTML = select;
            //alert(obj.innerHTML);
          }
          else if (objID == "stateajax") {
            select = "<select class='select' style='width:100px' id='stateajax' name='state' onchange='ajaxSearch();'>";
            select += xmlhttp2.responseText + "</select>";
            obj.outerHTML = select;
          }
          else {
            obj.innerHTML = xmlhttp2.responseText;
          }
        }
        else {
          obj.innerHTML = xmlhttp2.responseText;
        }
      }
	  }
  }
	xmlhttp2.send(null);
}

function makerequest3(serverPage, objID) {
	var obj = document.getElementById(objID);
	xmlhttp3.open("GET", serverPage);
	xmlhttp3.onreadystatechange = function() {

	  if (xmlhttp3.readyState == 4 && xmlhttp3.status == 200) {
			if (obj != null && xmlhttp3.responseText.length > 0) {

        if (document.all) {
          if ((objID == "state" || objID == "subcategory")) {
            var select = "<select class='select' id='" + objID + "' name='" + objID + "'>";
            select += xmlhttp3.responseText + "</select>";
            obj.outerHTML = select;
            //alert(obj.innerHTML);
          }
          else if (objID == "stateajax") {
            select = "<select class='select' style='width:100px' id='stateajax' name='state' onchange='ajaxSearch();'>";
            select += xmlhttp3.responseText + "</select>";
            obj.outerHTML = select;
          }
          else {
            obj.innerHTML = xmlhttp3.responseText;
          }
        }
        else {
          obj.innerHTML = xmlhttp3.responseText;
        }
      }
	  }
  }
	xmlhttp3.send(null);
}

function makerequest4(serverPage, objID) {
  var obj = document.getElementById(objID);
  xmlhttp4.open("GET", serverPage);
  xmlhttp4.onreadystatechange = function() {

    if (xmlhttp4.readyState == 4 && xmlhttp4.status == 200) {
      if (obj != null && xmlhttp4.responseText.length > 0) {

        if (document.all) {
          if ((objID == "state" || objID == "subcategory")) {
            var select = "<select class='select' id='" + objID + "' name='" + objID + "'>";
            select += xmlhttp4.responseText + "</select>";
            obj.outerHTML = select;
          //alert(obj.innerHTML);
          }
          else if (objID == "stateajax") {
            select = "<select class='select' style='width:100px' id='stateajax' name='state' onchange='ajaxSearch();'>";
            select += xmlhttp4.responseText + "</select>";
            obj.outerHTML = select;
          }
          else {
            obj.innerHTML = xmlhttp4.responseText;
          }
        }
        else {
          obj.innerHTML = xmlhttp4.responseText;
        }
      }
    }
  }
  xmlhttp4.send(null);
}

function loadPijacaInfo(protocol) {

  var obj = document.getElementById("pijacainfo");

  if (obj != null) {
    makerequest3(protocol + "://www.nekretnine.ag/pijacainfo.jsp", "pijacainfo");
  }
}

function loadPopular(country, ln, protocol) {

  var obj = document.getElementById("popularInnerDiv");

  if (obj != null) {
    makerequest2(protocol + "://www.nekretnine.ag/popular_ajax.jsp?country=" + country + "&ln=" + ln, "popularInnerDiv");
  }
}

function loadStates(country, state, lang, objID, onlyWhereWeHaveResults) {
  //var obj = document.getElementById(objID);
  //alert(obj.innerHTML);
  makerequest1("ajax.jsp?country=" + encodeURIComponent(country) + "&state=" + encodeURIComponent(state) + "&ln=" + lang + "&onlyWhereWeHaveResults=" + onlyWhereWeHaveResults, objID);
}

function loadCities(country, state, city, lang, objID) {
  if (state != '' && state != '0') {
    makerequest1("ajax.jsp?country=" + encodeURIComponent(country) + "&state=" + encodeURIComponent(state) + "&city=" + encodeURIComponent(city) + "&ln=" + lang, objID);
  }
}

function loadCompaniesCities(country, objID) {
  if (country != '' && country != '0') {
    makerequest1("ajax.jsp?companiesCountry=" + encodeURIComponent(country), objID);
  }
}

function loadSubcategories(subcategory, lang, objID, ads) {

  var advancedFormExists = typeof document.forms['advancedForm'] != 'undefined';
  var ajaxFormExists = typeof document.forms['ajaxForm'] != 'undefined';

  var category = "";
  if (advancedFormExists) {
    category = document.advancedForm.category.options[document.advancedForm.category.selectedIndex].value;
  }
  else if (ajaxFormExists) {
    category = document.ajaxForm.category.options[document.ajaxForm.category.selectedIndex].value;
  }

  makerequest4("ajax.jsp?category=" + encodeURIComponent(category) +
              "&subcategory=" + encodeURIComponent(subcategory) +
              "&ads=" + ads +
              "&ln=" + lang, objID);
}

function deleteAd() {
  var id = getSelectedAdID();
  
  //alert(id);
  if (id > 0) {
    if (confirm("Are you sure you wish to delete selected ad?")) {
      try {
        //var rowIndex = row.parentNode.parentNode.rowIndex;
        var rowIndex = document.forms["adEditSelectForm"].selectedRowIndex.value;
        //alert("rowIndex = " + rowIndex);
        if (rowIndex >= 0) {
          xmlhttp1.open("GET", "ajax.jsp?action=delete&id=" + id);
          xmlhttp1.onreadystatechange = function() {
            if (xmlhttp1.readyState == 4 && xmlhttp1.status == 200) {
              if (xmlhttp1.responseText.indexOf("OK") != -1) {
                document.getElementById("resultsTable").deleteRow(rowIndex);
                document.getElementById("resultsTable").deleteRow(rowIndex);
              }
              else {
                alert("An error occured while trying to perform last operation.");
              }
            }
          }
          xmlhttp1.send(null);
        }
      }
      catch (err) {
        alert(err);
      }

      document.getElementById("deleteAdButton").disabled = true;
    }
  }
}

function deleteUserAd(id_ads, short_desc) {

  if (confirm("Are you sure you wish to delete this ad (" + short_desc + ")")) {
    try {
      xmlhttp1.open("GET", "ajax.jsp?action=delete&id=" + id_ads);
      xmlhttp1.onreadystatechange = function() {
        if (xmlhttp1.readyState == 4 && xmlhttp1.status == 200) {
          if (xmlhttp1.responseText.indexOf("OK") != -1) {
            document.location.reload();
          }
          else {
            alert("An error occured while trying to perform last operation.");
          }
        }
      }
      xmlhttp1.send(null);
    }
    catch (err) {
      alert(err);
    }
  }
}

function deleteUser(id_user, name, surname) {
  if (confirm("Are you sure you wish to delete user with id = " + id_user + " (" + name + " " + surname + ")")) {
    //makerequest1("ajax.jsp?action=deleteUser&id_user=" + encodeURIComponent(id_user), null);
    
    try {
      xmlhttp1.open("GET", "ajax.jsp?action=deleteUser&id_user=" + encodeURIComponent(id_user));
      xmlhttp1.onreadystatechange = function() {
        if (xmlhttp1.readyState == 4 && xmlhttp1.status == 200) {
          if (xmlhttp1.responseText.indexOf("OK") != -1) {
            document.location.reload();
          }
          else {
            alert("An error occured while trying to perform last operation.");
          }
        }
      }
      xmlhttp1.send(null);
    }
    catch (err) {
      alert(err);
    }
  }
}

function watchAd(id_user, id_ads, id_lang, objID) {

  makerequest1("ajax.jsp?action=watch&id_user=" + encodeURIComponent(id_user) + "&id_ads=" + encodeURIComponent(id_ads) + "&ln=" + encodeURIComponent(id_lang), objID);
}

function stopWatchingAd(id_user, id_ads, id_lang, objID) {

  makerequest1("ajax.jsp?action=stopWatching&id_user=" + encodeURIComponent(id_user) + "&id_ads=" + encodeURIComponent(id_ads) + "&ln=" + encodeURIComponent(id_lang), objID);
}

function setUserLevel(id_user, level) {

  makerequest1("ajax.jsp?action=level&id_user=" + encodeURIComponent(id_user) + "&level=" + encodeURIComponent(level), null);
  //alert(id_user + ", " + level);
}

function setUserActive(id_user, active) {

  makerequest1("ajax.jsp?action=active&id_user=" + encodeURIComponent(id_user) + "&active=" + encodeURIComponent(active), null);
  //alert(id_user + ", " + active);
}

function setAdActive(id_ads, active) {

  makerequest1("ajax.jsp?action=active&id_ads=" + encodeURIComponent(id_ads) + "&active=" + encodeURIComponent(active), null);
  //alert(id_user + ", " + active);
}

function getTranslation(rowID) {
  makerequest1("ajax.jsp?action=translation&id=" + encodeURIComponent(rowID), 'langEditor');
}

function getTranslationCategory(rowID) {
  makerequest1("ajax.jsp?action=translationCategory&id=" + encodeURIComponent(rowID), 'categoryEditor');
  makerequest2("ajax.jsp?action=translationSubcategoryList&id=" + encodeURIComponent(rowID), 'subcategoryList');
}

function getTranslationSubcategory(rowID) {
  makerequest1("ajax.jsp?action=translationSubcategory&id=" + encodeURIComponent(rowID), 'subcategoryEditor');
}

function saveTranslations() {
  
  displayFormValues();

  var srpski = document.forms['langEditorForm'].srpski.value;
  var english = document.forms['langEditorForm'].english.value;
  var deutsch = document.forms['langEditorForm'].deutsch.value;
  var italiano = document.forms['langEditorForm'].italiano.value;
  var bosanski = document.forms['langEditorForm'].bosanski.value;
  var hrvatski = document.forms['langEditorForm'].hrvatski.value;
  var ruski = document.forms['langEditorForm'].ruski.value;

  var id = document.forms['langEditorForm'].id.value;

  makerequest1("ajax.jsp?action=saveTranslations&id=" + id +
    "&srpski=" + encodeURIComponent(srpski) +
    "&english=" + encodeURIComponent(english) +
    "&deutsch=" + encodeURIComponent(deutsch) +
    "&italiano=" + encodeURIComponent(italiano) +
    "&bosanski=" + encodeURIComponent(bosanski) +
    "&hrvatski=" + encodeURIComponent(hrvatski) +
    "&ruski=" + encodeURIComponent(ruski),
    "saveMsg");
}

function displayFormValues() {
  var str = '';
  var elem = document.getElementById('langEditorForm').elements;
  for(var i = 0; i < elem.length; i++) {
    str += "<b>Type:</b>"  + elem[i].type + "&nbsp&nbsp";
    str += "<b>Name:</b>" + elem[i].name + "&nbsp;&nbsp;";
    str += "<b>Value:</b><i>"  + elem[i].value + "</i>&nbsp;&nbsp;";
    str += "<BR>";
  }

  document.getElementById('formValues').innerHTML = str;
}

function saveTranslationsCategory() {

 //displayFormValues();

  var srpski = document.forms['categoryForm'].cat_srpski.value;
  var english = document.forms['categoryForm'].cat_english.value;
  var deutsch = document.forms['categoryForm'].cat_deutsch.value;
  var italiano = document.forms['categoryForm'].cat_italiano.value;
  var bosanski = document.forms['categoryForm'].cat_bosanski.value;
  var hrvatski = document.forms['categoryForm'].cat_hrvatski.value;
  var ruski = document.forms['categoryForm'].cat_ruski.value;

  var id = document.forms['categoryForm'].id.value;

  makerequest1("ajax.jsp?action=saveTranslationsCategory&id=" + id +
    "&srpski=" + encodeURIComponent(srpski) +
    "&english=" + encodeURIComponent(english) +
    "&deutsch=" + encodeURIComponent(deutsch) +
    "&italiano=" + encodeURIComponent(italiano) +
    "&bosanski=" + encodeURIComponent(bosanski) +
    "&hrvatski=" + encodeURIComponent(hrvatski) +
    "&ruski=" + encodeURIComponent(ruski),
    "saveCategory");
}

function saveTranslationsSubcategory() {

  var srpski = document.forms['subcategoryForm'].subcat_srpski.value;
  var english = document.forms['subcategoryForm'].subcat_english.value;
  var deutsch = document.forms['subcategoryForm'].subcat_deutsch.value;
  var italiano = document.forms['subcategoryForm'].subcat_italiano.value;
  var bosanski = document.forms['subcategoryForm'].subcat_bosanski.value;
  var hrvatski = document.forms['subcategoryForm'].subcat_hrvatski.value;
  var ruski = document.forms['subcategoryForm'].subcat_ruski.value;

  var id = document.forms['subcategoryForm'].id.value;

  makerequest1("ajax.jsp?action=saveTranslationsSubcategory&id=" + id +
    "&srpski=" + encodeURIComponent(srpski) +
    "&english=" + encodeURIComponent(english) +
    "&deutsch=" + encodeURIComponent(deutsch) +
    "&italiano=" + encodeURIComponent(italiano) +
    "&bosanski=" + encodeURIComponent(bosanski) +
    "&hrvatski=" + encodeURIComponent(hrvatski) +
    "&ruski=" + encodeURIComponent(ruski),
    "saveSubcategory");
}

function isNumeric(input) {
   return (input - 0) == input && input.length > 0;
}

function ajaxSearch() {

  //document.body.style.cursor = 'wait';

  var q = document.forms['simpleForm'].q.value;
  var id_user = document.forms['ajaxForm'].id_user.value;

  var object_purpose = "";
  if (document.forms['ajaxForm'].object_purpose[0].checked) {
    object_purpose = document.forms['ajaxForm'].object_purpose[0].value;
  }
  else if (document.forms['ajaxForm'].object_purpose[1].checked) {
    object_purpose = document.forms['ajaxForm'].object_purpose[1].value;
  }

  var page = document.ajaxForm.page.value;

  var countrySelectedIndex = document.ajaxForm.country.selectedIndex;
  var country = "0";
  if (countrySelectedIndex >= 0) {
    country = document.ajaxForm.country.options[countrySelectedIndex].value;
  }

  var stateSelectedIndex = document.ajaxForm.state.selectedIndex;
  var state = "0";
  if (stateSelectedIndex >= 0) {
    state = document.ajaxForm.state.options[stateSelectedIndex].value;
  }

  var categorySelectedIndex = document.ajaxForm.category.selectedIndex;
  var category = "0";
  if (categorySelectedIndex >= 0) {
    category = document.ajaxForm.category.options[categorySelectedIndex].value;
  }

  var subcategorySelectedIndex = document.ajaxForm.subcategory.selectedIndex;
  var subcategory = "0";
  if (subcategorySelectedIndex >= 0) {
    subcategory = document.ajaxForm.subcategory.options[subcategorySelectedIndex].value;
  }

       var rooms_min = document.ajaxForm.rooms_min.value;
       var rooms_max = document.ajaxForm.rooms_max.value;

     var surface_min = document.ajaxForm.surface_min.value;
     var surface_max = document.ajaxForm.surface_max.value;

       var price_min = document.ajaxForm.price_min.value;
       var price_max = document.ajaxForm.price_max.value;

       if (!isNumeric(rooms_min)) rooms_min = "";
       if (!isNumeric(rooms_max)) rooms_max = "";

       if (!isNumeric(surface_min)) surface_min = "";
       if (!isNumeric(surface_max)) surface_max = "";

       if (!isNumeric(price_min)) price_min = "";
       if (!isNumeric(price_max)) price_max = "";

     var id_currency = document.ajaxForm.id_currency.options[document.ajaxForm.id_currency.selectedIndex].value;

      var towncenter = document.ajaxForm.towncenter.checked;
          var suburb = document.ajaxForm.suburb.checked;
         var village = document.ajaxForm.village.checked;

     var goodforkids = document.ajaxForm.goodforkids.checked;
           var quiet = document.ajaxForm.quiet.checked;
         var kitchen = document.ajaxForm.kitchen.checked;
       var furniture = document.ajaxForm.furniture.checked;
        var internet = document.ajaxForm.internet.checked;
        var elevator = document.ajaxForm.elevator.checked;
         var balcony = document.ajaxForm.balcony.checked;

  if (!towncenter) towncenter = "";
  if (!suburb) suburb = "";
  if (!village) village = "";
  
  if (!goodforkids) goodforkids = "";
  if (!quiet) quiet = "";
  if (!kitchen) kitchen = "";
  if (!furniture) furniture = "";
  if (!internet) internet = "";
  if (!elevator) elevator = "";
  if (!balcony) balcony = "";

  makerequest3("ajaxresults.jsp?" +
                         "id_user=" + encodeURIComponent(id_user) +
                              "&q=" + encodeURIComponent(q) +
                 "&object_purpose=" + encodeURIComponent(object_purpose) +
                        "&country=" + encodeURIComponent(country) +
                          "&state=" + encodeURIComponent(state) +
                       "&category=" + encodeURIComponent(category) +
                    "&subcategory=" + encodeURIComponent(subcategory) +
                      "&rooms_min=" + encodeURIComponent(rooms_min) +
                      "&rooms_max=" + encodeURIComponent(rooms_max) +
                    "&surface_min=" + encodeURIComponent(surface_min) +
                    "&surface_max=" + encodeURIComponent(surface_max) +
                      "&price_min=" + encodeURIComponent(price_min) +
                      "&price_max=" + encodeURIComponent(price_max) +
                    "&id_currency=" + encodeURIComponent(id_currency) +

                     "&towncenter=" + encodeURIComponent(towncenter) +
                         "&suburb=" + encodeURIComponent(suburb) +
                        "&village=" + encodeURIComponent(village) +

                    "&goodforkids=" + encodeURIComponent(goodforkids) +
                          "&quiet=" + encodeURIComponent(quiet) +
                        "&kitchen=" + encodeURIComponent(kitchen) +
                      "&furniture=" + encodeURIComponent(furniture) +
                       "&internet=" + encodeURIComponent(internet) +
                       "&elevator=" + encodeURIComponent(elevator) +
                        "&balcony=" + encodeURIComponent(balcony) +
                           "&page=" + encodeURIComponent(page),
                  
                  'results');
}


function selectOption(formName, selectName, optionValue) {
  eval('obj = document.' + formName + '.' + selectName + ';');
  
  for(i = 0; i < obj.length; i++) {
    if(obj[i].value == optionValue) {
      obj.selectedIndex = i;
    }
  }
}