$(window).load(function(){
    // preserve_input_val("search_keyword");
    handle_products_list();
    handle_category_list();
    tooltip();
    align_category_list();
    fix_height();
    do_prettyphoto();
    handle_newsletter();
    // Sprwadzenie ustawionego języka dla translatora
    loadSlide();
    checkFlag();
    checkLangSelected();
});


var mapa; // obiekt globalny

function do_prettyphoto() {
    $().prettyPhoto();
    $("a[rel^='prettyPhoto']").unbind("click").click(function(){
        $.prettyPhoto.open($(this).attr("href"));
        return false;
    });
	
    $("a[rel^='prettyPhoto'] span").unbind("click").click(function(){
        $.prettyPhoto.open($(this).parent().attr("href"));
        return false;
    });
}

function fix_height(){
    // Wydłużanie bloków
    var content_left=$("div#content_left").outerHeight(true);
    var content_right=$("div#content_right").outerHeight(true);

    var roznica = content_left - content_right;

    if (roznica>0) $("#content").append('<div style="height: ' + roznica + 'px"></div>');
    else if (roznica<0) $("#menu_left").append('<div style="height: ' + (-roznica) + 'px"></div>');
}

function preserve_input_val(name){
    var elem=$("input[name="+name+"]");

    elem.focus(function(){
        var defaultValue=$("input[name="+name+"]").get(0).defaultValue;
        var actualValue=$("input[name="+name+"]").val();

        if (defaultValue == actualValue) {
            elem.val("");
        }
    });

    elem.blur(function(){
        var defaultValue=$("input[name="+name+"]").get(0).defaultValue;
        var actualValue=$("input[name="+name+"]").val();

        if (actualValue == "") {
            elem.val(defaultValue);
        }
    });
}

function handle_products_list(){
    $("ul#products_list li").click(function(){
        document.location.href = $(this).find("h1 a").attr("href");
    });
}

function handle_category_list(){
    $("div.category_list").click(function(){
        document.location.href = $(this).find("h1 a").attr("href");
    });
}

function tooltip(){
    $('.products_list_img img, #product_thumbnail img').tooltip({
        delay: 10,
        track: true,
        top: -20,
        left: 40,
        showURL: false,
        bodyHandler: function() {
            return $("<img/>").attr("src", $(this).attr("data-enlarge"));
        }
    });
}

function checkFlag() {
    $('#en, #de, #fr, #pl').click(function(){
        translateWholePage($(this).attr("id"));
        return false;
    });
}

function translateWholePage(lang) {
    $.translate.load("A966DC4B0CB2A27799032EBE1AE66F95117B71D4");
    //defaults
    $('#pl').css('opacity', 0.5);
    $('#en').css('opacity', 0.5);
    $('#de').css('opacity', 0.5);
    $('#fr').css('opacity', 0.5);
	
    //highlight new language
    $('#'+lang).css('opacity', 1);
	
    //remember new language
    if(lang!="pl") {
        create_cookie("glang", lang, 30);
    } else {
        create_cookie("glang", lang, -1);
    }
	
    $('body').translate("pl", lang, {
        fromOriginal: true, 
		limit: 1000,
        start: function() {
            //show loader
            $("#lang_loader").fadeIn('fast');                
        },
        error: function() {
            //hide loader
            $("#lang_loader").fadeOut('fast');
        },
        timeout: function() {
            //hide loader
            $("#lang_loader").fadeOut('fast');
        },
        complete: function(){
            //fix category list height
            align_category_list();
            //generally fix height
            fix_height();
            //renew prettyPhoto
            do_prettyphoto();
            //hide loader
            $("#lang_loader").fadeOut('fast');
        }
    });	
	
return true;
}

function checkLangSelected()
{
    // Pobieramy język
    var glang = read_cookie('glang');

    if(glang != null) {
        translateWholePage(glang);
    } else{
        // null = polish activated
        $('#pl').css('opacity', 1);
        $('#en').css('opacity', 0.5);
        $('#de').css('opacity', 0.5);
        $('#fr').css('opacity', 0.5);
    }
}

function create_cookie(name,value,days) { // Tworzenie cookie z http://www.quirksmode.org/js/cookies.html
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        expires = "; expires="+date.toGMTString();
    }
    else {
        expires = "";
    }
    document.cookie = name+"="+escape(value)+expires+"; path=/";
}

function read_cookie(name) { // Czytanie cookie z http://www.quirksmode.org/js/cookies.html
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)===" ") {
            c = c.substring(1,c.length);
        }
        if (c.indexOf(nameEQ) === 0) {
            return c.substring(nameEQ.length,c.length);
        }
    }
    return null;
}

function align_category_list(){
    var elem_no =  $(".category_list").length;
    var elem_array = new Array();

    $(".category_list").each(function(index, elem){
        elem_array.push(elem);

        if((index+1)%4 == 0 || (index + 1) == elem_no) {
            var max_height = 0;
            $(elem_array).each(function(i,e){
                if ($(e).find("h1").outerHeight(true) > max_height) {			
                    max_height = $(e).find("h1").outerHeight(true);
                }
            });
			
            $(elem_array).each(function(i,e){
			
                if($(e).find("h1").outerHeight(true) != max_height) {		
                    var add_top = parseInt((max_height - $(e).find("h1").outerHeight(true)) / 2);
                    var add_bottom = parseInt(max_height - $(e).find("h1").outerHeight(true)) - add_top;
                    var padding_top = parseInt($(e).find("h1").css("padding-top")) + add_top;
                    var padding_bottom = parseInt($(e).find("h1").css("padding-bottom")) + add_bottom;
				
                    $(e).find("h1").css("padding-top", padding_top);
                    $(e).find("h1").css("padding-bottom", padding_bottom);
                }
            });		
			
            elem_array = new Array();
        }
    });

}

function loadSlide(){
    $('#site_banner').slides({
        preload: true,
        preloadImage: 'gfx/loading.gif',
        play: 15000,
        pause: 500,
        effect: 'slide',
        hoverPause: true,
        pagination: false,
        generatePagination: false
    });
}

// obsługuje zapisy na newsletter
function handle_newsletter() {
    $("div#nlt input#z").click(function(){
            
        var m = $("div#nlt input#m").val();
        $("div#nlt input#m, div#nlt input#n").css({
            "background-color":"#FFFFFF", 
            "border-color":"#7DB3D8"
        });

        if (m == "") {
            $("div#nlt input#m").css({
                "background-color":"#FFADAD", 
                "border-color":"#D73F3F"
            });
            return false;
        }

        $.ajax({
            url: '/newsletter_add.php',
            dataType: 'json',
            type: 'POST',
            data: {
                m: m
            },
            beforeSend: function(){
                $("div#nlt input#z").val("Czekaj...").attr("disabled","disabled");
            },
            success: function(data) {
                switch(parseInt(data.result, 10)) {
                    case 1:
                    case 2:
                        $("div#nlt p#s").fadeOut(function(){
                            $("div#nlt p#t").fadeIn()
                            });
                        break;
                    case 3:
                        $("div#nlt input#m").css({
                            "background-color":"#FFADAD", 
                            "border-color":"#D73F3F"
                        });
                        break;
                    default:
                        $("div#nlt p#s").fadeOut(function(){
                            $("div#nlt p#e").fadeIn()
                            });
                }
            },
            complete: function(){
                $("div#nlt input#z").val("Zapisz").attr("disabled","");
            }
        });
                
    });
}
