// JavaScript Document

var last_search_url="";
function search_count() {
    //var url="";
    var item;
    var k=new Array();
    var v=new Array();
    
    var start=document.forms["search"].elements["search_bt"].style.display=="";    
    
    for(i in document.forms["search"].elements) {
        item=document.forms["search"].elements[i];
        if (array_key_exists("type", item)) {
            if (item.type=="text") {
                if (array_key_exists("name", item)) {
                    if (item.value!="") {
                        //url+="&"+escape(item.name)+"="+escape(item.value);
                        k.push(item.name);
                        v[item.name]=item.value;
                        }
                    }
                }
            else if (item.type=="radio") {
                if (item.checked) {
                    //url+="&"+escape(item.name)+"="+escape(item.value);
                    k.push(item.name);
                    v[item.name]=item.value;
                    }
                }
            else if (item.type=="checkbox") {
                if (item.checked) {
                    //url+="&"+escape(item.name)+"="+escape(item.value);
                    k.push(item.name);
                    v[item.name]=item.value;
                    }
                }
            else if (item.type=="hidden") {
                if (array_key_exists("name", item)) {
                    //url+="&"+escape(item.name)+"="+escape(item.value);
                    k.push(item.name);
                    v[item.name]=item.value;
                    }
                }
            else if (item.type=="select-one") {
                if (item.value!="") {
                    //url+="&"+escape(item.name)+"="+escape(item.value);
                    k.push(item.name);
                    v[item.name]=item.value;
                    }                
                }
            /*
            else {
                var s="";
                for (j in item) {
                    if ((item[j]!=null)&&(item[j]!='')) {
                        s+="'"+j+"'='"+item[j]+"'\n";
                        }
                    }
                alert(s);
                }
            */
            }
        }
    /*
    if (! url.match("ertekesites_tipusID")) {
        item=document.getElementById("ertekesites_tipusID1");
        if (item) {
            if (item.checked) {
                url+="&ertekesites_tipusID=1";
                } else {
                        url+="&ertekesites_tipusID=2";
                        }
            }
        }
    */

    k.sort();
    
    var url="/ajax/count/?";
    var l="";
    for(i in k) {
        if (k[i]=="v") {
            }
        else if (k[i]=="f") {
            }
        else if (k[i]!=l) {
            url+="&"+escape(k[i])+"="+escape(v[k[i]]);
            l=k[i];
            }
        }
    //url=url.replace("&v=", "&v2=");
    //url=url.replace("&f=", "&f2=");
    //url="/ajax/count/?"+url;
    
    var auto=document.forms["search"].elements["search_auto"].checked;
    if (auto) {
        document.forms["search"].elements["search_bt"].style.display="none";
        set_cookie("search_auto", "1", 2050, 12, 31, "/");
        } else {
                document.forms["search"].elements["search_bt"].style.display="";
                set_cookie("search_auto", "0", 2050, 12, 31, "/");
                }

    if (url!=last_search_url) {
        last_search_url=url;
        ajax_data(url, "search_write('search_count', 'innerHTML', parseInt(xmlhttp.responseText)+' ingatlan találat');");
        /*            
        if (! auto) {
            ajax_data(url, "search_write('search_count', 'innerHTML', parseInt(xmlhttp.responseText)+' ingatlan találat');");            
            } else {
                    document.getElementById("search_count").innerHTML="";
                    }
        */
        if ((auto)&&(! start)) {
            var url2=url;
            url2=url2.replace("/count/", "/search/");
            ajax_data(url2, "search_write('lister', 'innerHTML', xmlhttp.responseText);");

            url2=url;
            url2=url2.replace("/count/", "/search/");
            ajax_data(url2, "search_write('lister', 'innerHTML', xmlhttp.responseText);");

            url2=url;
            url2=url2.replace("/count/", "/info/");
            ajax_data(url2, "search_write('bbb', 'innerHTML', xmlhttp.responseText);");
            
            var tlink=document.getElementById("link");
            if (tlink) {
                url2=url;
                url2="http://eladokiado.hu"+url2.replace("/ajax/count/", "/ingatlan-kereses/");
                url2=url2.replace(/&search_auto=[0-9]+/, "");
                url2=url2.replace("?&", "?");
                url2=url2.replace(/\?$/, "");
                tlink.value=url2;    
                }
            }        
        }    
}

function search_write(id, key, value) {
    //alert("'"+id+"', '"+key+"', '"+value+"'");
    var item=document.getElementById(id);
    if (item) {
        item[key]=value;
        }
}

function show_link() {
    document.getElementById("link_img").style.display="none";
    var url=last_search_url;
    if (url=="") {
        url=location.href;
        } else {
                url="http://eladokiado.hu"+url.replace("/ajax/count/", "/ingatlan-kereses/");
                }
    url=url.replace(/&search_auto=[0-9]+/, "");
    url=url.replace("?&", "?");
    url=url.replace(/\?$/, "");    
    document.getElementById("link").value=url;
    document.getElementById("link_input").style.display="";
}

/* -------------------------------------------------------------------------- */

function addhomepage(url, error_msg) {
    if (! url) {
        url=window.location.href;
        }
    if (! error_msg) {
        error_msg="A böngészője nem támogatja az oldal címének beállítását kezdőlapnak.\nKérem próbálja meg manuálisan.";
        }

    if (document.all) {
        document.body.style.behavior='url(#default#homepage)';
        document.body.setHomePage(url);
        }
    else if (window.sidebar) {
        if (window.netscape) {
            try {  
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
                }
            catch(e) {
                //alert("this action was aviod by your browser,if you want to enable,please enter about:config in your address line,and change the value of signed.applets.codebase_principal_support to true");  
                alert(error_msg);
                }
            } 
        var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components. interfaces.nsIPrefBranch);
        prefs.setCharPref('browser.startup.homepage', url);
        }
    else if(error_msg!="") {
        alert(error_msg);
        }        
}

function addbookmark(title, url, error_msg) {
    if (! title) {
        title=document.title;
        }
    if (! url) {
        url=window.location.href;
        }
    if (! error_msg) {
        error_msg="A böngészője nem támogatja az oldal címének automatikus elhelyezését a kedvencek közé.\nKérem próbálja meg manuálisan.";
        }

    if (window.sidebar) {
        window.sidebar.addPanel(title, url,"")
        }
    else if( window.opera && window.print ) {
        var mbm = document.createElement('a');
        mbm.setAttribute('rel','sidebar');
        mbm.setAttribute('href',url);
        mbm.setAttribute('title',title);
        mbm.click();
        }
    else if( document.all ) {
        window.external.AddFavorite( url, title)
        }
    else if(error_msg!="") {
        alert(error_msg);
        }
}

/* -------------------------------------------------------------------------- */

function show_ad_image(image) {
    document.getElementById("ad_image").src=image.src.replace("/i_", "/m_");
    window.setTimeout("show_ad_image2()", 1000);
}

function show_ad_image2() {
    document.getElementById("ad_image_div").style.backgroundImage="url("+document.getElementById("ad_image").src+")";
}

/* -------------------------------------------------------------------------- */

function add_my_bookmark(id) {
    set_cookie("bookmark["+id+"]", "1", 2050, 12, 31, "/");
    set_my_bookmark(id, true);
    reload_my_bookmark();    
    ajax_data("/ajax/bookmark-log/?id="+id, "");
}

function remove_my_bookmark(id) {
    set_cookie("bookmark["+id+"]", "0", 2050, 12, 31, "/");
    set_my_bookmark(id, false);
    reload_my_bookmark();
}

function set_my_bookmark(id, checked) {
    var img=document.getElementById("bookmark_img_"+id);
    if (img) {
        if (checked) {
            img.src="/art/selection_checked.gif";
            img.onclick=function () {
                eval("remove_my_bookmark("+id+")");
                };
            } else {
                    img.src="/art/selection_check.gif";
                    img.onclick=function () {
                        eval("add_my_bookmark("+id+")");
                        };
                    }
        }
    var a=document.getElementById("bookmark_a_"+id);
    if (a) {
        if (checked) {
            a.className="bookmark_checked";
            a.onclick=function () {
                eval("remove_my_bookmark("+id+")");
                };
            } else {
                    a.className="bookmark";
                    a.onclick=function () {
                        eval("add_my_bookmark("+id+")");
                        };
                    }
        }
}

function clear_my_bookmark() {
    var c=document.cookie.split(";");
    var re=/bookmark\[([0-9]+)\]/;
    var m;
    for(i in c) {
        if (m=re.exec(c[i])) {
            remove_my_bookmark(m[1]);
            }
        }
    reload_my_bookmark();    
}

function reload_my_bookmark() {
    ajax_data("/ajax/bookmark-list/", "document.getElementById('bookmark_list').innerHTML=xmlhttp.responseText");
}

/* -------------------------------------------------------------------------- */

function search_toogle(image) {
    if (! image) {
        image=document.getElementById("search_img");
        }
    if (image.src.match("plus")) {
        document.getElementById("bbb").style.display="none";
        document.getElementById("bba").style.display="";
        image.src="/art/minus.png";
        } else {
                document.getElementById("bba").style.display="none";
                document.getElementById("bbb").style.display="";
                image.src="/art/plus.png";
                }
}

function price_keydown(item, e) {
    var re=false
    
    var key;    
    if (window.event) {
        key=e.keyCode;
        }
    else if (e.which) {
        key=e.which;
        }
    if (key==0 || key == 8 || key == 37 || key == 39 || key == 46 || (key>=48 && key<=57) || (key>=96 && key<=105)) {
        re=true;
        }
                
    return re;
}

function price_keyup(item) {
    var s=item.value;
    while (s.match(/[^0-9]+/)) {
        s=s.replace(/[^0-9]+/, "");
        }
    
    var s2="";
    var j=0;
    for(i=s.length-1; i>=0; i--) {
        j++;
        if (j==4) {
            j=1;
            s2=" "+s2;
            }
        s2=s.charAt(i)+s2;
        }
    if (item.value!=s2) {
        item.value=s2;
        }
}

function street_check() {
    var url="/ajax/street-list/?";        

    var items=document.getElementsByTagName("input");
    var re=/^r([0-9]+)$/;
    var m;    
    for(i in items) {
        if (items[i]) {
            if (items[i].name) {
                if (items[i].name.match(/^tree/)) {
                    if (items[i].checked) {
                        m=re.exec(items[i].value);
                        if (m) {
                            url+="&tree[]="+m[1];
                            }                        
                        }
                    }
                else if (items[i].name.match(/^street/)) {
                    if (items[i].checked) {
                        url+="&street[]="+escape(items[i].value);
                        }
                    }
                }
            }
        }
    url=url.replace("?&", "?");

    ajax_data(
        url,
        "document.getElementById('street_div').style.display='none'; "+
        "document.getElementById('scrollbox_street').innerHTML=xmlhttp.responseText; "+
        "if (xmlhttp.responseText.match('checkbox')) { document.getElementById('street_div').style.display=''; } ");

}

function type_check() {
    var url="/ajax/structure-list/?";
    var structure="";
    var heating="";
    /*        
    var heatingtype="";        
    var heatingnature="";
    */        

    var items=document.getElementsByTagName("input");
    var re=/^([0-9]+)$/;
    var m;    
    for(i in items) {
        if (items[i]) {
            if (items[i].name) {
                if (items[i].name.match(/^type/)) {
                    if (items[i].checked) {
                        m=re.exec(items[i].value);
                        if (m) {
                            url+="&tree[]="+m[1];
                            }                        
                        }
                    }
                else if (items[i].name.match(/^structureID/)) {
                    if (items[i].checked) {
                        structure+="&structureID[]="+items[i].value;
                        }
                    }
                else if (items[i].name.match(/^heatingID/)) {
                    if (items[i].checked) {
                        heating+="&heatingID[]="+items[i].value;
                        }
                    }
                /*
                else if (items[i].name.match(/^heatingtypeID/)) {
                    if (items[i].checked) {
                        heatingtype+="&heatingtypeID[]="+items[i].value;
                        }
                    }
                else if (items[i].name.match(/^heatingnatureID/)) {
                    if (items[i].checked) {
                        heatingnature+="&heatingnatureID[]="+items[i].value;
                        }
                    }
                */
                }
            }
        }
    url=url.replace("?&", "?");

    ajax_data(
        url+structure,
        "document.getElementById('structure_div').style.display='none'; "+
        "document.getElementById('scrollbox_structureID').innerHTML=xmlhttp.responseText; "+
        "if (xmlhttp.responseText.match('checkbox')) { document.getElementById('structure_div').style.display=''; } ");

    ajax_data(
        url.replace("structure", "heating")+heating,
        "document.getElementById('heating_div').style.display='none'; "+
        "document.getElementById('scrollbox_heatingID').innerHTML=xmlhttp.responseText; "+
        "if (xmlhttp.responseText.match('checkbox')) { document.getElementById('heating_div').style.display=''; } ");

    /*
    ajax_data(
        url.replace("structure", "heatingtype")+heatingtype,
        "document.getElementById('heatingtype_div').style.display='none'; "+
        "document.getElementById('scrollbox_heatingtypeID').innerHTML=xmlhttp.responseText; "+
        "if (xmlhttp.responseText.match('checkbox')) { document.getElementById('heatingtype_div').style.display=''; } ");

    ajax_data(
        url.replace("structure", "heatingnature")+heatingnature,
        "document.getElementById('heatingnature_div').style.display='none'; "+
        "document.getElementById('scrollbox_heatingnatureID').innerHTML=xmlhttp.responseText; "+
        "if (xmlhttp.responseText.match('checkbox')) { document.getElementById('heatingnature_div').style.display=''; } ");
    */
}

/*
function type_check() {
    var url="/ajax/structure-list/?";
    var structure="";
    var heatingtype="";        
    var heatingnature="";        

    var items=document.getElementsByTagName("input");
    var re=/^t([0-9]+)$/;
    var m;    
    for(i in items) {
        if (items[i]) {
            if (items[i].name) {
                if (items[i].name.match(/^tree/)) {
                    if (items[i].checked) {
                        m=re.exec(items[i].value);
                        if (m) {
                            url+="&tree[]="+m[1];
                            }                        
                        }
                    }
                else if (items[i].name.match(/^structureID/)) {
                    if (items[i].checked) {
                        structure+="&structureID[]="+items[i].value;
                        }
                    }
                else if (items[i].name.match(/^heatingtypeID/)) {
                    if (items[i].checked) {
                        heatingtype+="&heatingtypeID[]="+items[i].value;
                        }
                    }
                else if (items[i].name.match(/^heatingnatureID/)) {
                    if (items[i].checked) {
                        heatingnature+="&heatingnatureID[]="+items[i].value;
                        }
                    }
                }
            }
        }
    url=url.replace("?&", "?");

    ajax_data(
        url+structure,
        "document.getElementById('structure_div').style.display='none'; "+
        "document.getElementById('scrollbox_structureID').innerHTML=xmlhttp.responseText; "+
        "if (xmlhttp.responseText.match('checkbox')) { document.getElementById('structure_div').style.display=''; } ");

    ajax_data(
        url.replace("structure", "heatingtype")+heatingtype,
        "document.getElementById('heatingtype_div').style.display='none'; "+
        "document.getElementById('scrollbox_heatingtypeID').innerHTML=xmlhttp.responseText; "+
        "if (xmlhttp.responseText.match('checkbox')) { document.getElementById('heatingtype_div').style.display=''; } ");

    ajax_data(
        url.replace("structure", "heatingnature")+heatingnature,
        "document.getElementById('heatingnature_div').style.display='none'; "+
        "document.getElementById('scrollbox_heatingnatureID').innerHTML=xmlhttp.responseText; "+
        "if (xmlhttp.responseText.match('checkbox')) { document.getElementById('heatingnature_div').style.display=''; } ");
}
*/

/* -------------------------------------------------------------------------- */

function ad_submit1() {
    var err="";
    
    /*
    if (document.forms["ad"].elements["offertypeID"].value=="") {
        err="Nem választotta ki a hirdetés típusát!"
        }
    else
    */
    if (document.forms["ad"].elements["saletypeID"].value=="") {
        err="Nem választotta ki az értékesítés típusát!"
        }
    else if (document.forms["ad"].elements["typeID"].value=="") {
        err="Nem választotta ki az ingatlan típusát!"
        }
    /*
    else if ((document.forms["ad"].elements["typeID2"].options.length>1)&&(document.forms["ad"].elements["typeID2"].value=="")) {
        err="Nem választotta ki az ingatlan altípusát!"
        }
    */
    else if (trim(document.forms["ad"].elements["price"].value)=="") {
        err="Nem adta meg az ingatlan irányárát!"
        }
    else if (isNaN(document.forms["ad"].elements["price"].value)) {
        err="Az irányárhoz csak számot írjon!"
        }
    
    if (err!="") {
        alert(err);
        }
    return (err=="");
}

function ad_submit2() {
    var err="";
    
    if (document.forms["ad"].elements["regionID"].value=="") {
        err="Nem választotta ki a hirdetés régióját!"
        }
    else if ((document.forms["ad"].elements["regionID2"].options.length>1)&&(document.forms["ad"].elements["regionID2"].value=="")) {
        err="Nem választotta ki a hirdetés alrégióját!"
        }
    else if (trim(document.forms["ad"].elements["street"].value)=="") {
        err="Nem adta meg az ingatlan címét!"
        }
    
    if (err!="") {
        alert(err);
        }
    return (err=="");
}

function ad_submit3() {
    var err="";
    
    if ((document.forms["ad"].elements["room"].value!="")&&(isNaN(document.forms["ad"].elements["room"].value))) {
        err="A szobaszámhoz csak számot írjon!"
        }
    else if ((document.forms["ad"].elements["size"].value!="")&&(isNaN(document.forms["ad"].elements["size"].value))) {
        err="Az alapterülethez csak számot írjon!"
        }
    else if ((document.forms["ad"].elements["lotsize"].value!="")&&(isNaN(document.forms["ad"].elements["lotsize"].value))) {
        err="A telekterülethez csak számot írjon!"
        }
    
    if (err!="") {
        alert(err);
        }
    return (err=="");
}

function ad_submit4() {
    var err="";
    
    if (trim(document.forms["ad"].elements["description"].value)=="") {
        err="Nem adta meg hirdetése leírását!"
        }
    
    if (err!="") {
        alert(err);
        }
    return (err=="");
}

function ad_submit5() {
    var err="";
    
    var re = new RegExp(".+\.(GIF|JPEG|JPG|PNG)$", "i");
    if ((document.forms["ad"].elements["image"].value!="")&&(! (document.forms["ad"].elements["image"].value.match(re)))) {
        err="Csak a megadott típusú képeket töltheti fel!"
        }
    
    if (err!="") {
        alert(err);
        }
    return (err=="");
}

function trim(s) {
    if (! s) {
        s="";
        }
    return s.replace(/^\s+|\s+$/g, '');
}

/* -------------------------------------------------------------------------- */

function multi_select(form, select1, select2) {
    item1=document.forms[form].elements[select1];
    item2=document.forms[form].elements[select2];
    item2.style.display="none";
    item2.options.length=1;
    item2.selectedIndex=0;
    
    if (item1.value!="") {
        if (array_key_exists(item1.value, a_select)) {
            j=0;
            for(i in a_select[item1.value]) {
                j++;
                item2.options.length=j+1;
                item2.options[j].value=i;
                item2.options[j].text=a_select[item1.value][i];
                }
            item2.style.display="";
            }
        }
}

function check_calc(item) {
    var display="none";
    if (item.value=="1") {
        display="";
        }
    document.getElementById("div_calc").style.display=display; 
}

/* -------------------------------------------------------------------------- */

function array_key_exists(k, a) {
    var re=false;
    try {
        if (a[k]) {
            re=true;
            }
        }
    catch(err) {
        }
    return re;
}

/* -------------------------------------------------------------------------- */

function save_back(form) {
  if (document.forms[form]) {
      if (document.forms[form].elements["f"]) {
          document.forms[form].elements["f"].value="";
          }
      var ok=true;
      eval("ok="+form+"_submit();");
      if (ok) {
          document.forms[form].submit();
          }
      }
}

/* -------------------------------------------------------------------------- */

function office_submit() {
    var err="";
    
    if ((err=="")&&(trim(document.forms["office"].elements["name"].value)=="")) {
        err="Nem töltötte ki a 'Megnevezés' mezőt!";    
        }
    if ((err=="")&&(document.forms["office"].elements["userID"].value=="")) {
        err="Nem választotta ki az 'Ingatlancég' mezőt!";    
        }
    if ((err=="")&&(document.forms["office"].elements["regionID"].value=="")) {
        err="Nem választotta ki a 'Régió' mezőt!";    
        }
    if ((err=="")&&(trim(document.forms["office"].elements["address"].value)=="")) {
        err="Nem töltötte ki a 'Cím' mezőt!";    
        }
    
    if (err!="") {
        alert(err);
        }
    return (err=="");
}

/* -------------------------------------------------------------------------- */

function ajax_data(url, callback) {
    var r=Math.floor(Math.random()*1000000);
    while(callback.indexOf("xmlhttp.")!=-1) {
        callback=callback.replace("xmlhttp.", "xmlhttp"+r+".");
        }            
    eval("if (window.XMLHttpRequest) { var xmlhttp"+r+"=new XMLHttpRequest(); } else { var xmlhttp"+r+"=new ActiveXObject('Microsoft.XMLHTTP'); } "+
         "xmlhttp"+r+".onreadystatechange=function() { if ((xmlhttp"+r+".readyState==4) && (xmlhttp"+r+".status==200)) { "+callback+" } }; "+
         "xmlhttp"+r+".open('GET',url,true);"+
         "xmlhttp"+r+".send(null);");
}

function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure ) {
    var cookie_string = name + "=" + escape (value);
    if (exp_y) {
        var expires = new Date ( exp_y, exp_m, exp_d );
        cookie_string += "; expires=" + expires.toGMTString();
        }
    if (path) {
        cookie_string += "; path=" + escape (path);
        }
    if (domain) {
        cookie_string += "; domain=" + escape (domain);
        }
    if (secure) {
        cookie_string += "; secure";
        }
    document.cookie = cookie_string;
}

function get_cookie (cookie_name) {
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
  if ( results ) return ( unescape ( results[2] ) );
      else return null;
}
