document.cookie = "jstest=1; path=/;";
(function($){$.fn.extend({limit:function(limit,element){var interval,f;var self=$(this);$(this).focus(function(){interval=window.setInterval(substring,100)});$(this).blur(function(){clearInterval(interval);substring()});substringFunction="function substring(){ var val = $(self).val();var length = val.length;if(length > limit){$(self).val($(self).val().substring(0,limit));}";if(typeof element!='undefined')substringFunction+="if($(element).html() != limit-length){$(element).html((limit-length<=0)?'0':limit-length);}";substringFunction+="}";eval(substringFunction);substring()}})})(jQuery);

jQuery.fn.tabs=function(){
	var $this=$(this),$top=$(".t",$this),$cont=$(".c",$this);
	$("li",$top).click(function(){
		$o=$(this);
		if(!$o.hasClass("active")){
			$("li.active",$top).removeClass("active");
			$o.addClass("active");
			i=$("li",$top).index($o);
			$("li.active",$cont).removeClass("active");
			$("li.item:eq("+i+")",$cont).addClass("active");
			$.console(i);
		}
		return false;
	});
}

jQuery.extend({console:function(data){if(window.console&&window.console.log)console.log(data);}});



$(document).ready(function(){
	
	
	
	if ( $('#your_name').length > 0 ) {
		
		$('#your_name').limit('30');
		$('#your_country').limit('30');
		if ( $('#your_msg').length > 0 ) {
			$('#your_msg').limit('500');
		}
	}
	
	$('#learn_more').hover(function(){
		$('div', this).fadeIn('fast');
	}, function(){
		$('#learn_more div').fadeOut('fast');
	});
	
	// first click to search flag
	var firstClickToSearch = true;
	var ajaxLikeSearchLimitor = 20;
	var currentSelection = -1;
	var searchCont = '';
	var defaultShipping = parseFloat($('td.cell3 span', $('#shipping input:checked').parents('tr:first')).text());
	
	/***
	var saffaryBadBrowserFlag = false;
	var saffarySubmitCnt = 0;
	//alert($.browser.safari);
	if ( $.browser.safari ) {
		saffaryBadBrowserFlag = true;
	}
	
	
	$('#checkoutForm').submit(function(){
		formURI = ($(this).attr('action'));
		link = ajaxPath + 'log_add.php?SID=' + session_id + '&linktowriteAjax='+formURI;
		pointer = this;
		$.post(
			link, {},
			function(data) {
				//alert(data);
				if ( saffaryBadBrowserFlag == true ) {
					saffarySubmitCnt++;
					if ( saffarySubmitCnt > 0 ) {
						$('#checkoutForm').submit();
					}
				}
			}
		);
		if ( saffaryBadBrowserFlag == true && saffarySubmitCnt == 0 ) {
			//alert(1);
			return false;
		}
		//return false;
	});
	**/
	
	// FOR FASTER INN IE6
	if ( firstClickToSearch == true ) {
		
		firstClickToSearch = false;
		
		//defSearchValue = $(this).attr("value");
		//return;
		searchArr = new Array();
		
		//alert(1)
		$("#menu ul li ul li").each(function (i) {
			if ( !in_array($(this).text(), searchArr) ) {
				searchArr[searchArr.length] = $(this).text();
			}
		});
		searchArr = searchArr.sort();
	}
	// search
	$("#srchFld .forClear").focus(function(){
		//if ( $('#srchFld input.forClear').val() != '' ) {
			onShadow2();
			$("#searchResults").fadeIn("fast");
		//}
		
		
		//if ( defSearchValue == $(this).attr("value") ) {
			//$(this).attr("value", "");
		//}
	});
	
	
	$("#srchFld .forClear").keypress(function(e) {
		$.console(e.keyCode);
		if ( e.keyCode != 40 && e.keyCode != 38 ) {
			currentSelection = -1;
		}
		if ( e.keyCode == 13 ) {
			if ( searchCont ) {
				$(this).val(searchCont);
			}
			$('#searchBox').submit();
			return false;
		}
	});
	
	$("#srchFld .forClear").keyup(function(e) {
		// Add data to let the hover know which index they have
		// 38 - up
		// 40 - down
		//alert(e.keyCode);
		cntr = 0;
		resultArr = new Array();
		inner2 = '';
		for(var key in searchArr) {
			regTxt = $(this).val().toLowerCase();
			myRe = new RegExp('^' + regTxt + '');
			str = searchArr[key].toLowerCase();
			a = myRe.test(str) ? true : false;
			if ( a ) {
				resultArr[resultArr.length] = searchArr[key];
				if ( searchArr[key] ) {
					inner2 = inner2 + '<span>' + searchArr[key] + '</span>';
					cntr++;
				}
			}
			if ( cntr > ajaxLikeSearchLimitor ) {
				break;
			}
		}
		//alert(resultArr);
		cntr = 0;
		$("<div class='remover'></div>").insertAfter("#searchResults .flagForDOM");
		inner2 = '<div class="remover">' + inner2 + '</div>';
		$("#searchResults .remover").remove();
		$(inner2).insertAfter("#searchResults .flagForDOM");
		inner2 = '';
		switch(e.keyCode) { 
			// User pressed "up" arrow
			case 38:
				navigate('up');
				return;
			break;
			// User pressed "down" arrow
			case 40:
				navigate('down');
				return;
			break;
		}
	});
	
	function navigate(param) {
		cntOfElmnts = $("span", "#searchResults .remover").length;
		if ( ( currentSelection > -2 ) && currentSelection < cntOfElmnts ) {
			//alert(param);
			if ( param == 'up') {
				if (currentSelection > 0) {
					currentSelection = currentSelection - 1;
				} else {
					currentSelection = cntOfElmnts - 1;
				}
			}
			if ( param == 'down' ) {
				currentSelection = currentSelection + 1;
				if ( currentSelection == cntOfElmnts ) {
					currentSelection = 0;
				}
			}
		}
		$("#searchResults .remover span").eq(currentSelection).addClass("active");
		searchCont = $("#searchResults span.active").html();
		//alert(searchCont);
	}
	
	$("#searchResults .remover span").live('click', function() { 
		$("#srchFld .forClear").attr("value", trim($(this).text()));
		$("#searchBox").submit();
		$("#searchResults").fadeOut("fast");
		//alert();
		return false;
	});
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	  
	
	
	// autocomplete
	$('#searchBox').attr('autocomplete', 'off');
	
	
	$("a","#menu").click(function(){
		$(this).toggleClass("active");
		$(this).next().slideToggle("fast");				 
		//return false;
	});
	$(".forClear").live("focus",function(){var $this=$(this),val=$this.val();if(!$this.data("v"))$this.data("v",val);$this.val(val==$this.data('v')?'':val);}).live("blur",function(){var $this=$(this),val=$this.val();$this.val(val==''?$this.data('v'):val);});
	$("#tabs").tabs();	
	
	
	// ALL HEIGHT FOR ALL ELEMENTS IN CATALOG
	maxH = 0;
	$(".product .h3").each(function(){
		if ( maxH < $(this).height() ) {
			maxH = $(this).height();
		}
	});
	$(".both .h3").css("height", maxH);
	maxH = 0;
	$('.both .line').each(function(){
		//alert(1);
		$('.text', this).each(function(){
			if ( maxH < $(this).height() ) {
				maxH = $(this).height();
			}
		});
		$('.text', this).each(function(){
			$(this).css('height', maxH);
		});
		maxH = 0;
	});
	/*
	$('.product .text').each(function(){
		if ( maxH < $(this).height() ) {
			maxH = $(this).height();
		}
	});
	$(".both .text").css("height", maxH);
	maxH = 0;
	*/
	// CHANGE CURRENCY
	$("#currencySel").change(function(){
		$("#currencySel").submit();
	});
	// CHANGE LANG
	$("#selectLang").change(function(){
		$("#selectLang").submit();
	});
	
	// FAQ
	/*
	$('.faqList .element .msg').css('display', 'none');
	$('.faqList .element').click(function(){
		$('.faqList .element .msg').slideUp('normal');
		$('.msg', $(this)).slideDown('normal');
	});
	*/
	
	// Bonus
	$('.popupBox .cont ul li').hover(function(){
		// if active
		if ( !$(this).parent().hasClass('grey') ) {
			$('.popupBox .cont ul li').removeClass('hover');
			$(this).addClass('hover');
		}
	});
	$('.popupBox .cont ul li').click(function(){
		if ( !$(this).parent().hasClass('grey') ) {
			// AJAX
			//alert(1)
			link = ajaxPath + 'session_digit_editor.php?SID=' + session_id;
			serVals = $("#resultArrC").val();
			fld = $("input", this).val();
			//if (!jQuery.browser.msie && !jQuery.browser.version.substr(0,1)<7) {
				$.post(
					link, {
						'bonus_choise': fld,
						"ser": serVals
					},
					function(data) {
						inArr = JSON.parse(data);
						ser = inArr.ser;
						$("#resultArrC").val(ser);
						
					}
				);
			//}
			offPopup();
			
			$('input', this).attr('checked', 'checked');
			bonusSelName = $('label strong', this).text();
			$('#activeBonus').html(bonusSelName);
			//
		} else {
			return false;
		}
	}, "JSON");
	
	
	
	$('#shipping tr').click(function(){
		valForAjax = $("input", this).val();
		serVals = $("#resultArrC").val();
		shipPrice = $('.cell3 span', this).text();
		shipPrice = parseInt(shipPrice);
		
		resultSum = parseFloat($("#totalPrice").text()) - (defaultShipping) + (shipPrice);
		resultSum = resultSum.toFixed(2);
		//alert(resultSum);
		link = ajaxPath + 'session_shipping_type_editor.php?SID=' + session_id;
		pointer = this;
		//alert(link);
		//if (!jQuery.browser.msie && !jQuery.browser.version.substr(0,1)<7) {
			$.post(
				link, {"type": valForAjax, "ser": serVals, "shipPrice": shipPrice},
				function(data) {
					//alert(data);
					inArr = JSON.parse(data);
					ser = inArr.ser;
					type = inArr.type;
					$("#resultArrC").val(ser);
					$('input', pointer).attr('checked', 'checked');
					$('#totalPrice').html(resultSum);
					defaultShipping = shipPrice;
				}
			);
		//}
	}, "json");
	
	$('#shadow').click(function(){
		offPopup();
	});
	$('#close').click(function(){
		offPopup();
	});
	$('#shadow2').click(function(){
		$(this).fadeOut('fast');
		$('#searchResults').fadeOut('fast');
	});
	
	$('#changeBonus').click(function(){
		onPopup();
		return false;
	});
	
	function onPopup() {
		//onShadow();
		onShadowBonus();
		t = parseInt($(document).scrollTop());
		$('#popup').css('top', t);
		$('#popup').fadeIn('normal');
	}
	function offPopup() {
		//offShadow();
		offShadowBonus();
		$('#popup').fadeOut('normal');
	}
	$('#shadowBonus').css('opacity', '0.4');
	function onShadowBonus() {
		$('#shadowBonus').css('width', $(document).width());
		$('#shadowBonus').css('height', $(document).height());
		$('#shadowBonus').fadeIn('normal');
	}
	function offShadowBonus() {
		$('#shadowBonus').fadeOut('normal');
	}
	
	$('#shadowBonus').click(function(){
		offShadowBonus();
		offPopup();
	});
	
	
	
	function onShadow() {
		//alert(1)
		//if (!jQuery.browser.msie && !jQuery.browser.version.substr(0,1)<7) {
			$('#shadow').css('height', $(document).height());
			$('#shadow').fadeIn('normal');
		//}
	}
	
	function offShadow() {
		$('#shadow').fadeOut('normal');
	}
	
	function onShadow2() {
		$('#shadow2').css('height', $(document).height());
		$('#shadow2').css('width', $(window).width());
		$('#shadow2').fadeIn('normal');
	}
	
	function offShadow2() {
		$('#shadow2').fadeOut('normal');
	}
	
	function onAjaxLoader() {
		windowH = parseInt($(window).height());
		topH = parseInt($(window).scrollTop()) + windowH/2;
		//alert(topH);
		
		onShadow();
		
		$('#ajaxLoader').css('top', topH);
		$('#ajaxLoader').css('display', 'block');
	}
	
	function offAjaxLoader() {
		offShadow();
		$('#ajaxLoader').css('display', 'none');
	}
	
	
	
	
	
	
	function onAjax() {
		//alert('on Ajax');
		onAjaxLoader();
	}
	
	function offAjax() {
		//alert('off Ajax');
		offAjaxLoader();
	}
	
	// AJAX
	$("body").ajaxStart(function(){
		onAjax('on');
	});
	$("body").ajaxComplete(function(){
		offAjax('off');
	});
	$("body").ajaxError(function(){
		alert('ERROR OF AJAX, CALL TO DEVELOPERS!');
	});
	
	
	$('#shadow').css('opacity', '0.4');
	$('#shadow2').css('opacity', '0.0');
	
});






function array_rand ( input, num_req ) {
	// Return key/keys for random entry/entries in the array  
	// 
	// version: 1006.1915
	// discuss at: http://phpjs.org/functions/array_rand
	// +   original by: Waldo Malqui Silva
	// *	 example 1: array_rand( ['Kevin'], 1 );
	// *	 returns 1: 0
	var indexes = [];
	var ticks = num_req || 1;
	var checkDuplicate = function ( input, value ) {
		var exist = false, index = 0;
		while ( index < input.length ) {
			if ( input [ index ] === value ) {
				exist = true;
				break;
			}
			index++;
		}
		return exist;
	};
 
	if ( input instanceof Array && ticks <= input.length ) {
		while ( true ) {
			var rand = Math.floor( ( Math.random( ) * input.length ) );
			if ( indexes.length === ticks ) { break; }
			if ( !checkDuplicate( indexes, rand ) ) { indexes.push( rand ); }
		}
	} else {
		indexes = null;
	}
 
	return ( ( ticks == 1 ) ? indexes.join( ) : indexes );
}

function strstr (haystack, needle, bool) {
	// Finds first occurrence of a string within another  
	// 
	// version: 1006.1915
	// discuss at: http://phpjs.org/functions/strstr
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   bugfixed by: Onno Marsman
	// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// *	 example 1: strstr('Kevin van Zonneveld', 'van');
	// *	 returns 1: 'van Zonneveld'
	// *	 example 2: strstr('Kevin van Zonneveld', 'van', true);
	// *	 returns 2: 'Kevin '
	// *	 example 3: strstr('name@example.com', '@');
	// *	 returns 3: '@example.com'
	// *	 example 4: strstr('name@example.com', '@', true);
	// *	 returns 4: 'name'
	var pos = 0;
	
	haystack += '';
	pos = haystack.indexOf( needle );
	if (pos == -1) {
		return false;
	} else{
		if (bool){
			return haystack.substr( 0, pos );
		} else{
			return haystack.slice( pos );
		}
	}
}


function in_array (needle, haystack, argStrict) {
	// Checks if the given value exists in the array  
	// 
	// version: 1008.1718
	// discuss at: http://phpjs.org/functions/in_array
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: vlado houba
	// +   input by: Billy
	// +   bugfixed by: Brett Zamir (http://brett-zamir.me)
	// *	 example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
	// *	 returns 1: true
	// *	 example 2: in_array('vlado', {0: 'Kevin', vlado: 'van', 1: 'Zonneveld'});
	// *	 returns 2: false
	// *	 example 3: in_array(1, ['1', '2', '3']);
	// *	 returns 3: true
	// *	 example 3: in_array(1, ['1', '2', '3'], false);
	// *	 returns 3: true
	// *	 example 4: in_array(1, ['1', '2', '3'], true);
	// *	 returns 4: false
	var key = '', strict = !!argStrict;
 
	if (strict) {
		for (key in haystack) {
			if (haystack[key] === needle) {
				return true;
			}
		}
	} else {
		for (key in haystack) {
			if (haystack[key] == needle) {
				return true;
			}
		}
	}
 
	return false;
}

function trim (str, charlist) {
	var whitespace, l = 0, i = 0;
	str += '';
	if (!charlist) {
		whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
	} else {
		charlist += '';
		whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
	}
	l = str.length;
	for (i = 0; i < l; i++) {
		if (whitespace.indexOf(str.charAt(i)) === -1) {
			str = str.substring(i);
			break;
		}
	}
	l = str.length;
	for (i = l - 1; i >= 0; i--) {
		if (whitespace.indexOf(str.charAt(i)) === -1) {
			str = str.substring(0, i + 1);
			break;
		}
	}
	return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}
