/* Common Javascript functions for use throughout Interspire Shopping Cart */



// Fetch the value of a cookie

function get_cookie(name) {

	name = name += "=";

	var cookie_start = document.cookie.indexOf(name);

	if(cookie_start > -1) {

		cookie_start = cookie_start+name.length;

		cookie_end = document.cookie.indexOf(';', cookie_start);

		if(cookie_end == -1) {

			cookie_end = document.cookie.length;

		}

		return unescape(document.cookie.substring(cookie_start, cookie_end));

	}

}



// Set a cookie

function set_cookie(name, value, expires)

{

	if(!expires) {

		expires = "; expires=Wed, 1 Jan 2020 00:00:00 GMT;"

	} else {

		expire = new Date();

		expire.setTime(expire.getTime()+(expires*1000));

		expires = "; expires="+expire.toGMTString();

	}

	document.cookie = name+"="+escape(value)+expires;

}



/* Javascript functions for the products page */

var num_products_to_compare = 0;

var product_option_value = "";



function showProductImage(filename, product_id) {

	/*var l = (screen.availWidth/2)-350;

	var t = (screen.availHeight/2)-300;

	var variationAdd = '';

	if($('body').attr('currentVariation') != '' && typeof($('body').attr('currentVariation')) != "undefined") {

		variationAdd = '&variation_id='+$('body').attr('currentVariation');

	}

	window.open(filename + "?product_id="+product_id+variationAdd, "imagePop", "toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=1,width=700,height=600,top="+t+",left="+l);*/

}



function CheckProductConfigurableFields(form)

{

	var requiredFields = $('.FieldRequired');

	var valid = true;

	requiredFields.each(function() {

		var namePart = this.name.replace(/^.*\[/, '');

		var fieldId = namePart.replace(/\].*$/, '');



		if(this.type=='checkbox' ) {

			if(!this.checked) {

				valid = false;

				alert(lang.EnterRequiredField);

				this.focus();

				this.select();

				return false;

			}

		} else if(this.value == '') {

			if(this.type != 'file' || (this.type == 'file' && document.getElementById('CurrentProductFile_'+fieldId).value == '')) {

				valid = false;

				alert(lang.EnterRequiredField);

				this.focus();

				this.select();

				return false;

			}

		}

	});



	var fileFields = $(form).find('input[type=file]');

	fileFields.each(function() {

		if(this.value != '') {

			var namePart = this.name.replace(/^.*\[/, '');

			var fieldId = namePart.replace(/\].*$/, '');

			var fileTypes = document.getElementById('ProductFileType_'+fieldId).value;



			fileTypes = ','+fileTypes.replace(' ', '').toLowerCase()+','

			var ext = this.value.replace(/^.*\./, '').toLowerCase();



			if(fileTypes.indexOf(','+ext+',') == -1) {

				alert(lang.InvalidFileTypeJS);

				this.focus();

				this.select();

				valid = false;

			}



		}

	});



	return valid;

}



function check_add_to_cart(form, required) {

	var valid = true;

	var qtyInputs = $(form).find('input.qtyInput');

	qtyInputs.each(function() {

		if(isNaN($(this).val()) || $(this).val() <= 0) {

			alert(lang.InvalidQuantity);

			this.focus();

			this.select();

			valid = false;

			return false;

		}

	});

	if(valid == false) {

		return false;

	}



	if(!CheckProductConfigurableFields(form)) {

		return false;

	}



	if(required && !$(form).find('.CartVariationId').val()) {

		alert(lang.OptionMessage);

		var select = $(form).find('select').get(0);

		if(select) {

			select.focus();

		}

		var radio = $(form).find('input[type=radio]').get(0);

		if(radio) {

			radio.focus();

		}

		return false;

	}



	return true;

}



function compareProducts(compare_path) {

	var pids = "";



	if($('form').find('input[name=compare_product_ids][checked]').size() >= 2) {

		var cpids = document.getElementsByName('compare_product_ids');



		for(i = 0; i < cpids.length; i++) {

			if(cpids[i].checked)

				pids = pids + cpids[i].value + "/";

		}



		pids = pids.replace(/\/$/, "");

		document.location.href = compare_path + pids;
		return false;

	}

	else {

		alert(lang.CompareSelectMessage);

		return false;

	}

}



function product_comparison_box_changed(state) {

	// Increment num_products_to_compare - needs to be > 0 to submit the product comparison form





	if(state)

		num_products_to_compare++;

	else

		if (num_products_to_compare != 0)

			num_products_to_compare--;

}



function remove_product_from_comparison(id) {

	if(num_compare_items > 2) {

		for(i = 1; i < 11; i++) {

			document.getElementById("compare_"+i+"_"+id).style.display = "none";

		}



		num_compare_items--;

	}

	else {

		alert(lang.CompareTwoProducts);

	}

}



function jump_to_product_reviews() {

	document.location.href = "#reviews";

}



function g(id) {

	return document.getElementById(id);

}



function check_product_review_form() {

	var revrating = g("revrating");

	var revtitle = g("revtitle");

	var revtext = g("revtext");

	var revfromname = g("revfromname");

	var captcha = g("captcha");



	/*if(revrating.selectedIndex == 0) {

		alert(lang.ReviewNoRating);

		revrating.focus();

		return false;

	}



	if(revtitle.value == "") {

		alert(lang.ReviewNoTitle);

		revtitle.focus();

		return false;

	}



	if(revtext.value == "") {

		alert(lang.ReviewNoText);

		revtext.focus();

		return false;

	}



	if(captcha.value == "" && HideReviewCaptcha != "none") {

		alert(lang.ReviewNoCaptcha);

		captcha.focus();

		return false;

	}*/



	return true;

}



function show_product_request(id)

{

	
	$('#li'+id).toggleClass('one_position_sel');
	$('#request_box'+id).toggle();
	$('#leave_req'+id).toggle(); $('#hide_req'+id).toggle();
}



function check_product_request(id)
{
	if($('#revtitle'+id).val() == "") {
		//alert('lang.ReqNoMail');
		$('#revtitle'+id).parent().css('color','red');
		$('#revtitle'+id).focus();
		return false;

	}
	if($('#captcha'+id).val() == "") {
		//alert('lang.ReqNoCaptcha');
		$('#captcha'+id).parent().children('.text').css('color','red');
		$('#captcha'+id).focus();
		return false;
	}
	$.ajax({
		url: '/postrequest.php?r=' + Math.random(),
		type: 'POST',
		data: {
			'product_id': id,
			'action': 'post_request',
			'pathback': $('#pathback'+id).val(),
			'revtitle': $('#revtitle'+id).val(),
			'revtext': $('#revtext'+id).val(),
			'captcha': $('#captcha'+id).val()
		},
		success: function(data){
			if(data==1){
			$('#wlsContent').fadeOut('200',function(){
				$('#wlsContent').html('Ваш запрос отправлен. Мы сообщим Вам о появлении товара на складе');
				$('#wlsContent').css('text-align','center');
				$('#wlsContent').fadeIn('200');
			})
			//show_product_request(id);
			//$('#leavereqlink'+id).hide();
			//$('#reqmess'+id).text(lang.CaptGood);
			//$('#reqmess'+id).show();
			}
			else if(data==0){
			//show_product_request(id);
				//$('#reqmess'+id).text(lang.CaptError);
				//$('#reqmess'+id).show();
				$('#captcha'+id).parent().children('.text').css('color','red');
				$('#captcha'+id).focus();
				$('#captcha'+id).parent().children('.text').html('Введённый код не совпал с показанным на картинке');
			}
			return false;
		}
	});


	return true;

}



function open_product_request(code, id)

{

	if (code)

	{

		show_product_request(id);

	}

}

function setCurrency(currencyId)

{

	var gotoURL = location.href;



	if (location.search !== '')

	{

		if (gotoURL.search(/[&|\?]setCurrencyId=[0-9]+/) > -1)

			gotoURL = gotoURL.replace(/([&|\?]setCurrencyId=)[0-9]+/, '$1' + currencyId);

		else

			gotoURL = gotoURL + '&setCurrencyId=' + currencyId;

	}

	else

		gotoURL = gotoURL + '?setCurrencyId=' + currencyId;



	location.href = gotoURL;

}





// Dummy sel_panel function for when design mode isn't enabled

function sel_panel(id) {}



function inline_add_to_cart(filename, product_id, quantity, returnTo) {

	if(typeof(quantity) == 'undefined') {

		var quantity = '1';

	}

	var html = '<form action="' + filename + '/cart.php" method="post" id="inlineCartAdd">';

	if(typeof(returnTo) != 'undefined' && returnTo == true) {

		var returnLocation = window.location;

		html += '<input type="hidden" name="returnUrl" value="'+escape(returnLocation)+'" />';

	}

	html += '<input type="hidden" name="action" value="add" />';

	html += '<input type="hidden" name="qty" value="'+quantity+'" />';

	html += '<input type="hidden" name="product_id" value="'+product_id+'" />';

	html += '<\/form>';

   $('body').append(html);

   $('#inlineCartAdd').submit();

}



// Dummy JS object to hold language strings.

var lang = {

};



function AddToCart(prodid,obj,kolvo){
	this_a = obj;
	if(!kolvo)kolvo=1;else kolvo = parseInt(kolvo);
	var offset = $('#li'+prodid+' .basket .add').offset();
	if(!offset)offset= $(obj).offset();
	var offsetleft = (offset.left-8);
	var offsettop = (offset.top-9);
	$('#AddToCartPopup').css('left',offsetleft);
	$('#AddToCartPopup').css('top',offsettop);
	$('#AddToCartPopup').fadeIn(200);
	$.ajax({
		url: '/remote.php',
		type: 'GET',
		data: {
				'w': 'addtocart',
				'product_id': prodid,
				'qty': kolvo
		},
		dataType: 'json',
		success: function(obj)
		{
			if($("#CartContent").length==1)  location.href = this_a.href;
			if(obj.status && obj.status == 'ok'){
				$('#AddToCartPopup').addClass('AddToCartPopupOk');
				$('#AddToCartPopup .AddToCartWindowContent').show();
				if(obj.numcartitems){
					$('.header .top .basket .count').html(obj.numcartitems);
				}
				if(obj.cartitems){
					$('#SideCartContentsText').html(obj.cartitems);
					$('#right_cart').css({'opacity':'0.0'});
					$('#right_cart').slideDown(200,function(){
						$('#right_cart').animate({'opacity':'1.0'},200);
					});
				}
            }
		},
		error: function(obj)
		{
			error = lang.AddingToCartFailed + ' ' + lang.TryAgainOrAskForHelp;
			alert(error);
		}
	});

	return false;
}

function RequestForProduct(prodid,elem){

	$.ajax({
		url: '/remote.php?w=getcaptchaimg&r=' + Math.random(),
		success: function(data){
			var captcha = data;
			$("body").append("<div id='RequestForProduct' class='default_popup'><div class='wrapper'><div class='top_l'><div class='top_r'><div class='top'></div></div></div><a href='#' class='close' onclick='$(\"#RequestForProduct\").fadeOut(200,function(){$(\"#RequestForProduct\").remove()}); return false;'>x</a><div class='center_l'><div class='center_r'><div class='gray_bg'><div class='title'>Оставить заявку</div><div id='wlsContent'><div>Напишите ваш email <input type='text' id='revtitle"+prodid+"' name='revtitle"+prodid+"'></div><div>Комментарий к заявке<textarea id='revtitle"+prodid+"' name='revtext"+prodid+"'></textarea></div><div><div class='text'>Введите код с картинки</div><input type='text' class='Field150' id='captcha"+prodid+"' name='captcha"+prodid+"'><div>"+captcha+"</div></div><div><input onclick='check_product_request("+prodid+");' type='submit' class='submit' value='Отправить заявку'></div></div></div></div></div><div class='bottom_l'><div class='bottom_r'><div class='bottom'></div></div></div></div></div>");
			offset = elem.offset();
			$('#RequestForProduct').css({
				'top':(offset.top-8),
				'left':(offset.left-5),
				'position':'absolute',
				'display':'none'
			});
			$('#RequestForProduct .title').css('text-align','center');
			$('#RequestForProduct #wlsContent').css('width','162px');
			$('#RequestForProduct #wlsContent div').css('text-align','center');
			$('#RequestForProduct #wlsContent .submit').css('text-align','center');
			$('#RequestForProduct #wlsContent input').css({
				'display':'block',
				'width':'160px',
				'margin-top':'5px'
			});
			$('#RequestForProduct #wlsContent textarea').css({
				'display':'block',
				'width':'160px',
				'height':'100px',
				'margin-top':'5px'
			});
			$('#RequestForProduct').fadeIn(200);
		}
	})
}

function ProductIncome(prodid){

	ProdInQuantity = $('#ProdInQuantity' + prodid).val()

	ProdInPrice = $('#ProdInPrice' + prodid).val()

	ProdInDate = $('#ProdInDate' + prodid).val()

	$.ajax({

		url: '/remote.php?w=productincome&prodid=' + prodid + '&prodinquantity=' + ProdInQuantity + '&prodinprice=' + ProdInPrice + '&prodindate=' + ProdInDate,

		type: 'GET',

		success: function(data){

			$('#ProductRemains' + prodid).text(data);

		}

		})

	$('#prodIn1358').hide()

	return false;

}

function RemoveFromWishList(prodid,item_id,listid){
	$.ajax({
		url: '/remote.php',
		type: 'GET',
		data: {
				'w': 'removefromwishlist',
				'product_id': prodid,
				'item_id':item_id,
				'listid':listid
		},
		dataType: 'json',
		success: function(obj)
		{
			if(obj.count) {
				FavorLink = $('#fav'+prodid);

				//Затемнить звездочку
				FavorLink.removeClass("active_favor");

				// Верхнее меню
				$('.header .user_cor .favor .count').html('{'+obj.count+'}');

				//Убрать правое меню, если стало 0
				if(obj.count == 0){
					$('#right_whlist').animate({'opacity':'0.0'},200,function(){
						$('#right_whlist').slideUp(200);

						// Правое меню
						$('#right_whlist .title_wls span').html('{'+obj.count+'}');
					});
				} else {
					// Правое меню
					$('#right_whlist .title_wls span').html('{'+obj.count+'}');
				}
				//записать атрибуты списков
				IdsList = FavorLink.attr("href");
				IdsList = IdsList.replace(item_id,'')
				WishIdsList = FavorLink.attr("hreflang");
				WishIdsList = WishIdsList.replace(listid,'')
				if(IdsList.replace(/^[,]*([\S\s]*?)[,]*$/, '$1') == ''){
					FavorLink.removeClass("active_favor");
					FavorLink.attr("href","#");
					FavorLink.attr("hreflang","#");
					if($("body").hasClass("product"))FavorLink.html("<span></span>Добавить в список избранного")
				} else {
					FavorLink.attr("href",IdsList.replace(/^[,]*([\S\s]*?)[,]*$/, '$1'));
					FavorLink.attr("hreflang",WishIdsList.replace(/^[,]*([\S\s]*?)[,]*$/, '$1'));
				}
			}
		},
		error: function(obj)
		{
			$('#li'+prodid).css('height', '');
			error = lang.AddingToWishListFailed + ' ' + lang.TryAgainOrAskForHelp;
			alert(error);
		}
	});
	return false;
}


function applySpecPriceEffects(){
	$(".price .spec_price").hover(function(){
				default_popup = $("<div class='price_popup'><div style='font-size: "+$(this).css("font-size")+";'>при заказе от 7 000 рублей</div></div>").appendTo("body .js_elements");
				$(default_popup).css({"top":($(this).offset().top-6),"left":($(this).offset().left+$(this).width())}).fadeIn(500);
			},function(){
				$(default_popup).fadeOut(200,function(){$(this).remove()});
	});
}

function applyWishlistEffects(){
	$('.favor:not(.top_favor)').click(function(){
		if($(this).hasClass('active_favor')) {
			prodid = $(this).attr('id').replace('fav','');
			item_id = $(this).attr("href");
			listid = $(this).attr("hreflang");
			RemoveFromWishList(prodid,item_id,listid);
			return false;
		} else {
			prodid = $(this).attr('id').replace('fav','');
			listid = $(this).attr("hreflang");
			AddToWishList(prodid,listid);
			return false;
		}
	});
	applySpecPriceEffects();
}


function showFacebook(){
	/*$.ajax({
		url: '/remote.php',
		type: 'GET',
		data: {
				'w': 'loadfacebook',
				'rem': '1'
		},
		dataType: 'json',
		success: function(fb){
			$('.right_column .gray_block:last').after(fb.html);
			$('#facebook').after(fb.scr);
		}
	})	*/
}

$(document).ready(function() {
	applyWishlistEffects();
	showFacebook();
});

function AddToWishList(prodid,listid){

if( typeof listid == 'undefined') listid = '';

	$.ajax({
		url: '/remote.php',
		type: 'GET',
		data: {
				'w': 'addtowishlist',
				'product_id': prodid,
				'wishlistid': listid
		},
		dataType: 'json',
		success: function(obj)
		{
			if(obj.count) {
				FavorLink = $('#fav'+prodid);

				//Подсветить звездочку
				FavorLink.addClass("active_favor");
				if($("body").hasClass("product"))FavorLink.html("<span></span>Удалить из списка избранного");
				
				// Верхнее меню
				$('.header .user_cor .favor .count').html('{'+obj.count+'}');
				$('.header .user_cor .favor a').attr('href',obj.link);

				// Правое меню
				$('#right_whlist .title_wls span').html('{'+obj.count+'}');
				$('#right_whlist .title_wls a').attr('href',obj.link);

				//Показать правое меню, если было 0
				if(obj.count == 1){
					$('#right_whlist').css({'opacity':'0.0'});
					$('#right_whlist').slideDown(200,function(){
						$('#right_whlist').animate({'opacity':'1.0'},200);
					});
				}

				//записать атрибуты списков
				if(obj.wlsitemid){
					href = FavorLink.attr("href");
					if(href == '#' || href == ''){
						FavorLink.attr("href",obj.wlsitemid);
					} else {
						FavorLink.attr("href",href+","+obj.wlsitemid);
					}

					hreflang = FavorLink.attr("hreflang");
					if(hreflang == '#' || hreflang == ''){
						FavorLink.attr("hreflang",obj.wishlistid);
					} else {
						FavorLink.attr("hreflang",hreflang+","+obj.wishlistid);
					}
				}
			}
		},
		error: function(obj)
		{
			$('#li'+prodid).css('height', '');
			error = lang.AddingToWishListFailed + ' ' + lang.TryAgainOrAskForHelp;
			alert(error);
		}
	});
	return false;
}



function ShowWishLists(prodid){

        $('#wls' + prodid).css('float','left');
	$('#wls' + prodid).slideDown('slow');

	$('#li'+prodid).css('height','');

}



function AddToCompare(prodid){

	$('#clstatus' + prodid).show();

	$('#clstatus' + prodid).html(lang.WaitPlease);

	$.ajax({

		url: '/remote.php',

		type: 'GET',

		data: {

				'w': 'addtocompare',

				'product_id': prodid

		},

		dataType: 'json',

		success: function(obj)

		{

			$('#li'+prodid).css('height', '');

			if(obj.status && obj.status =='ok'){

				$('#clstatus' + prodid).html(lang.ProductAddedToCompare);

				$('#clstatus' + prodid).append('<div style="text-align: center; padding-top: 3px;"><a href="#" onclick="DeleteFromCompare('+prodid+'); return false;">' + lang.DeleteFromCompare + '</a></div>');

				$('#clstatus' + prodid).addClass('msgboxSuccess');

			} else {

				$('#wlstatus' + prodid).html(lang.ProductAddingToCompareFailed);

				$('#wlstatus' + prodid).addClass('msgboxError');

			}

		},



		error: function(obj)

		{

			$('#li'+prodid).css('height', '');

			error = lang.AddingToCompareFailed + ' ' + lang.TryAgainOrAskForHelp;

			alert(error);

		}

	});

	return false;

}



function DeleteFromCompare(prodid){

	$('#clstatus' + prodid).show();

	$('#clstatus' + prodid).html(lang.WaitPlease);

	$.ajax({

		url: '/remote.php',

		type: 'GET',

		data: {

				'w': 'deletefromcompare',

				'product_id': prodid

		},

		dataType: 'json',

		success: function(obj)

		{

			if(obj.status && obj.status =='ok'){

				$('#clstatus' + prodid).html('<a href="#" onclick="AddToCompare(' + prodid + '); return false;">' + lang.AddToCompare + '</a>');

				$('#clstatus' + prodid).removeClass('msgboxSuccess');

			} else if(obj.status && obj.status == 'nosuchitem'){

				alert('No such item in your comparison list');

			} else {

				$('#clstatus' + prodid).html(lang.ProductDeletingFromCompareFailed);

				$('#clstatus' + prodid).addClass('msgboxError');

			}





		},

		error: function(obj)

		{

			error = lang.DeletingFromCompareFailed + ' ' + lang.TryAgainOrAskForHelp;

			alert(error);

		}

	});

	return false;

}

// IE 6 doesn't support the :hover selector on elements other than links, so

// we use jQuery to work some magic to get our hover styles applied.

if(document.all) {

	var isIE7 = /*@cc_on@if(@_jscript_version>=5.7)!@end@*/false;

	if(isIE7 == false) {

		$(document).ready(function() {

			/*$('.ProductList li').hover(function() {

				$(this).addClass('Over');

			},

			function() {

				$(this).removeClass('Over');

			});*/

			$('.ComparisonTable tr').hover(function() {

				$(this).addClass('Over');

			},

			function() {

				$(this).removeClass('Over');

			});

		});

	}

	$('.ProductList li:last-child').addClass('LastChild');

}










/*--------------------------------------------------------------------------------------------*/





/* Suggestions */
	var XmlObj = null
	var dom = typeof window.addEventListener == "function"
	var ie = typeof window.attachEvent == "object"
	var selectedRow = null
	var maxIDX = null
	if (dom) {window.addEventListener("keypress",handle,false)} else if (ie) document.attachEvent("onkeydown",handle)

function handle(Event){/*
	if (dom) var EvT = Event.target;else if (ie) var EvT = window.event.srcElement

	if (EvT != null){
			if (dom)
				var ccode = Event.keyCode
			 else if (ie)
			 	var ccode = window.event.keyCode

			var resEl = document.getElementById("res")

			switch (ccode) {
				case 38 : {
					if (!selectedRow) selectedRow = 0
						else
							document.getElementById("row_"+selectedRow).class = ""
				//	alert(selectedRow)
					selectedRow++

					if (!document.getElementById("row_"+selectedRow)) selectedRow--

					document.getElementById("row_"+selectedRow).style.background = "#99CC99"
				}
				case 40 :
			}
	} */
}
function CreateAjaxObject(){
if (XmlObj == null){
     try { XmlObj = new XMLHttpRequest()// mozilla
       }
     catch(e)// IE è ïð.
 	   {	var  XmlObjType = ["Microsoft.XMLHTTP", "Msxml2.XMLHTTP", "Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP.4.0", "Msxml2.XMLHTTP.5.0"]
			for(var i=0; i < XmlObjType.length; i++){
			   try {
			   		XmlObj = new ActiveXObject(XmlObjType[i])
					break
				 }
			   catch(e){alert(e.message)}
			   }
	   }
 }
}

function Things(i){
if (i < 21)
	var test = i
else var test = i.substring(i.length-1)
if (test == 1) return "продукт"
else if ((test >= 2) && (test <= 4)) return "продукта"
else return "продуктов"

}

function rowMouseSel() {

	if (selectedRow != null)
		//document.getElementById("row_"+selectedRow).className = ""

	selectedRow = this.id.substring(4)
	//document.getElementById("row_"+selectedRow).className = "selected"

}

function popularSort(i, ii) { // По возрасту (возрастание)
    if (Number(i["pop"]) < Number(ii["pop"]))
        return 1;
    else if (Number(i["pop"]) > Number(ii["pop"]))
        return -1;
    else
        return 0;
}
if(!Array.indexOf){
    Array.prototype.indexOf = function(obj){
        for(var i=0; i<this.length; i++){
            if(this[i]==obj){
                return i;
            }
        }
        return -1;
    }
}
function SendQuery(se){
	try
	{
		if (!se) {
			$('#suggestion').fadeOut(200);
			$("#search_query").removeClass("load");
			return false
		}
		se = se.replace(/[^A-Za-zА-Яа-я0-9-' ]/gi, "")
		se = se.replace(/[-]/gi, " ")

		//alert(se)
		var params = '?search_query='+encodeURIComponent(se)+')&action=AjaxSearch' // символ в конце не дает пробелу в концепотерятьс
		//XmlObj.open("POST", "DoAjaxSearch.php", true)
		XmlObj.open("GET", "/DoAjaxSearch.php"+params, true)
		XmlObj.setRequestHeader("Content-Type", "text/html; charset=UTF-8")
	//	XmlObj.setRequestHeader("Accept-Charset","UTF-8");
		XmlObj.onreadystatechange = function () {
										if (XmlObj.readyState == 4) {
	  										 if (XmlObj.status == 200) {
											 	selectedRow = null
		   										var SrvReq = XmlObj.responseText
												//alert(SrvReq)
												var data = eval("("+SrvReq+")")

												var cont = $("#suggestion .content");
												cont.html("");
												if (data.json.results.length == 0) {
													$("#suggestion").fadeOut(200);
													$("#search_query").removeClass("load");
												}
												else {
													var SrgS = new Array()
													maxIDX = 0
													for (var j = 0;j<data.json.results.length;j++) {
														var currSgr = data.json.results[j].sGr
														CurSearchQuery = data.term;
														if (SrgS.indexOf(currSgr) == -1) {
															SrgS[SrgS.length] = currSgr
															$(cont).append("<h2>"+currSgr+"<span></span></h2>")
														} else continue

														var view_super_gr = new Array()

														for (var i = 0;i<data.json.results.length;i++) {
															if (data.json.results[i].sGr != currSgr) continue
															view_super_gr[view_super_gr.length] = data.json.results[i]
														}

														view_super_gr.sort(popularSort)

														for (var i = 0;i<view_super_gr.length;i++) {
															var el = document.createElement("div")
															el.id = "row_"+maxIDX
															el.onmouseover = rowMouseSel

														//	if (i == data.json.results.length-1)
															//	el.style.borderBottom = "1px solid #000";

															var frq = ""
															if ((view_super_gr[i].freq != "")&&(view_super_gr[i].freq != "0"))
																frq = "    <span class='frq'>{"+view_super_gr[i].freq+" "+Things(view_super_gr[i].freq)+"}</span>"
															var gr = "<span class='gr' rel='"+view_super_gr[i].url+"'> - "+view_super_gr[i].gr+"</span>";
															if ((view_super_gr[i].cap != "")&&(view_super_gr[i].cap != "0")&&(view_super_gr[i].cap != "undefined"))
																var cap = "<span class='cap'>, "+view_super_gr[i].cap+"мл</span>"
															else var cap = ""
															if ((view_super_gr[i].prc != "")&&(view_super_gr[i].prc != "0")&&(view_super_gr[i].prc != "undefined"))
																var prc = "<span class='prc'>, "+view_super_gr[i].prc+"руб</span>"
															else var prc = ""

															if (view_super_gr[i].tip == 1)
																var str_type = "fullmatch"
															else
																var str_type = "fuzzy"
															var sTitle = view_super_gr[i].title

															var ico = ""

															switch (view_super_gr[i].gr) { //id="img_'+maxIDX+'"
																case "Регион" : class_name="region"; break;
																case "Производитель" : class_name="manuf";break;
																case "Произодитель" : class_name="manuf";break;
																case "Виноград" : class_name="grape";break;
																default : class_name="default";  break;
															}

															if (view_super_gr[i].catUrl != ""){
																el = '<a id="row_'+maxIDX+'" href="'+view_super_gr[i].catUrl+'" class="'+class_name+'"><span class="'+str_type+'">'+sTitle+'</span>'+cap+prc+gr+frq+'</a>';
															} else {
																el.className= class_name;
																el.innerHTML ='<span class="'+str_type+'" >'+sTitle+'</span>'+cap+prc+gr+" "+frq
															}
															$(cont).append(el)
															var tmp_id = "img_"+maxIDX
															maxIDX++
															//$('#'+el.id+' img').tooltip({track: true,delay: 0, showURL: false,bodyHandler: function() { return this.title }, fade: 250});
															//el = document.createElement("br");$(cont).append(el)
														}
														//el = document.createElement("hr"); $(cont).append(el)
													}
													// var el = document.createElement("div")
													// el.id = "row_"+maxIDX
													// maxIDX++
													// el.onmouseover = rowMouseSel
													// el.innerHTML = '<span class="all_res"><a href="/catalog/?search_query='+data.term+'">Все результаты</a></span>'
													/*$(cont).append('<div class="all_res"><a href="/catalog/?search_query='+data.term+'">Все результаты</a></div>');*/
													$("#search_query").removeClass("load");
													$("#suggestion").fadeIn(200)
													$('#suggestion .content div').click(function(){
														if ($(".fullmatch a",this).length>0) ;
														else {
															if($(".fullmatch",this).text()=="") searchTextIns = $(".fuzzy",this).text();
															else searchTextIns = $(".fullmatch",this).text();
															$("#search_query").val($.trim(searchTextIns));
															$("#suggestion").fadeOut(200);
															$("#SearchForm form").submit();
														}
													})
												}
												
												
												$(window).bind('click',function(e){
													if($(this).parents('.search form').length < 1){
														// alert($(this).parents('.search').attr('id'));
														$("#suggestion").fadeOut(200)
													}
												});
											 }
										}
									}
		//XmlObj.send(params)
		XmlObj.send(null)
	}
	catch(e){alert(e.message)}
}

CreateAjaxObject()
var CurSearchQuery = '';
$(document).ready(function(){
	$("#SearchForm").append('<div id="suggestion"><div class="top_block"><div class="cor"></div></div><div class="wrap"><div class="content"></div></div><div class="bottom_block"><div class="left"></div><div class="right"></div><div class="center"></div></div></div>');
	$("#search_query").keyup(function(event){
		if(event.keyCode == 40 || event.keyCode == 38){
			return;
		}
		$("#search_query").addClass("load");
		SendQuery($('#search_query').val());
	});
	$("#search_query").keydown(function(event){
		if(event.keyCode == 40){
			if($('#suggestion .content .selected').length>0){
				selId = $('#suggestion .content .selected').attr('id');
				next_selId = 'row_'+(parseInt(selId.replace(/row_/,''))+1);
				$('#'+selId).removeClass('selected');
				$('#'+next_selId).addClass('selected');
				if($('#suggestion .content .selected').length<1){ 
					$("#search_query").val(CurSearchQuery);
				} else {
					$("#search_query").val($('#suggestion .content .selected .gr').attr('rel'));
				}
			} else {
				$('#row_0').addClass('selected');
				$("#search_query").val($('#suggestion .content .selected .gr').attr('rel'));
			}
		} else if(event.keyCode == 38){
			if($('#suggestion .content .selected').length>0){
				selId = $('#suggestion .content .selected').attr('id');
				next_selId = 'row_'+(parseInt(selId.replace(/row_/,''))-1);
				$('#'+selId).removeClass('selected');
				$('#'+next_selId).addClass('selected');
				if($('#suggestion .content .selected').length<1){ 
					$("#search_query").val(CurSearchQuery);
				} else {
					$("#search_query").val($('#suggestion .content .selected .gr').attr('rel'));
				}
			} else {
				selId = $('#suggestion .content').children(':last').attr('id');
				$('#'+selId).addClass('selected');
				$("#search_query").val($('#suggestion .content .selected .gr').attr('rel'));
			}
		}
	})

});

/*End Suggestions */

/*--------------------------------------------------------------------------------------------*/



/*

 * JTip

 * By Cody Lindley (http://www.codylindley.com)

 * Under an Attribution, Share Alike License

 * JTip is built on top of the very light weight jquery library.

 */



//on page load (as soon as its ready) call JT_init

$(document).ready(JT_init);



var JT_rmdelay = 2000;

var JT_rmflag = false;

var JT_linkId = 0;

var JT_timerid = 0



function JT_init(){
          // alert($(".ratings_list a.jTip").html())
	       $(".ratings_list a.jTip")
		   .hover(function(){},function(){ JT_remove();})

          // .click(function(){JT_show(this.href,this.id,this.name);return false});

}



function JT_remove(){

	if(JT_timerid)

		clearTimeout(JT_timerid);

	JT_rmflag = true;

	JT_timerid = setTimeout(function() {
		if(JT_rmflag) {

			JT_remove_now();

		}

	}, JT_rmdelay);

}



function JT_remove_now(){
	$("#JT").fadeOut(200,function(){$('#JT').remove();});

	JT_rmflag=false;

	JT_linkId = 0;

}



function JT_show(url,linkId,class_name){

	if(linkId == JT_linkId) {

		JT_rmflag = false;

		return;

	}


	JT_linkId = 0;

	if($('#JT')) $('#JT').remove();

	JT_rmflag = false;

	var de = document.documentElement;

	var w = self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;

	var hasArea = w - getAbsoluteLeft(linkId);

	var clickElementy = getAbsoluteTop(linkId) - 3; //set y position



	var queryString = url.replace(/^[^\?]+\??/,'');

	var params = parseQuery( queryString );


	if(params['width'] === undefined){params['width'] = 250};

	if(params['link'] !== undefined){

	$('#' + linkId).bind('click',function(){window.location = params['link']});

	$('#' + linkId).css('cursor','pointer');

	}



	if(hasArea>470){

		$("body").append("<div id='JT' class='"+class_name+"' onmouseover = 'JT_rmflag = false;'><div id='JT_arrow_left'></div><div class='wrapper' onmouseout = 'JT_remove();'><div class='top'></div><a class='closeJT' href='#' onclick='JT_remove_now(); return false;'>x</a><div class='center_l'><div class='center_r'><div class='white_bg'><div id='JT_copy'><div class='JT_loader'></div></div></div></div></div><div class='bottom'></div></div></div>");//right side

		var arrowOffset = getElementWidth(linkId) + 11;

		var clickElementx = getAbsoluteLeft(linkId)+arrowOffset; //set x position

	}else{

		$("body").append("<div id='JT' class='"+class_name+"' onmouseover = 'JT_rmflag = false;' ><div id='JT_arrow_right'></div><div class='wrapper' onmouseout = 'JT_remove();'><div class='top'></div><a href='#' onclick='JT_remove_now(); return false;'>x</a><div class='center_l'><div class='center_r'><div class='white_bg'><div id='JT_copy'><div class='JT_loader'></div></div></div></div></div><div class='bottom'></div></div></div>");//left side

		var clickElementx = getAbsoluteLeft(linkId) - 425; //set x position

	}
		$("#JT").fadeIn(200);


	$('#JT').css({left: clickElementx+"px", top: clickElementy+"px"});

	if (params['element_id']!==undefined)
$('#JT_copy').html($('#'+params['element_id']).html());
else
$('#JT_copy').load(url);

	JT_linkId = linkId;
}



function getElementWidth(objectId) {

	x = document.getElementById(objectId);

	return x.offsetWidth;

}



function getAbsoluteLeft(objectId) {

	// Get an object left position from the upper left viewport corner

	o = document.getElementById(objectId)

	oLeft = o.offsetLeft            // Get left position from the parent object

	while(o.offsetParent!=null) {   // Parse the parent hierarchy up to the document element

		oParent = o.offsetParent    // Get parent object reference

		oLeft += oParent.offsetLeft // Add parent left position

		o = oParent

	}

	return oLeft

}



function getAbsoluteTop(objectId) {

	// Get an object top position from the upper left viewport corner

	o = document.getElementById(objectId)

	oTop = o.offsetTop            // Get top position from the parent object

	while(o.offsetParent!=null) { // Parse the parent hierarchy up to the document element

		oParent = o.offsetParent  // Get parent object reference

		oTop += oParent.offsetTop // Add parent top position

		o = oParent

	}

	return oTop

}



function parseQuery ( query ) {

   var Params = new Object ();

   if ( ! query ) return Params; // return empty object

   var Pairs = query.split(/[;&]/);

   for ( var i = 0; i < Pairs.length; i++ ) {

      var KeyVal = Pairs[i].split('=');

      if ( ! KeyVal || KeyVal.length != 2 ) continue;

      var key = unescape( KeyVal[0] );

      var val = unescape( KeyVal[1] );

      val = val.replace(/\+/g, ' ');

      Params[key] = val;

   }

   return Params;

}



function blockEvents(evt) {

              if(evt.target){

              evt.preventDefault();

              }else{

              evt.returnValue = false;

              }

}

/* end of Jtip */



/*-----------------------------------------------------------------------------------*/


function SavePageSeo(fornode){
	path = location.pathname;
	hash = location.hash;
    $.ajax({
			url: '/remote.php?r=' + Math.random(),
			type: 'GET',
			data: {
					'w': 'getrealurlwithhash',
					'url':'',
					'hash': hash,
					'path': path
					},
	dataType: 'json',
	success: function(data){

		url = data.url;

		$('.seo_saved').remove();
		$('.seo_not_saved').remove();
		if(fornode) prefix = 'node';
		else prefix = '';
		var pagetitle = $('#' + prefix + 'pagetitle').val();
		var pagemetakeywords = $('#' + prefix + 'pagemetakeywords').val();
		var pagemetadesc = $('#' + prefix + 'pagemetadesc').val();
		var pageproductspredicate = $('#' + prefix + 'pageproductspredicate').val();
		var pageh1 = $('#' + prefix + 'pageh1').val();
		var pagetoptext = $('#' + prefix + 'pagetoptext').val();
		var pagebottomtext = $('#' + prefix + 'pagebottomtext').val();
		var pagelinksblockleft = $('#' + prefix + 'pagelinksblockleft').val();
		var pagelinksblockright = $('#' + prefix + 'pagelinksblockright').val();
		var pageh2 = $('#' + prefix + 'pageh2').val();
		$.ajax({
			url: '/remote.php?r=' + Math.random(),
			type: 'POST',
			data: {
					'w': 'SavePageSeo',
					'url': url,
					'nodesettings':fornode,
					'pagelinksblockleft': pagelinksblockleft
					},
			success: function(data){
				$('#' + prefix + 'trpagelinksblockleft .SettingTitle').append('<div class="seo_saved">Saved</div>');
			}
		});
		$.ajax({
			url: '/remote.php?r=' + Math.random(),
			type: 'POST',
			data: {
					'w': 'SavePageSeo',
					'url': url,
					'nodesettings':fornode,
					'pagebottomtext': pagebottomtext
					},
			success: function(data){
				$('#' + prefix + 'trpagebottomtext .SettingTitle').append('<div class="seo_saved">Saved</div>');
			}
		});
		$.ajax({
			url: '/remote.php?r=' + Math.random(),
			type: 'POST',
			data: {
					'w': 'SavePageSeo',
					'url': url,
					'nodesettings':fornode,
					'pagetoptext': pagetoptext
					},
			success: function(data){
				$('#' + prefix + 'trpagetoptext .SettingTitle').append('<div class="seo_saved">Saved</div>');
			}
		});
		$.ajax({
			url: '/remote.php?r=' + Math.random(),
			type: 'POST',
			data: {
					'w': 'SavePageSeo',
					'url': url,
					'nodesettings':fornode,
					'pageh1': pageh1
					},
			success: function(data){
				$('#' + prefix + 'trpageh1 .SettingTitle').append('<div class="seo_saved">Saved</div>');
			}
		});
		$.ajax({
			url: '/remote.php?r=' + Math.random(),
			type: 'POST',
			data: {
					'w': 'SavePageSeo',
					'url': url,
					'nodesettings':fornode,
					'pageproductspredicate': pageproductspredicate
					},
			success: function(data){
				$('#' + prefix + 'trpageproductspredicate .SettingTitle').append('<div class="seo_saved">Saved</div>');
			}
		});
		$.ajax({
			url: '/remote.php?r=' + Math.random(),
			type: 'POST',
			data: {
					'w': 'SavePageSeo',
					'url': url,
					'nodesettings':fornode,
					'pagemetadesc': pagemetadesc
					},
			success: function(data){
				$('#' + prefix + 'trpagemetadesc .SettingTitle').append('<div class="seo_saved"">Saved</div>');
			}
		});
		$.ajax({
			url: '/remote.php?r=' + Math.random(),
			type: 'POST',
			data: {
					'w': 'SavePageSeo',
					'url': url,
					'nodesettings':fornode,
					'pagemetakeywords': pagemetakeywords
					},
			success: function(data){
				$('#' + prefix + 'trpagemetakeywords .SettingTitle').append('<div class="seo_saved">Saved</div>');
			}
		});
		$.ajax({
			url: '/remote.php?r=' + Math.random(),
			type: 'POST',
			data: {
					'w': 'SavePageSeo',
					'url': url,
					'nodesettings':fornode,
					'pagetitle': pagetitle
					},
			success: function(data){
				$('#' + prefix + 'trpagetitle .SettingTitle').append('<div class="seo_saved">Saved</div>');
			}
		});
		$.ajax({
			url: '/remote.php?r=' + Math.random(),
			type: 'POST',
			data: {
					'w': 'SavePageSeo',
					'url': url,
					'nodesettings':fornode,
					'pagelinksblockright': pagelinksblockright
					},
			success: function(data){
				$('#' + prefix + 'trpagelinksblockright .SettingTitle').append('<div class="seo_saved">Saved</div>');
			}
		});
		$.ajax({
			url: '/remote.php?r=' + Math.random(),
			type: 'POST',
			data: {
					'w': 'SavePageSeo',
					'url': url,
					'nodesettings':fornode,
					'pageh2': pageh2
					},
			success: function(data){
				if(data == 1){
					$('#' + prefix + 'trpageh2 .SettingTitle').append('<div class="seo_saved">Saved</div>');
				} else {
					$('#' + prefix + 'trpageh2 .SettingTitle').append('<div class="seo_not_saved">Not saved</div>');
				}
			}
		});
	}
});
}



$(document).ready(function() {
	$(".footer .subscribe .descr").css("opacity","0.0");
	$(".footer .subscribe h4").hover(function(){
		$(".footer .subscribe .descr").stop().css("display","block").animate({"opacity":"1.0"},400);
	},
	function(){
		$(".footer .subscribe .descr").stop().animate({"opacity":"0.0"},400,function(){$(this).css("display","none")});
	});

	text1 = $(".footer input[name='text']").val();
	text2 = $(".footer input[name='email']").val();
	$(".footer input:text").focus(function(){
		var text = $(this).val();
		$(this).css("color","#636363");
		if(text==text1 || text==text2){
			$(this).val("");
		}
	})
	$(".footer input[name='text']").blur(function(){
		var text = $(this).val();
		if(text=="")$(this).val(text1);
	})
	$(".footer input[name='email']").blur(function(){
		var text = $(this).val();
		if(text=="")$(this).val(text2);
	});
	$(".footer input:button").click(function(){
		if($(".footer .fullname").val()!="") return false;
		else{
			error = 0;
			name = $(".footer input[name='text']").val();
			email = $(".footer input[name='email']").val();
			if(name==text1) {$(".footer input[name='text']").css("color","#cf0000"); error = 1;};
			if(email==text2) {$(".footer input[name='email']").css("color","#cf0000"); error = 1;};
			if(error==1) return false;
			$.ajax({
				url: '/remote.php',
				type: 'GET',
				data: {
						'w': 'directmailformsubmit',
						'name': name,
						'email': email
				},
				dataType: 'json',
				success: function(obj){ if(obj == 1) $('.footer .all_good').fadeIn(400); }
			});
		}
	});


});
