var map;
var markersArray = [];
var infoArray = [];


function validate_required(field, alerttxt)
{
    with (field)
    {
        if (value==null||value=="")
        {
            alert(alerttxt);
            return false;
        }
        else
        {
            return true;
        }
        }
}

function validate_form(thisform)
{
    with (thisform)
    {
        if (validate_required(_resourceID,"Proszę wybrać adres!")==false)
        {
            _resourceID.focus();
            return false;
        } 
        if (validate_required(_failureTypeID,"Proszę podać temat zgłoszenia!")==false)
        {
            _failureTypeID.focus();
            return false;
        }         
        if (validate_required(_reporterNameSurname,"Proszę podać imię i nazwisko!")==false)
        {
            _reporterNameSurname.focus();
            return false;
        }
        if (validate_required(_reporterCity,"Proszę podać miasto!")==false)
        {
            _reporterCity.focus();
            return false;
        }
        if (validate_required(_reporterPhone,"Proszę podać numer telefonu!")==false)
        {
            _reporterPhone.focus();
            return false;
        }
       
        }
}


function mapaInwestycji() {
    if ($("#mapaInwestycji").length > 0) {
        $.ajax({
            url: "/serwer/pobierzInwestycjeOStatusie",
            dataType: "json",
            type: "POST",
            data: {
                status: $("#mapaInwestycji").attr("rel")
            },
            success: function(data) {
			
                /* szukanie środka współrzędnych dla wszystkich punktów */
                var lats = 0;
                var longs = 0;
                for (var i in data) {
                    lats = lats + parseFloat(data[i].geocode.substr(0, data[i].geocode.indexOf(",") ));
                    longs = longs + parseFloat(data[i].geocode.substr( data[i].geocode.indexOf(",") + 1 ));
                }
			
			
                var latlng = new google.maps.LatLng(lats/data.length, longs/data.length);
                var myOptions = {
                    zoom: 10,
                    center: latlng,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                }
		    
                map = new google.maps.Map(document.getElementById("mapaInwestycji"), myOptions);

                function listenMarker (marker, info) {
                    google.maps.event.addListener(marker, 'click', function() {
                        info.open(map, marker);
                    });
                    google.maps.event.addListener(map, 'click', function(){
                        info.close();
                    });
		        
                }
			
                switch ($("#mapaInwestycji").attr("rel")) {
                    case "1":
                        var href="zrealizowaneInwestycje";
                        break;
                    case "2":
                        var href="planowaneInwestycje";
                        break;
                    case "3":
                        var href="realizowaneInwestycje";
                        break;
                }
		    
                for (var i in data) {
                    var adres = "Wrocław, "+data[i].adres;
                    var nazwa = data[i].nazwa;
                    var latlng = new google.maps.LatLng(data[i].geocode.substr(0, data[i].geocode.indexOf(",")), data[i].geocode.substr(data[i].geocode.indexOf(",")+1));

                    var marker = new google.maps.Marker({
                        map: map,
                        position: latlng,
                        icon: "/images/domek.png"
                    });
                    var infowindow = new google.maps.InfoWindow({
                        width: 250,
                        content: "<h6 style='margin: 0; padding: 0'>"+nazwa+"</h6><p style='margin: 0; padding: 0;'>"+adres+"</p>"+"<p style='margin: 0; padding: 0'><a href='/"+href+"/"+data[i].id_inwestycje+"'>Więcej informacji</a>"+"</p>"
                    });
		    	
                    markersArray.push(marker);
                    infoArray.push(infowindow);

                    listenMarker(markersArray[i], infoArray[i]);
                //closeMarker(infoArray[i]);
                }
            }
        });
    }
}


function mapaInwestycjiMala() {
    if ($("#mapaInwestycjiMala").length > 0) {
        $.ajax({
            url: "/serwer/zwrocWspolrzedneInwestycji",
            dataType: "json",
            type: "POST",
            data: {
                id: $("#mapaInwestycjiMala").attr("rel")
            },
            success: function(data) {
                var latlng = new google.maps.LatLng(data.lat, data.lng);
                var myOptions = {
                    zoom: 13,
                    center: latlng,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                }
		    
                map = new google.maps.Map(document.getElementById("mapaInwestycjiMala"), myOptions);
	
                function listenMarker (marker, info) {
                    google.maps.event.addListener(marker, 'click', function() {
                        info.open(map, marker);
                    });
                    google.maps.event.addListener(map, 'click', function(){
                        info.close();
                    });
		        
                }
			
                var marker = new google.maps.Marker({
                    map: map,
                    position: latlng,
                    icon: "/images/domek.png"
                });
            }
        });
    }
}


function resetForm(klasa){
    $(klasa).find(':input').each(function(){
        switch (this.type) {
            case 'password':
            case 'select-multiple':
            case 'select-one':
            case 'text':
            case 'textarea':
            case 'file':
                $(this).val('');
                break;
            case 'checkbox':
            case 'radio':
                this.checked = false;
        }
    });
}


function roundNumber(num, dec){
    var result = Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
    return result;
}

function hovering(klasa){
    var klasa_z_hoverem = (klasa + "-hover").substr(1, 100);
    
    $(klasa).hover(function(){
        $(this).addClass(klasa_z_hoverem);
    }, function(){
        $(this).removeClass(klasa_z_hoverem);
    });
}


function dodajLink(klasa){
    $(klasa + " a").each(function(){
        $(this).parents(klasa).click(function(){
            window.location.href = $(this).find("a").attr("href");
        });
    });
}


function animowaneMenu(){
    $(".podmenu .pozycjaMenu").prepend("<div class=\"tlo\"></div>");
    $(".podmenu .tlo").each(function(){
        $(this).css("opacity", 0.5);
    })
    
    $(".podmenu .pozycjaMenu").hover(function(){
        $(this).children(".tlo").animate({
            height: "100%",
            opacity: 0.5
        }, 250, "", function(){
            });
    }, function(){
        $(this).children(".tlo").animate({
            height: 0
        }, 50, function(){
            });
    });
}


function antyspam(){
    $(".antyspam").each(function(){
        var kod = "<a href=\"mailto:";
        var c = "";
        var l = "";
        var s = $(this).html();
        for (var i = 0; i < s.length; i++) {
            l = s.charCodeAt(i) - 2;
            c += String.fromCharCode(l);
        }
        kod += c;
        kod += ("\">");
        kod += c;
        kod += "</a>";
        $(this).html(kod);
        $(this).show();
    });
}



function external_links(){
    $("a").each(function(){
        if (($(this).attr("href")) && ($(this).attr("rel") == "external")) {
            $(this).attr("target", "_blank");
        }
    });
}


function wlaczPierwszaZakladke(){
    $("#zakladki").children("div:first").addClass("wlaczony");
}

function wlaczZakladke(klasa){
    klasa = "." + klasa;
    $("#zakladki").children(".tab").hide();
    $(klasa).show();
}

function wlacz(klasa){
    $(klasa).slideDown();
    $(klasa + " .ukryj").click(function(){
        $(klasa).hide();
    })
}


function przeliczKoszty(){
    $(".stawki").validate({
        rules: {
            stawka_czynszu: {
                required: true,
                range: [1, 100]
            },
            powierzchnia: {
                required: true,
                range: [1, 300]
            },
            koszt_partycypacji: {
                required: true,
                range: [1, 10000]
            }
        },
        invalidHandler: function(form, validator){
            $("#wyniki").hide();
        },
        errorPlacement: function(error, element){
            error.appendTo(element.parent("td").next("td"));
        },
        errorElement: "div",
        submitHandler: function(form){
            $("#wyniki").show();
            var stawka_czynszu = $("#stawka_czynszu").val();
            var koszt_partycypacji = $("#koszt_partycypacji").val();
            var powierzchnia = $("#powierzchnia").val();
            
            $("#partycypacja_razem").text(roundNumber(powierzchnia * koszt_partycypacji, 2));
            $("#czynsz_razem").text(roundNumber(powierzchnia * stawka_czynszu, 2));
            $("#kaucja_razem").text(roundNumber(powierzchnia * stawka_czynszu * 12, 2));
            
            $(".tekst_uwagi").hide();
            $(".uwaga").unbind("click");
            
            $(".uwaga").click(function(){
                $(".tekst_uwagi").toggle();
            })
            
        }
    });
}


function wyslijFormularz(co, gdzie, dane){
    $.ajax({
        type: "POST",
        url: gdzie,
        data: dane,
        success: function(data){
            $(co).slideUp();
            resetForm(co);
            $(co).next(" .dziekujemy").slideDown();
        //alert(data);
        }
    });
    
}


function walidacja(klasa){
    $(klasa).validate({
        errorElement: "div",
        submitHandler: function(form){
            switch (klasa) {
                case "#formularzZgloszenia":
                    var dane = {
                        imie_nazwisko: $(klasa + " .imie_nazwisko").val(),
                        adres: $(klasa + " .adres").val(),
                        telefon: $(klasa + " .telefon").val(),
                        email: $(klasa + " .email").val(),
                        temat: $(klasa + " .temat option:selected").val(),
                        opis: $(klasa + " .opis").val()
                    };
                    wyslijFormularz(klasa, "/serwer/zgloszenieInterwencji", dane);
                    break;
                    
                case "#formularzKontaktowy":
                    var dane = {
                        imie_nazwisko: $(klasa + " .imie_nazwisko").val(),
                        email: $(klasa + " .email").val(),
                        telefon: $(klasa + " .telefon").val(),
                        zapytanie: $(klasa + ".zapytanie").val(),
                        zainteresowany_mieszkaniem: $(klasa + " .zainteresowany_mieszkaniem:checked").val(),
                        zainteresowany_lokalem: $(klasa + " .zainteresowany_lokalem:checked").val(),
                        newsletter_mieszkania: $(klasa + " .newsletter_mieszkania:checked").val(),
                        newsletter_lokale: $(klasa + " .newsletter_lokale:checked").val(),
                        newsletter_przetargi: $(klasa + " .newsletter_przetargi:checked").val()
                    };
                    wyslijFormularz(klasa, "/serwer/zgloszenieKontakt", dane);
                    break;
                    
                case "#formularzKontaktowyPrzetargi":
                    var dane = {
                        imie_nazwisko: $(klasa + " .imie_nazwisko").val(),
                        email: $(klasa + " .email").val(),
                        telefon: $(klasa + " .telefon").val(),
                        zapytanie: $(klasa + ".zapytanie").val()                    
                    };
                    wyslijFormularz(klasa, "/serwer/zgloszenieKontakt", dane);
                    break;               
                case "#formularzPraca":
                    //alert("A");
                    form.submit();
                    /* var dane = {
                 imie_nazwisko: $(klasa+" .imie_nazwisko").val(),
                 miejscowosc: $(klasa+" .miejscowosc").val(),
                 ulica: $(klasa+" .ulica").val(),
                 email: $(klasa+" .email").val(),
                 telefon: $(klasa+" .telefon").val(),
                 firma: $(klasa+ ".firma").val(),
                 branza: $(klasa+ ".branza").val(),
                 uwagi: $(klasa+ ".uwagi").val()
                 };*/
                    //wyslijFormularz(klasa, "/serwer/zgloszenieKontakt", dane);
                    //$(klasa).submit();
                    break;
                case "#newsletterDodaj":
                    form.submit();
                    break;
            }
        }
    });
}


function jcarousel(klasa){
    $(".carousel").jCarouselLite({
        auto: false,
        timeout: 2000,
        speed: 500,
        scroll: 1,
        easing: "easeOutBounce",
        circular: false,
        btnPrev: ".w_lewo",
        btnNext: ".w_prawo",
        visible: 3
    });
	
    $(".carousel .foto").click(function() {
        $(".powiekszenie img").attr("src", $(this).children("img").attr("rel"));
        $(".wyswietlaj").hide();

        if ($(this).attr("name") == '0' ) {
            $(".wyswietlaj_0").show();
            $(".powiekszenie a").attr("href", "/zrealizowaneInwestycje/"+$(this).attr("rel"));
        } else {
            $(".wyswietlaj_1").show();
            $(".powiekszenie a.planowane").attr("href", "/planowaneInwestycje/"+$(this).attr("rel"));
            $(".powiekszenie a.tabela").attr("href", "/lokaleMieszkalne/inwestycje/"+$(this).attr("rel"));
        }
				
        $(".powiekszenie h4").text($(this).children("img").attr("alt"));
    });
	
    $(".carousel .foto:first").click();
	
}

function jcarouselN(klasa) {
    $(klasa).jcarousel();
	
    $(".carousel .foto").click(function() {
        $(".powiekszenie img").attr("src", "");
        $(".powiekszenie img").attr("src", $(this).children("img").attr("rel"));
        $(".wyswietlaj").hide();

        if ($(this).attr("name") == '0' ) {
            $(".wyswietlaj_0").show();
            $(".powiekszenie a").attr("href", "/zrealizowaneInwestycje/"+$(this).attr("rel"));
        } else {
            $(".wyswietlaj_1").show();
            $(".powiekszenie a.planowane").attr("href", "/planowaneInwestycje/"+$(this).attr("rel"));
            $(".powiekszenie a.tabela").attr("href", "/lokaleMieszkalne/inwestycje/"+$(this).attr("rel"));
        }
				
        $(".powiekszenie h4").text($(this).children("img").attr("alt"));
    });
	
    $(".carousel .foto:first").click();
}




$().ready(function(){
    //jcarousel(".karuzela");
	
    jcarouselN(".carousel");
    hovering(".pozycjaMenu");
    dodajLink(".pozycjaMenu");
    animowaneMenu();
    external_links();
    antyspam();
    wlaczPierwszaZakladke();
    mapaInwestycji();
    mapaInwestycjiMala();
    
    $('#header #logo').flash({
        src: '/images/logo.swf',
        width: 500,
        height: 123,
        wmode: 'transparent'
    });
    
    $('#header #animacja').flash({
        src: '/images/header.swf',
        width: 500,
        height: 140,
        wmode: 'transparent'
    });
    
    
    $().piroBox({
        my_speed: 300,
        bg_alpha: 0.8,
        slideShow: true,
        slideSpeed: 3,
        close_all: '.piro_close, .piro_overlay'
    });
    
    
    jQuery.validator.addMethod("imie_nazwisko", function(value, element){
        return this.optional(element) || /^.{2,}\s.{2,}$/.test(value);
    }, "To pole musi zawierać imię i nazwisko.");
    
    jQuery.validator.addMethod("liczba", function(value, element){
        return this.optional(element) || /^[0-9]{1,}[,.]{1,}$/.test(value);
    }, "To pole musi zawierać liczbę.");    
    
    jQuery.extend(jQuery.validator.messages, {
        required: "To pole jest wymagane.",
        email: "Proszę wpisać poprawny adres e-mail.",
        number: "Proszę wpisać liczbę.",
        accept: "Please enter a value with a valid extension.",
        maxlength: $.validator.format("Proszę wprowadzić nie więcej niż {0} znaków."),
        minlength: $.validator.format("Proszę wprowadzić minimum {0} znaków."),
        rangelength: $.validator.format("Proszę wprowadzić pomiędzy {0} i {1} znaków."),
        range: $.validator.format("Proszę wprowadzić wartość pomiędzy {0} i {1}."),
        max: $.validator.format("Proszę wprowadzić wartość mniejszą lub równą {0}."),
        min: $.validator.format("Proszę wprowadzić wartość większą lub równą {0}.")
    });
    

    
});

