$(document).ready(function () {

$('.thumb_col a').click(
function() {

		if ($(this).hasClass('curitem')) {
			return false;
		}
		else {
			var item_id=$(this).find('img').attr('alt');
			ShowItem(item_id);
			$('.thumbs_col a').removeClass('curitem');
			$(this).addClass('curitem');
			return false;
		}
}
);

$('.priceselect').change(
function() {
var sdata=$(this).attr("value").split(":");
$(".pricechanger").html(sdata[1]);
}
);


$.preloadImages("/f/i/form_shadow.png");

$("a.group").fancybox({
	'overlayOpacity':0.1,
	'transitionIn'	: 'none',
	'transitionOut'	: 'none',
	'titleShow' : false
});

$("input#login").labelify({labelledClass: "labelinside"});
$("input#password").labelify({labelledClass: "labelinside"});

    $('.pop_t123').hover(function () {
        $('.pop_up').stop();
        $('.pop_up').animate({
            top: '0px'
        },
        350);
    },
    function () {
        $('.pop_up').stop();
        $('.pop_up').animate({
            top: '-27px'
        },
        350);
});

$('#details').attr("checked",false);
$('#nodetails').attr("checked",true);

$('#details').click(function() {
$(".details_block").show();
var theight = $(".regform").height();
renderBlock(theight);
}); 

$('#nodetails').click(function() {
$(".details_block").hide();
var theight = $(".regform").height();
renderBlock(theight);
});

$(".form_close").click(function() {
$(this).parent().css("height", "0px");
$(this).parent().find(".wrap").css("height", "0px");
$(this).parent().hide();
});

$(".showForm").click(function() {
$(".loginform").show();
$(".regform").hide();
renderBlock(175);
return false;
});

$(".showReg").click(function() {
$(".loginform").hide();
$(".regform").show();
var theight = $(".regform").height();
renderBlock(theight);
return false;
});

$('.allcategories li:not(.active) a.img').hover(function () {
        $(this).parent().toggleClass('blue');
    },
    function () {
    	$(this).parent().toggleClass('blue');

});

$('.allabout li:not(.active) a.img').hover(function () {
        $(this).parent().toggleClass('blue');
    },
    function () {
    	$(this).parent().toggleClass('blue');
});

$('.alldecisions li:not(.active) a.img').hover(function () {
        $(this).parent().toggleClass('blue');
    },
    function () {
    	$(this).parent().toggleClass('blue');
});

$('.allservice li:not(.active) a.img').hover(function () {
        $(this).parent().toggleClass('blue');
    },
    function () {
    	$(this).parent().toggleClass('blue');
});

$('.allusers li:not(.active) a.img').hover(function () {
        $(this).parent().toggleClass('blue');
    },
    function () {
    	$(this).parent().toggleClass('blue');
});

$(".add_elements .title").click(function() {
$(this).parent().parent().toggleClass('cl');
  $(this).parent().parent().toggleClass('op');
  $(this).next().slideToggle();
});

$(".col_names a").hover(
      function () {
        $(".col_names a").removeClass("active");
        $(this).addClass("active");
      }, 
      function () {
      }
);

$('.pop_ujjp').hover(function () {

},
    function () {
        $('.pop_up').stop();
        $('.pop_up').animate({
            top: '-27px'
        },
        350);
    });

    $('.lamp').hover(function () {
        $('.pop_up').stop();
    },
    function () {

});

 $('.allcategoriess li a.img').click(function () {
        $('.allcategoriess > li').removeClass('active');
        $(this).parent().addClass('active');
        return false;
});

    $('.where_to_buy .openimg img').click(function () {
        $('.where_to_buy .layout').stop();
        $('.where_to_buy .layout.closed').animate({
            height: '213px'
        },
        350);
        $('.where_to_buy .layout.opened').animate({
            height: '58px'
        },
        350);
        $('.where_to_buy .layout').toggleClass('opened');
        $('.where_to_buy .layout').toggleClass('closed');
    });

$("#scroll").cycle_prod();
//$("#scroll_big").cycle_prod_big();
    

$(".opener").mouseover(function() {

$(this).next().show();

});


$(".select").mouseleave(function() {

$(this).hide();

});
    
if(document.all && navigator.appVersion.indexOf("MSIE")>-1 && navigator.appVersion.indexOf("Windows")>-1)
  {
    var a = document.getElementsByTagName("label");
    for(var i=0,j=a.length;i<j;i++){
      if(a[i].hasChildNodes && a[i].childNodes.item(0).tagName == "IMG")
      {
        a[i].childNodes.item(0).forid = a[i].htmlFor;
        a[i].childNodes.item(0).onclick = function(){
          var e = document.getElementById(this.forid);
          switch(e.type){
            case "radio": e.checked|=1;break;
            case "checkbox": e.checked=!e.checked;break;
            case "text": case "password": case "textarea": e.focus(); break;
          }
        }
      }
    }
  }


});

function renderBlock (t) {
$(".table_block").hide();
$(".table_block").css("height",t+"px");
$(".table_block .wrap").css("height",t+"px");
$(".table_block").show();
}

function swapGroup (groupid) {

if ( $("#gr"+groupid).hasClass("act") ) {
}
else {
$("#gr"+groupid).parents(".add_elements").find("div.subact").slideUp();
$(".gr"+groupid).slideDown();
$(".gr"+groupid).addClass('subact');
$("#gr"+groupid).parents(".elements").find("span").removeClass("act");
$("#gr"+groupid).addClass('act');
}

}

function changer(point,pos,container) {
$('.'+container+' div').hide();
$('#'+point+'_'+pos).show();
}

function changer1(point) {
$(".allcollections li").removeClass('active');
$(".allcollections li div").removeClass('add_arrow');
$(".allcollections li div").removeClass('with_intro');
$("#"+point).addClass('active');
$("#"+point+" div").addClass('add_arrow');
$("#"+point+" div").addClass('with_intro');
$(".intro_text > div").hide();
$("."+point).show();
}

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();


addEvent(window,'unload',EventCache.flush);

function CssClassesHandler(object) { this.object = object }

CssClassesHandler.prototype = {
    object      : null,
    
    all         : function() {
                    return this.object.className.split(/\s+/)
                },

    exists      : function(className) {
                    var classes = this.all()
                    for(var i = 0; i < classes.length; i++)
                        if(classes[i] == className) return true
                    return false
                },

    add         : function(className) {
                    var classes = this.all()
                    for(var i = 0; i < classes.length; i++)
                        if(classes[i] == className) return
                    this.object.className = this.object.className + " " + className
                },

    remove      : function(className) {
                    var classes = this.all()
                    var cn = ""
                    for(var i = 0; i < classes.length; i++) {
                        var isMatch = (typeof className.test == "function")
                            ? className.test(classes[i])
                            : (classes[i] == className)
                        if(!isMatch) cn = cn + " " + classes[i]
                    }
                    this.object.className = cn.substr(1)
                },

    set         : function(className, state) {
                    if(state)
                        this.add(className)
                    else
                        this.remove(className)
                },

    flip        : function(className) {
                    if(this.exists(className))
                        this.remove(className)
                    else
                        this.add(className)
                }
}

function CssClasses(object) {
    return new CssClassesHandler(object)
}

function ShowBlock(blockid)

{
$(".item_block").hide();
$("#item"+blockid).show();
var theight = $("#item"+blockid+" .itemcard").height();
$("#item"+blockid).hide();
$("#item"+blockid).css("height",theight+"px");
$("#item"+blockid+" .wrap").css("height",theight+"px");
$("#item"+blockid).show();
}

if (typeof escapeOrig == 'undefined')
{
	var trans = [];
	for (var i = 0x410; i <= 0x44F; i++)
	{
		trans[i] = i - 0x350;
	}
	trans[0x401] = 0xA8;
	trans[0x451] = 0xB8;
	var escapeOrig = window.escape;
	window.escape = function(str)
	{
		var ret = [];

		for (var i = 0; i < str.length; i++)
		{
			var n = str.charCodeAt(i);

			if (typeof trans[n] != 'undefined')
			{
				n = trans[n];
			}
			if (n <= 0xFF)
			{
				ret.push(n);
			}
		}

		var res = escapeOrig(String.fromCharCode.apply(null, ret)).replace('+','%2B').replace(':','%3A').replace('/','%2F').replace('?','%3F').replace('=','%3D').replace('&','%26').replace('@','%40').replace('#','%23').replace('$','%24').replace(';','%3B');

		return res;
	}
}

function function_exists(function_name)
{
	if (typeof function_name == 'string')
	{
		return (typeof window[function_name] == 'function');
	}
	else
	{
		return (function_name instanceof Function);
	}
}

document.onkeydown = DoKeyDown;

function DoKeyDown(event)
{
	if (!document.getElementById)
	{
		return;
	}

	if (window.event)
	{
		event = window.event;
	}

	if (event.ctrlKey)
	{
		var Element = null;

		switch (event.keyCode ? event.keyCode : event.which ? event.which : null)
		{
			case 0x25:
			Element = document.getElementById ('id_prev');
			break;

			case 0x27:
			Element = document.getElementById ('id_next');
			break;
		}

		if (Element && Element.href)
		{
			document.location = Element.href;
		}
	}
}

function DoKeyDownFilter(event)
{
	if (!document.getElementById)
	{
		return;
	}

	el = document.getElementById('admin_forms_apply_button');

	switch (event.keyCode ? event.keyCode : event.which ? event.which : null)
	{
		case 13:
		el.click();
		break;
	}
}

function runScripts(scripts)
{
	if (!scripts)
	{
		return false;
	}

	for (var i = 0; i < scripts.length; i++)
	{
		var thisScript = scripts[i];
		var text;

		if (thisScript.src)
		{
			var newScript = document.createElement("script");
			newScript.type = thisScript.type;
			newScript.language = thisScript.language;

			newScript.src = thisScript.src;
			document.getElementsByTagName('head')[0].appendChild(newScript);

		}
		else if (text = (thisScript.text || thisScript.innerHTML))
		{
			var text = (""+text).replace(/^\s*<!\-\-/, '').replace(/\-\->\s*$/, '');

			var newScript = document.createElement("script");
			newScript.setAttribute("type", "text/javascript");
			newScript.text = text;

			var script_node = document.getElementsByTagName('head')[0].appendChild(newScript);

		}
	}
}

function sendRequest(action, method, callback_function)
{
	var req = new JsHttpRequest();

	req.onreadystatechange = function()
	{
		if (req.readyState == 4)
		{
			$("body").css( "cursor", "default" );

			if (typeof callback_function != 'undefined')
			{
				callback_function(req.responseJS);
			}

			return true;
		}
	}

	req.open(method, action, true);
	req.send(null);
	$("body").css( "cursor", "progress" );
}

function sendBackgroundRequest(action, method, callback_function)
{
	var req = new JsHttpRequest();

	req.onreadystatechange = function()
	{
		if (req.readyState == 4)
		{
			$("body").css( "cursor", "default" );

			if (typeof callback_function != 'undefined')
			{
				callback_function(req.responseJS);
			}

			return true;
		}
	}

	req.open(method, action, true);

	req.send(null);

	$("body").css( "cursor", "progress" );
	
}

function DoLoadAjax(AAction, AAdditionalParams, AAdminFromsId, AOperation, ALimit, AOnPage, AOrderFieldId, AOrderDirection)
{
	if (AOperation == '')
	{
		return false;
	}

	if (AOrderFieldId != 0)
	{
		sOrder = '&order_field_id=' + AOrderFieldId +
		'&order_field_direction=' + AOrderDirection;
	}
	else
	{
		sOrder = '';
	}

	cbOnPage = document.getElementById('id_on_page');

	if (AOnPage)
	{
		sOnPage = '&admin_forms_on_page=' + AOnPage;
	}
	else
	{
		if (cbOnPage)
		{
			sOnPage = '&admin_forms_on_page=' + cbOnPage.options[cbOnPage.selectedIndex].value;
		}
		else
		{
			sOnPage = '';
		}
	}

	sElements = '';
	sFilter = '';

	reg_filter = /hostcmsfiles_form_filter_.+/;

	element_array = document.getElementsByTagName("input");
	if (element_array.length > 0)
	{
		for (var i = 0; i < element_array.length; i++)
		{

			element_name = element_array[i].getAttribute('name');

			if (element_name == undefined)
			{
				continue;
			}

			if (element_name.search("check_") != -1 &&
			element_name.search("_fv_") == -1)
			{
				if (element_array[i].checked)
				{
					sElements = sElements + '&' + element_name + '=1';

					value_element_array = document.getElementsByTagName("input");
					if (value_element_array.length > 0)
					{
						for (var j = 0; j < value_element_array.length; j++)
						{
							value_element_name = value_element_array[j].name;

							if (typeof value_element_name == 'undefined')
							{
								continue;
							}

							//if (value_element_name.search("field_value") != -1 &&
							if (value_element_name.search("_fv_") != -1 &&
							value_element_name.search(element_name) != -1)
							{
								if (value_element_array[j].getAttribute('type') == 'text')
								{
									sElements = sElements + '&' + value_element_name +
									'=' + value_element_array[j].value;
								}
								else if (value_element_array[j].getAttribute('type') == 'checkbox')
								{

									if (value_element_array[j].checked)
									{

										sElements = sElements + '&' + value_element_name + '=1';
									}
									else
									{

										sElements = sElements + '&' + value_element_name + '=0';
									}
								}
							}
						}
					}

					value_element_array = document.getElementsByTagName("select");
					if (value_element_array.length > 0)
					{
						for (var j = 0; j < value_element_array.length; j++)
						{
							value_element_name = value_element_array[j].name;

							if (typeof value_element_name == 'undefined')
							{
								continue;
							}

							//if (value_element_name.search("field_value") != -1 &&
							if (value_element_name.search("_fv_") != -1 &&
							value_element_name.search(element_name) != -1)
							{
								sElements = sElements + '&' + value_element_name +
								'=' + escape(value_element_array[j].options[value_element_array[j].selectedIndex].value);
							}
						}
					}
				}
			}

			if (reg_filter.test(element_name))
			{
				if (element_array[i].value.length < 256)
				{
					sFilter = sFilter + '&' + element_name + '=' + escape(element_array[i].value);
				}
			}
		}
	}

	element_array = document.getElementsByTagName("select");
	if (element_array.length > 0)
	{
		for (var i = 0; i < element_array.length; i++)
		{
			element_name = element_array[i].getAttribute('name');

			if (reg_filter.test(element_name))
			{
				sFilter = sFilter + '&' + element_name + '=' + escape(element_array[i].value);
			}
		}
	}

	sParams = AAdditionalParams;

	/*if (ALimit == 0)
	{
	ALimit = '';
	}
	else
	{*/
	ALimit = '&limit=' + ALimit;
	//}

	cmsrequest = AAction + '?admin_forms_id=' + AAdminFromsId +
	'&hostcmsAAction=' + escape(AAction) +
	'&hostcmsAAdditionalParams=' + escape(AAdditionalParams) +
	'&operation=' + AOperation + ALimit + sOnPage + sFilter +
	sElements + sOrder + sParams;

	sendRequest(cmsrequest, 'get', callbackfunction_DoLoadAjax);
}

function callbackfunction_DoLoadAjax(responseJS)
{
	if (typeof responseJS != 'undefined')
	{
		if (responseJS.error != 'undefined')
		{
			var div_id_message = document.getElementById('id_message');

			if (div_id_message)
			{
				div_id_message.innerHTML = responseJS.error;
			}
		}

		if (typeof responseJS.form_html != 'undefined')
		{
			if (cmsrequest != ''
			&& function_exists('getCmsUrl')
			&& getCmsUrl() != cmsrequest)
			{
				setLocation(cmsrequest);
			}

			if (function_exists('saveLocation'))
			{
				saveLocation(getCmsUrl());
			}

			html = responseJS.form_html;

			document.getElementById('id_content').innerHTML = html;

			runScripts(document.getElementById('id_content').getElementsByTagName('SCRIPT'));

			cmsrequest = '';
		}

		if (typeof responseJS.title != 'undefined' && responseJS.title != '')
		{
			document.title = responseJS.title;
		}

		if (typeof responseJS.redirect != 'undefined')
		{
			if (responseJS.redirect != '')
			{
				ShowLoadingScreen();
				location = responseJS.redirect;
			}
		}
	}
}

function deleteChildNodes(node_id)
{
	var node = document.getElementById(node_id);

	if (typeof node != 'undefined')
	{
		if (node.hasChildNodes())
		{
			while (node.firstChild)
			{
				node.removeChild(node.firstChild);
			}
		}
	}
}

function ShowLoadingScreen()
{

	
}

function HideLoadingScreen()
{


}

function callback_function_exec_from_return(responseJS)
{
	if (typeof responseJS != 'undefined')
	{
		if (typeof responseJS.result != 'undefined')
		{
			var temp_div = document.createElement('div');
			temp_div.style.display = 'none';
			temp_div.innerHTML = responseJS.result;

			runScripts(temp_div.getElementsByTagName('SCRIPT'));
		}
	}
}

function AddLoadFileField(container_id, inpit_prefix)
{
	cbItem = document.getElementById(container_id);

	if (cbItem)
	{
		element_array = cbItem.getElementsByTagName("input");

		count_input = element_array.length;


		// <br/>
		var ElementBr = document.createElement("br");
		cbItem.appendChild(ElementBr);

		//<input
		var ElementInput = document.createElement("input");
		ElementInput.setAttribute("size", "30");
		ElementInput.setAttribute("name", inpit_prefix + (count_input + 1));
		ElementInput.setAttribute("type", "file");
		ElementInput.setAttribute("title", "Прикрепить файл");
		//ElementInput.setAttribute("style", "margin-bottom: 20px");
		cbItem.appendChild(ElementInput);

	}
}

function callbackfunction_AddIntoCart(responseJS)
{
	sended_request = false;

	if (typeof responseJS != 'undefined')
	{
		if (typeof responseJS.cart != 'undefined')
		{
			html = responseJS.cart;

			var little_cart = document.getElementById('little_cart');
			
			if (little_cart)
			{
				little_cart.innerHTML = html;
			}

			var add_cart = document.getElementById('add_cart');
			
			if (add_cart)
			{
				add_cart.innerHTML = '<div class="added"><i>Добавлено в <a href="/cart/?reload">корзину</a>.</i></div>';
			}

			var link_cart = document.getElementById('link_cart');
			
			if (link_cart)
			{
				link_cart.innerHTML = '<span class="highlight">»</span>&nbsp;<a href="/cart/?reload">Заказать</a></div>';
			}
		}
	}
}

function AddIntoCart(shop_path, item_id, item_count)
{
	//location.href = shop_path + 'cart/?ajax_add_item_id=' + item_id + '&count=' + item_count;
	cmsrequest = shop_path + 'cart/?ajax_add_item_id=' + item_id + '&count=' + item_count;
	
	// Отправляем запрос backend-у
	sendRequest(cmsrequest, 'get', callbackfunction_AddIntoCart);
	
	return false;
}

function callbackfunction_UserExit(responseJS)
{
	sended_request = false;

	if (typeof responseJS != 'undefined')
	{
		if (typeof responseJS.all != 'undefined')
		{
			function set_location()
			{
				location="./";
			}
			set_location();
		}
	}
}

function UserExit()
{
	$('body').css('cursor', 'progress');
	cmsrequest = '/js/?action=exit';
	sendRequest(cmsrequest, 'get', callbackfunction_UserExit);
	return false;
}


function callbackfunction_UserLogin(responseJS)
{
	sended_request = false;

	if (typeof responseJS != 'undefined')
	{
		if (typeof responseJS.all != 'undefined')
		{

			html = responseJS.all;
			
			if (html=='Ok')
			{
				setTimeout(function() { location="./"; }, 1500)
			}
			if (html=='Err')
			{
				$('#FormMessages').html('<div id="FormStatus"><i>Неверный логин или пароль!</i></div>');
				$('.cover').css('cursor', 'default');
				$('#login').focus();
			}
		}
	}
}

function UserLogin(login,password)
{
	$('.cover').css('cursor', 'progress');
	$('#FormMessages').html('<div id="FormStatus"><img src="/f/i/load.gif" alt=""></div>');
	renderBlock(190);
	cmsrequest = '/js/?action=login&site_users_login=' + login + '&site_users_password=' + password;
	sendRequest(cmsrequest, 'get', callbackfunction_UserLogin);
	return false;
}

function callbackfunction_ShowItem(responseJS)

{
	sended_request = false;
	if (typeof responseJS != 'undefined')
	{
		if (typeof responseJS.all != 'undefined')
		{
			html = responseJS.all;
			var ColPhotos = document.getElementById('ColPhoto');
			if (ColPhotos)

			{
				ColPhotos.innerHTML = html;
			}
		}
	}
}

function ShowItem(item_id)

{
	$('#ColPhoto').html('');
	cmsrequest = '/js/?showitem=' + item_id;
	sendRequest(cmsrequest, 'get', callbackfunction_ShowItem);
	return false;
}


jQuery.preloadImages = function() {
    jQuery.each (arguments,function (e) {
        jQuery("<img>").attr("src", this);
    });
}