var AJAX_PROGRESS = '<img src="/img/ajax-loader.gif">';
var AJAX_PROGRESS_SMALL = '<img src="/img/ajax-loader-small.gif">';
var SEND_CODE_WAIT_SEC = 180;

/***********************************************************************/

var ie7 = ($.browser.msie && $.browser.version<8);

var contentElement = "#content";
var fancyOverlay = ".3";
var fancyColor = "#000000";

function ShowMedia(parent,id,mediaid) {
	window.open('/cgi-bin/main.cgi?module=media&act=show&parent='+parent+'&id=' + id + '&mediaid=' + mediaid,'','resizable=yes, menubar=no, status=no, scrollbars=yes, statusbar=no, toolbar=no, width=550, height=540');
}
function ShowDiv(id) {
	$("#"+id).slideToggle(400);
	return true;
}
function CloseDiv(id) {
	$("#"+id).slideUp(400);
	return false;
}


/* Функция отправки формы */
function submitAjaxForm(id, act, callback) {
	$("#" + id + " input[type=submit]").attr("disabled","disabled");
	$("#" + id + " #error").html("");
	$("#" + id + " #status").html(AJAX_PROGRESS);
	

	$.post("/cgi-bin/main.cgi?act=" + act, $("#" + id).serialize(), function(result) {
		$("#" + id + " #status").html("");
		if(result == 'ok') {
			if(callback != null)
				callback();
		} else {
			$("#" + id + " #error").html(result);
		}
		$("#" + id +  "  input[type=submit]").removeAttr("disabled");
  }, 'text');
}
function SMSCodeSend(div_id,create) {
	var phone = $("#" + div_id + " input[name=phone]").val();
	var p_code = $("#" + div_id + " input[name=p_code]").val();
	var p_secret = $("#" + div_id + " input[name=p_secret]").val();
	
	if(p_code != null && p_code != '') {
		var button = $("#" + div_id + " #sms-code-send").html();
		$("#" + div_id + " #sms-code-send").html(AJAX_PROGRESS_SMALL);
		
		$.post("/cgi-bin/main.cgi", 
			{ act: 'user2.ajax_send_code', phone: phone, p_secret: p_secret, p_code: encodeURI(p_code),  create: create ? 1 : 0 },
			function(result) {
			$("#" + div_id + " #sms-code-send").html(button);
	   
	  		if(result == 'ok') {
		  		$("#" + div_id + " #sms-code-error").html("Код отправлен.");
			  	
			  	// Делаем защиту кнопки "Отправить код" на 1 минуту
			  	$("#" + div_id + " #sms-code-btn").attr("disabled","disabled");
			  	setTimeout(function() {
			  		$("#" + div_id + " #sms-code-btn").removeAttr("disabled");
			  	}, SEND_CODE_WAIT_SEC * 1000);
			  	
	  		} else {
		  		$("#" + div_id + " #sms-code-error").html(result);
	  		}
	  	}
		);
	} else {
		$("#" + div_id + " #sms-code-error").html("Введите число с картинки.");
	}

	return false;
}
function ListPhones(form_id) {
	var $div = $("#phones");
	$div.empty();
	$("#" + form_id + " input[name=phones]").each(function(i,inp) {
		var phone = $(inp).val();
		var ph_id = form_id + i;
		var rm_id = form_id + 'rm' + i;
		$div.append('<div id="' + ph_id + '">' + phone + ' [<a id="' + rm_id + '" href="#">удалить</a>]</div>\n');
		$("#" + rm_id).click( function () {
			// удаляем скрытое поле и перерисовываем список
			$(inp).remove();
			ListPhones(form_id);
			return false;
		});
	});
	return false;
}
function AddPhone(form_id) {
	var form = $("#" + form_id);
	var phone = $("input[name=phone]",form).val();
	var code = $("input[name=code]", form).val();
	
	if(phone != '' && code != '') {
		var button = $("#add-phone",form).html();
		$("#add-phone",form).html(AJAX_PROGRESS_SMALL);
		
		$.post("/cgi-bin/main.cgi?act=user2.ajax_add_phone&phone=" + phone + "&code=" + code,
			function(result) {
			$("#add-phone",form).html(button);
	   
	  		if(result == 'ok') {
	  			$("#add-phone-error",form).html("");
	  			$("input[name=phone]",form).val("");
	  			$("input[name=code]",form).val("");
	  			
	  			// добавляем к скрытому полю формы и перерисовываем список
	  			form.append('<input type="hidden" name="phones" value="' + phone + '">');
	  			ListPhones(form_id);
	  		} else {
		  		$("#add-phone-error",form).html(result);
	  		}
	  	}
		);
	} else {
		$("#add-phone-error",form).html("Введите номер телефона и код подтверждения!");
	}
	
	return false;
}	


/*
* Very simple function to validate form and set "missed" class to missed fields.
* <form id="f1" onSubmit="return validateForm('f1')">
* <input type="text" name="test" req="true">
* </form>
* <style>.missed { background-color: #ffEEEE; border: solid 2px #ff0000; }</style>
*/
function validateForm(id) {
 var focused = false;
 var valid = true;
 
 $('#' + id + ' *[req]:input').each(function(i, fld) {
 		if(!validateField(fld)) {
 			if(!focused) {
 				$(fld).focus();
 				focused = true;
 			}
 			valid = false;
 		}
 	});
 	
 	return valid;
}

function validateField(fld) {
	if($(fld).val() == null || $(fld).val() == '' || ($(fld).attr('type') == 'checkbox' && !$(fld).attr('checked'))) {
		if(!$(fld).hasClass("missed")) {
			$(fld).addClass("missed");
			$(fld).bind('keyup click', function(){ validateField(fld) });
		}
		return false;
	} else {
		$(fld).removeClass("missed");
		return true;
	}
}
	

/* Оценка отзыва */
function R_C_Like(cid, like, containerId)
{
	$.get('/ajax/rating.dolike/?cid=' + cid + '&like=' + like + '&ajax=1',
		function(result) {
		$("#" + containerId).html(result);
  	}
	);
}


/* Запрос с сервера информера стоимости доставки */
function updateDlvInformer(region_id, delivery_id, containerId) {
 if(region_id > 0) {
	 $("#" + containerId).html('<img src="/img/ajax-loader.gif">');
	 $.ajax({
	  url: '/ajax/shop.dlv_informer/?delivery_id=' + delivery_id + '&region_id=' + region_id,
	 	cache: false,
	 	dataType: 'html',
	 	success: function(result) {
	 		$("#" + containerId).replaceWith(result);
	 	}
	 });
 }
}

/* Универсально отображение всплывающего окна */
function showMD(html) {
	$.fancybox({
		"onComplete": function() {
			$("#fancybox-wrap").unbind("mousewheel.fb");
		},
		"overlayOpacity": fancyOverlay,
		"overlayColor": fancyColor,
		"titlePosition": "inside",
		"showNavArrows": false,
		"padding": "0",
		"enableKeyboardNav": false,
		"content": html
	});
}

function closeMD() {
	$.fancybox.close();
}

function MDActivity(active) {
	if (active) {
		$.fancybox.showActivity();
	} else {
		$.fancybox.hideActivity();
	}
}

function show_cart_win(){
	$.fancybox({
		"href": "/shop/cart/",
		"onComplete" : function() {$("#fancybox-wrap").unbind('mousewheel.fb');},
		"type": "iframe",
		"overlayOpacity": fancyOverlay,
		"overlayColor": fancyColor,
		"showNavArrows": false,
		"autoDimensions": false,
		"padding": "0",
		"enableKeyboardNav": false,
		"width": 655,
		"height": 480,
		"scrolling": "no"
	});
}

function add_cart(itemid){
	if ($("#addcart"+itemid).parents(".this-is-ot").size()<"1"){
		$.ajax({
			url: '/cgi-bin/main.cgi?module=shop&act=addcart&itemid='+itemid+'&' + $("#addcart" + itemid).serialize(),
			success: function(responseText){
				if ($("#error", responseText).size()=="1") {
					alert($("#error", responseText).text());
				} else {
					show_cart_win();
				}
			}
		});
	}
	return false;
}

function add_cart_multi(ids) {
	var urls = '/cgi-bin/main.cgi?module=shop&act=addcart&num=1';
	for (var i=0; i<ids.length; i++) {
		urls+= '&itemid=' + ids[i];
	}
	$.ajax({
		url: urls,
		success: function(responseText){
			if ($("#error", responseText).size()=="1") {
				alert($("#error", responseText).text());
			} else {
				show_cart_win();
			}
		}
	});
	return false;
}

function add_cart_importid(ids) {
	var urls = '/cgi-bin/main.cgi?module=shop&act=addcart&num=1';
	for (var i=0; i<ids.length; i++) {
		urls+= '&importid=' + ids[i];
	}
	$.ajax({
		url: urls,
		success: function(responseText){
			if ($("#error", responseText).size()=="1") {
				alert($("#error", responseText).text());
			} else {
				show_cart_win();
			}
		}
	});
	return false;
}

function loadCart() {
	$("#load-full-basket").bind("click",function(){
		$("#full-basket .loaded").load("/shop/cart2/?tmod=:ajax", function(){
			$(this).parent().css({"opacity":"0","display":"block","margin-top":"-10px"}).animate({"opacity":"1","margin-top":"0"},300);
		})
		$("body").bind("click",function(){
			$("#full-basket").fadeOut(300,function(){
				$("body").unbind("click");
			});
		});
		$("#cart").click(function(event){
			event.stopPropagation();
		});
	});
}

function reloadCart(){
	$.ajax({
		url: "/fcgi/shop/informer/",
		success: function(data){
			$("#cart").replaceWith(data);
			loadCart();
		}
	});
}

function reloadContent(u){
	if (u == undefined) {
		var ajaxtmod = document.location.pathname+document.location.search;
	} else {
		var ajaxtmod = u;
	}
	if (ajaxtmod.indexOf('?') >= 0) { ajaxtmod+="&tmod=:ajax" } else { ajaxtmod+="?tmod=:ajax" };
	if (ajaxtmod.indexOf('/fcgi/') < 0) { ajaxtmod = '/fcgi' + ajaxtmod; }

	$.ajaxSetup ({ cache: false });
	$.ajax({
		dataType: "html", 
		url: ajaxtmod,
		success: function(data) {
			$(contentElement).html(data);
			loadPlugins();
			if (u != undefined) {
				$("html, body").animate({"scrollTop":$(contentElement).offset().top-60},1000);
			}
		}
	});
}

function loadFancy() {
	$("*[rel='fancybox']").each(function(i){
		var fancyLink = $(this);
		$(this).fancybox({
			"onComplete": function() {
				$("#fancybox-wrap").unbind("mousewheel.fb");
				if (fancyLink.parent().hasClass("preview")) { $("html, body").animate({"scrollTop":$(window).scrollTop()}, 100, function() { $.fancybox.center(); }); }
			},
			"overlayOpacity": fancyOverlay,
			"overlayColor": fancyColor,
			"titlePosition": "inside",
			"type": "inline",
			"showNavArrows": false,
			"padding": "0",
			"enableKeyboardNav": false
		});
	});
}


// Filter
	$(".filter label").live("click",function(){
		$(".filter .checked").removeClass("checked");
		$(".filter input:checked").parent().addClass("checked");
	});
	$(".filter #reset").live("click",function(){
		$(".filter .checked").removeClass("checked");
		$(".filter input:checked").removeAttr("checked");
	});

$(document).ready(function(){
	loadCart();
	$("*[rel='show-hide']").live("click",function(){
		$($(this).attr("href")).slideToggle(400);
		return false;
	});
	$("*[rel='show-once']").live("click",function(){
		$($(this).attr("href")).fadeIn(400);
		return false;
	});	
	$(".need-login").live("click",function(){
		if ($("#login-form").length) {
			$.fancybox({
				"onComplete": function() {
					$("#fancybox-wrap").unbind("mousewheel.fb");
				},
				"href": "#login-form",
				"overlayOpacity": fancyOverlay,
				"overlayColor": fancyColor,
				"titlePosition": "inside",
				"type": "inline",
				"showNavArrows": false,
				"padding": "0",
				"enableKeyboardNav": false
			});
			return false;
		}; 
	});
	$("#search input[name='query']").autocomplete('/ajax/search.autocomplete/', { delay: 300, width: 217 }).result(function() { $("#search input[type='submit']").click(); });
	$(".filter .field .checked").each(function(i){
		$(this).click();
	});


// OT
	$(".this-is-ot form").submit(function(event){
		event.preventDefault();
		var winHeight = ($(window).height())-150;
		var thisid = $(this).parents(".this-is-ot").attr("itemid");
		$(this).parent().append('<div class="fb-content"><div style="width: 700px;" id="ot-items-'+thisid+'"></div></div>');
		$("#ot-items-"+thisid).load("/fcgi/showitem/ot/?itemid="+thisid, function(){
			$.fancybox({
				"href": "#ot-items-"+thisid,
				"onComplete": function(){
					$("#fancybox-wrap").unbind("mousewheel.fb");
					$("#ot-items-"+thisid+" .ot-list").css({"max-height":winHeight});
					$(".ot-list a").click(function(){
						return false;
					});
				},
				"overlayOpacity": fancyOverlay,
				"overlayColor": fancyColor,
				"titlePosition": "inside",
				"type": "inline",
				"showNavArrows": false,
				"padding": "0",
				"enableKeyboardNav": false,
				"onClosed": function(){
					$("#ot-items-"+thisid).remove();
				}
			});
		});
		return false;
	});
	
// Ajax Change Basket Content
	$("#cart-items .ajax-delete").live("click",function(){
		var thisnameurl = "/cgi-bin/main.fcgi?module=shop&act=docart&"+$(this).attr("href");
		var rowtodelete = $(this).parents("tr");
		if (confirm("Удалить товар из корзины?")) {
			$.ajax({
				url: thisnameurl,
				cache: false,
				success: function(response){
					if ($("#error",response).length) {
						alert($("#error",response).text());
					} else {
						rowtodelete.fadeOut(400,function(){
							reloadContent();
							reloadCart();
						});
					}
				}
			});
		}
		return false;
	});
	$("#cart-items input[type='text']").live("change",function(){
		var thisnameurl = "/cgi-bin/main.fcgi?module=shop&act=docart&"+$(this).attr('name')+"="+$(this).val();
		$.ajax({
			url: thisnameurl,
			cache: false,
			success: function(response){
				if ($("#error",response).length) {
					alert($("#error",response).text());
				}
				reloadContent();
				reloadCart();
			}
		});
	});
	$("#cart-items .ajax-decrease").live("click",function(){
		curval = $("input[name="+$(this).attr('href')+"]").val();
		if (curval==1) {
			$(this).parent().next().find("a").click();
		} else {
			$("input[name="+$(this).attr('href')+"]").val(curval-1).change();
		}
		return false;
	});
	$("#cart-items .ajax-increase").live("click",function(){
		curval = $("input[name="+$(this).attr('href')+"]").val();
		$("input[name="+$(this).attr('href')+"]").val(curval*1+1).change();
		return false;
	});
	
/*
	$("#page-nav a").live("click",function(){
		$(this).parent().append(AJAX_PROGRESS_SMALL);
		reloadContent($(this).attr("href"));
		return false;
	});
*/
	
	// Auto-clear input fields on focus
	$("input[rel=autoclear]").each(function() { 
		$(this).attr("old_val", $(this).val()); 
	}).focus(function() {
		if($(this).val() == $(this).attr("old_val")) {
			$(this).val("");
		}
	}).blur(function() {
		if($(this).val() == "") {
			$(this).val($(this).attr("old_val"));
		}
	});
	
// Floating Step Nav
	if ($("#float-steps").size()>0){
		var stepnav = $("#float-steps").offset().top-10;
		$(window).scroll(function(){
			if ($(window).scrollTop()>=stepnav){
				$("#float-steps").addClass("fixed");
			} else {
				$("#float-steps").removeClass("fixed");
			}
		});
	}
});
function iwantmyoldie(){
	$.cookies.set("iamstupidie6user","yes");
}

$(window).ready(function(){
// Check Comments Hash
	if (document.location.hash=="#add_comment-tab") {
		if ($("#add_comment").size()>0) {
			$("html, body").animate({"scrollTop":$("#add_comment").offset().top-60},1600,function(){
				$("#add_comment textarea").focus();
			});
		}
	}
// IE7 User Notify
	if (ie7 && $.cookies.get("iamstupidie6user")!="yes") {
		$("body").append('<div class="fb-content"><div id="oldIE" style="width: 400px;"><div class="title">Ваш браузер устарел</div><div style="padding: 0 14px 20px;"><p>Ваш браузер "Internet Explorer" устарел. Мы стараемся поддерживать работоспособность нашего сайта в вашем браузере, но все же рекомендуем вам обновиться до последних версий:</p><ul><li><a href="http://www.google.ru/chrome/">Google Chrome</a></li><li><a href="http://www.onlinekrasota.ru/">Internet Explorer 9</a></li><li><a href="http://www.apple.com/ru/safari/">Apple Safari</a></li><li><a href="http://www.mozilla.com/firefox/">Mozilla Firefox</a></li><li><a href="http://www.opera.com/browser/">Opera</a></li></ul><br/><div align="center"><button class="submit" onclick="iwantmyoldie(); closeMD();">Продолжить просмотр сайта</button></div></div></div></div>');
		showMD($("#oldIE"));
	}
});
