/*
Plik JS - http://www.a3m.pl/
Prawa autorskie (c) 2005 AllFreeMedia s.c.
Autor: Tomasz Krzan, Mateusz Kamiński.
*/

$(document).ready(function() {
	
	//obsługa rozwijania listy
	var tabMenu = $('.page-nav .page-nav').get();
	for(itm=0;itm<tabMenu.length;itm++){
		var stanRodzica = $(tabMenu[itm]).parent('li').find('a').attr('class');
		if(stanRodzica=='selected'){
			//to zostaje rozwinięte - tak jak jest
		}else{
			$(tabMenu[itm]).hide();
		}
	}
	
	$('.quantity').keydown(function(){
		$('#updateKoszyk').addClass('pleaseUpdateBasket');
	});
	
	//rozwijanie - zwijanie
	$('#left > .page-nav > li > a').click(function(){
		var klasaDlaObi = $(this).attr('class');
		if(klasaDlaObi=='h_selected'){
			$(this).next('ul').hide();
			$(this).removeClass('h_selected');
		}else{
			$(this).next('ul').show();
			$(this).addClass('h_selected');
		}
		
		//jeżeli nie ma dzieci - to przeładowanie strony - jeżeli ma to blokuje przeładowanie! - czyli gdy jest albo brak ul na poziomie A
		var czyJestUl = $(this).next('ul').get();
		if(czyJestUl.length>0){
			return false;
		}else{
			return true;
		}
	});
	
	// zabezpieczenie adresów e-mail
	$(document).find('a').each(function(){
		var ahref = $(this).attr('href');
		if(ahref!=undefined){
			if(ahref.indexOf('slij=>')>-1){
				$(this).attr('href', ahref.replace('slij=>','mailto:') );
				var ahref = $(this).attr('href');
				$(this).attr('href', ahref.replace('(malpka)','@') );
				
				var amalpka = $(this).text();
				$(this).text( amalpka.replace('(malpka)','@') );
			}
		}
	});
	
	/** zaznaczanie okna ofertowego po najechaniu na nie **/
	$(".sectionOffert .img, .sectionOffert h2, .sectionOffert span").hover(
		function () {
			$(this).parent().addClass("hover");
			$(this).parent().find('h2 a').addClass('select');
			Cufon.replace('.image_carousel h2 a.select', { fontFamily: 'Calibri', hover:true });
		},
		function () {
			$(this).parent().removeClass("hover");
			$(this).parent().find('h2 a').removeClass('select');
			Cufon.replace('.image_carousel h2 a', { fontFamily: 'Calibri', hover:true });
		}
	);
	
	
	/* czcionki */

	//dodane mk 30sie2011
	/*$("#page-nav ul a").css('padding','7px 15px');
	var jestmsie = 0;
	jQuery.each(jQuery.browser, function(i, val) {
		if(i=='msie' && val==true){
			jestmsie = 1;
		}
		if(i=='version' && jestmsie==1 && val==7.0){
			$("#page-nav ul a").css('padding-top','4px');
		}
	});*/

	/* end czcionki */
	
	
	/** TABS dla produktu OPIS, OCENY ...**/
	
  $("#tags_buttons div").live("click",function(){
		$('div.tags').hide();
		var element_list = $('div.tags').get();
		var element_index = $("tags_buttons div").index(this);
		var list = $(this).attr("id");
    $("#tags_buttons div").removeAttr("class");
    $('#'+list).addClass("active");
		$(element_list[list.substr(1)]).show();
		return false;
		
	});
	
	//obsługa sondy
	$('.sondaForm').submit(function(){
		return false;
	});
	
	$('.sondaSend').click(function(){
		obi = $(this).parent('form');
		idobi = $(obi).attr('id');
		serial = $(obi).serialize();
		kurtynaA3M('#'+idobi,'on');

    $.ajax({url: "ajax/sonda", 
        type: "POST",
        data: 'ankieta='+idobi+'&'+serial,
        success: function(html){
          $(obi).replaceWith(html);
					kurtynaA3M('#'+idobi,'off');
        }
    });

	});
	
});

//sonda - poza ready
function pokazWynikiSondy(id_sonda){
	$.ajax({url: "ajax/sonda-pokaz", 
			type: "POST",
			data: 'sonda='+id_sonda,
			success: function(html){
				$('#'+id_sonda).html(html);
			}
	});
}

/** Zakładki **/

function editMode(txt) {
	$("body").append("<div class='editModeClass'>"+txt+"</div>");
}


function baseUrl() {
	return $().find("base").attr("href");
}

var msg_001 = 'proszę czekać';

//podaj id obiektu w formie #obi
function kurtynaA3M(obi,act) {
  if(act=='on'){
		var isAbso = $(obi).css('position');
		var h = $(obi).height();
    h = h/2
		wT = 8;
		var w = $(obi).width();
    var margin = h -wT;
		if(isAbso!='absolute' && isAbso!='fixed'){
				$(obi).css('position','relative');
				$(obi).append('<div style="width:'+w+'px;height:'+(h+wT)+'px;padding-top:'+margin+'px;position:absolute" class="kurtyna_a3m"><img src="gfx/loading.gif" alt="'+msg_001+'"> '+msg_001+'</a>');
        $('.kurtyna_a3m').css('opacity',0.8);
		}
  } else{
		$(obi+' .kurtyna_a3m').remove();
  }
}

jQuery.fn.delay = function(time,func){
	this.each(function(){
		setTimeout(func,time);
	});
	return this;
};

/*
 * FeatureList - simple and easy creation of an interactive "Featured Items" widget
 * Examples and documentation at: http://jqueryglobe.com/article/feature_list/
 * Version: 1.0.0 (01/09/2009)
 * Copyright (c) 2009 jQueryGlobe
 * Licensed under the MIT License: http://en.wikipedia.org/wiki/MIT_License
 * Requires: jQuery v1.3+
*/
;(function($) {
	$.fn.featureList = function(options) {
		var tabs	= $(this);
		var output	= $(options.output);

		new jQuery.featureList(tabs, output, options);

		return this;	
	};

	$.featureList = function(tabs, output, options) {
		function slide(nr) {
			if (typeof nr == "undefined") {
				nr = visible_item + 1;
				nr = nr >= total_items ? 0 : nr;
			}

			tabs.removeClass('current').filter(":eq(" + nr + ")").addClass('current');

			output.stop(true, true).filter(":visible").fadeOut();
			output.filter(":eq(" + nr + ")").fadeIn(function() {
				visible_item = nr;	
			});
		}

		var options			= options || {}; 
		var total_items		= tabs.length;
		var visible_item	= options.start_item || 0;

		options.pause_on_hover		= options.pause_on_hover		|| true;
		options.transition_interval	= options.transition_interval	|| 5000;

		output.hide().eq( visible_item ).show();
		tabs.eq( visible_item ).addClass('current');

		tabs.mouseover(function() {
			if ($(this).hasClass('current')) {
				return false;	
			}

			slide( tabs.index( this) );
		});

		if (options.transition_interval > 0) {
			var timer = setInterval(function () {
				slide();
			}, options.transition_interval);

			if (options.pause_on_hover) {
				tabs.mouseenter(function() {
					clearInterval( timer );

				}).mouseleave(function() {
					clearInterval( timer );
					timer = setInterval(function () {
						slide();
					}, options.transition_interval);
				});
			}
		}
	};
})(jQuery);

/* carusel */
(function($) {                                          // Compliant with jquery.noConflict()
$.fn.jCarouselLite = function(o) {
    o = $.extend({
        btnPrev: null,
        btnNext: null,
        btnGo: null,
        mouseWheel: false,
        auto: null,

        speed: 200,
        easing: null,

        vertical: false,
        circular: true,
        visible: 3,
        start: 0,
        scroll: 1,

        beforeStart: null,
        afterEnd: null
    }, o || {});

    return this.each(function() {                           // Returns the element collection. Chainable.

        var running = false, animCss=o.vertical?"top":"left", sizeCss=o.vertical?"height":"width";
        var div = $(this), ul = $("ul", div), tLi = $("li", ul), tl = tLi.size(), v = o.visible;

        if(o.circular) {
            ul.prepend(tLi.slice(tl-v-1+1).clone())
              .append(tLi.slice(0,v).clone());
            o.start += v;
        }

        var li = $("li", ul), itemLength = li.size(), curr = o.start;
        div.css("visibility", "visible");

        li.css({overflow: "hidden", float: o.vertical ? "none" : "left"});
        ul.css({margin: "0", padding: "0", position: "relative", "list-style-type": "none", "z-index": "1"});
        div.css({overflow: "hidden", position: "relative", "z-index": "2", left: "0px"});

        var liSize = o.vertical ? height(li) : width(li);   // Full li size(incl margin)-Used for animation
        var ulSize = liSize * itemLength;                   // size of full ul(total length, not just for the visible items)
        var divSize = liSize * v;                           // size of entire div(total length for just the visible items)

        li.css({width: li.width(), height: li.height()});
        ul.css(sizeCss, ulSize+"px").css(animCss, -(curr*liSize));

        div.css(sizeCss, divSize+"px");                     // Width of the DIV. length of visible images

        if(o.btnPrev)
            $(o.btnPrev).click(function() {
                return go(curr-o.scroll);
            });

        if(o.btnNext)
            $(o.btnNext).click(function() {
                return go(curr+o.scroll);
            });

        if(o.btnGo)
            $.each(o.btnGo, function(i, val) {
                $(val).click(function() {
                    return go(o.circular ? o.visible+i : i);
                });
            });

        if(o.mouseWheel && div.mousewheel)
            div.mousewheel(function(e, d) {
                return d>0 ? go(curr-o.scroll) : go(curr+o.scroll);
            });

        if(o.auto)
            setInterval(function() {
                go(curr+o.scroll);
            }, o.auto+o.speed);

        function vis() {
            return li.slice(curr).slice(0,v);
        };

        function go(to) {
            if(!running) {

                if(o.beforeStart)
                    o.beforeStart.call(this, vis());

                if(o.circular) {            // If circular we are in first or last, then goto the other end
                    if(to<=o.start-v-1) {           // If first, then goto last
                        ul.css(animCss, -((itemLength-(v*2))*liSize)+"px");
                        // If "scroll" > 1, then the "to" might not be equal to the condition; it can be lesser depending on the number of elements.
                        curr = to==o.start-v-1 ? itemLength-(v*2)-1 : itemLength-(v*2)-o.scroll;
                    } else if(to>=itemLength-v+1) { // If last, then goto first
                        ul.css(animCss, -( (v) * liSize ) + "px" );
                        // If "scroll" > 1, then the "to" might not be equal to the condition; it can be greater depending on the number of elements.
                        curr = to==itemLength-v+1 ? v+1 : v+o.scroll;
                    } else curr = to;
                } else {                    // If non-circular and to points to first or last, we just return.
                    if(to<0 || to>itemLength-v) return;
                    else curr = to;
                }                           // If neither overrides it, the curr will still be "to" and we can proceed.

                running = true;

                ul.animate(
                    animCss == "left" ? { left: -(curr*liSize) } : { top: -(curr*liSize) } , o.speed, o.easing,
                    function() {
                        if(o.afterEnd)
                            o.afterEnd.call(this, vis());
                        running = false;
                    }
                );
                // Disable buttons when the carousel reaches the last/first, and enable when not
                if(!o.circular) {
                    $(o.btnPrev + "," + o.btnNext).removeClass("disabled");
                    $( (curr-o.scroll<0 && o.btnPrev)
                        ||
                       (curr+o.scroll > itemLength-v && o.btnNext)
                        ||
                       []
                     ).addClass("disabled");
                }

            }
            return false;
        };
    });
};

function css(el, prop) {
    return parseInt($.css(el[0], prop)) || 0;
};
function width(el) {
    return  el[0].offsetWidth + css(el, 'marginLeft') + css(el, 'marginRight');
};
function height(el) {
    return el[0].offsetHeight + css(el, 'marginTop') + css(el, 'marginBottom');
};

})(jQuery);
