var query_string = '';
var site_host = '';

function setJsQueryString(str, host) {
    window.query_string = str;
    window.site_host = host;
}

function clearOptions(ID){
    var obj = document.getElementById(ID);
    var len = obj.options.length;
    for(var i=1; i<=len-1; i++){
        obj.options[1] = null;
    }
}

// profile page
function loadRegions(c) {
    document.getElementById('prof_regions').disabled = true;
    document.getElementById('prof_regions').options[0] = new Option("Идёт загрузка...", -1, true, true);

    var req = new Subsys_JsHttpRequest_Js();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if(req.responseJS.regions){
                obj = document.getElementById('prof_regions');
                var response = req.responseJS.regions;
                var len = response.length;
                document.getElementById('prof_regions').disabled = false;
                clearOptions('prof_regions');
                //obj.options[0] = new Option("- Не указано -", 0);
                for(i=0; i<=len; i++){
                    obj.options[i] = new Option(response[i]['region'], response[i]['id']);
                }
            }
        }
    };
    req.caching = false;
    req.open('POST', window.site_host+'ajax.php', true);
    req.send({ 'action': 'getregions', 'c': c });
}

function getRegions(c) {

    document.getElementById('regions').disabled = true;
    document.getElementById('regions').options[0] = new Option("Идёт загрузка...", -1, true, true);

    var req = new Subsys_JsHttpRequest_Js();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if(req.responseJS.regions){
                obj = document.getElementById('regions');
                var response = req.responseJS.regions;
                var len = response.length;
                document.getElementById('regions').disabled = false;
                clearOptions('regions');
                var reg = getURLVar('regions');
                if(reg==0) sel = true;
                else sel = false;
                document.getElementById('regions').options[0] = new Option("Все регионы", 0, false, sel);
                for(i=1; i<=len; i++){
                    if(response[i-1]['id']==reg) sel=true;
                    else sel=false;
                    obj.options[i] = new Option(response[i-1]['region'], response[i-1]['id'], false, sel);
                }
                // если пользователь искал в регионах
                // то подгружаем города динамически
                if(reg!=0) getCities(reg, c);
            }
        }
    };
    req.caching = false;
    req.open('POST', window.site_host+'ajax.php', true);
    req.send({ 'action': 'getregions', 'c': c });
}

function setCheckBox() {
   if(document.getElementById('custom_region').value==parent)
    {
       document.getElementById('custom_region').checked = true;
    } else {
       document.getElementById('custom_region').checked = false;
    }
}

function setSelectedRegion(c) {
    if(document.getElementById('custom_region').checked==true && (document.getElementById('custom_region').value!=document.getElementById('regions').value))
    {
       // ставим выделенным регион помеченый чекбоксом
       var obj = document.getElementById('regions').options;
       var index;
       var val;
       for(i=0;i<obj.length;i++)
       {
           if(obj[i].value==document.getElementById('custom_region').value)
           {
               index = i;
               val = obj[i].value;
               break;
           }
       }
       document.getElementById('regions').selectedIndex = index;
       getCities(val,c);
    }
}

function getCities(parent, session_c) {
    if(parent==0) {
        clearOptions("cities");
        return;
    }
    /*
    var c;
    for (var i=0; i < document.Search.c.length; i++) {
        if (document.Search.c[i].checked)
        c = document.Search.c[i].value;
    }
    */
    var c = document.Search.c.value;
    if(!c) c = session_c;

    document.getElementById('cities').disabled = true;
    document.getElementById('cities').options[0] = new Option("Идёт загрузка...", -1, true, true);
    var req = new Subsys_JsHttpRequest_Js();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if(req.responseJS.cities){
                obj = document.getElementById('cities');
                var response = req.responseJS.cities;
                var len = response.length;
                document.getElementById('cities').disabled = false;
                clearOptions('cities');
                var city = getURLVar('cities');
                if(city==0) sel = true;
                else sel = false;
                document.getElementById('cities').options[0] = new Option("Все города", 0, false, sel);
                for(i=1; i<=len; i++){
                    if(response[i-1]['id']==city) sel=true;
                    else sel=false;
                    obj.options[i] = new Option(response[i-1]['region'], response[i-1]['id'], false, sel);
                }
            }
        }
    };
    req.caching = false;
    req.open('POST', window.site_host+'ajax.php', true);
    req.send({ 'id': parent, 'action': "getcities", 'c': c});
}

function getCategories() {
    var req = new Subsys_JsHttpRequest_Js();
    clearOptions('categories');
    document.getElementById('categories').disabled = true;
    document.getElementById('categories').options[0] = new Option("Идёт загрузка...", -1, true, true);
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if(req.responseJS.categories){
                obj = document.getElementById('categories');
                var response = req.responseJS.categories;
                var len = response.length;

                document.getElementById('categories').disabled = false;
                clearOptions('categories');
                var cat = getURLVar('categories');
                if(cat==0) sel = true;
                else sel = false;
                document.getElementById('categories').options[0] = new Option("Все категории", 0, false, sel);

                for(i=1; i<=len; i++){
                    if(response[i-1]['id']==cat) sel=true;
                    else sel=false;
                    obj.options[i] = new Option(response[i-1]['category'], response[i-1]['id'], false, sel);
                }
                // если пользователь искал в категориях
                // то подгружаем подкатегории динамически
                if(cat!=0) getSubCategories(cat);
            }
        }
    };
    req.caching = false;
    req.open('POST', window.site_host+'ajax.php', true);
    req.send({ 'action': "getcategories"});
}

function getSubCategoriesAdapter(parent, firm) {
    if(firm)
       getSubCatalog(parent);
    else
       getSubCategories(parent);

}

function getSubCategories(parent) {
    if(parent==0) {
        clearOptions("subcategories");
        return;
    }
    clearOptions('subcategories');
    document.getElementById('subcategories').disabled = true;
    document.getElementById('subcategories').options[0] = new Option("Идёт загрузка...", -1, true, true);
    var req = new Subsys_JsHttpRequest_Js();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if(req.responseJS.subcategories){
                obj = document.getElementById('subcategories');
                var response = req.responseJS.subcategories;
                var len = response.length;

                document.getElementById('subcategories').disabled = false;
                clearOptions('subcategories');
                var subcat = getURLVar('subcategories');
                if(subcat==0) sel = true;
                else sel = false;
                document.getElementById('subcategories').options[0] = new Option("Все подкатегории", 0, false, sel);

                for(i=1; i<=len; i++){
                    if(response[i-1]['id']==subcat) sel=true;
                    else sel=false;
                    obj.options[i] = new Option(response[i-1]['category'], response[i-1]['id'], false, sel);
                }
            }
        }
    };
    req.caching = false;
    req.open('POST', window.site_host+'ajax.php', true);
    req.send({ 'id': parent,'action': "getsubcategories"});
}

// CATALOG

function getCatalog() {
    var req = new Subsys_JsHttpRequest_Js();
    clearOptions('categories');
    document.getElementById('categories').disabled = true;
    document.getElementById('categories').options[0] = new Option("Идёт загрузка...", -1, true, true);
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if(req.responseJS.categories){
                obj = document.getElementById('categories');
                var response = req.responseJS.categories;
                var len = response.length;

                document.getElementById('categories').disabled = false;
                clearOptions('categories');
                var cat = getURLVar('categories');
                if(cat==0) sel = true;
                else sel = false;
                document.getElementById('categories').options[0] = new Option("Все категории", 0, false, sel);

                for(i=1; i<=len; i++){
                    if(response[i-1]['id']==cat) sel=true;
                    else sel=false;
                    obj.options[i] = new Option(response[i-1]['item'], response[i-1]['id'], false, sel);
                }
                // если пользователь искал в категориях
                // то подгружаем подкатегории динамически
                if(cat!=0) getSubCatalog(cat);
            }
        }
    };
    req.caching = false;
    req.open('POST', window.site_host+'ajax.php', true);
    req.send({ 'action': "getcatalog"});
}

function getSubCatalog(parent) {
    if(parent==0) {
        clearOptions("subcategories");
        return;
    }
    clearOptions('subcategories');
    document.getElementById('subcategories').disabled = true;
    document.getElementById('subcategories').options[0] = new Option("Идёт загрузка...", -1, true, true);
    var req = new Subsys_JsHttpRequest_Js();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if(req.responseJS.subcategories){
                obj = document.getElementById('subcategories');
                var response = req.responseJS.subcategories;
                var len = response.length;

                document.getElementById('subcategories').disabled = false;
                clearOptions('subcategories');
                var subcat = getURLVar('subcategories');
                if(subcat==0) sel = true;
                else sel = false;
                document.getElementById('subcategories').options[0] = new Option("Все подкатегории", 0, false, sel);

                for(i=1; i<=len; i++){
                    if(response[i-1]['id']==subcat) sel=true;
                    else sel=false;
                    obj.options[i] = new Option(response[i-1]['item'], response[i-1]['id'], false, sel);
                }
            }
        }
    };
    req.caching = false;
    req.open('POST', window.site_host+'ajax.php', true);
    req.send({ 'id': parent,'action': "getsubcatalog"});
}

// --- Catalog

function CountrySwitch(session_c,session_reg) {
    var c;
    for (var i=0; i < document.Search.c.length; i++) {
        if (document.Search.c[i].checked)
        c = document.Search.c[i].value;
    }

    if(c==session_c && session_reg!="0") {
      showBlock("region_tip");
      document.getElementById("custom_region").value = session_reg;
    }
    else {
      hideBlock("region_tip");
      document.getElementById("custom_region").value = 0;
    }
    //alert(document.getElementById("custom_region").value);
    //if(document.getElementById("wide").value=='on')
    getRegions(c);
}

function showBlock(ID){
    document.getElementById(ID).style.display = 'block';
}

function hideBlock(ID){
    document.getElementById(ID).style.display = 'none';
}

function openAdvancedSearch(c) {
    var div = document.getElementById("advancedSearch");
    if(div.style.display == "none") {

        var cat = document.getElementById("categories");
        getSubCategories(cat.value);

        var reg = document.getElementById("regions");
        getCities(reg.value, c);
        div.style.display = "block";
        document.getElementById("wide").value = "on";
    } else {
        closeAdvancedSearch();
        return;
    }
}

function closeAdvancedSearch() {
    document.getElementById("advancedSearch").style.display="none";
    document.getElementById("wide").value = "";
    if(document.getElementById("days")) document.getElementById("days").value = "";
}

function getURLVar(urlVarName) {
    //divide the URL in half at the '?'
    var urlHalves = String(window.query_string).split('?');

    var urlVarValue = '';
    if(urlHalves[1]){
        //load all the name/value pairs into an array
        var urlVars = urlHalves[1].split('&');
        //loop over the list, and find the specified url variable
        for(i=0; i<=(urlVars.length); i++){
            if(urlVars[i]){
                //load the name/value pair into an array
                var urlVarPair = urlVars[i].split('=');
                if (urlVarPair[0] && urlVarPair[0] == urlVarName) {
                    //I found a variable that matches, load it's value into the return variable
                    urlVarValue = urlVarPair[1];
                }
            }
        }
    }
    return urlVarValue;
}

function MakeHomePage(link){
        HomePage = top.location.href;
        if (document.layers) {
                setNSHomepage(HomePage);
        } else if (document.all) {
                 link.style.behavior='url(#default#homepage)';
                 link.setHomePage(HomePage);
        } else {
                alert('К сожалению, Ваш броузер не поддерживает даную функцию.\n Измените даную настройку вручную');
        }
        return false;
}

function AddToFavorites() {
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(document.title, location.href, "");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite(location.href, document.title);
	} else if(window.opera && window.print) { // Opera Hotlist
		return true;
	}
}

function openEmailForm() {
		div = document.getElementById('EmailForm');
		if(div.style.display=='none') {
			dd.elements.EmailForm.moveTo(document.documentElement.scrollLeft+400, document.documentElement.scrollTop+200);
			div.style.display = 'block';
		} else {
			div.style.display = 'none';
			dd.elements.EmailForm.moveTo(0, 0);
		}
}

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }

function checkEmail(obj){
    var reg = /^[\w-.]+@[\w-]+(\.[\w-]+)+$/;
    if(reg.test(obj.value)||obj.value==""){
        obj.style.background = '#fff';
        return true;
    } else {
        obj.style.background = '#ff9393';
        return false;
    }
}

var glob_message = '';
var messageRegExp = new RegExp("<.*?>", "g");

function getMessage() {
    var elem = document.getElementById('EFmessage');
    if (typeof elem.textContent != "undefined")
        return elem.textContent;
    else
        return elem.innerText;
    return mess;
}

function setMessage(text) {
    var elem = document.getElementById('EFmessage');
    if (typeof elem.textContent != "undefined")
        elem.textContent = text;
    else
        elem.innerText = text;
}

function checkEFSymbols(){
    var symbols = 1000;
    var message = getMessage();
    message = message.replace(messageRegExp, "");
    if(message.length > symbols){
        setMessage(message.substring(0,symbols));
        symbols = 0;
    } else {
        symbols = symbols - message.length;
        glob_message = getMessage();
    }

    document.getElementById('EFSymbolsCounter').innerHTML = 'осталось ' + symbols + ' символов';
}

function sendEmail(ID, c, tpl) {
	var address = document.getElementById("EFaddress").value;
	var message = getMessage();
	var error = '';
	var k = 0;
	if(!checkEmail(document.getElementById('EFaddress'))){
        error += (++k) + '. ' + 'Введите верный E-mail' + "\n";
    }
    if(message == '' || message.length > 1000){
        error += (++k) + '. ' + 'Введите текст сообщения (до 1000 симв.)' + "\n";
    }

    if(k>0) {
        alert(error);
        return;
    }

    if(message.length > 382) {
        message = message.substring(0,382);
    }

	var req = new Subsys_JsHttpRequest_Js();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if(req.responseJS.answer){
                ans = req.responseJS.answer;
                alert(ans);
                if(ans=="Ваше сообщение было успешно отправлено") {
                    document.getElementById("EFaddress").value = "";
                    setMessage('');
                    document.getElementById('EFSymbolsCounter').innerHTML = 'осталось 1000 символов';
                    openEmailForm();
                    glob_message = '';
                }
            }
        }
    };
    req.caching = false;
    req.open('POST', window.site_host+'ajax.php', true);
    req.send({ 'id': ID, 'action': 'sendmail', 'address' : address, 'message' : message, 'c' : c, 'tpl': tpl});
}

function openOrigImage(url,title) {
    var wx = 1000;
    var wy = 600;
    var x = window.site_host;
    var go = ''+x+'img.php?title='+title+'&url='+url;
    win=window.open(go,'popup','width='+wx+',height='+wy+',left=100,top=0,location=no,menubar=no,resizable=yes,scrollbars=yes');
	win.focus();
}

function expand_collapse(img, ID) {
     var div = document.getElementById(ID);
     if(div.style.display=='block') {
         div.style.display='none';
         img.src='/images/plus.gif';
     } else {
         div.style.display='block';
         img.src='/images/minus.gif';
     }
}