// JavaScript Document
Array.prototype.in_array = function(p_val) {
    for(var i = 0, l = this.length; i < l; i++)  {
        if(this[i] == p_val) {
            return true;
        }
    }
    return false;
}
Array.prototype.indexOf = function(p_val) {
    for(var i = 0, l = this.length; i < l; i++)  {
        if(this[i] == p_val) {
            return i;
        }
    }
    return -1;
}

var cost={
    res:0,
    calc:function(valscont,valsel,base,res) {
        cost.res=0;
        $(valscont+' '+valsel).each(function(index,el){
            if ($(el).attr('selected')) {
                cost.res+=parseInt($(el).attr('title'));
            }
        //alert($(el).attr('title'));
        });
        //alert(cost.res);
        cost.res+=parseInt($(base).html());
        $(res).html(cost.res);
    },
    basketArr:function (form) {
        var param=$(form).serializeArray();
        alert(param);
        /*var arr=new Array();
        arr.push(mainid);
        $(valscont+' option').each(function(index,el){
           if ($(el).attr('selected')) {
              arr.push($(el).val());
           }
        });*/
        return param;
    }
};

var cat_l1 = {
  init:function(el,cont) {
	  if (!($.browser.msie && (Math.floor(parseFloat($.browser.version))==6))) {
      $(cont).before('<div id="cat_l1U"><div><div><img width="42" src="/img/icons/default.gif"></div></div></div>');
      $(el).each(function () {
            $(this).hover(function() {
                $('#cat_l1U').show();
                $('#cat_l1U').find('img').attr('src',"/img/icons/"+$(this).attr('title'));
                $('#cat_l1U').stop().animate({
                    top:$(this).offset().top-20,
                    left:$(this).offset().left-80,
                    width: 83+$(this).outerWidth(),
                    overflow: 'visible',
                    opacity:1
                },10);
            },function() {});
      });
	  }
	  else {
		$('#top_menu li').each(function(index, element) {
			if (($(element).find('span').length>0) && ($(element).find('span').html().length>10)) {
				$(element).css("width",120+(($(element).find('span').html().length-10)*5));
			}
        });
	  }
      //$("table.cat_l1").mouseleave(function(){$('#cat_l1U').stop().fadeOut();});
  }
};

$().ready(function()
{
    /*$('#main_menu ul:first > li').hover(top_menu.jsddm_open,top_menu.jsddm_timer);*/
    cat_l1.init('a.cat_l2', '#site');
    $('#search_form input.q').focus(function(){if ($(this).val()=='Поиск по каталогу...') {$(this).val('');}});
    $('#search_form input.q').blur(function(){if ($(this).val()=='') {$(this).val('Поиск по каталогу...');}});
/*$('#ssn_jsddm ul > li').bind('mouseleave', top_menu.jsddm_open)
    $('#ssn_jsddm ul > li').bind('mouseenter',  top_menu.jsddm_timer)*/
});

var adm = {
    chOrderMailTemplate:function(mid,oid) {
        //order_mail_template_cont
        ajaxLoad('order_mail_template_cont', app.baseUrl()+'/ajax.php?action=25&ordersaction=mailtemplateload&oid='+oid+'&mid='+mid,'order_mail_template_cont',false);
    //$('#order_mail_template_cont').load();
    },
    addItemLink:function(el,idcont) {
        var htmllink='<tr><td>{.title.} ({.id.})</td><td><a onclick="adm.deleteValFromEl(\'items_link_list\',{.id.}); $(this).parents(\'tr:first\').remove(); return false;" href="#" class="btn_adm" style="width:120px"><span style="background-position: -32px -16px;"></span> удалить</a></td></tr>';
        var curCont=$(el).parents('tr:first');
        var curId=$('#new_items_link_id').val();
        var ids=$('#items_link_list').val();
        var vals=ids.split(";");
        if (vals.in_array(curId)) {
            alert("ссылка на этот элемент уже существует! ("+curId+")");
        }
        else {
            var curVal=$('#new_items_link_id').find('option[value="'+curId+'"]').html();
            htmllink=app.str_replace('{.title.}',curVal,htmllink);
            htmllink=app.str_replace('{.id.}',curId,htmllink);
		
            ids=ids+';'+curId
            $('#items_link_list').val(ids);
            $(curCont).before(htmllink);
        //alert($('#items_link_list').val());
        }
    },

    addComplectLink:function(el,idcont) {
        var htmllink='<tr><td>{.title.} ({.id.})</td><td><a onclick="adm.deleteValFromEl(\'admin_complect_list\',{.id.}); $(this).parents(\'tr:first\').remove(); return false;" href="#" class="btn_adm" style="width:120px"><span style="background-position: -32px -16px;"></span> удалить</a></td></tr>';
        var curCont=$(el).parents('tr:first');
        var curId=$('#new_admin_complect_id').val();
        var ids=$('#admin_complect_list').val();
        var vals=ids.split(";");
        if (vals.in_array(curId)) {
            alert("ссылка на этот элемент уже существует! ("+curId+")");
        }
        else {
            var curVal=$('#new_admin_complect_id').find('option[value="'+curId+'"]').html();
            htmllink=app.str_replace('{.title.}',curVal,htmllink);
            htmllink=app.str_replace('{.id.}',curId,htmllink);

            ids=ids+';'+curId
            $('#admin_complect_list').val(ids);
            $(curCont).before(htmllink);
        //alert($('#items_link_list').val());
        }
    },

    deleteValFromEl:function (elid,val) {
        var vals=$('#'+elid).val();
        vals=vals.split(";");
        var tarr=Array();
        for (i=0;i<vals.length;i++) {
            if ((vals[i]!='') && (vals[i]!=val)) {
                tarr.push(vals[i]);
            }
        }
        vals=app.implode(";",tarr);
        $('#'+elid).val(vals);
    //alert($('#items_link_list').val());
    },
	
    addParams: function(el,elname,conttag,newname) {
        var els=$('input[name*="'+elname+'"]');
        if (els.length<=10) {
            var n=0;
            while ($('input[value="'+newname+n+'"]').length!=0) {
                n++;
            }
            newname=newname+n;
            var prevCont=$(el).parents(conttag+':first').prevAll(conttag+':first');
            var added="<"+conttag+">"+$(prevCont).html()+"</"+conttag+">";
            var replacer=$(prevCont).find('input[name*="'+elname+'"]').attr('name');
            replacer=app.str_replace(elname,'',replacer);
            var replacerVal=app.str_replace('[','',replacer);
            replacerVal=app.str_replace(']','',replacerVal);
            added=app.str_replace(replacer,"["+newname+"]",added);
            if (replacerVal!='') {
                added=app.str_replace(replacerVal,""+newname+"",added);
            }
            else {
                added=app.str_replace('value=""','value="'+newname+'"',added);
            }
            $(prevCont).after(added);
        }
        else {
            alert('нельзя добавить более 10 параметров\n'+els.length);
        }
    }
}

var app = {
    mailDecode: function(str) {
        str=app.str_replace("[A]","@",str);
        str=app.str_replace("[.]",".",str);
        return str;
    },
    mailDecodeInit:function () {
        $("a.codemail").each(function(index,el){
            $(el).html(app.mailDecode($(el).html()));
            $(el).attr('href',app.mailDecode($(el).attr('href')));
        });
    },
    chCaptcha:function (el) {
        var src=$(el).attr('src');
        src=src.substr(0,src.lastIndexOf('&'));
        var r=parseInt(Math.random()*10000);
        $(el).attr('src',src+'&r='+r)
    },
    activeWindow:{},
    ajaxWindow:function(request) {
        var temp=$('#window_template').html();
        $('#windows').append(temp);
        var win= $('#windows>div.poup_window:last');
        //temp=$(win).html();
        //alert(temp.length+"\n"+"'"+temp+"'");
        var wincont=$(win).find('div.poup_window_content');
        $(wincont).html('vdfdvfd');
        $(win).show();
        $(win).css(app.getCenteredEl(win));
        app.activeWindow=win;
        //app.funcBack=function(data,cont) {$(cont).html(data); tinyinit();}
        app.ajaxCallBack(wincont, request, win);
    },
    funcBack:function(data,cont){
    ;
    },
    selectedItemsId: Array(),
    ajaxVars:{
        ajaxURL:'',
        ajaxCont:'inp',
        ajaxShow:'inp', /*элемент который нужно показать*/
        ajaxShowCenter:false,
        ajaxShowCss:{}, /**/
        ajaxIndicator:'идет загрузка ...',
        ajaxIndicatorCont:'inp'
    },
    temp:Array(),
    tempFlag:false,
    userEnter: function() {
        //alert(($('input.clean[name="alien"]').attr('checked')));
        app.tempFlag=false;
        app.funcBack=function(data){
            //alert(data);
            if (data==1) {
                document.location=app.enterUrl();
            } else {
                app.tempFlag=true;
                $('#user_simple_enter').submit();
            }
        };
        var request=app.baseUrl()+'/ajax.php?action=27&un='+$('input.clean[name="un"]').val()+'&pw='+$('input.clean[name="pw"]').val()+($('input.clean[name="alien"]').attr('checked')?'&alien=1':'');
        app.ajaxCallBack('#user_enter_ind',request);
    //return false;
    },
    urlToAjax: function(url) {
        if (url.indexOf('action=')<0) {
            var beg=url.lastIndexOf("/",url.lastIndexOf("/")-1)+1;
            var end=url.lastIndexOf("/");
            return app.baseUrl()+'/ajax.php?action='+url.substr(beg,end-beg);
        }
        else {
            return url;
        }
    },
    baseUrl: function() {
        var url=document.location+'';
        return url.substr(0,url.indexOf("/",url.indexOf("//")+2));
    },
    enterUrl: function() {
        var url=document.location+'';
        url=app.str_replace("?notexit=1","",url);
        url=app.str_replace("&notexit=1","",url);
        url=app.str_replace("?exit=1","?notexit=1",url);
        url=app.str_replace("&exit=1","&notexit=1",url);
        if (url.indexOf('#')>0) {
            url=url.substr(0,url.indexOf('#'));
        }
        return url;
    },
    getCentered: function (elid) {
        return {
            position:'absolute',
            left: ($(window).width() - $('#'+elid).outerWidth())/2,
            top: ( (($(window).height()/2)+$(window).scrollTop()) - ($('#'+elid).outerHeight())/2)
        }
    },
    getCenteredEl: function (el) {
        return {
            position:'absolute',
            left: ($(window).width() - $(el).outerWidth())/2,
            top: ( (($(window).height()/2)+$(window).scrollTop()) - ($(el).outerHeight())/2)
        }
    },
    str_replace: function (search, replace, subject) {
        return subject.split(search).join(replace);
    },
    selectItem: function (id) {
        if (app.selectedItemsId.in_array(id)) {
            app.selectedItemsId.splice(app.selectedItemsId.indexOf(id),1);
            $('#items_id_'+id).hover(function(){
                $(this).css('background-color', "#b34300");
            },function(){
                $(this).css('background-color', "inherit");
            });
        }
        else {
            app.selectedItemsId.push(id);
            $('#items_id_'+id).unbind('hover');
            $('#items_id_'+id).css('background-color', "#70b8fc");
        }
    },
    updateInputKeys: function(type,elname,targetname) {
        var els=$(type+'[name*="'+elname+'"]');
        var cname='';
        for (i=0;i<els.length;i++) {
            cname=$(els[i]).attr('name');
            cname=cname.substr( cname.indexOf("[") );
            $(type+'[name="'+targetname+cname+'"]').attr('name',targetname+'['+$(els[i]).val()+']');
        }
    },
    implode: function ( glue, pieces ) {
        return ( ( pieces instanceof Array ) ? pieces.join ( glue ) : pieces );
    },
    ajaxCallBack : function (cont,request,show) {
        $(cont).html('<img src="'+app.baseUrl()+'/images/loader_min.gif">');
        $(cont).load(request, function(data) {
            $(cont).html('');
            app.funcBack(data,cont,show);
        });
    },
    ajaxSimledAdd : function (cont,request) {
        $(cont).html('<span class="loader_min"><img src="'+app.baseUrl()+'/images/loader_min.gif"> идет загрузка</span>'+$(cont).html());
        $(cont).load(request, function(data) {
            $(cont).html(data);
        });
    }
}
/*var main_menu = {
  init: function() {
      var first=$('div.menu:first');
      var menus=$(first).find('div.menu');
      $(menus).hide();
      var active=$('a#mm_active_link');
      $(active).parents('div.menu').show();
      $(active).nextAll('div.menu').show();
      //$('a.menu').click(function () {var shs=$(this).nextAll('div.menu'); $(shs).toggle(); return false;})
  }
};*/
var top_menu = {
    timeout:500,
    closetimer:0,
    ddmenuitem:0,
    jsddm_open:function () {
        top_menu.jsddm_canceltimer();
        top_menu.jsddm_close();
        top_menu.ddmenuitem = $(this).find('ul').css('visibility', 'visible');
    },
    jsddm_close:function () {
        if(top_menu.ddmenuitem) top_menu.ddmenuitem.css('visibility', 'hidden');
    },
    jsddm_timer:function () {
        top_menu.closetimer = setInterval(top_menu.jsddm_close, top_menu.timeout);
    },
    jsddm_canceltimer: function () {
        if(top_menu.closetimer)   {
            clearInterval(top_menu.closetimer);
            top_menu.closetimer = null;
        }
    }
};




function setHeight(which) {
    $(which).css({height: $(which).height()});
}

var main_menu = {
    init: function() {
        var first=$('div#left_menu ul ul');
        $(first).hide();
        var aplus=$('div#left_menu ul li a');
        $(aplus).each(function (index,el) {
            if ($(el).parent('li').find('ul').length>0) {
                $(el).before("<span class='plus'></span>");
            }
        });
        //$('div#left_menu ul ul ul ul').show();
        var pluses=$('div#left_menu span.plus');
        $(pluses).each(function (index,el) {
            $(el).click(function () {
                var pli=$(el).parents('li:first');
                var ul=$(pli).children('ul:first');
                $(el).parents('li').css('height','auto');
                $(ul).slideToggle('medium',function(){
                   $(this).parents('ul').find('li').css({top:'1px', left:'0px'});
                   $(this).parents('ul').find('li').css({top:'0px', left:'0px'});
                   setHeight($(this).parents('li:first'));
                });
             });
        });
        var active=$('a.mm_active_link');
        var uls=$(active).parents('ul');
        $(uls).show();
        $('a.mm_active_link').parents('li:first').children('ul').show();
    }
};

var img_zoomer = {
    galleryImgs:Array(),
    currentIndex:0,
    prev:0,
    next:0,
    newImg:{},
    maxW:320,
    maxH:240,
    zoomW:0,
    zoomH:0,
    interval:0,
    stepZoom:30,
    initGallery:function () {
        img_zoomer.galleryImgs=$('a.browser_jpg_zoom');
        $(img_zoomer.galleryImgs).each(function (index) {
            $(this).attr('target','_blank');
            $(this).click(function(e) {
                img_zoomer.zoomImg(this,index);
                return false;
            });
        })
    },
    resize:function () {
        var flagneed=false;
        var neww=0, newh=0;
        neww=$('.img_zoom_view').innerWidth()+(img_zoomer.stepZoom*img_zoomer.zoomW);
        newh=$('.img_zoom_view').innerHeight()+(img_zoomer.stepZoom*img_zoomer.zoomH);
		
        if ( ((img_zoomer.zoomW>0) && (neww<img_zoomer.maxW)) || ((img_zoomer.zoomW<0) && (neww>img_zoomer.maxW)) ) {
            $('#img_zoom_cont').css('width',neww);
            flagneed=true;
        }
        if ( ((img_zoomer.zoomH>0) && (newh<img_zoomer.maxH)) || ((img_zoomer.zoomH<0) && (newh>img_zoomer.maxH)) ) {
            $('.img_zoom_view').css('height',newh);
            flagneed=true;
        }
		
        $('#img_zoom_cont').css(app.getCentered('img_zoom_cont'));
        if (!flagneed) {
            clearInterval(img_zoomer.interval);
            var im=$('#img_zoom_cont').find('img');
            $(im).attr('src',$(img_zoomer.currentIndex).attr('href'));
            $(im).show();
            neww=$('.img_zoom_view').innerWidth();
            newh=$('.img_zoom_view').innerHeight();
            $(im).attr('width',neww);
            $(im).attr('height',newh);
            if (img_zoomer.next<(img_zoomer.galleryImgs.length)) {
                $('#img_zoom_next').unbind('click');
                $('#img_zoom_next').click(function() {
                    img_zoomer.zoomImg(img_zoomer.galleryImgs[img_zoomer.next],img_zoomer.next);
                });
                $('#img_zoom_next').css('background-position','-40px -0px');
            }
            else {
                $('#img_zoom_next').unbind('click');
                $('#img_zoom_next').css('background-position','-40px -40px');
            }
            if (img_zoomer.prev>=0) {
                $('#img_zoom_back').unbind('click');
                $('#img_zoom_back').click(function() {
                    img_zoomer.zoomImg(img_zoomer.galleryImgs[img_zoomer.prev],img_zoomer.prev);
                });
                $('#img_zoom_back').css('background-position','0px 0px');
            }
            else {
                $('#img_zoom_back').unbind('click');
                $('#img_zoom_back').css('background-position','0px -40px');
            }
        }
    },
    zoomLoad:function(){
        img_zoomer.maxW=(img_zoomer.newImg.width>($(window).width()-40))?($(window).width()-40):img_zoomer.newImg.width;

        img_zoomer.maxH=(img_zoomer.newImg.height/(img_zoomer.newImg.width/img_zoomer.maxW));
        if (img_zoomer.maxH>($(window).height()-80)) {
            img_zoomer.maxH=img_zoomer.newImg.height>($(window).height()-80)?($(window).height()-80):img_zoomer.newImg.height;
            img_zoomer.maxW=(img_zoomer.newImg.width/(img_zoomer.newImg.height/img_zoomer.maxH));
        }

        var im=$('#img_zoom_cont').find('img');
        $(im).hide();
        //$(im).attr('src',$(img_zoomer.galleryImgs[index]).attr('href'));
        var truesize=true;
        //alert(img_zoomer.newImg.width+'\n'+ img_zoomer.maxW+'|'+($(window).width()));
        if ($('.img_zoom_view').innerWidth()<img_zoomer.newImg.width) {
            $(im).attr('width',$('.img_zoom_view').innerWidth());
            truesize=false;
        }
        if (($('.img_zoom_view').innerHeight()<img_zoomer.newImg.height) && truesize) {
            $(im).attr('height',$('.img_zoom_view').innerHeight());
            truesize=false;
        }
        //if (truesize) {$(im).attr('width',img_zoomer.newImg.width);}
        //определяем направления
        if ($('.img_zoom_view').innerWidth()<img_zoomer.maxW) {
            img_zoomer.zoomW=1;
        } else {
            img_zoomer.zoomW=-1;
        }
        if ($('.img_zoom_view').innerHeight()<img_zoomer.maxH) {
            img_zoomer.zoomH=1;
        } else {
            img_zoomer.zoomH=-1;
        }
        //end
        img_zoomer.interval=setInterval(function () {
            img_zoomer.resize();
        },30);
    //img_zoomer.resize();
    },
    zoomImg:function (el,index) {
        img_zoomer.currentIndex=el;
        //alert(el+'\n'+index+'\n'+$(el).attr('href'));
        img_zoomer.prev=index-1;
        img_zoomer.next=index+1;
        $('#img_zoom_cont').fadeIn();
        $('#img_zoom_cont').css(app.getCentered('img_zoom_cont'));
        var im=$('#img_zoom_cont').find('img');
        $(im).attr('src',app.baseUrl()+'/images/loader.gif');
        $(im).attr('width',32);
        $(im).attr('height',32);
        img_zoomer.newImg=new Image();
        img_zoomer.newImg.src=$(el).attr('href');
        if ((img_zoomer.newImg.src=='') || !(img_zoomer.newImg.complete)) {
            $(img_zoomer.newImg).load(function(e) {
                img_zoomer.zoomLoad();
            })
        }
        else {
            img_zoomer.zoomLoad();
        }
    }
}



function ajaxLoad(elid,request,show,center,loader,addload) {
    addload=addload || false;
    app.ajaxVars.ajaxCont=elid;
    app.ajaxVars.ajaxIndicatorCont=loader || elid;
    app.ajaxVars.ajaxShow=show || elid;
    app.ajaxVars.ajaxShowCenter=center || false;
	
    $('#'+app.ajaxVars.ajaxShow).show();
    if (addload) {
        $('#'+app.ajaxVars.ajaxIndicatorCont).html(app.ajaxVars.ajaxIndicator+$('#'+app.ajaxVars.ajaxIndicatorCont).html());
    }
    else {
        $('#'+app.ajaxVars.ajaxIndicatorCont).html(app.ajaxVars.ajaxIndicator);
    }
    if (app.ajaxVars.ajaxShowCenter!=false) {
        $('#'+app.ajaxVars.ajaxShow).css(app.getCentered(app.ajaxVars.ajaxShow));
    }
    else {
        app.ajaxVars.ajaxShowCss={};
    }
    $('#'+app.ajaxVars.ajaxCont).load(request, function(data) {
        $('#'+app.ajaxVars.ajaxIndicatorCont).html('');
        $('#'+app.ajaxVars.ajaxCont).html(data);
        if (app.ajaxVars.ajaxShowCenter) {
            $('#'+app.ajaxVars.ajaxShow).css(app.getCentered(app.ajaxVars.ajaxShow));
        }
    });
}

function ajaxJsonPost(elid,post,show,center,loader,update) {
    app.ajaxVars.ajaxCont=elid;
    app.ajaxVars.ajaxIndicatorCont=loader || elid;
    app.ajaxVars.ajaxShow=show || elid;
    update=update || false;
    center=center || false;
    app.ajaxVars.ajaxShowCenter=center;
    $('#'+app.ajaxVars.ajaxShow).show();
    $('#'+app.ajaxVars.ajaxIndicatorCont).html(app.ajaxVars.ajaxIndicator);
    var param;
    param=post.data;
    if (update===false) {
        $.post(post.url, param, function (data) {
            $('#'+elid).html(data)
        });
    }
    else {
        app.temp=update;
        app.temp.url=app.urlToAjax(app.temp.url);
        $.post(post.url, param, function (data) {
            $('#'+app.ajaxVars.ajaxCont).html(data);
            ajaxLoad(app.temp.elid,app.temp.url,app.temp.elid,false);
        });
    }
}

function ajaxFormPost(elid,form,show,center,loader,update) {
    app.ajaxVars.ajaxCont=elid;
    app.ajaxVars.ajaxIndicatorCont=loader || elid;
    app.ajaxVars.ajaxShow=show || elid;
    update=update || false;
    center=center || false;
    $('#'+app.ajaxVars.ajaxShow).show();
    $('#'+app.ajaxVars.ajaxIndicatorCont).html(app.ajaxVars.ajaxIndicator);
    var param;
    param=$(form).serializeArray();
    if (update===false) {
        $.post($(form).attr('action'), param, function (data) {
            $('#'+elid).html(data)
        });
    }
    else {
        app.temp=update;
        app.temp.url=app.urlToAjax(app.temp.url);
        $.post($(form).attr('action'), param, function (data) {
            $('#'+app.ajaxVars.ajaxCont).html(data);
            ajaxLoad(app.temp.elid,app.temp.url,app.temp.elid,false);
        });
    }
}

var tip={
    init:function() {
        $('body').append('<div id="tooltip" style="display:none"><img id="tipuk" class="arrow" src="/images/tip_arrow.gif"><div id="tipbody"></div></div>');
    },
    hideTip: function () {
        $('#tooltip').hide();
        $(window).unbind('click');
    },
    showTip: function (el,text,width) {
        width=width || 150;
        if (text.indexOf('#')>-1) {
            text=$(text).html();
        }
        if (text=='') {
            try{
                text=$(el).title
            } catch(e){
            ;
            }
        }
        $('#tooltip').css('width',width);
        $('#tipbody').html(text);
        $('#tooltip').toggle();
        $('#tooltip').css({
            position:'absolute',
            left: $(el).offset().left-$('#tooltip').outerWidth()/2+$(el).outerWidth()/2,
            top: ($(el).offset().top+18)
        });
        if (($('#tooltip').offset().left+$('#tooltip').outerWidth())>$(window).width()) {
            $('#tooltip').css({
                left: $(window).width()-$('#tooltip').outerWidth()-10
            });
        }
        //alert(($('#tooltip').offset().left+$('#tooltip').outerWidth())+"-"+$(window).width());
        //$('#tipuk').css('left',($('#tooltip').outerWidth()-15)/2);
        $(el).mouseleave(function() {
            $(window).click(function(e) {
                if ($(e.target).attr('id')!='tooltip') {
                    $('#tooltip').hide();
                };

            });
        });
    $(el).mouseenter(function () {
        $(window).unbind('click');
    });
}
}

var showTipInterval;
function hideTip() {
    clearInterval(showTipInterval);
    $('#tooltip').hide();
}

function showTip(el,text,width) {
    width=width || 150;
    if (text.indexOf('#')>-1) {
        text=$(text).html();
    }
    if (text=='') {
        try{
            text=$(el).title
        } catch(e){
        ;
        }
    }
    $('#tooltip').css('width',width);
    $('#tipbody').html(text);
    $('#tooltip').show();
    $('#tooltip').css({
        position:'absolute',
        left: $(el).offset().left,
        top: ($(el).offset().top-$('#tooltip').outerHeight())
    });
    var offset=$('#tooltip').offset();
    if (offset.left+$('#tooltip').outerWidth()>$(window).width()) {
        //alert(offset.left+$('#tooltip').outerWidth()+'|'+$(window).width());
        var decleft=(offset.left+$('#tooltip').outerWidth())-$(window).width();
        //alert(decleft);
        $('#tooltip').css('left',offset.left-decleft);
        $('#tipuk').css('left',decleft+5);
    }
    else {
        $('#tipuk').css('left',5);
    }
    $(el).mouseenter(function() {
        clearInterval(showTipInterval);
    });
    $(el).mouseleave(function() {
        clearInterval(showTipInterval);
        showTipInterval=setInterval(hideTip,4000);
    });
//showTipInterval=setInterval(hideTip,5000)
}

jQuery.fn.extend({
    disableSelection : function() {
            this.each(function() {
                    this.onselectstart = function() {return false;};
                    this.unselectable = "on";
                    jQuery(this).css('-moz-user-select', 'none');
            });
    },
    enableSelection : function() {
            this.each(function() {
                    this.onselectstart = function() {};
                    this.unselectable = "off";
                    jQuery(this).css('-moz-user-select', 'auto');
            });
    }
});

var dragStop=false;
var dragEl;
var dragXY={
    x:0,
    y:0
};

function drag(el,start) {
    dragEl=el;
    if (start==1) {
        $('body *').disableSelection();
        $(el).bind('mouseleave', function (e) {
            dragStop=true;
            setTimeout(function(){if (dragStop) {drag(el,0);}},1000);
        });
        $(el).bind('mouseenter', function (e) {
            dragStop=false;
        });
        $(document).bind('mousemove', function (e) {
            if (dragXY.x==0) {
                dragXY.x=e.pageX-$(dragEl).offset().left;
                dragXY.y=e.pageY-$(dragEl).offset().top;
            }
            $(dragEl).css({
                left:(e.pageX-dragXY.x)
            });
            $(dragEl).css({
                top:(e.pageY-dragXY.y)
            });
        });
    }
    else {
        $('body *').enableSelection();
        $(document).unbind('mousemove');
        dragXY={
            x:0,
            y:0
        };
        $(el).unbind('mouseleave');
        $(el).unbind('mouseenter');
    }
}

function uploadAllCompleate(data) {
    $('#temp_cur_img').attr('src',$('#temp_cur_img').attr('src')+"?tid="+Math.random());
    $('#adm_temp_message').html(data);
}

function uploadError(data) {
    // $('#temp_cur_img').attr('src',$('#temp_cur_img').attr('src')+"?tid="+Math.random());
    //$('#adm_temp_message').html(data);
    alert(data);
}

/*var resizeEl;
var resizerEl;
var resizeXY={x:0,y:0};
var resizerXY={x:0,y:0};
function resize(el,rel,start) {
	resizeEl=el;
	resizerEl=rel;
	if (start==1) {
		$(document).bind('mousemove', function (e) {
			if (resizeXY.x==0) {
				resizeXY.x=$(resizeEl).outerWidth()-(e.pageX-$(resizeEl).offset().left); 
				resizeXY.y=$(resizeEl).outerHeight()-(e.pageY-$(resizeEl).offset().top);
				//$(resizerEl).css({top:0});
				resizerXY.y=$(resizerEl).offset().top+$(resizerEl).outerHeight()-resizeXY.y;
			}	
			//$(resizeEl).css('width')=
			$(resizeEl).css({width:(e.pageX-$(resizeEl).offset().left+resizeXY.x-8)}); 
			$(resizeEl).css({height:(e.pageY-$(resizeEl).offset().top+resizeXY.y-8)});
			$(resizerEl).css({top:e.pageY-resizerXY.y});
			
			//$('#poup').html('resizeXY.x:'+resizeXY.x+'<br>'+'resizeXY.y:'+resizeXY.y+'<br>');
		});
	}
	else {
		$(document).unbind('mousemove');
		//$(resizerEl).css({top:0});
		resizeXY={x:0,y:0};
	}	
	
}*/
/*Сторонние плагины*/
(function($) {
    $.fn.textDropShadow = function(ShdwClass){//элементы заменяются. Вместо оригинала внутри будет два спана - один содержащий сам текст, а другой тень этого текста.
        $(this).css('position','relative').html('<span class='+ShdwClass+'>'+$(this).html()+'</span><span style="position:relative;">'+$(this).html()+'</span>');
        return $(this);
    }
})(jQuery);
$().ready(function(e){
    img_zoomer.initGallery();
    main_menu.init();
    app.ajaxVars.ajaxIndicator='<span class="loader_min"><img src="'+app.baseUrl()+'/images/loader_min.gif"> идет загрузка</span>';
    app.mailDecodeInit();
    $('.shadowed').each(function(){// ищем все элементы класса shadow
        $(this).textDropShadow('shadow')//далее работает функция, которая в качестве параметра получает название класса тени
    });
    $('body .window_top *').disableSelection();
});

/*Embed*/
/**
 * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
 */

function writeFlash(p) {
    writeEmbed(
        'D27CDB6E-AE6D-11cf-96B8-444553540000',
        'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
        'application/x-shockwave-flash',
        p
        );
}

function writeShockWave(p) {
    writeEmbed(
        '166B1BCA-3F9C-11CF-8075-444553540000',
        'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
        'application/x-director',
        p
        );
}

function writeQuickTime(p) {
    writeEmbed(
        '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
        'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
        'video/quicktime',
        p
        );
}

function writeRealMedia(p) {
    writeEmbed(
        'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
        'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
        'audio/x-pn-realaudio-plugin',
        p
        );
}

function writeWindowsMedia(p) {
    p.url = p.src;
    writeEmbed(
        '6BF52A52-394A-11D3-B153-00C04F79FAA6',
        'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
        'application/x-mplayer2',
        p
        );
}

function writeEmbed(cls, cb, mt, p) {
    var h = '', n;
    //alert('em');
    h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
    h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
    h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
    h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
    h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
    h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
    h += '>';

    for (n in p) {
        if (n=='flashvars') {
            //alert('flvars');
            temp=p[n];
            temp=app.str_replace("[lfskoba]","{",temp);
            temp=app.str_replace("[rfskoba]","}",temp);
            p[n]=temp;
        }
        h += '<param name="' + n + '" value="' + p[n] + '">';
    }

    h += '<embed type="' + mt + '"';

    for (n in p)
        h += n + '="' + p[n] + '" ';

    h += '></embed></object>';

    document.write(h);
}

var temp_set={
    altField: '#actualDate',
    dateFormat: 'yy-mm-dd',
    dayNames: ['Воскресение', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],
    dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
    firstDay: 1,
    monthNames: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь']
}

var items = {
    base:'',
    current:'',
    select:function(id,name) {
        //$('#address_city_st').val(id);
        items.current=name.replace(/<\/?[^>]+>/gi, '');;
    },
    poupSearch:function (el,code) {
        if ($(el).val().length<3) {
            $('#poup_search').hide();
        }
        if (code==39) {
            $('#poup_search').hide();
        }
        if (code==37) {
            $('#query_auto').val(items.base);
        }
        //[39 вправо] [40 вниз] [37 влево] [38 вверх]
        if ((code==40) || (code==38)) {
            if ($('#poup_search a[class="h"]').length<1) {
                $('#poup_search a:first').attr('class','h');
                var str= $('#poup_search a:first').html();
                str=str.replace(/<\/?[^>]+>/gi, '');
                $('#query_auto').val(str);
            }
            else {
                var count=$('#poup_search a').length;
                var arra=$('#poup_search a');

                if (code==40) {
                    for (i=0;i<count;i++) {
                        if (($(arra[i]).attr('class')=='h') && ((i+1)<count)) {
                            $(arra[i]).removeClass('h');
                            $(arra[i+1]).attr('class','h');
                            var str=$(arra[i+1]).html();
                            str=str.replace(/<\/?[^>]+>/gi, '');
                            $('#query_auto').val(str);
                            break;
                        }
                    }
                }
                else {

                    for (i=0;i<count;i++) {
                        if (($(arra[i]).attr('class')=='h') && (i>0)) {
                            $(arra[i]).removeClass('h');
                            $(arra[i-1]).attr('class','h');
                            var str=$(arra[i-1]).html();
                            str=str.replace(/<\/?[^>]+>/gi, '');
                            $('#query_auto').val(str);
                            break;
                        }
                    }

                }
            }

        }
        else {
            items.base= $('#query_auto').val();
            if ($(el).val().length<3) {
                return false;
            }
            else {
                if ((code!=37) && (code!=39)) {
                app.funcBack=function (data,cont) {
                    $(cont).html(data);
                    items.poupPos(cont,'#query_auto');
                    //alert($('#poup_search a').length);
                    $('#poup_search a').mousedown(function() {
                        var str= $(this).html();
                        str=str.replace(/<\/?[^>]+>/gi, '');
                        $('#query_auto').val(str);
                        $('#poup_search a').hide();
                        return false;
                    });
                };
                app.ajaxCallBack('#poup_search', '/ajax.php?action=13&catalogaction=findwords&light=1&q='+encodeURIComponent($(el).val())+'', '#poup_search');
                }
            }
        }
    },
    poupPos:function(cont,querycont) {
        // alert($(querycont).width);
        $(cont).show();
        $(cont).css({
            position:'absolute',
            left: $(querycont).offset().left,
            top: ($(querycont).offset().top+$(querycont).outerHeight()-3),
            width: $(querycont).outerWidth()
        });

    }
};
