/* -------------------------------------------------------------------------- */
/*
Number.prototype.toNearest = function(num) {
  return Math.round(this/num)*num;
}
function localizeString(sString) {
  var lsString = "";
  for (var i = 0; i < sString.length; i++) {
    lsString = sString.charAt(sString.length - (i + 1)) + lsString;
    if ((i + 1) != sString.length)
      if ((i + 1) % 3 == 0) {
        lsString = " " + lsString;
      }
  }
  return lsString;
}

function creditFormula() {
  this.rateBuy = 1;
  this.rateSell = 1;
  this.pInterest = 1;
  this.nTerm = 1;
  this.tDetail = 0;
  this.HCredit =  0;
  this.handlingFee = 0;
}
creditFormula.prototype = new Object();
creditFormula.prototype.approx = function() {
  var lowerLimit = 0;
  var upperLimit = parseInt(this.getCredit());
  while (!((upperLimit - lowerLimit) <= 1)) {
    this.HCredit = lowerLimit + parseInt((upperLimit - lowerLimit) / 2);
    if (this.getDetail() < this.tDetail) {
      lowerLimit = this.HCredit;
    } else {
      upperLimit = this.HCredit;
    }
  }
  return this.HCredit;
}
creditFormula.prototype.getCredit = function() {
  var p1n = Math.pow((1 + this.pInterest), this.nTerm);
  var _tDetail = this.tDetail / this.rateSell;
  var _HCredit = 0;
  _HCredit = _tDetail / (p1n * this.pInterest / (p1n - 1));
  _HCredit *= this.rateBuy;
  return _HCredit;
}
creditFormula.prototype.getDetail = function() {
  var p1n = Math.pow((1 + this.pInterest), this.nTerm);
  var _HCredit = this.HCredit * this.rateBuy;
  var _tDetail = 0;
  _tDetail = _HCredit * (p1n * this.pInterest / (p1n - 1));
  _tDetail += _HCredit * this.handlingFee;
  _tDetail /= this.rateSell;
  return _tDetail;
}

function observeCCForm(e) {
  var form = Event.delegate(e);
  var HCredit;
  var ccFormula = new creditFormula();
  if (form.currency.value == "chf")  {
    ccFormula.rateBuy = parseFloat(rateBuy);
    ccFormula.rateSell = parseFloat(rateSell);
    ccFormula.pInterest = parseFloat(interestCHF);
    ccFormula.handlingFee = parseFloat(handlingFeeCHF);
  } else {
    ccFormula.pInterest = parseFloat(interestHUF);
    ccFormula.handlingFee = parseFloat(handlingFeeHUF);
  }
  ccFormula.nTerm = parseInt(form.term.value);
  ccFormula.tDetail = parseInt(form.redemption.value) || 0;
  HCredit = ccFormula.approx();
  if(HCredit) {
    form.loan_amount.value = localizeString(Math.round(HCredit).toNearest(1000).toString());
  }
  Event.cancel(e);
}

function observeCC2Form(e) {
  var form = Event.delegate(e);
  var tDetail;
  var cmdFormula = new creditFormula();
  if (form.currency.value == "chf") {
    cmdFormula.rateBuy = parseFloat(rateBuy);
    cmdFormula.rateSell = parseFloat(rateSell);
    cmdFormula.pInterest = parseFloat(interestCHF);
    cmdFormula.handlingFee = parseFloat(handlingFeeCHF);
  } else {
    cmdFormula.pInterest = parseFloat(interestHUF);
    cmdFormula.handlingFee = parseFloat(handlingFeeHUF);
  }
  cmdFormula.nTerm = parseInt(form.term.value);
  cmdFormula.HCredit = parseInt(form.loan_amount.value) || 0;
  tDetail = cmdFormula.getDetail();
  if(tDetail) {
    form.redemption.value = localizeString(Math.round(tDetail).toString());
  }
  Event.cancel(e);
}
*/
function validateForm(e) {
  var form = Event.delegate(e);
  var valid = true;
  /* var invalid = new Object();
  invalid.required = new Object();
  var labels = document.getElementsByTagName("label"); */
  for (var i = 0; i < form.elements.length; i++) {
    if (form.elements[i].className.match("required")) {
      var panelid = form.elements[i].name+"_invalid";
      var panel = document.getElementById(panelid);
      if (!panel) {
        panel = document.createElement("div");
        panel.id = panelid;
        panel.className = "invalid";
        form.elements[i].parentNode.appendChild(panel);
      }
      panel.innerHTML = "";
      if (!form.elements[i].value) {
        valid = false;
        /* invalid.required[form.elements[i].name] = form.elements[i].name;
        for (var j = 0; j < labels.length; j++) {
          if (labels[j].htmlFor == form.elements[i].id) {
            invalid.required[form.elements[i].name] = labels[j].innerHTML;
          }
        } */
        panel.innerHTML = form.required.value;
      }
    }    
    if (form.elements[i].className.match("required_email")) {
      var panelid = form.elements[i].name+"_invalid";
      var panel = document.getElementById(panelid);
      if (!panel) {
        panel = document.createElement("div");
        panel.id = panelid;
        panel.className = "invalid";
        form.elements[i].parentNode.appendChild(panel);
      }
      panel.innerHTML = "";
      if (!validateEmail(form.elements[i].value)) {
        valid = false;
        /* invalid.required[form.elements[i].name] = form.elements[i].name;
        for (var j = 0; j < labels.length; j++) {
          if (labels[j].htmlFor == form.elements[i].id) {
            invalid.required[form.elements[i].name] = labels[j].innerHTML;
          }
        } */
        panel.innerHTML = form.required.value;
      }
    }
  }
  if (!valid) {
    /* var s = form.required.value;
    for (var prop in invalid.required) {
      s += "\n\t"+invalid.required[prop];
    }
    alert(s); */
    Event.cancel(e);
  }
}

function validateEmail(elementValue){
  var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 
  return emailPattern.test(elementValue); 
}

function loadForms() {
  
  for (var i = 0; i < document.forms.length; i++) {
    
    if (document.forms[i].className.match(/dependent/)) DependencyManager.init(document.forms[i]);
    
    if (document.forms[i].className.match("validate")) {
      Event.observe(document.forms[i], "submit", validateForm);
    }
    switch (document.forms[i].name) {
      case "cc":
        //Event.observe(document.forms[i], "submit", observeCCForm);
        break;
      case "cc2":
        //Event.observe(document.forms[i], "submit", observeCC2Form);
        break;
      case "ps":
        //DependencyManager.init(document.forms["ps"]);
        /*
        var at = "SPV00000000010J";
        if (document.forms[i].agreement_type) {
          at = document.forms[i].agreement_type.value;
          Event.observe(document.forms[i].agreement_type, "change", loadPrices);
        }
        fillSelect(document.forms[i].min_price, options_c[at]);
        fillSelect(document.forms[i].max_price, options_c[at]);
        break;
        */
    }
  }
  
  initCache(); 
  /*var city = document.getElementsByName("city")[0];
  if (city) {
        new asyncRequest("/ajax/getcities", function(xhr){
          fillSelect2(document.getElementsByName("city")[0], JSON.parse(xhr.responseText));
        });
  }*/
  var office = document.getElementsByName("office_counties")[0];
  if (office) {
    /* Event.observe(office, "click", function(){
      if (this.options.length == 2) { */
        new asyncRequest("/ajax/getofficecities", function(xhr){
          var result = JSON.parse(xhr.responseText);
          fillSelect2(document.getElementsByName("office_counties")[0], result[1]);
          document.getElementsByName("irodaKeresesDependencyCache")[0].value=encodeURIComponent(JSON.stringify(result[0]));
          DependencyManager.init(document.forms["irodaKereses"]);
        });
      /* }
    }); */
  }
  var county = document.getElementsByName("county")[0];
  if (county) {
    new asyncRequest("/ajax/getcities", function(xhr){
          var result = JSON.parse(xhr.responseText);
          fillSelect2(document.getElementsByName("county")[0], result[1]);
          document.getElementsByName("psDependencyCache")[0].value=encodeURIComponent(JSON.stringify(result[0]));
          DependencyManager.init(document.forms["ps"]);
        });
  }
  var min_price = document.getElementsByName("min_price")[0];
  var max_price = document.getElementsByName("max_price")[0];
  if (min_price && max_price) {
    Event.observe(min_price, "keydown", function(e){
      var min_price = Event.delegate(e);
      var code = Event.key(e);
      if (min_price.value.length < 4) {
        if (code != 8 && code != 9 && code != 13 && !(code >= 37 && code <= 40) && !(code >= 48 && code <= 57) && !(code >= 96 && code <= 105)) Event.cancel(e);
      } else {
        if (code != 8 && code != 9 && code != 13 && !(code >= 37 && code <= 40)) Event.cancel(e);
      }
    });
    Event.observe(max_price, "keydown", function(e){
      var max_price = Event.delegate(e);
      var code = Event.key(e);
      if (max_price.value.length < 4) {
        if (code != 8 && code != 9 && code != 13 && !(code >= 37 && code <= 40) && !(code >= 48 && code <= 57) && !(code >= 96 && code <= 105)) Event.cancel(e);
      } else {
        if (code != 8 && code != 9 && code != 13 && !(code >= 37 && code <= 40)) Event.cancel(e);
      }
    });
  }
  
  var agreement_type = document.getElementsByName("agreement_type")[0];
  if (agreement_type) {
    var labels = document.getElementsByTagName("label");
    if (labels.length > 0) {
      for (var i = 0; i < labels.length; i++) {
        if (labels[i].htmlFor == "min_price") {
          var f = "mFt";
          if (agreement_type.value == "SPV00000000010K") {
            f = "eFt/Hó";
          }
          labels[i].innerHTML += " (" + f + ")";
          Event.observe(agreement_type, "change", function(_label){
            return function(e) {
              var agreement_type = Event.delegate(e);
              var l = _label.innerHTML.substring(0, _label.innerHTML.indexOf(" ("));
              var f = "mFt";
              if (agreement_type.value == "SPV00000000010K") {
                f = "eFt/Hó";
              }
              _label.innerHTML = l + " (" + f + ")";
            }
          }(labels[i]));
          break;
        }
      }
    }
  }
  
  var type = document.getElementsByName("type")[0];
  if (type && type.type == "select-one" && type.form.cache) {
    Event.observe(type, "change", function(e){
      var el = Event.delegate(e);
      el.form.cache.get();
      window.location = "?type=" + el.value + (el.form.elements["office"] ? "&office=" + el.form.elements["office"].value : "");
    });
  }
  
  /*
  var all_counties = document.getElementsByName("all_counties")[0];
  if (all_counties) {
    Event.observe(all_counties, "click", function(e){
      var el = Event.delegate(e);
      var megye_also = document.getElementById('megye_also');
      var lcn_level_1 = new Array();
      for (var i = 0; i < el.form.elements.length; i++) {
        if (el.form.elements[i].name.match(/lcn_level_1/)) lcn_level_1.push(el.form.elements[i]);
      }
      if (megye_also.style.display == 'block') {
        megye_also.style.display = 'none';
        for (var i = 0; i < lcn_level_1.length; i++) {
          lcn_level_1[i].checked = true;
        }
      } else {
        megye_also.style.display = 'block';
        for (var i = 0; i < lcn_level_1.length; i++) {
          lcn_level_1[i].checked = false;
        }
      }
    });
  }
  var all_districts = document.getElementsByName("all_districts")[0];
  if (all_districts) {
    Event.observe(all_districts, "click", function(e){
      var el = Event.delegate(e);
      var kerulet_also = document.getElementById('kerulet_also');
      var lcn_level_2 = new Array();
      for (var i = 0; i < el.form.elements.length; i++) {
        if (el.form.elements[i].name.match(/lcn_level_2/)) lcn_level_2.push(el.form.elements[i]);
      }
      if (kerulet_also.style.display == 'block') {
        kerulet_also.style.display = 'none';
        for (var i = 0; i < lcn_level_2.length; i++) {
          lcn_level_2[i].checked = true;
        }
      } else {
        kerulet_also.style.display = 'block';
        for (var i = 0; i < lcn_level_2.length; i++) {
          lcn_level_2[i].checked = false;
        }
      }
    });
  }
  */
}

/*
var kgfbCounter = new countdown("kgfbCounter");
kgfbCounter.Div = "kgfb_counter";
kgfbCounter.TargetDate = "11/30/2009 24:00";
kgfbCounter.DisplayFormat = "%%D%% nap %%H%% óra %%M%% perc %%S%% mp";
*/
function loadLinks() {
  
  var links = document.getElementsByTagName("a");
  for (var i = 0; i < links.length; i++) {
    if (links[i].href.match(/^mailto:/) || links[i].innerHTML.indexOf('##'+'kukac##') != -1) {
      links[i].innerHTML = decodeURIComponent(links[i].innerHTML).replace('##'+'kukac##', String.fromCharCode(64));
      links[i].href = decodeURIComponent(links[i].href).replace('##'+'kukac##', String.fromCharCode(64));
    }
    switch (links[i].rel) {
      case "pg":
        Event.observe(links[i], "click", function(_href){return function(e){
          Event.cancel(e);
          var popup = new Popup();
          popup.open({
            "uri":_href
            ,"name":"pp"+parseInt(Math.random()*1000)
            ,"top":Math.round((window.screen.height - 620) / 2)
            ,"left":Math.round((window.screen.width - 720) / 2)
            ,"width":720
            ,"height":620
            ,"features":"resizable=yes,scrollbars=yes,menubar=no,toolbar=no,status=yes,directories=no,location=no"
          });
        }}(links[i].href));
        break;
      case "pp":
        Event.observe(links[i], "click", function(_href){return function(e){
          Event.cancel(e);
          var popup = new Popup();
          popup.open({
            "uri":_href
            ,"name":"pp"+parseInt(Math.random()*1000)
            ,"top":0
            ,"left":Math.round((window.screen.width - 750) / 2)
            ,"width":750
            ,"height":window.screen.height
            ,"features":"resizable=yes,scrollbars=yes,menubar=yes,toolbar=yes,status=yes,directories=yes,location=yes"
          });
        }}(links[i].href));
        break;
      case "pi":
        new ImagePopper(links[i]);
        break;
      case "pm":
        new MapPopper(links[i]); 
        break;
      case "rl":
        //Event.observe(links[i].parentNode.parentNode, "click", function(_href){return function(){window.location=_href;}}(links[i].href));
        Event.observe(links[i].parentNode.parentNode, "click", function(_href){return function(e){
          var el = Event.delegate(e);
          var href = (el.nodeName == "A" && el.rel == "rlp" ? el.href : _href);
          Event.cancel(e);
          var popup = new Popup();
          popup.open({
            "uri":href
            ,"name":"rl"+parseInt(Math.random()*1000)
            ,"top":0
            ,"left":Math.round((window.screen.width - 960) / 2)
            ,"width":960
            ,"height":window.screen.height
            ,"features":"resizable=yes,scrollbars=yes,menubar=yes,toolbar=yes,status=yes,directories=yes,location=yes"
          });
        }}(links[i].href));
        break;
      case "dl":
        //Event.observe(links[i].parentNode.parentNode, "click", function(_href){return function(){window.location=_href;}}(links[i].href));
        Event.observe(links[i], "click", function(_href){return function(e){
          Event.cancel(e);
          var popup = new Popup();
          popup.open({
            "uri":_href
            ,"name":"rl"+parseInt(Math.random()*1000)
            ,"top":0
            ,"left":Math.round((window.screen.width - 960) / 2)
            ,"width":960
            ,"height":window.screen.height
            ,"features":"resizable=yes,scrollbars=yes,menubar=yes,toolbar=yes,status=yes,directories=yes,location=yes"
          });
        }}(links[i].href));
        break;
      case "pl":
        Event.observe(links[i], "click", observeLinkPopup);
        break;
      case "cc":
        Event.observe(links[i], "click", observeCCPopup);
        break;
      case "tree":
        var href = links[i].href;
        var id = links[i].id;
        var div = document.createElement("div");
        links[i].id = "";
        div.id = id;
        links[i].parentNode.insertBefore(div, links[i]);
        new clsTreeBox(id, href);
        break;
      case "si":
        Event.observe(links[i], "click", function(){return function(e){
          Event.cancel(e);
          var popup = new Popup();
          popup.open({
            "uri":"http://iwiw.hu/pages/share/share.jsp?u=" + encodeURIComponent(window.location.href) + "&t=" + encodeURIComponent(document.title)
            ,"name":"iwiwshare" + parseInt(Math.random() * 1000)
            ,"top":Math.round((window.screen.height - 600) / 2)
            ,"left":Math.round((window.screen.width - 650) / 2)
            ,"height":600
            ,"width":650
            ,"features":"toolbar=0,status=0,location=1,scrollbars=1"
          });
        }}());
        break;
      case "sf":
        Event.observe(links[i], "click", function(){return function(e){
          Event.cancel(e);
          var popup = new Popup();
          popup.open({
            "uri":"http://www.facebook.com/sharer.php?u=" + encodeURIComponent(window.location.href) + "&t=" + encodeURIComponent(document.title)
            ,"name":"facebookshare" + parseInt(Math.random() * 1000)
            ,"top":Math.round((window.screen.height - 436) / 2)
            ,"left":Math.round((window.screen.width - 626) / 2)
            ,"height":436
            ,"width":626
            ,"features":"toolbar=0,status=0"
          });
        }}());
        break;
      case "st":
        Event.observe(links[i], "click", function(){return function(e){
          Event.cancel(e);
          var popup = new Popup();
          popup.open({
            "uri":"http://twitter.com/home?status=" + encodeURIComponent(document.title + " http://" + window.location.hostname + "/" + window.location.pathname.substring(window.location.pathname.length - 8))
            ,"name":"twittershare" + parseInt(Math.random() * 1000)
            ,"top":Math.round((window.screen.height - 600) / 2)
            ,"left":Math.round((window.screen.width - 800) / 2)
            ,"height":600
            ,"width":800
            ,"features":"toolbar=0,status=0,location=1,scrollbars=1"
          });
        }}());
        break;
      case "vk":
        Event.observe(links[i], "click", function(_href){return function(e){
          Event.cancel(e);
          var popup = new Popup();
          popup.open({
            "uri":_href
            ,"name":"vk"+parseInt(Math.random()*1000)
            ,"top":Math.round((window.screen.height - 355) / 2)
            ,"left":Math.round((window.screen.width - 555) / 2)
            ,"height":355
            ,"width":555
            ,"features":"resizable=yes,scrollbars=yes,menubar=no,toolbar=no,status=yes,directories=no,location=yes"
          });
        }}(links[i].href));
        break;
      case "ke":
        Event.observe(links[i], "click", function(_href){return function(e){
          Event.cancel(e);
          var popup = new Popup();
          popup.open({
            "uri":_href + "&u=" + encodeURIComponent(window.location.href) + "&t=" + encodeURIComponent(document.title)
            ,"name":"ke"+parseInt(Math.random()*1000)
            ,"top":Math.round((window.screen.height - 555) / 2)
            ,"left":Math.round((window.screen.width - 555) / 2)
            ,"height":555
            ,"width":555
            ,"features":"resizable=yes,scrollbars=yes,menubar=no,toolbar=no,status=yes,directories=no,location=yes"
          });
        }}(links[i].href));
        break;
    }
  }
  
  var spans = document.getElementsByTagName("span");
  for (var i = 0; i < spans.length; i++) {
    if (spans[i].className.match(/blink/)) new Blinker(spans[i]);
  }
  
  /*
  var dThen = new Date();
  dThen.setYear(2010);
  dThen.setMonth(0);
  dThen.setDate(1);
  dThen.setHours(0);
  dThen.setMinutes(0);
  dThen.setSeconds(0);
  dThen.setMilliseconds(0);
  var dNow = new Date();
  var kgfbWrapper = document.getElementById("kgfb_wrapper");
  if (kgfbWrapper) {
    if (dThen.getTime() - dNow.getTime() > 0) {
      kgfbCounter.Setup();
    } else {
      kgfbWrapper.innerHTML = "";
    }
  }
  */
  
}

Event.observe(window, "load", loadForms);
Event.observe(window, "load", loadLinks);

var popup = null;

function openPopup(url, top, left, width, height, features) {
  closePopup();
  if (!features) var features = 'resizable=yes,scrollbars=no,menubar=no,toolbar=no,status=no,directories=no,location=no';
  features += ",top=" + top + ",left=" + left + ",width=" + width + ",height=" + height;
  popup = window.open(url, 'name', features);
  if (window.focus) popup.focus();
}

function closePopup() {
  if (popup != null) {
    if (!popup.closed) popup.close();
    popup = null;
  }
}

function observeLinkPopup(e) {
  Event.cancel(e);
  var link = Event.delegate(e);
  openPopup(link.href, 0, Math.round((window.screen.width - 774) / 2), 774, window.screen.height, 'resizable=yes,scrollbars=yes,menubar=no,toolbar=no,status=no,directories=no,location=no');
}

function observeCCPopup(e) {
  Event.cancel(e);
  var link = Event.delegate(e);
  var text = document.getElementsByName("cc_text")[0].value;
  openPopup("about:blank", Math.round((window.screen.height - 288) / 2), Math.round((window.screen.width - 261) / 2), 261, 288);
  popup.document.open();
  popup.document.write(""
    +"<html>"
    +"\n\t<head>"
    +"\n\t\t<title></title>"
    +"\n\t\t<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/style.css\" />"
    +"\n\t</head>"
    +"\n\t<body>"
    +"\n\t\t<div class=\"tooltip\" onclick=\"window.close();\">"+text+"</div>"
    +"\n\t</body>"
    +"\n</html>");
  popup.document.close();
}

function fillSelect2(_select, _options) {
  _select.options.length = 0;
  _select.options[0] = new Option("", "");
  var j = 1;
  for (var i in _options) {
    if (_options.hasOwnProperty(i)) {
      var option = new Option(_options[i], i);
      if (i == "Budapest") option.selected = true;
      _select.options[j++] = option;
    }
  }
}

function fillSelect(_select, _options) {
  _select.options.length = 0;
  _select.options[0] = new Option("", "");
  var j = 1;
  for (var i in _options) {
    if (_options.hasOwnProperty(i)) {
      var option = new Option(_options[i], i);
      _select.options[j++] = option;
    }
  }
}

/*
function loadPrices(e) {
  var form = Event.delegate(e).form;
  var at = "SPV00000000010J";
  if (form.agreement_type) {
    at = form.agreement_type.value;
  }
  fillSelect(form.min_price, options_c[at]);
  fillSelect(form.max_price, options_c[at]);
}
*/

//------------------------------------------------------------------------------
//var rateBuy=147.50;
//var rateSell=148.38;
//var interestHUF=0.00977;
//var handlingFeeHUF=0.00174;
//var interestCHF=0.00333;
//var handlingFeeCHF=0.00081;
/*
var options_c = {
  "SPV00000000010J":{
    "5000000":"5 mFt",
    "6000000":"6 mFt",
    "7000000":"7 mFt",
    "8000000":"8 mFt",
    "9000000":"9 mFt",
    "10000000":"10 mFt",
    "11000000":"11 mFt",
    "12000000":"12 mFt",
    "13000000":"13 mFt",
    "14000000":"14 mFt",
    "15000000":"15 mFt",
    "16000000":"16 mFt",
    "17000000":"17 mFt",
    "18000000":"18 mFt",
    "19000000":"19 mFt",
    "20000000":"20 mFt",
    "22000000":"22 mFt",
    "25000000":"25 mFt",
    "30000000":"30 mFt",
    "35000000":"35 mFt",
    "40000000":"40 mFt",
    "50000000":"50 mFt",
    "60000000":"60 mFt",
    "70000000":"70 mFt",
    "80000000":"80 mFt",
    "90000000":"90 mFt",
    "100000000":"100 mFt",
    "120000000":"120 mFt",
    "140000000":"140 mFt",
    "160000000":"160 mFt",
    "180000000":"180 mFt",
    "200000000":"200 mFt",
    "250000000":"250 mFt",
    "300000000":"300 mFt",
    "350000000":"350 mFt",
    "400000000":"400 mFt",
    "500000000":"500 mFt"
  },
  "SPV00000000010K":{
    "30000":"30 eFt",
    "40000":"40 eFt",
    "50000":"50 eFt",
    "60000":"60 eFt",
    "70000":"70 eFt",
    "80000":"80 eFt",
    "90000":"90 eFt",
    "100000":"100 eFt",
    "120000":"120 eFt",
    "150000":"150 eFt",
    "200000":"200 eFt",
    "250000":"250 eFt",
    "300000":"300 eFt",
    "400000":"400 eFt",
    "500000":"500 eFt",
    "600000":"600 eFt",
    "700000":"700 eFt",
    "800000":"800 eFt",
    "900000":"900 eFt",
    "1000000":"1000 eFt",
    "1500000":"1500 eFt",
    "2000000":"2000 eFt"
  }
};
*/
/*
DependencyCache.ps = [
  {
    "update" : ["min_price", "max_price"],
    "_with" : {
      "":"",
      "5000000":"5 mFt",
      "6000000":"6 mFt",
      "7000000":"7 mFt",
      "8000000":"8 mFt",
      "9000000":"9 mFt",
      "10000000":"10 mFt",
      "11000000":"11 mFt",
      "12000000":"12 mFt",
      "13000000":"13 mFt",
      "14000000":"14 mFt",
      "15000000":"15 mFt",
      "16000000":"16 mFt",
      "17000000":"17 mFt",
      "18000000":"18 mFt",
      "19000000":"19 mFt",
      "20000000":"20 mFt",
      "22000000":"22 mFt",
      "25000000":"25 mFt",
      "30000000":"30 mFt",
      "35000000":"35 mFt",
      "40000000":"40 mFt",
      "50000000":"50 mFt",
      "60000000":"60 mFt",
      "70000000":"70 mFt",
      "80000000":"80 mFt",
      "90000000":"90 mFt",
      "100000000":"100 mFt",
      "120000000":"120 mFt",
      "140000000":"140 mFt",
      "160000000":"160 mFt",
      "180000000":"180 mFt",
      "200000000":"200 mFt",
      "250000000":"250 mFt",
      "300000000":"300 mFt",
      "350000000":"350 mFt",
      "400000000":"400 mFt",
      "500000000":"500 mFt"
    },
    "when" : "agreement_type",
    "is" : "SPV00000000010J"
  },
  {
    "update" : ["min_price", "max_price"],
    "_with" : {
      "":"",
      "30000":"30 eFt",
      "40000":"40 eFt",
      "50000":"50 eFt",
      "60000":"60 eFt",
      "70000":"70 eFt",
      "80000":"80 eFt",
      "90000":"90 eFt",
      "100000":"100 eFt",
      "120000":"120 eFt",
      "150000":"150 eFt",
      "200000":"200 eFt",
      "250000":"250 eFt",
      "300000":"300 eFt",
      "400000":"400 eFt",
      "500000":"500 eFt",
      "600000":"600 eFt",
      "700000":"700 eFt",
      "800000":"800 eFt",
      "900000":"900 eFt",
      "1000000":"1000 eFt",
      "1500000":"1500 eFt",
      "2000000":"2000 eFt"
    },
    "when" : "agreement_type",
    "is" : "SPV00000000010K"
  },
  {
    "disable" : ["min_price", "max_price"],
    "when" : "agreement_type",
    "is" : ""
  }
];
*/

function ImagePopper(el) {
  var image = new Image();
  image.src = el.href;
  var title = el.title || "";
  var popup = new Popup();
  
  var pop = function(e) {
    Event.cancel(e);
    var win = popup.open({
      "uri":"",
      "name":"_blank",
      "top" :(screen.height - image.height) / 2,
      "left" :(screen.width - image.width) / 2,
      "width":image.width,
      "height":image.height
    });
    win.document.open();
    win.document.write(""
      +"<html>"
      +"\n\t<head>"
      +"\n\t\t<title>" + title + "</title>"
      +"\n\t</head>"
      +"\n\t<body style=\"margin:0;padding:0;\">"
      +"\n\t\t<img src=\"" + image.src + "\" alt=\"" + title + "\" />"
      +"\n\t</body>"
      +"\n</html>");
    win.document.close();
    Event.observe(win, "load", function(){
      if (self.innerHeight) {
        win.innerWidth = image.width;
        win.innerHeight = image.height;
      } else if (win.document.documentElement && win.document.documentElement.clientHeight) {
        win.document.documentElement.clientWidth = image.width;
        win.document.documentElement.clientHeight = image.height;
      }
      if (self.outerHeight) win.moveTo((screen.width - win.outerWidth) / 2, (screen.height - win.outerHeight) / 2);
    });
    Event.observe(win, "click", callback(popup, popup.close));
    Event.observe(window, "focus", callback(popup, popup.close));
  }
  Event.observe(el, "click", pop);
}
ImagePopper.prototype = new Object();

function MapPopper(el) {
  var popup = new Popup();
  var name = "MapPopup";
  if (el.nodeName == "INPUT") {
    var params = el.className.match(/mappopper\[([^\[\]]*)\]/)[1];
    var url = decodeURIComponent(params);
  } else  if (el.nodeName == "A") {
    var url = el.href;
  }
  var pop = function(e) {
    Event.cancel(e);
    var win = popup.open({
      "uri":url,
      "name":name,
      "top" :(screen.height - 520) / 2,
      "left" :(screen.width - 820) / 2,
      "width":820,
      "height":520
    });
    Event.observe(window, "focus", callback(popup, popup.close));
  }
  Event.observe(el, "click", pop);
}
MapPopper.prototype = new Object();

function change_jobb(item_name){
    var divs = document.getElementsByTagName("div"); 
    for(var i = 0; i < divs.length; i++) { 
        if(divs[i].className.match("jobb_rsz")) { 
          divs[i].style.display ="none"; 
        } 
        if(divs[i].id==item_name) { 
          divs[i].style.display ="block"; 
        } 
    }
    var links = document.getElementsByTagName("a"); 
    for(var i = 0; i < links.length; i++) { 
        if(links[i].className.match("link_itm")) { 
          links[i].className="link_itm"; 
        } 
        if(links[i].id==(item_name+'_link')) { 
          links[i].className="link_itm "+item_name+"_a"; 
        }        
    }    
}

var Element = new Object();
Element.position = function(obj) {
  var curleft = curtop = 0;
  if (obj.offsetParent) {
    curleft = obj.offsetLeft;
    curtop = obj.offsetTop;
    while (obj = obj.offsetParent) {
      curleft += obj.offsetLeft;
      curtop += obj.offsetTop;
    }
  }
  return {left:curleft, top:curtop};
}

function Sticky(params) {
  var el = document.getElementById(params.id);
  var pos = Element.position(el);
  var container = document.createElement("div");
  container.style.width = el.offsetWidth + "px";
  container.style.height = el.offsetHeight + "px";
  el.parentNode.insertBefore(container, el);
  container.appendChild(el);
  el.style.zIndex = "1000";
  /*
  el.style.position = "absolute";
  el.style.top = pos.top + "px";
  el.style.left = pos.left + "px";
  
  var calculate = function(e) {
    if (document.documentElement.scrollTop > pos.top) {
      el.style.top = document.documentElement.scrollTop + "px";
    } else if (self.pageYOffset > pos.top) {
      el.style.top = self.pageYOffset + "px";
    } else if (el.style.top != pos.top) {
      el.style.top = pos.top + "px";
    }
  }
  */
  var calculate = function(e) {
    if (el.style.position != "fixed" && (document.documentElement.scrollTop > pos.top || self.pageYOffset > pos.top)) {
      el.style.position = "fixed";
      el.style.top = "0px";
    } else if (el.style.position == "fixed" && (document.documentElement.scrollTop < pos.top || self.pageYOffset < pos.top)) {
      el.style.position = "static";
      el.style.top = "";
    }
  }
  
  Event.observe(window, "scroll", calculate);
}
Sticky.prototype = new Object();
Sticky.prototype.constructor = Sticky;

function Blinker(el) {
  var interval = el.className.match(/ms([0-9]{3,4})/);
  interval = (interval == null ? 300 : parseInt(interval[1]));
  var blink = function() {
    if (el.style.visibility == "visible") {
      el.style.visibility = "hidden";
    } else {
      el.style.visibility = "visible";
    }
  }
  window.setInterval(blink, interval);
}
Blinker.prototype = new Object();
Blinker.prototype.constructor = Blinker;

