// casting blanket
function cast_blanket(popup, time)
{
	var document_h = $(document).height();
	var document_w = $(window).width();
	$("<div></div>").attr({id: "blanket"}).css({height: document_h, left: 0, opacity: 0, position: "absolute", top: 0, width: document_w, zIndex: 105}).appendTo($("body"));
	if ($.browser.msie && $.browser.version < 8)
	{
		$("<iframe></iframe>").attr({id: "blanket_iframe"}).css({border: 0, height: document_h, left: 0, opacity: 0, position: "absolute", top: 0, width: document_w, zIndex: 104}).appendTo($("body"));
	}
	position_popup(popup);
	$(window).bind("resize", function()
		{
			change_blanket();
			position_popup(popup);
		}
	);
	if (time != 0)
	{
		popup.show(time);
	}
	else
	{
		popup.show();
	}
	$("#blanket").bind("click", function()
		{
			remove_blanket(popup, 0);
		}
	);
	// esc removes blanket
	$(document).bind("keydown", function(e)
		{
			if (e == null)
			{
				var keycode = e.keyCode; // ie
			}
			else
			{
				var keycode = e.which; // mozilla
			}
			if (keycode == 27)
			{
				remove_blanket(popup, time);
			}
		}
	);
	return;
}
// changing dimensions of blanket
function change_blanket()
{
	var document_h = $(document).height();
	var document_w = $(window).width();
	$("#blanket").css({height: document_h, width: document_w});
	$("#blanket_iframe").css({height: document_h, width: document_w});
}
// castaway blanket
function remove_blanket(popup, time)
{
	if (time != 0)
	{
		popup.fadeOut(time);
		setTimeout(function() {$("#blanket").css({opacity: 0});}, time);
		setTimeout(function() {$("#blanket_iframe").remove();}, time);
		setTimeout(function() {$("#blanket").remove();}, time);
	}
	else
	{
		popup.hide();
		$("#blanket").css({opacity: 0});
		$("#blanket_iframe").remove();
		$("#blanket").remove();
	}
	return;
}
// positioning popup
function position_popup(popup)
{
	var view_width = $(window).width();
	var view_height = $(window).height();
	var popup_width = popup.width();
	var popup_height = popup.height();
	var popup_loading_left = Math.ceil((view_width - popup_width) / 2) + $(document).scrollLeft();
	var popup_loading_top = Math.ceil((view_height - popup_height) / 2) + $(document).scrollTop();
	if (view_width - popup_width < 0)
	{
		popup_loading_left = $(document).scrollLeft() + 10;
	}
	if (view_height - popup_height < 0)
	{
		popup_loading_top = $(document).scrollTop() + 10;
	}
	if (popup.css("position") == 'fixed')
	{
		var popup_loading_left = Math.ceil((view_width - popup_width) / 2);
		var popup_loading_top = Math.ceil((view_height - popup_height) / 2);
		if (view_width - popup_width < 0)
		{
			popup_loading_left = 10;
		}
		if (view_height - popup_height < 0)
		{
			popup_loading_top = 10;
		}
	}
	popup.css({left: popup_loading_left, top: popup_loading_top});
	return;
}
// ie<6 only - set footer to bottom
function set_footer()
{
	if ($.browser.msie && $.browser.version == 6)
	{
		var doc_h = $(body).height();
		var f = $("#footer").height();
		$("#footer").css({top: doc_h - f});
	}
	return;
}
// ie<6 - set height of block which has 100% height via css
function set_ie_height(elm, h)
{
	if ($.browser.msie && /6.0/.test(navigator.userAgent))
	{
		elm.css({height: h});
	}
	return;
}
// sliding to the left
function slide_left(gal_width, cont_width, scroll, elm)
{
	var cur_scroll = elm.scrollLeft();
	if (scroll > 0 && cur_scroll <= scroll)
	{
		var clicks = Math.ceil(cur_scroll / 85);
		elm.animate({scrollLeft: (85 * (clicks - 3))}, 400);
	}
	return;
}
// sliding to the right
function slide_right(gal_width, cont_width, scroll, elm)
{
	var cur_scroll = elm.scrollLeft();
	if (scroll > 0)
	{
		var clicks = Math.ceil(cur_scroll / 85);
		elm.animate({scrollLeft: (85 * (clicks + 3))}, 400);
	}
	return clicks;
}
$(document).ready(function()
{
	$('.iepng').ifixpng();
    setTimeout(set_height,500);
    
    $(window).resize(set_height);


// sort hover
	$(".sort .a").hover(
		function()
		{
			$(this).addClass("hover");
		},
		function()
		{
			$(this).removeClass("hover");
		}
	);


	// search field value remove
	$(".search .input input").bind("focus", function()
		{
			if ($(this).val() == 'поиск')
			{
				$(this).val('');
			}
		}
	);
	$(".search .input input").bind("blur", function()
		{
			if ($(this).val() == '')
			{
				$(this).val('поиск');
			}
		}
	);

    $("#l_name, #p_name, #f_name").bind("change blur", function()
		{
            var val = $(this).val().toString();
            $(this).val(val.charAt(0).toUpperCase() + val.substring(1));
            
           
		}
	);

    $("#order input").bind("change blur", function()
		{
            if ($(this).attr('name').indexOf('adr_') != -1)
            {
                var val = $(this).val().toString();
                $(this).val(val.charAt(0).toUpperCase() + val.substring(1));
            }


		}
	);




        

	// top menu balloons showup
	$("#m_top>li a").hover(
		function()
		{
			$(".balloon", $(this).parent("li")).show();
		},
		function()
		{
			$(".balloon", $(this).parent("li")).hide();
		}
	);
	// switch chapters in left menu
	$(".chap_menu li a").bind("click", function(e)
		{
			e.preventDefault();
			$(".chap_menu li").each(function()
				{
					$(this).removeClass("a");
				}
			);
			var cur_class = $(this).parent("li").attr("class");
			$(this).parent("li").addClass("a");
			$(".chapters .menu").each(function()
				{
					$(this).addClass("hide");
				}
			);
			$("."+cur_class, ".chapters").removeClass("hide");
		}
	);

    // submit_checkout
	$("button#submit_checkout").bind("click", function(e)
		{
			e.preventDefault();
			window.location.assign('/cart/order');
		}
	);

   



	// feedback window showup
	$(".feedback a").bind("click", function(e)
		{
			e.preventDefault();
			cast_blanket($("#ww_feedback"), 0)
		}
	);


	// close feedback window
	$("#ww_feedback .close a").bind("click", function(e)
		{
			e.preventDefault();
			remove_blanket($("#ww_feedback"), 0);
		}
	);
        
        
    //error feedback window showup
	$(".found_err a").bind("click", function(e)
		{
			e.preventDefault();
			cast_blanket($("#ww_feedback_err"), 0)
		}
	);
        
        
	// error close feedback window
	$("#ww_feedback_err .close a").bind("click", function(e)
		{
			e.preventDefault();
			remove_blanket($("#ww_feedback_err"), 0);
		}
	);




        
    // close add to cart
	$("#ww_added .bot button").bind("click", function(e)
		{
			e.preventDefault();
			remove_blanket($("#ww_added"), 0);
		}
	);

    // close ok win
	$("#ww_ok .bot button").bind("click", function(e)
		{
			e.preventDefault();
			remove_blanket($("#ww_ok"), 0);
		}
	);

    // close err win
	$("#ww_err .bot button").bind("click", function(e)
		{
			e.preventDefault();
			remove_blanket($("#ww_err"), 0);
		}
	);


   // form validation
	$("input[valid=email], input[valid=req],input[valid=compare]").bind("change blur", function(e)
		{
            validateField(this);
		}
	);



	// good image hover icon showup
	$("#good .img .pic a").hover(
		function()
		{
			$("#good .img .pic .icon").show();
		},
		function()
		{
			$("#good .img .pic .icon").hide();
		}
	);


	// queries slider
	$('.slider .list_pre').css({overflow: "hidden"});
	var total_elms = $('.slider .list li').length;
	var cont_width = $('.slider .inner').width();
	var gal_width = total_elms * (70 + 15) - 15;
	var scroll = gal_width - cont_width;
	$('.slider .list').width(gal_width);
	if (total_elms > 1)
	{
		$(".slider .nav_next a").addClass("a");
	}
	$(".slider .nav_prev a").bind("click", function(e)
		{
			e.preventDefault();
			slide_left(gal_width, cont_width, scroll, $('.slider .list_pre'));
		}
	);
	$(".slider .nav_next a").bind("click", function(e)
		{
			e.preventDefault();
			slide_right(gal_width, cont_width, scroll, $('.slider .list_pre'));
		}
	);

	// slider balloon showup
	$(".slider li img").hover(
		function()
		{
			var elm = $(".b_text", $(this).parents("li"));
			if (elm.length == 1)
			{
				var txt = elm.html();
				var x = Math.ceil($(this).parents("li").offset().left);
				var y = Math.ceil($(this).parents("li").offset().top);
				$("#ww_balloon .inner").html(txt);
				var h = $("#ww_balloon").height();
				var w = $("#ww_balloon").width();
				set_ie_height($("#ww_balloon .bg"), h);
				$("#ww_balloon").css({left: x - w / 2 + $(this).width() / 2, top: y - (h + 34)}).show();
			}
		},
		function()
		{
			$("#ww_balloon").hide();
		}
	);

	// order noname show captcha
	if ($("#frm_type").val() && $("#frm_type").val() != "1")
	{
		$("#order_n .captcha").show();
	}
	$("#order_n .radio input").bind("change click", function()
		{
			if ($(this).val() != "1")
			{
				$("#order_n .captcha").show();
				set_footer();
			}
			else
			{
				$("#order_n .captcha").hide();
				set_footer();
			}
		}
	);


    $(".shipment .periods a").bind("click", function(e)
		{
			e.preventDefault();
			var d = new Date();
			var time = d.getTime();
			var classn = $(this).attr("class");
			var tback = 0;
			switch (classn)
			{
				case 'w':
					tback = 7 * 24 * 60 * 60 * 1000;
				break;
				case 'w2':
					tback = 2 * 7 * 24 * 60 * 60 * 1000;
				break;
				case 'w4':
					tback = 4 * 7 * 24 * 60 * 60 * 1000;
				break;
			}
			var p = $(this).parents(".shipment");
			d.setTime(time - tback);
			var m = d.getUTCMonth() + 1;
            if (m<10)
            {
              m = '0'+m;
            }

            var day = d.getUTCDate();
            if (day<10)
            {
              day = '0'+day;
            }

			$(".input input", p).val(day+'.'+m+'.'+d.getFullYear());
		}
	);

    $.datepicker.setDefaults($.datepicker.regional['ru']);
    $(".date_input").datepicker({dateFormat: 'dd.mm.yy',maxDate:0});
    
    $(".shipment .calendar a").bind("click", function(e)
    {
        e.preventDefault();
        $(".date_input").datepicker( 'show' );
    });


});


function addToCart(id,qty)
{
    if (document.getElementById('is_on') && document.getElementById('is_on').value =='0')
    {
        if (!confirm("Этот товар на текущий момент отсутствует. \nНо если Вы его закажете (заявка на будущее), тогда мы сможем в течение 6 месяцев с момента заказа отследить его поступление и свяжемся с Вами\nНажмите [ОK] для того, чтобы продолжить заказ товара, [Отмена] - для отмены действия"))
        {
            return false;
        }
    }
	id = parseInt(id);
	qty = parseInt(qty);

     // submit
	 $('#cart_block').mask('Добавляем в корзину');
     $.post("/cart/add_to_cart", {item_id:id,qty:qty},
           function(data)
            {
                if (data != 500)
                {
                    $('#cart_block').load('/cart/get_cart_side');
                    $('#cart_block').unmask();
                    $('#added_title').html(data)
                    cast_blanket($('#ww_added'),0);
                    $('#ok_btn').focus();
                } else
                {
                    $('#cart_block').load('/cart/get_cart_side');
                    $('#cart_block').unmask();
                    err_message("Чтобы <a href='#' onclick='registeredBonus(); return false;'>не потерять</a> содержимое корзины<br>просим Вас <a href='/user/login'>зайти на сайт под своим логином и паролем</a>  или <a href='/user/register'>зарегистрироваться</a>","Важно!");
                }
                
            });

}

function registeredBonus()
{
    alert("Зарегистрированные пользователи имеют ряд преимуществ.\nНапример, содержимое корзины покупок не очищается, когда вы покидаете сайт или не проявляете активности более 20 минут, а хранится постоянно, либо до момента оформления, либо пока не будет очищена вами.\n\nЗарегистрированным пользователям не нужно каждый раз заполнять контактные данные для заказов. Мы их помним.\n\nСкидки предоставляются только зарегистрированным клиентам.","Преимущества");
}

function deleteFromCart(el)
{
    var id = $(el).attr('item_id');
    $('#cart_block').mask('Обновляем корзину');
    //alert(id);
    $.post("/cart/delete_from_cart", {item_id:id},
    function(data)
    {
        //alert(data);
        $('#cart_block').load('/cart/get_cart_side');
        $('#cart_block').unmask();

    });
}


function CheckEmail (email,emptyOK) {
	var newstr = "";
	var at = false;
	var dot = false;
	var tld = "";
	var checkString = email;
	var validTLDs = ":com:net:org:edu:aero:biz:coop:info:museum:name:pro:ad:ae:af:ag:ai:" +
	"al:am:an:ao:aq:ar:as:at:au:aw:az:ba:bb:bd:be:bf:bg:bh:bi:bj:bm:bn:" +
	"bo:br:bs:bt:bv:bw:by:bz:ca:cc:cf:cg:ch:ci:ck:cl:cm:cn:co:cr:cs:cu:" +
	"cv:cx:cy:cz:de:dj:dk:dm:do:dz:ec:ee:eg:eh:er:es:et:fi:fj:fk:fm:fo:" +
	"fr:fx:ga:gb:gd:ge:gf:gh:gi:gl:gm:gn:gp:gq:gr:gs:gt:gu:gw:gy:hk:hm:" +
	"hn:hr:ht:hu:id:ie:il:in:io:iq:ir:is:it:jm:jo:jp:ke:kg:kh:ki:km:kn:" +
	"kp:kr:kw:ky:kz:la:lb:lc:li:lk:lr:ls:lt:lu:lv:ly:ma:mc:md:mg:mh:mk:" +
	"ml:mm:mn:mo:mp:mq:mr:ms:mt:mu:mv:mw:mx:my:mz:na:nc:ne:nf:ng:ni:nl:" +
	"no:np:nr:nt:nu:nz:om:pa:pe:pf:pg:ph:pk:pl:pm:pn:pr:pt:pw:py:qa:re:" +
	"ro:ru:rw:sa:sb:sc:sd:se:sg:sh:si:sj:sk:sl:sm:sn:so:sr:st:su:sv:sy:" +
	"sz:tc:td:tf:tg:th:tj:tk:tm:tn:to:tp:tr:tt:tv:tw:tz:ua:ug:uk:um:us:" +
	"uy:uz:va:vc:ve:vg:vi:vn:vu:wf:ws:ye:yt:yu:za:zm:zr:zw:int:mil:arpa:nato:tv:moby:";


	if (isEmpty(checkString) && (emptyOK == true))
    {
		return (true);
	}

	tld = reverseStr(checkString);
	tld = tld.substr(0,tld.search(/\./));			// find the '.' and copy to it
	tld = ":" + reverseStr(tld).toLowerCase() + ":";	//This becomes the search string
	if (validTLDs.search(tld) == -1)
    {
		//alert("Неверный формат email");
		// emailField.focus();
		return (false);
	}


	for (var i = 0; i < checkString.length; i++)
    {
		ch = checkString.substring(i, i + 1)
		if ((ch >= "A" && ch <= "Z") || (ch >= "a" && ch <= "z")
		|| (ch == "@") || (ch == ".") || (ch == "_")
		|| (ch == "-") || (ch >= "0" && ch <= "9")) {
			newstr += ch;
			if (ch == "@") {
				if (at == true) { //only one per address!
					at = false;
					break;
				}
				at=true;
			}
		}
	}
	if (!at)
    {
		//alert("Неверный формат email");
		//emailField.focus();
		return (false);
	}
	if (newstr.length != checkString.length)
    {	// invalid characters were not copied
		//alert("Неверный формат email");
		//emailField.focus();
		return (false);
	}

	return (true);
} /* CheckEmail() */


function isEmpty (inStr) {
	var s = trimStr(inStr);
	return ((s.length == 0) || (s == ""));
} /* isEmpty */

function trimStr (inStr) {
	//regex explanation:
	//regex is in forward slashes:  //
	// syntax  string = string.replace(/pattern/, 'replace with this');
	//    ^        = beginning of line
	//    (\s+)?   = one or more characters of whitespace, optional
	//    (.*\S)   = any characters, with the last one not being whitespace
	//    (\s+)?   = one or more characters of whitespace, optional
	//    $        = end of line
	//    $2       = what was in the 2nd set of parenthesis


	return inStr.replace(/^(\s*)?(.*\S*)(\s*)?$/, '$2');
}

function reverseStr (inStr) {
	var outStr;
	for (outStr="", i=inStr.length-1;i>-1;i=i-1) {
		outStr += inStr.charAt(i);
	}
	return (outStr);
} /* reverseStr */


function validateForm()
{
    var was_error = false;
    // form validation
	$("form#reg_form input[valid=email],form#reg_form input[valid=req],form#reg_form input[valid=compare]").each(function()
		{
            if (!validateField(this))
            {
               // alert($(this).attr('id'));
                was_error = true;
            }
		}
	);

    if (was_error)
    {
        return false
    } else
    {
        return true;
    }


}



function validateField(el)
{
    var valid_type = $(el).attr('valid');
    switch(valid_type)
    {
        case 'email':
            if (CheckEmail($(el).val(), false))
            {
                $(el).parent().removeClass('x_err');
                $(el).parent().addClass('x_ok');
                $(el).siblings('.icon_err').html('');
                return true;

            } else
            {
                $(el).parent().removeClass('x_ok');
                $(el).parent().addClass('x_err');
                $(el).siblings('.icon_err').html('Неверный формат email');
                return false;
            }
        break;

        case 'req':
            if (isEmpty($(el).val()))
            {
                $(el).parent().removeClass('x_ok');
                $(el).parent().addClass('x_err');
                $(el).siblings('.icon_err').html('Поле необходимо заполнить');
                return false;
            } else
            {
                $(el).parent().removeClass('x_err');
                $(el).parent().addClass('x_ok');
                $(el).siblings('.icon_err').html('');
                return true;
            }

        break;

        case 'compare':
            if (isEmpty($(el).val()))
            {
                $(el).parent().removeClass('x_ok');
                $(el).parent().addClass('x_err');
                $(el).siblings('.icon_err').html('Поле необходимо заполнить');
                return false;
            } else
            {
                $(el).parent().removeClass('x_err');
                $(el).parent().addClass('x_ok');
                $(el).siblings('.icon_err').html('');
            }




            if ($(el).val() != $('#'+$(el).attr('cmpr_id')).val())
            {
                $(el).parent().removeClass('x_ok');
                $(el).parent().addClass('x_err');
                $(el).siblings('.icon_err').html('Значения не совпадают');

                $('#'+$(el).attr('cmpr_id')).parent().removeClass('x_ok');
                $('#'+$(el).attr('cmpr_id')).parent().addClass('x_err');
                $('#'+$(el).attr('cmpr_id')).siblings('.icon_err').html('Значения не совпадают');
                return false;

            } else
            {
                $(el).parent().removeClass('x_err');
                $(el).parent().addClass('x_ok');
                $(el).siblings('.icon_err').html('');

                $('#'+$(el).attr('cmpr_id')).parent().removeClass('x_err');
                $('#'+$(el).attr('cmpr_id')).parent().addClass('x_ok');
                $('#'+$(el).attr('cmpr_id')).siblings('.icon_err').html('');
                return true;

            }


            //


        break;


    }
            
}

function validateSendField(el)
{
    var valid_type = $(el).attr('valid');
    switch(valid_type)
    {
        case 'email':
            if (CheckEmail($(el).val(), false))
            {
                return true;

            } else
            {
                return false;
            }
        break;

        case 'req':
            if (isEmpty($(el).val()))
            {
                return false;
            } else
            {

                return true;
            }

        break;




    }

}


function validateSendForm()
{
     var was_error = false;
    // form validation
	$("form#send_form input[valid=email],form#send_form  input[valid=req],form#send_form textarea[valid=req]").each(function()
		{
            $(this).parents('li').removeClass('error')
            
            if (!validateSendField(this))
            {
                $(this).parents('li').addClass('error');
                was_error = true;
            }
		}
	);

    if (was_error)
    {
        return false
    } else
    {
        return true;
    }
}

function doSendFb()
{
    if (validateSendForm())
    {
        $('#ww_feedback').mask('Отправляем...');

        $.post("/contacts/send", $('#send_form').serializeArray(),
        function(data)
        {
            $('#ww_feedback').unmask();
            if (data =='1')
            {
                remove_blanket($("#ww_feedback"),0);
                ok_message('Сообщение отправлено','Спасибо!');
            } else
            {
                remove_blanket($("#ww_feedback"),0);
                err_message(data,'Ошибка!');
            }
               

         });
    }
}


function doSendError()
{
    if (validateSendErrForm())
    {
        $('#ww_feedback_err').mask('Отправляем...');

        $.post("/contacts/send_error", $('#send_err').serializeArray(),
        function(data)
        {
            $('#ww_feedback_err').unmask();
            if (data =='1')
            {
                remove_blanket($("#ww_feedback_err"),0);
                ok_message('Сообщение отправлено','Спасибо!');
            } else
            {
                remove_blanket($("#ww_feedback_err"),0);
                err_message(data,'Ошибка!');
            }


         });
    }
}


function validateSendErrForm()
{
     var was_error = false;
    // form validation
	$("form#send_err input[valid=email],form#send_err  input[valid=req],form#send_err textarea[valid=req]").each(function()
		{
            $(this).parents('li').removeClass('error')

            if (!validateSendField(this))
            {
                $(this).parents('li').addClass('error');
                was_error = true;
            }
		}
	);

    if (was_error)
    {
        return false
    } else
    {
        return true;
    }
}

function ok_message(message,title)
{
    cast_blanket($("#ww_ok"), 0);
    if (!title)title = 'Внимание!';
    $('#ok_text').html(message);
    $('#ok_title').html(title);

}


function err_message(message,title)
{
    cast_blanket($("#ww_err"), 0);
    if (!title)title = 'Внимание!';
    $('#err_text').html(message);
    $('#err_title').html(title);

}

function recalcCart()
{
    // submit
	 $('#cart_block').mask('Обновляем корзину');
     $.post("/cart/update_cart", $('#cart_form').serializeArray(),
     function(data)
            {
                //alert(data);
                $('#cart_block').load('/cart/get_cart_side');
                $('#cart_block').unmask();


     });
}

function set_height()
{
	var h = $("#body").height();
	var h_w = $("#body_wrap").height();
	if (h_w < h)
	{
		$("#body_wrap").height(h);
	}
	return;
}

function validateCheckoutForm()
{
    var was_error = false;
    // form validation
	$("form#checkout_form input[valid=email],form#checkout_form input[valid=req]").each(function()
		{
            if (!validateField(this))
            {
               // alert($(this).attr('id'));
                was_error = true;
            }
		}
	);

    if (was_error)
    {
        return false
    } else
    {
        return true;
    }


}


function checkConfirmOrder()
{
    if ($('#frm_terms').attr('checked'))
    {
        return true;
    } else
    {
        alert('Необходимо согласиться с условиями доставки и согласования заказа');
        return false;
    }
}




function checkDate()
{
    if (jQuery.trim($('#frm_shiptill').val()) == '')
    {
        alert('Выберите дату');
        return false;
    }
    return true;
}

var pListener = new Object();
function nFunc()
{

}

pListener.onInit = nFunc;
pListener.onUpdate = nFunc;
function _getFlashObject()
{
    return document.getElementById("cPlayer");
}

var currentMp3Url;
function play(url, obj)
{
    if (currentMp3Url != url)
    {
        _getFlashObject().SetVariable("method:setUrl", url);
        _getFlashObject().SetVariable("method:play", "");
        pListener.isPlaying = true;
        currentMp3Url = url;
        obj.innerHTML = '<img src="/images/pause.png"  width="12" height="13" align="top" />';
    } else
    {
        obj.innerHTML = '<img src="/images/song.png" title="Можно прослушать отрывок" alt="Можно прослушать отрывок" width="12" height="13" align="top" />';
        stop();
        pListener.isPlaying = false;
    }
}
function pause() {
    _getFlashObject().SetVariable("method:pause", "");
}
function stop() {
    currentMp3Url = '';
    _getFlashObject().SetVariable("method:stop", "");
}



