String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function ShowNews(theURL,winName)
{ //v1.0
	var now = new Date();
	window.open(theURL,winName+now.getTime(),'scrollbars=1,width=800,height=600,');
}
function ShowImage(URL,width,height)
{ //v1.0
	var now = new Date();
	winName="Изображение";
	window.open(URL,winName+now.getTime(),'scrollbars=0,width='+(parseInt(width)+30).toString()+',height='+(parseInt(height)+30).toString()+',');
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,'scrollbars=0,width=920,height=700,');
}
function MM_openBrWindowEx(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function ActivateMenu()
{
    if (rubric_id != undefined)
    {
        var id='menu_item_'+rubric_id;
        var li=document.getElementById(id);
        ActiveMenuProcessLI(li);
        
        var id='menu1_item_'+rubric_id;
        var li=document.getElementById(id);
        ActiveMenuProcessLI(li);
    }
    if (rubric_lvl1)
    {
        var id='menu_item_'+rubric_lvl1;
        var li=document.getElementById(id);
        ActiveMenuProcessLI(li);
        
        var id='menu1_item_'+rubric_lvl1;
        var li=document.getElementById(id);
        ActiveMenuProcessLI(li);
    }
    if (rubric_lvl2)
    {
        var id='menu_item_'+rubric_lvl2;
        var li=document.getElementById(id);
        ActiveMenuProcessLI(li);
        
        var id='menu1_item_'+rubric_lvl2;
        var li=document.getElementById(id);
        ActiveMenuProcessLI(li);
    }
    if (rubric_id)
    {
        $(".menu_item_" + rubric_id).each(function() { ActiveMenuProcessLI(this); });
        $(".menu1_item_" + rubric_id).each(function() { ActiveMenuProcessLI(this); });
        
        //alert(rubric_id);
    }
}
function ActiveMenuProcessLI(li)
{
       var ul;
        
        while(li)
        {
            li.className='active';
            if(li.parentNode)
                if(li.parentNode.parentNode)
                    if (li.parentNode.parentNode.tagName=='LI')
                        li=li.parentNode.parentNode;
                    else
                        li=null;
                else
                    li=null;
            else
                li=null;
        }
}
$(document).ready(ActivateMenu);

function NoSelection()
{
    $(".noselection").mousedown(function() { return false; });
}
$(document).ready(NoSelection);

function GetDate()
{
    var a=new Date();
   
    var D=a.getDate();
    var W=a.getDay();
    var Y=a.getFullYear();
    var M=a.getMonth()+1;
    var MM='';
    var WW='';
    switch (M)
      {
        case 1: { MM='Января'; break }
        case 2: { MM='Февраля'; break }
        case 3: { MM='Марта'; break }
        
        case 4: { MM='Апреля'; break }
        case 5: { MM='Майя'; break }
        case 6: { MM='Июня'; break }
        
        case 7: { MM='Июля'; break }
        case 8: { MM='Августа'; break }
        case 9: { MM='Сентября'; break }
        
        case 10: { MM='Октября'; break }
        case 11: { MM='Ноября'; break }
        case 12: { MM='Декабря'; break }
        
      }
      switch (W)
      {
        case 0: { WW='Воскресенье'; break }
        
        case 1: { WW='Понедельник'; break }
        case 2: { WW='Вторник'; break }
        case 3: { WW='Среда'; break }
        
        case 4: { WW='Четверг'; break }
        case 5: { WW='Пятница'; break }
        case 6: { WW='Суббота'; break }
        
        
        
      }
      return "<div class='right_date'><div class='d'>"+D.toString()+" "+MM+"</div><div class='y'>"+Y.toString()+" г.</div><div class='w'>"+WW.toString()+"</div></div>"
}
function DetectBrowser()
{
    var browserName=navigator.appName; 
    
    var Class='';
    if (browserName=="Netscape")
    { 
     Class+='NS ';
    }
    if (browserName=="Microsoft Internet Explorer")
    {
      Class+='IE ';
	 if(navigator.appVersion.indexOf('MSIE 8')!=-1) Class+='IE8 ';
      if(navigator.appVersion.indexOf('MSIE 7')!=-1) Class+='IE7 ';
      if(navigator.appVersion.indexOf('MSIE 6')!=-1) Class+='IE6 ';
      if(navigator.appVersion.indexOf('MSIE 5')!=-1) Class+='IE5 ';
    }
    else
       Class+='NIE ';
    if (browserName=="Opera")
     {
      Class+='OP ';
     } 
     document.body.className=Class;
}
$(document).ready(DetectBrowser);

function fixPNG(element)
{
	if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))
	{
		var src;
		
		if (element.tagName=='IMG')
		{
			if (/\.png$/.test(element.src))
			{
				src = element.src;
				element.src = "/images/blank.gif";
			}
		}
		else
		{
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
			if (src)
			{
				src = src[1];
				element.runtimeStyle.backgroundImage="none";
			}
		}
		
		if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
	}
}
function ShowNews(URL,w,h)
{
    var now = new Date();
	winName='Новость';
	URL=location.protocol+"//"+location.hostname+URL;
	window.open(URL,winName+now.getTime(),'scrollbars=1,width='+w+',height='+h);
    return true;
}
//Всплывающая подсказка для изображений
function ToolTipShowMove(e)
    {
        var tt=document.getElementById("tool_tip");
        
        var IsIE=0;
        if (navigator.appName=="Microsoft Internet Explorer") IsIE=1;
        
        var x,y;
        x=0;
        y=0;
        if (IsIE==0)
        {
            x=e.pageX+13;
            y=e.pageY+18;
        }
        else
        {
            x=window.event.x+document.documentElement.scrollLeft+13;
            y=window.event.y+document.documentElement.scrollTop+18;
        }
        if (tt.oldx!=x) tt.style.left=x+'px';
        if(tt.oldy!=y) tt.style.top=y+'px';
        tt.oldx=x;
        tt.oldy=y;
        if(tt.style.display!='block')tt.style.display='block';
        
    }
    function ToolTipShow(Img,Text)
    {
        
        var tt=document.getElementById("tool_tip");
        if (!tt) 
        {
            tt=document.createElement("DIV");
            tt.style.display='none';
            tt.style.position='absolute';
            tt.id="tool_tip";
            document.body.appendChild(tt);            
        }
        tt.innerHTML=Text;
        tt.oldx=0;
        tt.oldy=0;
        tt.style.display='block';
        
        Img.onmousemove=ToolTipShowMove;        
        
        Img.old_onmouseover=Img.onmouseover;
        Img.onmouseover=new Function();        
        
        Img.old_onmouseout=Img.onmouseout;
        
        Img.onmouseout=ToolTipHide;
        
    }
    function ToolTipHide()
    {
        document.getElementById("tool_tip").style.display='none';    
        this.onmouseout=this.old_onmouseout;
        try{this.onmouseout();} catch(e){}
        
        this.onmouseover=this.old_onmouseover;            
    }
	
	
	//Over effect^ when mouse over add OVER class, when out remove OVER class   
jQuery.fn.overClass=function(Args)
{
    if (Args==undefined) return;
    var overClass=Args.overClass==undefined?'over':Args.overClass;
    var applyToParent=Args.applyToParent==undefined?false:Args.applyToParent;
    
    var overNorm=function(){$(this).addClass(overClass);};
    var overParent=function(){$(this).parent().addClass(overClass);};
    var outNorm=function(){$(this).removeClass(overClass);};
    var outParent=function(){$(this).parent().removeClass(overClass);};
    
    var curOver=applyToParent==true?overParent:overNorm;
    var curOut=applyToParent==true?outParent:outNorm;
    
    this.mouseover(curOver).mouseout(curOut);
    
    return this;
}
//Центровка блока по экрану
/*
    Автор   :Д. Акиньшин.
    Email   :ada3000@yandex.ru
    Дата    :2009-04-23
    
    Args - объект с параметрами
    
    speed       - скорость анимации
    animate     - анимировать положение.
    startLeft   - начальное положение для анимации
    startTop   - начальное положение для анимации    
*/

jQuery.fn.toCenterScreen=function(Args)
{
    this.each(function(){$(this).toCenterScreenElement(Args);});
    return this;
}
jQuery.fn.toCenterScreenElement=function(Args)
{
    var speed='normal';
    var animate=true;
    var startLeft=0;   
    var startTop=0;
    
    if(Args!=undefined)
    {
        if(Args.speed!=undefined) speed=Args.speed;
        if(Args.animate!=undefined) animate=Args.animate;
        if(Args.startLeft!=undefined) startLeft=Args.startLeft;
        if(Args.startTop!=undefined) startTop=Args.startTop;
    }
    var baseElement=$(window);
	var baseW=$(document.body).outerWidth();
	var baseH=baseElement.height();
	var scrollLeft=$(window).scrollLeft();
	var scrollTop=$(window).scrollTop();
	
	var left=scrollLeft+Math.floor((baseW-this.outerWidth())/2);
	var top=scrollTop+Math.floor((baseH-this.outerHeight())/2);
	this.css("position","absolute");
	if(animate)
	{
	    this.css("top",startTop.toString()+'px');    
	    this.css("left",startLeft.toString()+'px');    
	    this.animate({top:top,left:left},speed);
	}
	else
	{
	    this.css("top",top.toString()+'px');    
	    this.css("left",left.toString()+'px');    
	}	
	return this;
}
//Закрывает рабочую область. Эффект затенения
jQuery.Cover=function(Args)
{
    var color='#FFFFFF';
    var opacity=0.5;
    var eventClick=function(){alert('click');}
    var zIndex=1;   
    var me=this;
    if(Args!=undefined)
    {
        if(Args.color!=undefined) color=Args.color;
        if(Args.zIndex!=undefined) zIndex=Args.zIndex;
        if(Args.opacity!=undefined) opacity=Args.opacity;
        if(Args.eventClick!=undefined) eventClick=Args.eventClick;
    }
	//alert($(window).scrollTop());
    var baseElement=$(window);
	var baseW=$(document.body).outerWidth();
	var baseH=baseElement.height();
	var scrollLeft=$(window).scrollLeft();
	var scrollTop=$(window).scrollTop();
	//var left=scrollLeft+Math.floor((baseW-this.outerWidth())/2);
	//var top=scrollTop+Math.floor((baseH-this.outerHeight())/2);
	$(document).oneTime(200,function()
	{
		Args.frame=$(document.createElement("DIV"));
		Args.frame.css("position","absolute");
		Args.frame.css("width",baseW.toString()+"px");
		Args.frame.css("height",baseH.toString()+"px");
		Args.frame.css("top",scrollTop.toString()+"px");
		Args.frame.css("left",scrollLeft.toString()+"px");
		Args.frame.css("background-color",color);
		Args.frame.css("opacity",opacity);
		
		Args.frame.click(eventClick);
		$(document.body).append(Args.frame);
		
		me.Close=function(){Args.frame.css('display','none');Args.frame.remove();}
	});
	return this;
}

function CheckToolTip()
{
	$("* [tooltip]").aidaTooltip({
        selector:'tooltip',
        topPlus:15,
        leftPlus:15,
        showSpeed:0,
        hideSpeed:'fast',
        boxClass: 'tool_tip_box',
        move:true
    });
}

$(document).ready(CheckToolTip);

function BasketRemoveWare(WareId)
{
	var goods = $.cookie('goods');
    if (goods == undefined || goods == null) goods = "";
    
    //WareId = WareId.trim();
    //Обновляем кол-во у существующей записи
    if (goods.indexOf("~" + WareId) > -1)
    {
        var goods_a = goods.split("~");
        goods = "";
        for (var i = 0; i < goods_a.length; i++)
        {
            var ware_fields = goods_a[i].split(":");
            if (ware_fields.length == 2)
			{
			    if (ware_fields[0].trim() != WareId)
					goods += "~" + ware_fields[0] + ":" + ware_fields[1];
			}
        }
		//alert("bood
		$.cookie('goods', goods, { path: '/' });
    }

    

    //alert("Товар добавлен в корзину");
}

function BasketAddWare(WareId, WareCount)
{
    var goods = $.cookie('goods');
    if (goods == undefined || goods == null) goods = "";
    
    WareId = WareId.trim();
    //Обновляем кол-во у существующей записи
    if (goods.indexOf("~" + WareId) > -1)
    {
        var goods_a = goods.split("~");
        goods = "";
        for (var i = 0; i < goods_a.length; i++)
        {
            var ware_fields = goods_a[i].split(":");
            if (ware_fields.length == 2)
            {
                if (ware_fields[0] == WareId)
                    ware_fields[1] = (parseInt(ware_fields[1]) + WareCount).toString();
                goods += "~" + ware_fields[0] + ":" + ware_fields[1];
            }
        }
        
    }
    else
        goods += "~" + WareId + ":" + WareCount;

    $.cookie('goods', goods, { path: '/' });

    alert("Товар добавлен в корзину. Количество: "+WareCount+".");
}

function BasketSetWareCount(WareId, WareCount)
{
	//alert(WareId+' '+WareCount);
    var goods = $.cookie('goods');
    if (goods == undefined || goods == null) goods = "";
    
    //WareId = WareId.trim();
    //Обновляем кол-во у существующей записи
    if (goods.indexOf("~" + WareId) > -1)
    {
        var goods_a = goods.split("~");
        goods = "";
        for (var i = 0; i < goods_a.length; i++)
        {
            var ware_fields = goods_a[i].split(":");
            if (ware_fields.length == 2)
			{
				if(ware_fields[0]==WareId)
					goods += "~" + ware_fields[0] + ":" + WareCount;
				else
					goods += "~" + ware_fields[0] + ":" + ware_fields[1];
			}
        }
        
    }
	
    $.cookie('goods', goods, { path: '/' });

    //alert("Товар добавлен в корзину");
}


function CheckBasketButton()
{
    $(".to_basket_full").click(function()
    {
		var CNT=$(this).parent().find(".mesaure input").get(0).value;
		//alert($(this).parent().html());
		//alert(CNT);
		try
		{
			CNT=parseInt(CNT);
		}
		catch(e)		{
			CNT=1;
		}
        BasketAddWare($(this).find("div").html(), CNT);
    });
}
$(document).ready(CheckBasketButton);


function CheckBasketRemoveButton()
{
    $(".from_basket_from_row").click(function()
    {
        BasketRemoveWare($(this).attr("ware_id"));
		location.href=location.href;
    });
}
$(document).ready(CheckBasketRemoveButton);


function CheckRowBasketButton()
{
    $(".to_basket_from_row").click(function()
    {
        BasketAddWare($(this).find("div").html(), 1);
    });
}

$(document).ready(CheckRowBasketButton);


//Постраничное меню 3.
function Catalog_Menu3Pages()
{
    var items = $(".menu32 > ul > li");
    var max_size = 7;
    var baseElt = $(".menu32");
    var cur_page;

    //create navigation
    var root = document.createElement("div");
    var prev = document.createElement("div");
    var next = document.createElement("div");

    var max_page = Math.floor(items.size() / max_size);
    if (max_page * max_size < items.size()) max_page++;
    
    var active_elt;
    var active_id = 0;
    
    for (var i = 0; i < items.size(); i++)
    {
        if (items.get(i).className == 'active')
        {
            active_id = i;
            active_elt = $(items.get(i));
        }
    }
        

    var fShowPage = function(PageId)
    {
        if (PageId == cur_page) return;
        if (PageId == 1) $(prev).removeClass('prev_active');
        else if (!$(prev).hasClass('prev_active')) $(prev).addClass('prev_active');

        if (PageId == max_page) $(next).removeClass('next_active');
        else if (!$(next).hasClass('next_active')) $(next).addClass('next_active');
        //alert(this.innerHTML);
        $(root).find(".item").removeClass("active");
        $($(root).find(".item").get(PageId - 1)).addClass('active');

        cur_page = PageId;
        items.slideUp('fast');
        //alert(PageId + '_' + max_size);
        for (var i = (PageId - 1) * max_size; (i < items.size() && i < PageId * max_size); i++)
        {
            //alert(i);
            $(items.get(i)).slideDown('slow', function()
            {
                //Меню 4-го уровня
                if (active_elt)
                {
                    //var top = active_elt.get(0).offsetTop - 18;
                    //if (top < 0) top = -3;
                    $(".menu42").append(active_elt.find("ul"));
                    //$(".menu42 ul").css("top", top.toString() + "px");
                }
            });
        }
    }

    //alert(items.size());
    if (items.size() > max_size)
    {

        prev.className = "prev";
        next.className = "next";
        root.className = "menu3_navigation";

        root.appendChild(prev);

        for (var i = 0; i < max_page; i++)
        {
            var item = document.createElement("div");
            item.className = "item";
            item.innerHTML = (i + 1).toString();
            root.appendChild(item);
            $(item).click(function()
            {
                fShowPage(parseInt(this.innerHTML));
            });
        }
        root.appendChild(next);
        baseElt.append(root);

        $(next).click(function()
        {
            if (cur_page == max_page) return;
            fShowPage(cur_page + 1);
        });
        $(prev).click(function()
        {
            if (cur_page == 1) return;
            fShowPage(cur_page - 1);
        });

        var active_page = Math.floor((active_id) / max_size);

        //alert(active_page);
        fShowPage(active_page + 1);
        //fShowPage($($(root).find(".item").get(active_page)).click());
    }
    else
    {
        items.slideDown('slow', function()
        {
            //Меню 4-го уровня
            if (active_elt)
            {
                //var top = active_elt.get(0).offsetTop - 18;
                //if (top < 0) top = -3;
                $(".menu42").append(active_elt.find("ul"));
                //$(".menu42 ul").css("top", top.toString() + "px");
            }
        });
    }
    
}

$(document).ready(Catalog_Menu3Pages);

//Перенос областей
var smartAreaConfig = new Array({ from: "topleft", to: "topleft_out" });
function SmartArea()
{
    for (var i = 0; i < smartAreaConfig.length; i++)
    {
        var o = smartAreaConfig[i];
        $("." + o.to).html("");
        var out = $("." + o.from + " > div ");
        //alert(out.html());
        $("." + o.to).append(out);
    }
}
$(document).ready(SmartArea);

function MenuOver()
{
    $(".menu_c li").overClass({});
}


function LoadAjax(Url, EltClassName)
{
    $("." + EltClassName).html("<img src='/images/ajax-loader.gif'/>");
    $("." + EltClassName).load(Url);
}

$(document).ready(MenuOver);






/*
Показ слайдов
Использование
$(".out_lement").SlideShow({images:new Array(url1,url2,...),timeout:3000});

*/
jQuery.fn.SlideShow=function(Args)
{
	
	if(Args == undefined) return;
	if(Args.images == undefined) return;

	if(Args.timeout == undefined) Args.timeout=3000;
	
	if(Args.images.length == 0) return;
	
	this.each(function()
	{
		$(this).SlideShowItem(Args);
	});
	return this;
}
jQuery.fn.SlideShowItem=function(Args)
{
	var images=Args.images;
	var cur_image=0;
	var out=$(this);
	var show_image=function()
	{
		if($(out).find("img").size())
		$(out).find("img").hide('normal',function(){out.html("<img alt='' src='"+images[cur_image]+"'/>");});		
		else out.html("<img alt='' src='"+images[cur_image]+"'/>");
	}
	var next_image=function()
	{
		cur_image++;
		if(cur_image==images.length) cur_image=0;
	}
	show_image();
	out.everyTime(Args.timeout,function(){next_image();show_image();});
	return this;
}
