jQuery(function($){

    var baseHref = $('base').attr('href');
    var lang = $('html').attr('lang');
    var jsonUri = baseHref + 'json/' + lang;

    // banner

    swfobject.embedSWF(baseHref + "swf/banner.swf", "top", 721, 200, '8.0.23', null, {}, {wmode:'transparent'});

    // banners home
    var $banners = $('#banners');
    if ($banners.length > 0){
        $banners.cycle({
            timeout: 2500,
            speed: 1000,
            delay: -750
        });
    }

    // wyszukiwarka

    var $searchForm = $('#searchform');
    var $searchVoivodeship = $('#search_voivodeship');
    var $searchCity = $('#search_city');
    var $searchAdvanced = $('#search .search-advanced');
    var $searchArea = $('#search_area');
    var $searchAreaTo = $('#search_area_to');

    if (($searchArea.val() > 0) || $searchAreaTo.val() > 0){
        $searchAdvanced.show();
    }

    $('.trigger').css('display', 'block').click(function(){
        $searchAdvanced.slideToggle('fast');
        return false;
    });

    $searchVoivodeship.change(function(){
        $searchCity.addClass('loader');
        var cityVal = $searchCity.val();
        if ($(this).val() == ''){
            $searchCity.replaceWith('<input type="text" name="attrs[]" id="search_city" value="'+cityVal+'">');
            $searchCity = $('#search_city');
        }else{
            $.getJSON(
                jsonUri + '/citiesByVoivodeship/' + encodeURIComponent($(this).val()) + '/',
                function(data,status){
                    if (status == 'success' && !data.error){
                        var $html = '<select id="search_city" name="attrs[]"><option value="">-</option>';
                        $.each(data.cities, function(i,city){
                            $html += '<option';
                            if (city == cityVal){
                                $html += ' selected="selected"';
                            }
                            $html += '>' + city + '</option>';
                        });
                        $html += '</select>'
                        $searchCity.replaceWith($html);
                        $searchCity = $('#search_city');
                    }
                    $searchCity.removeClass('loader');
                }
            );
        }        
    });
    $searchVoivodeship.change();

    $searchForm.submit(function(){
        var uri = baseHref + lang + '/';
        var temp;
        $('#search select,#search :text').filter(':visible').each(function(i,el){
            var val = $(el).val();
            if (i >= 4 && i <= 7){
                if (!$searchAdvanced.is(':visible') && ((i == 6) || (i == 7))){
                    return;
                }
                val = Math.round(parseFloat(val.replace(/,/, '.'))*100)/100;
                if (!isNaN(val)){
                    if (i == 5 || i == 7){
                        uri += '-';
                    }
                    uri += val;
                }
                if ((i == 5) && (!isNaN(val) || !isNaN(temp))){
                    uri += 'zł/';
                }
                if ((i == 7) && (!isNaN(val) || !isNaN(temp))){
                    uri += 'm2/';
                }                                
            }else{
                if (val != '') {
                    uri += val.toLowerCase() + '/';
                }
            }
            temp = val;
        });
        window.location = uri;
        return false;
    });

    // biuletyn

    $('#newsletter_email').focus(function(){
        $(this).select();
    });

    // item view

    $ipics = $('#ipics');
    if ($ipics.length){
    $smA = $('#ipicssm', $ipics);
        $smImg = $('img', $smA);
        $smImg.load(function(){ $(this).fadeIn('fast'); });
        $smA.click(function(){
            // @todo some jquery nice gallery
            return false;
        })
        var $ithumbs = $('#ithumbs', $ipics);
        $('a', $ithumbs).click(function(){            
            $smImg.fadeOut('fast').attr('src', $(this).attr('href'));
            $smA.attr('href', $(this).attr('href').replace(/sm_/, ""));
            return false;
        })
    }

    $igmap = $('#igmap');
    if ($igmap.length > 0){
        var map = new GMap2($igmap.get(0));
        map.addControl(new GLargeMapControl );
        map.addControl(new GMapTypeControl());
        map.addControl(new GScaleControl());
        map.addControl(new GOverviewMapControl());
        var point = new GLatLng($igmap.attr('_lat'), $igmap.attr('_lng'));
        marker = new GMarker(point);        
        map.setCenter(point,14);
        map.addOverlay(marker);
    }

    // contact

    var $contactform = $('#contactinfo form');
    $contactform.hide();
    $('.ctrigger').click(function(){
        $('#contactinfo form').slideToggle();
        return false;
    });

    $cgmap = $('#cgmap')
    if ($cgmap.length > 0){
        var cmap = new GMap2($cgmap.get(0));
        cmap.addControl(new GLargeMapControl );
        cmap.addControl(new GMapTypeControl());
        cmap.addControl(new GScaleControl());
        cmap.addControl(new GOverviewMapControl());
        var cpoint = new GLatLng(50.29448,18.668153);
        marker = new GMarker(cpoint);
        cmap.setCenter(cpoint,16);
        cmap.addOverlay(marker);
    }

    // submit an offer

    var $soffer = $('#soffer');
    if ($soffer.length > 0){
        var $soffer_rooms = $('#offer_rooms', $soffer);
        var $soffer_type = $('#offer_type', $soffer);
        $soffer_type.change(function(){
            if (this.selectedIndex < 2){
                $soffer_rooms.parent().fadeIn('fast');
            }else{
                $soffer_rooms.parent().fadeOut('fast');
            }
        }).change();
    }

	
	// back button
	
	$('#imeta .back').show();

    // google map unload

    if (typeof(GUnload) != 'undefined'){
        $(window).unload(GUnload);
    }

});
