var Url = function () {

    this._urlAddress = null;

}
// public method for url encoding
Url.prototype.encode = function (string) {
    return escape(this._utf8_encode(string));
};

// public method for url decoding
Url.prototype.decode = function (string) {
    return this._utf8_decode(unescape(string));
};

// private method for UTF-8 encoding
Url.prototype._utf8_encode = function (string) {
    string = string.replace(/\r\n/g,"\n");
    var utftext = "";

    for (var n = 0; n < string.length; n++) {

        var c = string.charCodeAt(n);

        if (c < 128) {
            utftext += String.fromCharCode(c);
        }
        else if((c > 127) && (c < 2048)) {
            utftext += String.fromCharCode((c >> 6) | 192);
            utftext += String.fromCharCode((c & 63) | 128);
        }
        else {
            utftext += String.fromCharCode((c >> 12) | 224);
            utftext += String.fromCharCode(((c >> 6) & 63) | 128);
            utftext += String.fromCharCode((c & 63) | 128);
        }

    }

    return utftext;
};

// private method for UTF-8 decoding
Url.prototype._utf8_decode = function (utftext) {
    var string = "";
    var i = 0;
    var c = c1 = c2 = 0;

    while ( i < utftext.length ) {

        c = utftext.charCodeAt(i);

        if (c < 128) {
            string += String.fromCharCode(c);
            i++;
        }
        else if((c > 191) && (c < 224)) {
            c2 = utftext.charCodeAt(i+1);
            string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
            i += 2;
        }
        else {
            c2 = utftext.charCodeAt(i+1);
            c3 = utftext.charCodeAt(i+2);
            string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
            i += 3;
        }

    }

    return string;
}
function changePolishToEnglish(value) {

    value = value.replace(/ę/, function(){
        return 'e'
        });
    value = value.replace(/ó/, function(){
        return 'o'
        });
    value = value.replace(/ą/, function(){
        return 'a'
        });
    value = value.replace(/ś/, function(){
        return 's'
        });
    value = value.replace(/ł/, function(){
        return 'l'
        });
    value = value.replace(/ż/, function(){
        return 'z'
        });
    value = value.replace(/ź/, function(){
        return 'z'
        });
    value = value.replace(/ć/, function(){
        return 'c'
        });
    value = value.replace(/ń/, function(){
        return 'n'
        });

    return value;
}
Url.prototype.toUrl =function ( idElement, urlElementName ){
    this._urlAddress += urlElementName  + this._changePolishToEnglish($(idElement).val().toLowerCase());
}
function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function getMessages(channelID) {
            var MESSAGES_PER_PAGE = 20;
            var exhibitionId = channelID-3;
            //var url1="/czat/targi/2?ajax=true&lastID=0&getInfos=userID%2CuserName%2CuserRole%2CchannelID%2CchannelName%2CisActive&channelID=5";
            var chat_link="/czat/targi/"+exhibitionId+"?ajax=true&nologin=true&lastID=0&channelID="+channelID;

            $.ajax({
                url: chat_link,
                dataType: "xml",
                success: function(messageNodes){

//                    var messages = messageNodes.childNodes[0].childNodes[2].childNodes;
                    var messages = messageNodes.getElementsByTagName('message');
                    var messageHtml = '';
                    var index;
                    var correctMessages = new Array();
                    // filtrowanie wiadomości z wiadomości pochodzących od BOTA oraz wiadomości nieaktywnych
                    for (var index2 = 0; index2 < messages.length; index2++) {
                        if (messages[index2].attributes.getNamedItem("userRole").value == '4' || messages[index2].attributes.getNamedItem("isActive").value!='1') {

                        }
                       else {
                           correctMessages.push(messages[index2])
                       }
//    
                    }
                    messages = correctMessages

                    if (messages.length-MESSAGES_PER_PAGE>0) {
                        index=messages.length-MESSAGES_PER_PAGE;
                    }
                    else {
                        index=0
                    }

                    for(var i=0; i < MESSAGES_PER_PAGE && index < messages.length; index++, i++) {
                        var rowClassName;
                        var userClassName;
                        if (i%2==0) {
                            rowClassName = 'rowEven';
                        }
                        else {

                            rowClassName = 'rowOdd';
                        }
                            userClassName = 'guest';
                        switch(messages[index].attributes.getNamedItem("userRole").value) {
                            case '2':
                                    userClassName = 'exhibitor';
                                    break;
                            case '3':
                                    userClassName = 'moderator';
                                    break;
                            case '5':
                                    userClassName = 'admin';
                                    break;
                            case '0':
                            case '1':
                            default:
                                    userClassName = 'guest';
                        }
                        messageHtml +=
                                '<div class="'+rowClassName+'">' +
                                    '<span class="dateTime">('+messages[index].attributes.getNamedItem("dateTime").value.substr(17, 8) + ')</span> ' +
                                    '<span class="chat_user_name '+userClassName+'">'+messages[index].childNodes[0].firstChild.nodeValue + '</span>' +
                                ': '+ messages[index].childNodes[1].firstChild.nodeValue+
                                '</div>'; // message
                    }

                    if (messageHtml != '') {
                        $('#chatLog').html(messageHtml);
                        $('#chat_preview_panel').css('display', 'block');
                    }
                    else {
                        $('#chat_preview_panel').css('display', 'none');

                    }
                }
            })
        }
function dodaj_do_aktowki(id, id_stand, id_exhibition) {
    if(id_stand==undefined) id_stand=0;
    if(id_exhibition==undefined) id_exhibition=0;
    
    if ($('#aktowka_'+id).is(':checked')){
        $('#tooltip_add_'+id).show().fadeOut(3000);
        $.get(__baseUrl+"user/aktowkaAJAX/offer_id/"+id+'/stand_id/'+id_stand+'/exhibition_id/'+id_exhibition, function(data) {
            if (data==1) {
                //$('#aktowka_'+id).unbind('click');
               // $('#aktowka_'+id).attr('src', __baseUrl+'images/del_briefcase.png');
//                $('#aktowka_'+id).click(
//                    function(){
//                        usun_z_aktowki_offerpage(id);
//                    }
//                    );
                $.get(__baseUrl+"user/getAktowkaNumber", function(number) {
                    $('.favourite_offers').text(number);
                });
            }
        });
    }
    else{
        //usun z aktowki
        $('#tooltip_del_'+id).show().fadeOut(3000);
        $.get(__baseUrl+"user/aktowkaAJAX/remove/1/offer_id/"+id+'/stand_id/'+id_stand+'/exhibition_id/'+id_exhibition, function(data) {
            if (data==1) {
//                $('#aktowka_'+id).removeAttr('onclick');
//                $('#aktowka_'+id).unbind('click');
//                $('#aktowka_'+id).attr('src', __baseUrl+'images/add_briefcase.png');
//                $('#aktowka_'+id).click(
//                    function(){
//                        dodaj_do_aktowki(id);
//                    }
//                    );
                $.get(__baseUrl+"user/getAktowkaNumber", function(number) {
                    $('.favourite_offers').text(number);
                });
            }
        });

    }
    


    

}

function uza(id) {
    $.ajax({
        type: "GET",
        url: __baseUrl+"user/aktowkaAJAX",
        data: "remove=1&offer_id="+id
    });
}

function removeCriteria(id) {
    $.ajax({
        type: "GET",
        url: baseUrl+"user/remove_criteria/"+id
    });
    $('#criteria_'+id).fadeOut(500);
    $('#criteria_'+id).remove();
    var number_of_defined_criteria = parseInt( $('.defined_criteria').text());
    $('.defined_criteria').text( --number_of_defined_criteria );
    if($("#criteriabox").children("tbody").children("tr").size()<2) {
        $("#criteriabox").empty();
    }
    return;
}
function removeOffer(id) {
    $.ajax({
        type: 'GET',
        url: baseUrl+'user/edit/'+id+'/delete'
        });

    $('#t_'+id).fadeOut(500);
    $('#t_'+id).remove();

    var number_of_user_offers = parseInt( $('#userOffersNumber').text());

    $('#userOffersNumber').text( toString(--number_of_user_offers) );

    if($("#offerbox").children("tbody").children("tr").size()<2) {
        $("#offerbox").empty();
        $("#userOffersInformation").text("Nie posiadasz obecnie żadnych ofert");
    }
    return;
}


function usun_z_aktowki_userpage(id, id_stand, id_exhibition) {

    $.get(__baseUrl+"user/aktowkaAJAX/remove/1/offer_id/"+id+'/stand_id/'+id_stand+'/exhibition_id/'+id_exhibition, function(data) {
        $('#a_'+id).remove('');
            if (data==1) {
                $.get(__baseUrl+"user/getAktowkaNumber", function(number) {
                    $('.favourite_offers').text(number);
                });
            }
        });
    $("span#favourite_offers2").html($("span#favourite_offers2").html()-1);
    $("div.menu_left span#briefcase_count").html($("div.menu_left span#briefcase_count").html()-1);
}
function usun_z_aktowki_offerpage(id) {

    $.get(__baseUrl+"user/aktowkaAJAX/remove/1/offer_id/"+id, function(data) {
        if (data==1) {
            $('#aktowka_'+id).removeAttr('onclick');
            $('#aktowka_'+id).unbind('click');
            $('#aktowka_'+id).attr('src', __baseUrl+'images/add_briefcase.png');
            $('#aktowka_'+id).click(
                function(){
                    dodaj_do_aktowki(id);
                }
                );
            $.get(__baseUrl+"user/getAktowkaNumber", function(number) {
                $('.favourite_offers').text(number);
            });
        }
    });
}
/************************************************************
 *******                                             ********
 *******                                             ********
 *******               WALIDACJA                     ********
 *******                                             ********
 *******                                             ********
 *******                                             ********
 ***********************************************************/

/**
 * Klasa walidująca formularz
 *
 */
function FormValidator (){

    /**
     * Selektor, gdzie jest kontener na błędy
     *
     * @var string
     */
    this._idFeedbackMessageContainer = '#SearchValidationMessage';

    /**
     * Błedy walidacji
     *
     * @var Array
     */
    this._errors = new Array();

    /**
     * Selektor, gdzie jest kontener na błędy
     *
     * @var Array
     */
    this._arrFormElements = new Array();
}

/**
 * Dodaje element do zwalidowania
 *
 * @param params Object - słownik zawierający pola: id - identyfikator, name - etykieta elementu i opcjonalnie id2 i name2 drugiego elementu
 * @param validationFunctions Array tablica metod walidujących
 */
FormValidator.prototype.addElementToCheck = function ( params, validationFunctions ){
    this._arrFormElements.push(new Array(params, validationFunctions ));

}

/**
 * Ustawia selektor, wskazujący na kontener z błędami
 *
 * @param selector String selektor gdzie wyświetlane są błędy
 */
FormValidator.prototype.setErrorContainer = function ( selector ){
    this._idFeedbackMessageContainer = selector

}

/**
 * Sprawdza, czy element się waliduje
 *
 * @param FormElement Array pierwszy element to prametry wymagane dla drugiego elemntu, czyli funkcji walidujących
 * @return Boolean
 */
FormValidator.prototype.checkElement = function (FormElement) {
    
    var isValid = true;
    for (var i = 0; i <  FormElement[1].length; i++) {
        var func = FormElement[1][i];
        if (!eval("this."+func+"(FormElement[0])")) {
            isValid = false;
        }
    }
 
    return isValid;
}

/**
 * Metoda waliduje formularz
 *
 * @return Boolean
 */
FormValidator.prototype.checkForm = function () {
    var isValid = true;
    this._clearErrors();
    
    for(var i=0 ; i < this._arrFormElements.length; i++) {

        if(($(this._arrFormElements[i][0].id).val()) != undefined) {
            if (!this.checkElement(this._arrFormElements[i])) {
                isValid = false;
            }
        }
    }
    
    return isValid;
}

/**
 * Sprawdza czy element nie ma wartości
 *
 * @param params Object słownik zawierający pola: id - identyfikator, name - etykieta elementu
 * @return Boolean
 */
FormValidator.prototype.isNotEmpty = function (params){
    if($(params.id).val()!="") {
        return true;
    }
    else {
        this._errors.push('Pole "'+params.name+'" jest puste');
        $(params.id).css("border-bottom","3px solid red");
        return false;
    }

}

/**
 * Sprawdza czy element jest liczbą większą od zera
 * 
 * @param params Object słownik zawierający pola: id - identyfikator, name - etykieta elementu
 * @return Boolean
 */
FormValidator.prototype.isNumGrEq0 = function (params){
    
    if(typeof parseInt($(params.id).val()) == "number" && $(params.id).val() >=0 || $(params.id).val()=='') {
        return true;
    }
    else {
        this._errors.push('Pole "'+params.name+'" powinno zawierać liczbę większą od zera');
        $(params.id).css("border-bottom","3px solid red");
        return false;
    }
}

/**
 * Sprawdza czy jedno pole jest mniejsze od drugiego lub puste
 *
 * @param params Object słownik zawierający pola: id - identyfikator, name - etykieta elementu i opcjonalnie id2 i name2 drugiego elementu
 * @return Boolean
 */
FormValidator.prototype.isLessThen = function (params){
    var val1 = parseInt($(params.id).val());
    var val2 = parseInt($(params.id2).val());

    if(val1 <= val2 || $(params.id).val()=='' || $(params.id2).val()=='') {
        return true;
    }
    else {
        this._errors.push('Pole "'+params.name+'" powinno zawierać liczbę mniejszą od "'+params.name2+'"');
        $(params.id).css("border-bottom","3px solid red");
        $(params.id2).css("border-bottom","3px solid red");
        return false;
    }
}

/**
 * Sprawdza czy element jest słowem
 * @param params Object - słownik zawierający pola: id - identyfikator, name - etykieta elementu
 * @return Boolean
 */
FormValidator.prototype.isAlphabetic = function (params) {

    var regexp = /[^a-zęóąśłżźćń ]/i;

    if (!regexp.test($(params.id).val())) {
        return true;
    }
    else {
        this._errors.push('Pole "'+params.name+'" może zawierać jedynie litery, myślnik i odstępy');
        $(params.id).css("border-bottom","3px solid red");
        return false;
    }
}

/**
 * Sprawdza czy element jest słowem
 * @param params Object - słownik zawierający pola: id - identyfikator, name - etykieta elementu
 * @return Boolean
 */
FormValidator.prototype.isAlphnumeric = function (params) {

    var regexp = /[^a-zęóąśłżźćń0-9 ]/i;

    if (!regexp.test($(params.id).val())) {
        return true;
    }
    else {
        this._errors.push('Pole "'+params.name+'" może zawierać jedynie litery, liczby, myślnik i odstępy');
        $(params.id).css("border-bottom","3px solid red");
        return false;
    }
}

/**
 * Wyświetla błędy w kontenerze
 *
 */
FormValidator.prototype.showErrors = function () {
    var errors = '<ul>';
    for (var i in this._errors) {
        errors += '<li>'+this._errors[i]+'</li>';
    }
    errors += '</ul>';
    $(this._idFeedbackMessageContainer).html(errors);
    $(this._idFeedbackMessageContainer).show(1000);
}

/**
 * Czyści błędy
 * 
 */
FormValidator.prototype._clearErrors = function () {
    for (var i in this._arrFormElements) {
        $(this._arrFormElements[i][0].id).css('border-bottom', '0px solid black');
    }
    this._errors= new Array();
    $(this._idFeedbackMessageContainer).html('');
    $(this._idFeedbackMessageContainer).hide();
}





$(document).ready(function(){
    $("#realestate_info_form").submit(function() {
        var RealestateValidator = new FormValidator();
        RealestateValidator.setErrorContainer('#realestate_info_form_errors');
        RealestateValidator.addElementToCheck(
        {
            id: '#street',
            name: 'ulica'
        },
        new Array("isAlphnumeric", "isNotEmpty")
            );
        RealestateValidator.addElementToCheck(
        {
            id: '#area',
            name: 'powierzchnia'
        },
        new Array("isNumGrEq0", "isNotEmpty")
            );
        RealestateValidator.addElementToCheck(
        {
            id: '#price',
            name: 'cena'
        },
        new Array("isNumGrEq0", "isNotEmpty")
            );
        RealestateValidator.addElementToCheck(
        {
            id: '#buildYear',
            name: 'rok'
        },
        new Array("isNumGrEq0", "isNotEmpty")
            );
        RealestateValidator.addElementToCheck(
        {
            id: '#area_living',
            name: 'powierzchnia mieszkalna'
        },
        new Array("isNumGrEq0")
            );
        
        RealestateValidator.addElementToCheck(
        {
            id: '#area_garden',
            name: 'powierzchnia ogrodu'
        },
        new Array("isNumGrEq0")
            );
        if(!RealestateValidator.checkForm()) {
            RealestateValidator.showErrors();
            return false;

        }
        return true;

    })
    $("#search_form").submit(function() {
        var SearchValidator = new FormValidator();
        SearchValidator.setErrorContainer('#SearchValidationMessage');

        SearchValidator.addElementToCheck(
        {
            id: '#city',
            name: 'miasto'
        },
        new Array("isAlphabetic")
            );
        SearchValidator.addElementToCheck(
        {
            id: "#district",
            name: 'dzielnica'
        },
        new Array("isAlphabetic")
            );
        SearchValidator.addElementToCheck(
        {
            id: "#price_from",
            name: 'cena od',
            id2: "#price_to",
            name2: 'cena do'
        },
        new Array("isNumGrEq0", "isLessThen")
            );
        SearchValidator.addElementToCheck(
        {
            id: "#price_to",
            name: 'cena do'
        },
        new Array("isNumGrEq0")
            );
        SearchValidator.addElementToCheck(
        {
            id: "#priceMin",
            name: 'cena od',
            id2: "#priceMax",
            name2: 'cena do'
        },
        new Array("isNumGrEq0", "isLessThen")
            );
        SearchValidator.addElementToCheck(
        {
            id: "#priceMax",
            name: 'cena do'
        },
        new Array("isNumGrEq0")
            );
        SearchValidator.addElementToCheck(
        {
            id: "#area_from",
            name: 'powierzchnia od',
            id2: "#area_to",
            name2:'powierzchnia do'
        },
        new Array("isNumGrEq0", "isLessThen")
            );
        SearchValidator.addElementToCheck(
        {
            id: "#area_to",
            name: 'powierzchnia do'
        },
        new Array("isNumGrEq0")
            );
        SearchValidator.addElementToCheck(
        {
            id: "#areaMin",
            name: 'powierzchnia od',
            id2: "#areaMax",
            name2:'powierzchnia do'
        },
        new Array("isNumGrEq0", "isLessThen")
            )
        SearchValidator.addElementToCheck(
        {
            id: "#metrazMin",
            name: 'metraż od',
            id2: "#metrazMax",
            name2: 'metraż do'
        },
        new Array("isNumGrEq0", "isLessThen")
            );
        SearchValidator.addElementToCheck(
        {
            id: "#metrazMax",
            name: 'metraż do'
        },
        new Array("isNumGrEq0")
            );
        SearchValidator.addElementToCheck(
        {
            id: "#floorsFrom",
            name: 'ilość pokoi od',
            id2: "#floorsTo",
            name2: 'miasto'
        },
        new Array("isNumGrEq0", "isLessThen")
            );
        SearchValidator.addElementToCheck(
        {
            id: "#floorsTo",
            name: 'miasto'
        },
        new Array("isNumGrEq0")
            );
	    
        if(!SearchValidator.checkForm()) {
            SearchValidator.showErrors();
            
        }
        else {
            var url = '/lista-ofert';

            //TODO przerobić poniższy kod na pętlę
            if ($("#placetype option:selected").length	&& $("#placetype option:selected").val() != '') url += '/placetype/'+ $("#placetype option:selected").val().toLowerCase();
            if ($("#offertype option:selected").length	&& $("#offertype option:selected").val() != '') url += '/offertype/'+ $("#offertype option:selected").val().toLowerCase();
            if ($("#province option:selected").length	&& $("#province option:selected") .val() != '') url += '/province/'	+ $("#province option:selected") .val().toLowerCase();

            if ($("#city").length		&& ($("#city")		.val() != '' || $("#city")		.val() != 0))	url += '/city/'			+ changePolishToEnglish($("#city")		.val().toLowerCase());
            if ($("#district").length	&& $("#district")	.val() != '' || $("#city")		.val() != 0)	url += '/district/'		+ changePolishToEnglish($("#district")	.val().toLowerCase());
            if ($("#price_from").length && $("#price_from")	.val() != '' || $("#city")		.val() != 0)	url += '/priceMin/'	+ changePolishToEnglish($("#price_from").val().toLowerCase());
            if ($("#price_to").length	&& $("#price_to")	.val() != '' || $("#city")		.val() != 0)	url += '/priceMax/'		+ changePolishToEnglish($("#price_to")	.val().toLowerCase());
            else if ($("#priceMax").length	&& $("#priceMax").val() != '' || $("#city")		.val() != 0)	url += '/priceMax/'	+ changePolishToEnglish($("#priceMax")	.val().toLowerCase());
            if ($("#area_from").length  && $("#area_from")	.val() != '' || $("#city")		.val() != 0)	url += '/areaMin/'	+ changePolishToEnglish($("#area_from")	.val().toLowerCase());
            if ($("#area_to").length	&& $("#area_to")	.val() != '' || $("#city")		.val() != 0)	url += '/areaMax/'		+ changePolishToEnglish($("#area_to")	.val().toLowerCase());
            if ($("#floorsFrom").length	&& $("#floorsFrom")	.val() != '' || $("#city")		.val() != 0)	url += '/floorsFrom/'	+ changePolishToEnglish($("#floorsFrom").val().toLowerCase());
            if ($("#floorsTo").length	&& $("#floorsTo")	.val() != '' || $("#city")		.val() != 0)	url += '/floorsTo/'	+ changePolishToEnglish($("#floorsTo")	.val().toLowerCase());
            if ($("#metrazMin").length	&& $("#metrazMin")	.val() != '' || $("#city")		.val() != 0)	url += '/metrazMin/'	+ changePolishToEnglish($("#metrazMin")	.val().toLowerCase());
            if ($("#metrazMax").length	&& $("#metrazMax")	.val() != '' || $("#city")		.val() != 0)	url += '/metrazMax/'	+ changePolishToEnglish($("#metrazMax")	.val().toLowerCase());

            if ($("#time").length		&& $("#time")		.val() != '' || $("#city")		.val() != 0)	url += '/time/'			+ $("#time")		.val().toLowerCase();


            location.href=url+'/page/1';
        }
        return false;

    });

    if ($('#miasto').length) {
        $.getJSON(baseUrl+'search/get-cities/?ex='+exhibition_id, function(data) {
            $("#miasto").autocomplete(data);

        });
    }
    // Autouzupełnianie miast
//    if ($('#city').length) {
//        $.getJSON(baseUrl+'search/get-cities/?ex='+exhibition_id, function(data) {
//            $("#city").autocomplete(data);
//
//        });
//
//        $("#province").change(function(){
//            var province = $('#province option:selected').attr('value');
//            $.getJSON(baseUrl+'search/get-cities/province/'+province+'?ex=' + exhibition_id, function(data) {
//                $("#city").autocomplete(data);
//            });
//        });
//        if ($('#quarter').length) {
//            $("#quarter").click(function(){
//                var city = $('#city' ).attr('value');
//                var url = new Url();
//                city = url.encode(city);
//                $.getJSON(baseUrl+'search/get-districts/city/'+city+'?ex=' + exhibition_id, function(data) {
//                    $("#quarter").autocomplete(data);
//                });
//            });
//        }
//
//    }



    // Podmiana domyślnych selectów
    //$('select[class!=dynamic]').sSelect();

    // Ustawienie specjalnej czcionki wybranym elementom
    //	Cufon.replace('.bookmark_active a, .bookmark a, .specialfont');
    //	$('.bookmark_active a, .bookmark a, .specialfont').css('fontSize', '91%');

    // Ustawienie animacji karuzela dla galerii zdjęć
    $('#carousel').jCarouselLite({
        btnNext: '#carousel_arrow_right',
        btnPrev: '#carousel_arrow_left'
    });

    // Obsługa zakładek przy ofertach
    $('#offer_tab1').click(showOfferDescription);
    $('#offer_tab2').click(showOfferMap);
	
    // Klik w kategorię powoduje wyświetlenie podkategorię
    $('a.groupedList').click(showSubmenu);

    showOfferDescription();

    // Klik w typ budynku powoduje wyświetlenie kilka przykładowych ofert
    $('#realestate_types_tabs li').click(showBuldingTypes);
    // Klik w typ oferty powoduje wyświetlenie kilka przykładowych ofert
    $('#offer_types_tabs li').click(showOfferTypes);

    $('#cancel').click(function(){
        if(confirm(cancelWarningText)) {
            window.location.replace(__baseUrl+"offer-creator/cancel");
        }
    });

    $('#only_photo_offers').click(setOfferParam);
    $('#only_direct_offers').click(setOfferParam);

    //funkcja zapobiega wyborowi 5 piętra gdy budynek ma tylko 3 piętra
    $('#floor').change(function(){
        var selectedFloor = parseInt($(this).find(':selected').text());
        var buildingFloors = $("#building_floors option");
        var first = true;
        for (var index = 0; index < buildingFloors.length; index++) {
            if (parseInt(buildingFloors[index].innerHTML) < selectedFloor) {
                buildingFloors[index].disabled = true;
            }
            else {
                buildingFloors[index].disabled = false;
                if (first) {
                    var selectedBuildingFloor = parseInt($("#building_floors option:selected").text());

                    if (selectedFloor > selectedBuildingFloor) {
                        buildingFloors[index].selected = true;
                    }
                    first = false;
                }
            }
        }

    });

    
	
})
function setOfferParam() {
    var isChecked = Number($(this).attr("checked"));
    $.get(__baseUrl+"index/set-offer-params/"+ $(this).attr("id")+"/"+isChecked);
}

function showBuldingTypes() {
    $('#realestate_types_tabs li').find('.bookmark_left_active').attr('class', 'bookmark_left');
    $('#realestate_types_tabs li').find('.bookmark_active').attr('class', 'bookmark');
    $('#realestate_types_tabs li').find('.bookmark_right_active').attr('class', 'bookmark_right');

    $(this).find('.bookmark_left').attr('class', 'bookmark_left_active');
    $(this).find('.bookmark').attr('class', 'bookmark_active');
    $(this).find('.bookmark_right').attr('class', 'bookmark_right_active');

    $('.realestate_types_content').hide(1000);
    var selector = '#realestate_types_content' + parseInt($(this).attr('id'));
    $(selector).show(1000);

    blockTabs('#realestate_types_tabs li');
    setTimeout(unBlockTabs, 1000, '#realestate_types_tabs li', showBuldingTypes);

    return false;
}
function showOfferTypes() {
    $('#offer_types_tabs li').find('.bookmark_left_active').attr('class', 'bookmark_left');
    $('#offer_types_tabs li').find('.bookmark_active').attr('class', 'bookmark');
    $('#offer_types_tabs li').find('.bookmark_right_active').attr('class', 'bookmark_right');

    $(this).find('.bookmark_left').attr('class', 'bookmark_left_active');
    $(this).find('.bookmark').attr('class', 'bookmark_active');
    $(this).find('.bookmark_right').attr('class', 'bookmark_right_active');

    $('#offer_types_content1').hide(1000);
    $('#offer_types_content2').hide(1000);
    $('#offer_types_content3').hide(1000);
    var selector = '#offer_types_content' + parseInt($(this).attr('id'));
    $(selector).show(1000);

    blockTabs('#offer_types_tabs li');
    setTimeout(unBlockTabs, 1000, '#offer_types_tabs li', showOfferTypes);
	
    return false;
}

function blockTabs(separator) {
    $(separator).unbind('click');
    $(separator).click(function(){
        return false;
    });
}
function unBlockTabs(separator, functionName) {
    $(separator).unbind('click');
    $(separator).click(functionName);
}

function showOfferDescription() {
    $('#contener1').show(1000);
    $('#contener2').hide(1000);
    $('#offer_tab1 img').attr('src', '/images/button_offer_active.gif');
    $('#offer_tab2 img').attr('src', '/images/button_map.gif');
    $('.single_offer .header_search .footer_orange').css('margin-left', '3px');
    $('.single_offer .header_search .footer_orange').css('width', '56px');

    return false;
}

function showOfferMap() {
    $('#contener1').hide(1000);
    $('#contener2').show(1000);
    $('#contener2').css('position', 'static');

    $('#offer_tab1 img').attr('src', '/images/button_offer.gif');
    $('#offer_tab2 img').attr('src', '/images/button_map_active.gif');

    $('.single_offer .header_search .footer_orange').css('margin-left', '47px');
    $('.single_offer .header_search .footer_orange').css('width', '51px');
    return false;
}

function showSubmenu() {
    next_li = $(this).next();
    $(this).toggleClass('groupedList_unfolded');
    next_li.slideToggle(400);
}

/**
 * jQuery lightBox plugin
 * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
 * and adapted to me for use like a plugin from jQuery.
 * @name jquery-lightbox-0.5.js
 * @author Leandro Vieira Pinho - http://leandrovieira.com
 * @version 0.5
 * @date April 11, 2008
 * @category jQuery plugin
 * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
 * @license CC Attribution-No Derivative Works 2.5 Brazil - http://creativecommons.org/licenses/by-nd/2.5/br/deed.en_US
 * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
 */
eval(function(p,a,c,k,e,r){
    e=function(c){
        return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))
        };

    if(!''.replace(/^/,String)){
        while(c--)r[e(c)]=k[c]||e(c);
        k=[function(e){
            return r[e]
            }];
        e=function(){
            return'\\w+'
            };

        c=1
        };
    while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);
    return p
    }('(6($){$.2N.3g=6(4){4=23.2H({2B:\'#34\',2g:0.8,1d:F,1M:\'18/5-33-Y.16\',1v:\'18/5-1u-2Q.16\',1E:\'18/5-1u-2L.16\',1W:\'18/5-1u-2I.16\',19:\'18/5-2F.16\',1f:10,2A:3d,2s:\'1j\',2o:\'32\',2j:\'c\',2f:\'p\',2d:\'n\',h:[],9:0},4);f I=N;6 20(){1X(N,I);u F}6 1X(1e,I){$(\'1U, 1S, 1R\').l({\'1Q\':\'2E\'});1O();4.h.B=0;4.9=0;7(I.B==1){4.h.1J(v 1m(1e.17(\'J\'),1e.17(\'2v\')))}j{36(f i=0;i<I.B;i++){4.h.1J(v 1m(I[i].17(\'J\'),I[i].17(\'2v\')))}}2n(4.h[4.9][0]!=1e.17(\'J\')){4.9++}D()}6 1O(){$(\'m\').31(\'<e g="q-13"></e><e g="q-5"><e g="5-s-b-w"><e g="5-s-b"><1w g="5-b"><e 2V="" g="5-k"><a J="#" g="5-k-V"></a><a J="#" g="5-k-X"></a></e><e g="5-Y"><a J="#" g="5-Y-29"><1w W="\'+4.1M+\'"></a></e></e></e><e g="5-s-b-T-w"><e g="5-s-b-T"><e g="5-b-A"><1i g="5-b-A-1t"></1i><1i g="5-b-A-1g"></1i></e><e g="5-1s"><a J="#" g="5-1s-22"><1w W="\'+4.1W+\'"></a></e></e></e></e>\');f z=1D();$(\'#q-13\').l({2K:4.2B,2J:4.2g,S:z[0],P:z[1]}).1V();f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]}).E();$(\'#q-13,#q-5\').C(6(){1a()});$(\'#5-Y-29,#5-1s-22\').C(6(){1a();u F});$(G).2G(6(){f z=1D();$(\'#q-13\').l({S:z[0],P:z[1]});f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]})})}6 D(){$(\'#5-Y\').E();7(4.1d){$(\'#5-b,#5-s-b-T-w,#5-b-A-1g\').1b()}j{$(\'#5-b,#5-k,#5-k-V,#5-k-X,#5-s-b-T-w,#5-b-A-1g\').1b()}f Q=v 1j();Q.1P=6(){$(\'#5-b\').2D(\'W\',4.h[4.9][0]);1N(Q.S,Q.P);Q.1P=6(){}};Q.W=4.h[4.9][0]};6 1N(1o,1r){f 1L=$(\'#5-s-b-w\').S();f 1K=$(\'#5-s-b-w\').P();f 1n=(1o+(4.1f*2));f 1y=(1r+(4.1f*2));f 1I=1L-1n;f 2z=1K-1y;$(\'#5-s-b-w\').3f({S:1n,P:1y},4.2A,6(){2y()});7((1I==0)&&(2z==0)){7($.3e.3c){1H(3b)}j{1H(3a)}}$(\'#5-s-b-T-w\').l({S:1o});$(\'#5-k-V,#5-k-X\').l({P:1r+(4.1f*2)})};6 2y(){$(\'#5-Y\').1b();$(\'#5-b\').1V(6(){2u();2t()});2r()};6 2u(){$(\'#5-s-b-T-w\').38(\'35\');$(\'#5-b-A-1t\').1b();7(4.h[4.9][1]){$(\'#5-b-A-1t\').2p(4.h[4.9][1]).E()}7(4.h.B>1){$(\'#5-b-A-1g\').2p(4.2s+\' \'+(4.9+1)+\' \'+4.2o+\' \'+4.h.B).E()}}6 2t(){$(\'#5-k\').E();$(\'#5-k-V,#5-k-X\').l({\'K\':\'1C M(\'+4.19+\') L-O\'});7(4.9!=0){7(4.1d){$(\'#5-k-V\').l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9-1;D();u F})}j{$(\'#5-k-V\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9-1;D();u F})}}7(4.9!=(4.h.B-1)){7(4.1d){$(\'#5-k-X\').l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9+1;D();u F})}j{$(\'#5-k-X\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9+1;D();u F})}}2k()}6 2k(){$(d).30(6(12){2i(12)})}6 1G(){$(d).11()}6 2i(12){7(12==2h){U=2Z.2e;1x=27}j{U=12.2e;1x=12.2Y}14=2X.2W(U).2U();7((14==4.2j)||(14==\'x\')||(U==1x)){1a()}7((14==4.2f)||(U==37)){7(4.9!=0){4.9=4.9-1;D();1G()}}7((14==4.2d)||(U==39)){7(4.9!=(4.h.B-1)){4.9=4.9+1;D();1G()}}}6 2r(){7((4.h.B-1)>4.9){2c=v 1j();2c.W=4.h[4.9+1][0]}7(4.9>0){2b=v 1j();2b.W=4.h[4.9-1][0]}}6 1a(){$(\'#q-5\').2a();$(\'#q-13\').2T(6(){$(\'#q-13\').2a()});$(\'1U, 1S, 1R\').l({\'1Q\':\'2S\'})}6 1D(){f o,r;7(G.1h&&G.28){o=G.26+G.2R;r=G.1h+G.28}j 7(d.m.25>d.m.24){o=d.m.2P;r=d.m.25}j{o=d.m.2O;r=d.m.24}f y,H;7(Z.1h){7(d.t.1l){y=d.t.1l}j{y=Z.26}H=Z.1h}j 7(d.t&&d.t.1A){y=d.t.1l;H=d.t.1A}j 7(d.m){y=d.m.1l;H=d.m.1A}7(r<H){1z=H}j{1z=r}7(o<y){1B=o}j{1B=y}21=v 1m(1B,1z,y,H);u 21};6 1p(){f o,r;7(Z.1Z){r=Z.1Z;o=Z.2M}j 7(d.t&&d.t.1F){r=d.t.1F;o=d.t.1Y}j 7(d.m){r=d.m.1F;o=d.m.1Y}2q=v 1m(o,r);u 2q};6 1H(2C){f 2x=v 2w();1q=2h;3h{f 1q=v 2w()}2n(1q-2x<2C)};u N.11(\'C\').C(20)}})(23);',62,204,'||||settings|lightbox|function|if||activeImage||image||document|div|var|id|imageArray||else|nav|css|body||xScroll||jquery|yScroll|container|documentElement|return|new|box||windowWidth|arrPageSizes|details|length|click|_set_image_to_view|show|false|window|windowHeight|jQueryMatchedObj|href|background|no|url|this|repeat|height|objImagePreloader|arrPageScroll|width|data|keycode|btnPrev|src|btnNext|loading|self||unbind|objEvent|overlay|key||gif|getAttribute|images|imageBlank|_finish|hide|left|fixedNavigation|objClicked|containerBorderSize|currentNumber|innerHeight|span|Image|bind|clientWidth|Array|intWidth|intImageWidth|___getPageScroll|curDate|intImageHeight|secNav|caption|btn|imageBtnPrev|img|escapeKey|intHeight|pageHeight|clientHeight|pageWidth|transparent|___getPageSize|imageBtnNext|scrollTop|_disable_keyboard_navigation|___pause|intDiffW|push|intCurrentHeight|intCurrentWidth|imageLoading|_resize_container_image_box|_set_interface|onload|visibility|select|object|top|embed|fadeIn|imageBtnClose|_start|scrollLeft|pageYOffset|_initialize|arrayPageSize|btnClose|jQuery|offsetHeight|scrollHeight|innerWidth||scrollMaxY|link|remove|objPrev|objNext|keyToNext|keyCode|keyToPrev|overlayOpacity|null|_keyboard_action|keyToClose|_enable_keyboard_navigation|right|hover|while|txtOf|html|arrayPageScroll|_preload_neighbor_images|txtImage|_set_navigation|_show_image_data|title|Date|date|_show_image|intDiffH|containerResizeSpeed|overlayBgColor|ms|attr|hidden|blank|resize|extend|close|opacity|backgroundColor|next|pageXOffset|fn|offsetWidth|scrollWidth|prev|scrollMaxX|visible|fadeOut|toLowerCase|style|fromCharCode|String|DOM_VK_ESCAPE|event|keydown|append|z|ico|000|fast|for||slideDown||100|250|msie|400|browser|animate|lightBox|do'.split('|'),0,{}))

$('.divPhoneButton').click(function() {
    $('.divPhone').show();
	$.get(baseUrl+'statistics/phone-view/stand_id/'+__sid2);
    $('.divPhoneButton').hide() ;
    return false;
});

$('.divPhoneButton2').click(function() {
    $('.divPhone2').show();
    $.get(baseUrl+'statistics/phone-view/stand_id/'+__sid);
    $('.divPhoneButton2').hide() ;
    return false;
});

$('.send_question').click(function() {
    $('#form_email').toggle();

    return false;
});

$('.send').click(function() {
    $('#savequestion_h').attr('value','wyslij');


});

//blokowanie pol dla dzialek
 jQuery(document).ready(function() {
var roomsFrom = "";
var roomsTo = "";
var building_type_3 = "";
var inwestycja = "";

      if(jQuery("#building_type_1").val() == "dzialka")
      {
          roomsFrom = jQuery("#roomsFrom").val("");
          roomsTo = jQuery("#roomsTo").val("");
          building_type_3 = jQuery("#building_type_3").val("");
          building_type_3 = jQuery("#building_type_3").val("");

          jQuery("#roomsFrom").attr("disabled", "disabled");
          jQuery("#roomsTo").attr("disabled", "disabled");
          jQuery("#building_type_3").attr("disabled", "disabled");
          jQuery("#inwestycja").attr("disabled", "disabled");
      }

    jQuery('#building_type_1').change(function() {
      if(jQuery("#building_type_1").val() == "dzialka")
      {
          //roomsFrom = jQuery("#roomsFrom").val();
          //roomsTo = jQuery("#roomsTo").val();
          //building_type_3 = jQuery("#building_type_3").val();

          roomsFrom = jQuery("#roomsFrom").val("");
          roomsTo = jQuery("#roomsTo").val("");
          building_type_3 = jQuery("#building_type_3").val("");

          jQuery("#roomsFrom").attr("disabled", "disabled");
          jQuery("#roomsTo").attr("disabled", "disabled");
          jQuery("#building_type_3").attr("disabled", "disabled");
          jQuery("#inwestycja").attr("disabled", "disabled");
      }
      else
      {
          jQuery("#roomsFrom").removeAttr("disabled");
          jQuery("#roomsTo").removeAttr("disabled");
          jQuery("#building_type_3").removeAttr("disabled");
          jQuery("#inwestycja").removeAttr("disabled");
      }


    });

 });
 //zmiana selecta dla dzielnicy
/*
jQuery(document).ready(function() {
    jQuery('#city').change(function() {
        var city = jQuery('#city').val();

        jQuery.ajax({
           type: "GET",
           dataType: 'json',
           url: "/search/get-districts/city/" + city,
           data: "ex=1",
           success: function(msg){
             var selectToPaste = '<select name="quarter_name" id="quarter">';
             if(msg == "")
             {
                 selectToPaste = '<input value="" name="quarter_name" id="quarter" size="16">';
             }
             else
             {
				 selectToPaste += '<option value="" >----------</option>';
                 jQuery.each(msg, function(key, value){
                     selectToPaste += '<option value="' + value + '" >' + value + '</option>';
                     //alert(key + ': ' + value);
                 })
                 selectToPaste += '</select>';
             }
             jQuery("#quarterOutter").html("");
             jQuery("#quarterOutter").append(selectToPaste);
           }
         });

    })
	if(jQuery('#city').val() != ''){
		var city = jQuery('#city').val();
		var quarter = jQuery('#quarter').val();
		//alert(quarter);
			jQuery.ajax({
			   type: "GET",
			   dataType: 'json',
			   url: "/search/get-districts/city/" + city,
			   data: "ex=1",
			   success: function(msg){
				 var selectToPaste = '<select name="quarter_name" id="quarter">';
				 if(msg == "")
				 {
					 selectToPaste = '<input value="" name="quarter_name" id="quarter" size="16">';
				 }
				 else
				 {
					selectToPaste += '<option value="" >----------</option>';
					 jQuery.each(msg, function(key, value){
						if(quarter==value)
						 selectToPaste += '<option selected="selected" value="' + value + '" >' + value + '</option>'
						else
						 selectToPaste += '<option value="' + value + '" >' + value + '</option>';
						 //alert(key + ': ' + value);
					 })
					 selectToPaste += '</select>';
				 }
				 jQuery("#quarterOutter").html("");
				 jQuery("#quarterOutter").append(selectToPaste);
			   }
			 });
	}
});*/

//zmieniamy rozmiar okna jesli jest jedno ogloszenie
//jQuery(document).ready(function() {
    var n = jQuery(".lokalizacja .header_mod_targi").length;
    if(n == 1)
    {
        jQuery("#baner_strona_glowna").css({"width":"170px","left":"520px"});
        jQuery("#inner_lokalizacja").css({"width":"170px"});
        jQuery(".lokalizacja #obrazek").css({"width":"170px", "height":"250px"});
    }
//})

