var scrolled = 'html,body', targetOffset = 80;
var koszyk='', ats = {}, lds={}, url = '', initial = '';//, firsttime = true;

var colorbox = (!/android|iphone|ipod|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent))?
    (function(t){
	    $("a[rel^='lightbox']",t).colorbox({current:"",title:" ", previous:"« ",next:" »",close:"zamknij"});
	    $("a[rel^='video']",t).colorbox({iframe:true, innerWidth:425, innerHeight:344, close:"zamknij"});
	    $("a[rel^='help']",t).colorbox({close:"zamknij"});
    }):(function(){});



/* all targets and their loaders */
var filler = function(loaders) {
    return function(data) {
        if (data.k) { enable_links(ats.k.html(data.k).find('a') );  enable_search(); /*collapse(ats.k);*/ }
        if (data.g) { enable_links(ats.g.html(data.g).find('.pagination a'), true); cart_links(ats.g.find('a.dokoszyka')); }
        if (data.o) { ats.o.html(data.o); }
        if (data.z) { cart_links(ats.z.html(data.z).find('a.dokoszyka') ); colorbox(ats.z); }
    loaders.stop().animate({opacity: 0},300, function() { loaders.hide(); });
    }
}
function start(l) {l.stop().css({opacity: 0, display: 'block'}).animate({opacity: 1},300);};

var loader = function(hash) {
    /* Load the page elements base on hash */
    if (!hash) hash=initial;//"katalog/,";
    if (!hash) { window.location.href = url; return; }
    hash = hash.split(',');
    //if (firsttime) { firsttime = false; hash[1] = ''; }
    //console.log('loading,', hash, firsttime);
    //var loaders = (hash[1])?lds.g: lds.g.add(lds.k).add(lds.o);
    var loaders = lds.g.add(lds.k).add(lds.o);
    start(loaders);
    if ($(scrolled).attr('scrollTop')>130) $(scrolled).animate({scrollTop: targetOffset},
                        500);

    $.post(hash[0], {a:hash[1]}, filler(loaders), "json");
}

var cart_post = function(url, extradata) {
    var loaders = lds.z;
    start(loaders);
    $.post(url, $.extend({a:koszyk}, extradata), filler(loaders), "json");
    return false;
}

var cart_links = function(target) {
    target.click(function(){
        return cart_post(this.href);
        });
    var ajaxpose = function(cname) { $('.'+cname).removeClass(cname).addClass(cname+'_ajax');}
    ajaxpose('wysylka'); ajaxpose('platnosci');
    var wysylki = $('.wysylka_ajax div');
    if (wysylki.length) {
        wysylki.each(function(i, e) { var e = $(e); e.data('p', $('.platnosci_ajax .'+e.attr('rel')) ); });
        /*
        wysylki.mouseover(function() { 
            $(this).data('p').show().siblings('div').hide();
        }).mouseleave(function() {
            $('.platnosci_ajax .show').show().siblings('div').hide();
        });
        */
        wysylki.click(function() {
            $(this).data('p').addClass('show').show().siblings('div').hide().removeClass('show').end().find('input').eq(1).click();
        });
        $('.platnosci_ajax input').click(function() {
            return cart_post('/dlaklientow/zamow/', {'dane[id_platnosci]': $(this).val()});
        });
    }

		
    $('.koszyk .miniprd').each(function(i) {
        /* z-indexs set so the mini product icons don't pop over them */
        $(this).css('z-index', (8000 - 5*Math.floor(i/5)+i%5));
    }).mouseenter(function() { $('.preview', this).show();}).mouseleave(function() { $('.preview', this).hide(); });
}


var enable_links = function(target,pages) {
    pages = (pages)?',p':',';
    target.click(function(){
        var katalog = '/katalog' + this.href.split('katalog')[1] + pages;
        //hash = hash.replace(/^.*#/, '');
        // moves to a new page.
        // pageload is called at once.
        // hash don't contain "#", "?"
        $.historyLoad(katalog);
        return false;
        });
}

var enable_search = function() {
    $('form#wyszukiwarka').submit(function() {
        var szukaj = $('#q').val();
        szukaj = (szukaj)?'/katalog/szukaj-'+szukaj+'/':'/katalog/';
        $.historyLoad(szukaj);
        return false;
    });
}


var cookie = {
createCookie: function(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    } else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
},
readCookie: function(name) {
    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 collapse(target) {
    target.find('h2').slice(2,10).click(function() {
        var h = $(this);
        var c = h.nextt
    });
}
*/
$(function(){
// AUTOLOAD CODE BLOCK (MAY BE CHANGED OR REMOVED)
    colorbox(document);

    var switchers=$('#styles'), sep = 'alt-', switchss = function(title) {
        $('link[rel*=style][title^='+sep+']').each(function(i) {
            this.disabled = true;
            if ($(this).attr('title') == title) {
                this.disabled = false;
            }
        });
        cookie.createCookie(sep, title, 365);
    };
    var c = cookie.readCookie(sep);
    if (c) switchss(c);

    var a = ['grey'];
    $('link[title^=alt]').each(function(i,e) { a.push($(e).attr('title').replace(sep,'')); });
    $.each(a, function(i,sc) {
        // tmp use swith for promo http://www.perfumy-vip.pl/promocje/46
        $('<a href="#">').css('background-color',sc).click(function() { window.location = 'http://www.perfumy-vip.pl/promocje/46'; /*switchss(sep+sc); */ return false; }).appendTo(switchers);
        //$('<a href="#">').css('background-color',sc).click(function() { switchss(sep+sc); return false; }).appendTo(switchers);
    });

    /*//goes thru the links to find out the ones having the selector
    $(this).click(function() {
        var title = $(this).attr('title'); //gets the title=?
        switchss(title);
    });
*/


    $('html, body').each(function () {
        var initial_st = $(this).attr('scrollTop');
        $(this).attr('scrollTop', initial_st + 1);
        if ($(this).attr('scrollTop') == initial_st + 1) {
            scrolled = this.nodeName.toLowerCase();
            $(this).attr('scrollTop', initial_st);
            return false;
        }
    });

    var ids={'k':'kryteria','g':'glowna','o':'opis', 'z':'koszyk'};
    for (k in ids) { 
        ats[k] = $('#'+ids[k]);
        lds[k] = $('<div class="loading"></div>').hide().appendTo( ats[k].parent().addClass('loadparent') );
        }
    koszyk = (ats.z.hasClass('zamowienie'))?'zamowienie':'koszyk';

    var k_i = $('#identyfikacja');
	if (k_i.length) {
	    k_i.hide();
	    $('<a href="#">Proszę kliknąć, jeśli zapisywali Państwo dane w naszym sklepie!</a>').click(
	        function() { k_i.show().next().hide(); return false; }
	    ).insertAfter(k_i).wrap('<div class="info"><p></p></div>');
    }
    var p = $('#prezent'), p_info=$('#prezentinfo').hide();
    if (p_info.length) {
        var toggle = function() { if (p.attr('checked')) {p_info.show();}  else { p_info.hide(); }}
        p.click(toggle);
        toggle();
	}
    // initial url:
    url = window.location.href;
    initial = window.location.href.split('katalog');
    initial = (initial[1])? ('/katalog' + initial[1]+','):url.split('perfumy-vip.pl')[1];

    $.historyInit(loader, '');
    enable_links($('#kryteria a'));
    enable_links($('#glowna .pagination a'),true);
    cart_links($('a.dokoszyka'));
    enable_search();
    
//    var lista = $('.toplista .shadow');
//    if (lista.length) {
//        $('<div/>').addClass('decal').appendTo(lista);
//        lista.css('height', '30px').hover(function() {
//            $(this).stop().animate({height:'66px'},150).siblings().stop().animate({height:'30px'},150);
//        });
//    }
});



