$(document).ready(function() {
	var lightboxArr = new Array() 
	$('a[rel^="lightbox"]').each(function(){

		if(jQuery.inArray($(this).attr('rel'),lightboxArr)<0) {
			lightboxArr.push($(this).attr('rel')); 
		}
	});
	
	jQuery.each(lightboxArr,function(){
		$('a[rel^="'+this+'"]').lightBox();
	});


	if(jQuery('.show_product_options').length>0){
		change_prices();
		jQuery('.show_product_options').change(function(){
			change_prices();
		});
	}

		//ajaxowe divy
		try {
			jQuery('.popup').nyroModal();
		} catch(err)  {
	}
	
	$("#search_categories_select").change(function(){
		$("#search_attributes_div").html('<div style="width:100%;overflow:hidden;"><img src="themes/ajax-loader.gif" style="display:block;margin:30px auto 30px auto;" /></div>');
		$.ajax({
			url: "index.php?do=stale_cechy_ajax&cat="+$(this).val(),
			success: function(data){
				$("#search_attributes_div").html(data);
			}
		});
	});

	//ajax dla odzyskiwania hasla na 3 kroku kosza
	$("form[name='odzysk']").submit(function(event) {
		event.preventDefault();
		var $form = $( this ),
		term = $form.find( 'input[name="form_email"]' ).val(),
		url = $form.attr( 'action' );
 
		var test = {
			email:	function (input) {
				return ( (typeof input == 'string' ? input : input.value).length < 6 || !/^.+@.+\.[a-z0-9]{2,6}$/i.test( (typeof input == 'string' ? input : input.value) ) ? false : true);
			}
		};
		if (test.email(term))
		{
			$( "p.passwordForgot" ).html(  'Trwa sprawdzanie adresu email... <img src="themes/ajax-loader.gif"> ' );
			$.post( url, {
				form_email: term,
				odz_hasla: 'true'
			} ,
			function( data ) {
				var content = $( data ).find( '.pole_message' ).contents();
				if (content.length == 0) var content = $( data ).find( '.pole_message_err' ).contents();
				$('p.passwordForgot').html(content);
				alert ( content.text());
			}
			);
		}
		else alert('Niepoprawny adres email!');
	});

	//ajax do dodawania/usuwania do przechowalni  z list produktow
	$("span.storage_list_add").click(function(event) {
		event.preventDefault();
		var $a = $( this ),
		url = $a.attr( 'href' ),
		id  = $a.attr('id');
		$( "span#"+id ).html(  'Zapisuję... <img src="themes/ajax-loader.gif"> ' );

		$.get( url, 
			function( data ) {
				var content = $( data ).find( '.pole_message' ).contents();
				if (content.length == 0) var content = $( data ).find( '.pole_message_err' ).contents();
				$("span#"+id ).html(content.text());
			}
			);

	});
	$("span.storage_list_del").click(function(event) {
		event.preventDefault();
		var $a = $( this ),
		url = $a.attr( 'href' ),
		id  = $a.attr('id');
		$( "span#"+id ).html(  'Usuwam z listy... <img src="themes/ajax-loader.gif"> ' );

		$.get( url,
			function( data ) {
				var content = $( data ).find( '.pole_message' ).contents();
				if (content.length == 0) var content = $( data ).find( '.pole_message_err' ).contents();
				$("span#"+id ).html(content.text());
			}
			);

	});
	
	
	

	$('.compare_add').click(function(event){
		event.preventDefault();
		var button = $(this);

		id = button.attr('data-id');
		if(id>0)
		{
			cookie = $.cookie('compare');

			if(cookie != null)
			{
				ids_ = cookie.split(',')
			} else {
				ids_ = [];
			}

			id_num = Number(id);
			if($.inArray(id, ids_)<0 && !isNaN(id_num) && id_num>0)
			{
				ids_.push(id);
				ids = ids_.join(',');
				$.cookie('compare',ids);
				box_replace('compare');
			}

		
		}
	})



	$('.compare_remove_all').live('click', function(){
		$.cookie('compare',null);
		box_replace('compare');
	});

	$('.compare_remove').live('click',function(event){
		cookie = $.cookie('compare');

		var button = $(this);

		id = button.attr('data-id');
		if(cookie != null)
		{
			ids_ = cookie.split(',')
		} else {
			ids_ = [];
		}
		index = $.inArray(id,ids_ );
		if(index>=0)
		{
			ids_.splice(index,1);
			ids = ids_.join(',');
			$.cookie('compare',ids);
			box_replace('compare');
		}
	});
	
	

	/**
	 * IEFix < 8
	 *
	 * dodaje clear div'a(<div class="clearFix"> </div>) po elemencie z clasa "clear"
	 */
	if( $.browser.msie == true && parseInt(jQuery.browser.version) < 8 )
	{

		try {
			$('.clear').each( function () {

				try {	$(this).append('<div class="clearFix"> </div>');	}
				catch(err)	{ }
			});
		}
		catch(err)	{ }
	}

	/**
	 * Automatycznie czyszczenie inputa z zapamientanym stanem podstawowym
	 */
	$('input.autoClearInput').each( function (k,e){
		$(e).attr('data-valuedefault', $(e).attr('value') );
		$(e).blur(function () {
			if( $(this).val() == undefined || $(this).val() == '' ) $(this).val( $(this).attr('data-valuedefault') );
		});

		$(e).focus( function () {
			if( $(this).val() == $(this).attr('data-valuedefault') ) $(this).val( '' );
		});
	});

	/**
	 * LightBox/PopUp bind
	 */

	if( typeof gallery_type != 'undefined' && gallery_type == 'lighbox' )
	{
		var lightboxArr = new Array()
		$('a[rel^=gallery]').each(function()
		{
			if( jQuery.inArray($(this).attr('rel'),lightboxArr) < 0 )
			{
				lightboxArr.push($(this).attr('rel'));
			}
		});

		$('a[rel^="gallery"]').click(function () {return false;});

		$.each(lightboxArr,function(){
			$('a[rel^="'+this+'"]').lightBox();
		});
	}
	else
	{
		$('a[rel^="gallery"]').each(function()
		{
			var i = 0;

			$(this).click(function() {

				zdj = window.open('pokaz_zdjecie.php?id_prod='+product_id.toString()+'&img='+ i.toString() , 'Zdjęcie', 'screenY=0,screenX=0,left=0,top=0,width=200,height=200,status=no,scrollbars=yes,resizable=yes,menubar=no');
				zdj.focus();
				return false;
			});

			i++;
		});
	}

	/**
	 * Cech wpywajace na modyfikacje ceny
	 */
	if( $('.show_product_options').length > 0 ) {
		change_prices();
		$('.show_product_options').change(function(){
			change_prices();
		});
	}

	/**
	 * Inicjalizacja modulu filtrow
	 */
	filters_init();

	/**
	 * Inicjalizacja "podpowiadacza" do szukaj
	 */
    $("input.autocomplete").each( function () {

		$(this).autocomplete('smartsearch.php', {
			minChars: 2,
			max: 50,
			width: $(this).width(),
			selectFirst: false
		} );
	});

	/**
	 * Inicjalizacja ToolTip'a
	 */
	ToolTip.init();

    var text = '';
    function hideTip_sz(obj) {
        obj.attr('title', text);
        $('#tooltip2').css('display', 'none');
    }
    var toolTipOver_sz = false;
    function showTip_sz(obj, e) {
        $('#tooltip2').css('display', 'block');
        text = obj.attr('title');
        if( text.length == 0 ) return;
        obj.attr('title', '');
        $('#tooltip2content').html(text);
        $('#tooltip2').css('display', 'block');

        $('#tooltip2').css('left', e.pageX - $('#tooltip2').get(0).offsetWidth - 5 + 'px');
        $('#tooltip2').css('top', e.pageY - $('#tooltip2').get(0).offsetHeight - 5 + 'px');
    }

    $('.tt_rollover').hover(function(e) {
        var handle = $(this);
        $(this).css('cursor', 'default');
        showTip_sz(handle, e);
    }, function() {
        hideTip_sz($(this));
    });


	
});


	function box_replace(name)
	{
		$.ajax({
			url: 'menubox/'+name,
			beforeSend: function(){
				$("body").css("cursor", "progress");
			},
			success: function(content){
				$("body").css("cursor", "default");
				$('.'+name+'-box').replaceWith(content);
			}
		});
	}


var ToolTip = {

	text: '',
	toolTipOver: false,

	hide: function (obj) {
		obj.attr('title', ToolTip.text);
		$('#tooltip2').css('display', 'none');
	},

	show: function (obj, e) {
		$('#tooltip2').css('display', 'block');
		ToolTip.text = obj.attr('title');
		if( ToolTip.text.length == 0 ) return;
		obj.attr('title', '');
		$('#tooltip2content').html(ToolTip.text);
		$('#tooltip2').css('display', 'block');

		$('#tooltip2').css('left', e.pageX - $('#tooltip2').get(0).offsetWidth - 5 + 'px');
		$('#tooltip2').css('top', e.pageY - $('#tooltip2').get(0).offsetHeight - 5 + 'px');
	},

	init: function() {
		if($('#tooltip2').length==0){
			$('body').append('<div id="tooltip2"><div id="tooltip2content"></div></div>');
		}
		$('.tt_rollover').hover(function(e) {
			var handle = $(this);
			$(this).css('cursor', 'default');
			ToolTip.show(handle, e);
		}, function() {
			ToolTip.hide($(this));
		});
	}
};


/*
  *
  */

/*  przykładowe dane w szablonie
             *  <span id="price" >[%price%]</span>
                <span id="price_net" >[%price_net%]</span>
                <span id="price_formated">[%price_formated%]</span>
                <span id="price_formated_net">[%price_formated_net%]</span>
                <span id="prom_price">[%prom_price%]</span>
                <span id="prom_price_net">[%prom_price_net%]</span>
                <span id="prom_price_formated">[%prom_price_formated%]</span>
                <span id="prom_price_formated_net">[%prom_price_formated_net%]</span>
             */
function change_prices() {

	var tmp_price_add=0;
	var tmp_price_set=0;

	jQuery('select.show_product_options option:selected').each(function(){

		str=jQuery(this).html().replace(/\s|&nbsp;/g,'').match(/\(.*\)/g)+'';

		if(str=='null') return null;

		is_add=str.search(/\+/);
		str=str.match(/\d+\.?\d*/g)+'';
		number=parseFloat(str.replace(/,/g,'.'));

		if(number>0){
			if(is_add>0)
				tmp_price_add+=number;
			else
				tmp_price_set=number;

		} else return null;
	})



	//jeżeli ustawiono cene w cechach powiązanych
	if(tmp_price_set>0){

		//jezeli produkt ma cenę promocyjną
		if(prom_price>0) {
			vat_value=((show_product_tax*(tmp_price_set+tmp_price_add))/(show_product_tax+100)).toFixed(2);
			netto=(tmp_price_set+tmp_price_add-vat_value);
			netto=parseFloat(netto.toFixed(2));

			jQuery('#prom_price').html((tmp_price_set+tmp_price_add).toString().replace(/\./g,','));
			jQuery('#prom_price_net').html(netto.toString().replace(/\./g,','));
			jQuery('#prom_price_formated').html((tmp_price_set+tmp_price_add).number_format());
			jQuery('#prom_price_formated_net').html(netto.number_format());

		} else {

			vat_value=((show_product_tax*(tmp_price_set+tmp_price_add))/(show_product_tax+100)).toFixed(2);
			netto=(tmp_price_set+tmp_price_add-vat_value);
			netto=parseFloat(netto.toFixed(2));

			jQuery('#price').html((tmp_price_set+tmp_price_add).toString().replace(/\./g,','));
			jQuery('#price_net').html(netto.toString().replace(/\./g,','));
			jQuery('#price_formated').html((tmp_price_set+tmp_price_add).number_format());
			jQuery('#price_formated_net').html(netto.number_format());
		}

	} else if(tmp_price_set==0) {

		//jezeli produkt ma cenę promocyjną
		if(prom_price>0){

			vat_value=((show_product_tax*(prom_price+tmp_price_add))/(show_product_tax+100)).toFixed(2);
			netto=(prom_price+tmp_price_add-vat_value);
			netto=parseFloat(netto.toFixed(2));
			jQuery('#prom_price').html((prom_price+tmp_price_add).toString().replace(/\./g,','));
			jQuery('#prom_price_net').html(netto.toString().replace(/\./g,','));
			jQuery('#prom_price_formated').html((prom_price+tmp_price_add).number_format());
			jQuery('#prom_price_formated_net').html(netto.number_format());

		} else {

			vat_value=((show_product_tax*(price+tmp_price_add))/(show_product_tax+100)).toFixed(2);
			netto=(price+tmp_price_add-vat_value);
			netto=parseFloat(netto.toFixed(2));

			jQuery('#price').html((price+tmp_price_add).toString().replace(/\./g,','));
			jQuery('#price_net').html(netto.toString().replace(/\./g,','));
			jQuery('#price_formated').html((price+tmp_price_add).number_format());
			jQuery('#price_formated_net').html(netto.number_format());

		}
	}
}



/**
 * Obsluga filtrow
 */
function filters_init()
{
	$('div.filters div.filter_option div.option p span[rel]').click(function () {

		if( $( 'input[name="'+$(this).attr('rel')+'"]' ).attr('checked') == undefined ||
			$( 'input[name="'+$(this).attr('rel')+'"]' ).attr('checked') == false )
			$( 'input[name="'+$(this).attr('rel')+'"]' ).attr('checked', 'checked');

		$(this).parents('form').submit();
	});

	$('.showall').click( function () {

		var height_old = $(this).parent().parent().css('height');
		$(this).parent().parent().css('height', 'auto');

		$(this).css('display', 'none');
		$('.all[rel="'+$(this).attr('rel')+'"]' ).css('display', 'block');

		var height_new = $(this).parent().parent().height();

		$(this).parent().parent().css('height', height_old);
		$(this).parent().parent().animate( {
			height: height_new
		}, 200, 'linear' );

	});

	$('div.filters div.filter_option > div.label').click( function () {

		if( $(this).parent().hasClass('active') == true )
		{
			$(this).parent().find('div.option').animate( {
				height: 0
			}, 200, 'linear', function(){
				$(this).parent().removeClass('active');
				$(this).css('display', 'none');
			});
		}
		else
		{
			var div_option = $(this).parent().find('div.option');
			div_option.css('height', 'auto');
			var height = div_option.height();

			div_option.css('display', 'block');
			div_option.css('height', 0);
			$(this).parent().addClass('active');

			$(this).parent().find('div.option').animate( {
				height: height
			}, 200, 'linear', function(){
				$(this).parent().addClass('active');
			});
		}
	});
}

(function($) {
	
$.sound = {
	tracks: {},
	enabled: true,
	template: function(src) {
		return '<embed style="height:0" loop="false" src="' + src + '" autostart="true" hidden="true"/>';
	},
	play: function(url, options){
		if (!this.enabled)
			return;
		options = $.extend({
			url: url,
			timeout: 2000
		}, options);
		
		if (options.track) {
			if (this.tracks[options.track]) {
				var current = this.tracks[options.track];
				current[0].Stop && current[0].Stop();
				current.remove();  
			}
		}
		
		var element = $.browser.msie
		  	? $('<bgsound/>').attr({
		        src: options.url,
				loop: 1,
				autostart: true
		      })
		  	: $(this.template(options.url));
			
		element.appendTo("body");
		
		if (options.track) {
			this.tracks[options.track] = element;
		}
		
		setTimeout(function() {
			element.remove();
		}, options.timeout)
		
		return element;
	}
};

})(jQuery);
