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.extend({console:function(data){if(window.console&&window.console.log)console.log(data);}});

var firstClickToSearch = true;
var currentSelection = -1;
var searchCont = '';

var defSearchValue = '';
var rndArticleArr = new Array();
var ajaxLikeSearchLimitor = 20;
rndArticleArr[0] = new Array();




/*
function operaCheck() {
	if ( $.browser.opera ) {
		verx = parseFloat($.browser.version);
		return verx;
	}
}
*/




jQuery.fn.tabs=function(){
	var $this=$(this),$top=$("ul.nav",$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);
			
			$(".fragment.active",$cont).removeClass("active");
			$("div.fragment:eq("+i+")",$cont).addClass("active");
			
		}
		return false;
	});
}



$(window).load(function(){
	$('#flash').flash({
		src: '/templates/01_Blue_Doctor/f.swf',
		width: 570,
		height: 151,
		wmode: 'transparent'
	});	
});









$(document).ready(function(){
	//alert(rndArticleArr);
	finalArticleArr = rndArticleArr[array_rand(rndArticleArr)];
	
	if ( $('#your_msg').length > 0 ) {
		$('#your_msg').limit('500');
	}
	
	
	$('#licece').click(function(){
		t = parseInt($(window).height()/2) - 250;
		l = parseInt($(window).width()/2) - 400;
		window.open(this.href,'…','width=500,height=387,resizable=yes,scrollbars=yes,menubar=no,top=' + t + ',left=' + l);
		return false;
	});
	
	/**
	var saffaryBadBrowserFlag = false;
	var saffarySubmitCnt = 0;
	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 ) {
					saffarySubmitCnt++;
					if ( saffarySubmitCnt > 0 ) {
						$('#checkoutForm').submit();
					}
				}
			}
		);
		if ( saffaryBadBrowserFlag == true && saffarySubmitCnt == 0 ) {
			//alert(1);
			return false;
		}
		//return false;
	});
	**/
	
	
	
	
	$('.learn_more').hover(function(){
		$('div', $(this)).fadeIn('fast');
	}, function() {
		$('.learn_more div').fadeOut('fast');
	});
	var maxH = 0;
	$(".catList .el .content .name").each(function(){
		if ( maxH < $(this).height() ) {
			maxH = $(this).height();
		}
		//alert($(this).height());
	});
	$(".catList .el .content .name").css("height", maxH);
	//$(document).pngFix();
	//$(document).pngFix();
	
	function round(A) {
		return Math.round(A*100)/100;
	}
	$(".currentElement.backet .buyTable .changeBonus").click(function(){
		if ( $(".flyBonus", $(this)).css("display") != 'block' ) {
			topPx = parseInt($(document).scrollTop()) + 25;
			$(".flyBonus", $(this)).css("top", topPx);
			//alert(topPx);
			$("#veil").css("background", "#000");
			$(".flyBonus", $(this)).fadeIn("slow");
			onVeil();
		}
	});
	
	$("#flyBonus #close").click(function(){
		$("#flyBonus").fadeOut("normal");
		offVeil();
	});
	$("#flyBonus .listM.good .el").hover(function(){
		if ( $("input", $(this)).attr("checked") != true ) {
			$(this).toggleClass("hover");
		}
		
	});
	$("#flyBonus .listM.good .el").click(function(){
		$("#flyBonus .listM.good .el").removeClass("hover");
		$(this).addClass("hover");
		$("input", $(this)).attr("checked", true);
		//$("input", $(this)).attr("selected", true);
		//$($(this).parents("form:first")).submit();
		txt = $(".packName", this).text();
		//alert(txt);
		$(".package:first", $(this).parents("#bonusTr")).html(txt);
		
		serVals = $("#resultArrC").val();
		
		link = ajaxPath + 'session_digit_editor.php?SID=' + session_id;
		//alert(link);
		$.post(
			link, {
				'bonus_choise': $(".packFld input", this).val(),
				"ser": serVals
			},
			function(data) {
				//alert(data);
				inArr = JSON.parse(data);
				ser = inArr.ser;
				//alert(ser);
				$("#flyBonus").fadeOut(500);
				offVeil();
				$("#resultArrC").val(ser);
			});
		}, "json");
	
	
	
	
	
	//alert(66.6*3)
	// BACKET
	$(".currentElement.backet .buyTable tr td .inp").keyup(function(e){
		//alert(e.keyCode);
		//$.console(e.keyCode);
		newVal = new Number;
		thisVal = new Number;
		thisVal = parseFloat($(this).val());
		
		newVal = $(".priceForPack", $(this).parents("tr:first")).html();
		newVal = parseFloat(newVal);
		newVal = newVal*thisVal;
		newVal = round(newVal);
		//alert(newVal);
		//!$(".result1", $(this).parents("tr:first")).html(newVal - defaultShipping)
		resultSum = 0;
		$(".currentElement.backet .buyTable tr").each(function (i) {
			if ( $("td .inp", this).length > 0 ) {
				cnt = $("td .inp", this).val();
				priceForPack = $("td .priceForPack", this).html();
				resultSum = resultSum + priceForPack*cnt;
			}
		});
		resultSum = round(resultSum);
		/*
		$("#result2").html(resultSum + round(defaultShipping));
		*/
		resultDisc = parseFloat($("#result1Disc").html());
		// discount 5%
		resultDisc = resultSum - resultSum/100*discountVar;
		//alert(resultDisc);
		//resultDisc = Math.round(resultDisc*100)/100;
		// 1) Ostalos' proschitat' summu so skidkoy
		// 2) Poluchat' znachenie selekteda dostavki i dobavlyat' ego v rezul'tiruyuschuyu summ
		// 3) Selected v dostavke ne zapominaetsya
		discResult = round(resultDisc);
		/*
		$("#result1Disc").html(discResult)
		$("#result1").html(resultSum);
		//alert(resultSum);
		if ( $("#result1Disc").length > 0 ) {
			//alert(1);
			$("#result2").html(discResult+round(defaultShipping));
		}
		*/
	});
	
	
	
	
	
	//////////////////////////////////////////////////////////////////////////////////////////////////
	var defaultShipping = round($(".price span", $(".currentElement.backet .shippingList .cont2 .element .fld input:checked").parents(".element:first")).html());
	//alert(defaultShipping);
	
	$(".currentElement.backet .shippingList .cont2 .element .fld input").click(function(){
		shipPrice = $(".price span", $(this).parents(".element:first")).html();
		//defaultShipping = round(defaultShipping);
		resultSum = parseFloat($("#result2").html()) - parseFloat(defaultShipping) + parseFloat(shipPrice);
		discount = 0;
		//resultSumDisc = resultSum - resultSum/100*discount;
		defaultShipping = shipPrice;
		//alert();
		
		
		if ( $("#result1Disc").length > 0 ) {
			//alert($("#result1Disc").length);
			//a = resultSum + resultSum/100*discountVar;
			//alert(a);
			//$("#result1").html($("#result1").html()); 
		} else {
			$("#result1").html(round(resultSum - defaultShipping));
		}
		
		//$("#result1Disc").html(resultSumDisc);
		$("#result2").html(round(resultSum));
		
		valForAjax = $(".fld input", $(this).parents(".element:first")).val();
		
		//  valForAjax + '&SID=' + session_id;
		
		serVals = $("#resultArrC").val();
		shipPrice = $(".price span", $(this).parents(".element:first")).html();
		shipPrice = parseInt(shipPrice);
		//alert(shipPrice);
		link = ajaxPath + 'session_shipping_type_editor.php?SID=' + session_id;
		$.post(
			link, {"type": valForAjax, "ser": serVals, "shipPrice": shipPrice},
			function(data) {
				inArr = JSON.parse(data);
				ser = inArr.ser;
				type = inArr.type;
				$("#resultArrC").val(ser);
			});
		}, "json");
	
	$("#currencySel").change(function(){
		$("#currencySel").submit();
	});
	$("#selectLang").change(function(){
		$("#selectLang").submit();
	});
	
	$("#tabs").tabs();
	/*
	$("#tabs .nav li a").click(function(){
		$("#tabs .nav li").removeClass('active')
		$(this).parent().addClass('active');
	});
	*/
	
	function onVeil() {
		$("#veil").css("width", $(window).width());
		$("#veil").css("height", $(document).height());
		$("#veil").css("opacity", 0.3);
		$("#veil").fadeIn("normal");
		
	}
	function offVeil() {
		$("#veil").fadeOut("normal");
	}
	$("#veil").click(function(){
		// off other
		$("#searchResults").css("display", "none");
		$(".changeBonus .flyBonus").fadeOut("slow", function(){$("#veil").css("background", "none");});
		offVeil();
	});
	
	// AFTER DOCUMENT LOAD
	// Generate rnd article
	
	//alert(finalArticleArr[0]);
	//alert(rndArticleArr);
	$("#articleTit").text(finalArticleArr[0]);
	$("#articleCont").html(finalArticleArr[1]);
	$("#articleLink").attr('href', finalArticleArr[2]);
	
	//$("#subMenu .group ul .active").parents("ul").css("display", "block");
	// TODO:
	$(".ico", $("#subMenu .group ul .active").parents(".group")).addClass("active");
	
	$("#subMenu li .header").click(function(){
		//alert(1);
		if ( $("ul", $(this).parents("li.group")).css("display") == 'block' ) {
			//$("#subMenu .group ul").slideUp("normal");
			// !!! ASK Q
			$("#subMenu .ico").removeClass("active");
			$("ul", $(this).parents(".group")).slideUp("normal")
		} else {
			$("#subMenu .ico").removeClass("active");
			$("#subMenu .group ul").slideUp("normal");
			$(".ico", $(this)).toggleClass("active");
			$("ul", $(this).parents(".group")).slideToggle("normal")
		}
	});
	
	// search click
	$(".qSearch .cont .srchFld .inp").click(function(){
		$("#searchResults").fadeIn("fast");
		onVeil();
		// firstClickToSearch - globalVar
		// defSearchValue - globalVar
		if ( firstClickToSearch == true ) {
			firstClickToSearch = false;
			defSearchValue = $(this).attr("value");
			searchArr = new Array();
			$("#subMenu ul li a").each(function (i) {
				//alert($(this).parents("li.group:first").attr("class"))
				// if not bestseller
				if ( ! $(this).parents("li.group:first").hasClass("first") ) {
					// no retry
					if ( !in_array($(this).html(), searchArr) ) {
						searchArr[searchArr.length] = $(this).html();
					}
					
					//alert($(this).html());
				} 
			});
			searchArr = searchArr.sort();
			
			//alert(searchArr);
			
		}
		if ( defSearchValue == $(this).attr("value") ) {
			$(this).attr("value", "");
		}
	});
	// search change and unselect
	$(".qSearch .cont .srchFld .inp").blur(function(){
		if ( $(this).attr("value") == '' ) {
			$(this).attr("value", defSearchValue);
		}
	});
	cntr = 0;
	
		   
	
	
	function navigate(param) {
		cntOfElmnts = $("span", "#qSearch .cont .srchFld .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;
				}
			}
		}
		$("#qSearch .cont .srchFld .searchResults .remover span").eq(currentSelection).addClass("active");
		searchCont = $("#qSearch .cont .srchFld .searchResults .remover span.active").html();
		
	}
	
	$("#qSearch #forClear").keypress(function(e) {
		if ( e.keyCode != 40 && e.keyCode != 38 ) {
			currentSelection = -1;
		}
		//$.console(e.keyCode);
		if ( e.keyCode == 13 ) {
			if ( searchCont ) {
				$("#qSearch .cont .srchFld .inp").val(searchCont);
			}
			$('.qSearch').submit();
			return false;
		}
		
	});
	$("#qSearch #forClear").keyup(function(e) {
		// Add data to let the hover know which index they have
		// 38 - up
		// 40 - down
		//alert(e.keyCode);
		
		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;
			}
		}
		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;
			// User pressed "enter"
			/*case 13:
				if(currentUrl != '') {
					window.location = currentUrl;
				}
				return false;
			break;
			*/
		}
		
		
	});
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	// autocomplete
	$('#qSearch').attr('autocomplete', 'off');
	
	$("#searchResults .remover span").live('click', function() { 
		$("#srchFld .inp").attr("value", trim($(this).text()));
		$(".qSearch").submit();
		$("#searchResults").fadeOut("fast");
		//alert();
		return false;
	});
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	function onAjax() {
		onVeil();
		topH = parseInt($(document).scrollTop()) + parseInt($(window).height())/2 - parseInt($("#ajaxLoader").css("height"));
		$("#ajaxLoader").css("top", topH);
		$("#ajaxLoader").fadeIn("normal");
	}
	function offAjax() {
		offVeil();
		$("#ajaxLoader").fadeOut("fast");
	}
	$("body").ajaxStart(function(){
		onAjax('on');
	});
	$("body").ajaxComplete(function(){
		offAjax('off');
	});
	$("body").ajaxError(function(){
		//alert('ERROR OF AJAX, CALL TO DEVELOPERS!');
	});
});



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 : '';
}
