var _$ = {

 browser: function(){

 var string = navigator.userAgent.toLowerCase();
 var params = null;

 if(string.indexOf('opera/')>-1)
 params = {name:'opera',ver:string.split('opera/')[1].split(' ')[0]};

 else if(string.indexOf('firefox/')>-1)
 params = {name:'firefox',ver:string.split('firefox/')[1].split(' ')[0]};

 else if(string.indexOf('chrome/')>-1)
 params = {name:'chrome',ver:string.split('chrome/')[1].split(' ')[0]};

 else if(string.indexOf('safari/')>-1)
 params = {name:'safari',ver:string.split('safari/')[1].split(' ')[0]};

 else if(string.indexOf('msie ')>-1)
 params = {name:'ie',ver:string.split('msie ')[1].split(' ')[0]};

 else params = {name:'unknown',ver:'unknown'};

 return params;
 },

 $: function(id){

 return document.getElementById(id);
 },

 $t: function(name,obj){

 var obj = obj||document;

 return obj.getElementsByTagName(name);
 },

 $i: function(name){

 return document.images[name];
 },

 $c: function(name,obj){

 var obj = obj||document;

 var Array = [];
 var checkArray = obj.getElementsByTagName('*');

 for(var i=0; i<checkArray.length; i++){

 if((' '+checkArray[i].className+' ').indexOf(' '+name+' ')>-1){
 Array[Array.length] = checkArray[i];
 }
 }

 return Array;
 },

 $f: function(name,element,val){

 var element = (typeof element=='undefined')?false:element;
 var val = (typeof val=='undefined')?false:true;
 var obj,rtn;

 if(document.forms[name]) obj = document.forms[name];
 else obj = name;

 if(typeof obj=='object'){

 if(element!==false){

 var el = isNaN(element)?obj.elements[element]:obj.elements[parseInt(element)];

 if(val!==false){

 rtn = el.type?el.value:el[el.selectedIndex].value;
 }
 else rtn = el;
 }
 else rtn = obj;
 }
 else rtn = false;

 return rtn;
 },

 toggle_div: function(obj,param){

 if(_$.$(obj)) obj = _$.$(obj);
 var param = (typeof param=='undefined')?false:param;

 if(param!==false) obj.style.display = (param==1)?'block':'none';
 else obj.style.display = (obj.style.display=='none')?'block':'none';
 },

 current_scroll: function(){

 var scrollx = (document.scrollX)?document.scrollX:document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft;
 var scrolly = (document.scrollY)?document.scrollY:document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;
 return {x:scrollx,y:scrolly}
 },

 element_position: function(el){

 var x = y = 0;

 if(el.offsetParent){
 x = el.offsetLeft;
 y = el.offsetTop;
 while(el = el.offsetParent){
 x += el.offsetLeft;
 y += el.offsetTop;
 }
 }
 return {x:x,y:y}
 },

 document_size: function(){

 var y = parseInt(Math.max(document.compatMode!='CSS1Compat'?document.body.scrollHeight:document.documentElement.scrollHeight,_$.viewarea_size().y));
 var x = parseInt(Math.max(document.compatMode!='CSS1Compat'?document.body.scrollWidth:document.documentElement.scrollWidth,_$.viewarea_size().x));
 return {x:x,y:y}
 },

 viewarea_size: function(){

 var y = parseInt(((document.compatMode||_$.browser().name=='ie')&&!window.opera)?(document.compatMode=='CSS1Compat')?document.documentElement.clientHeight:document.body.clientHeight:(document.parentWindow||document.defaultView).innerHeight);
 var x = parseInt(((document.compatMode||_$.browser().name=='ie')&&!window.opera)?(document.compatMode=='CSS1Compat')?document.documentElement.clientWidth:document.body.clientWidth:(document.parentWindow||document.defaultView).innerWidth);
 return {x:x,y:y}
 },

 scroll_position: function(y,x){

 var x = x||null;
 var y = y||null;

 if(x===null&&y===null){

 y = document.body.scrollTop?document.body.scrollTop:document.documentElement.scrollTop;
 x = document.body.scrollTop?document.body.scrollLeft:document.documentElement.scrollLeft;
 return {x:x, y:y}
 }
 else{

 if(y!==null){
 if(document.body.scrollTop) document.body.scrollTop = y;
 else document.documentElement.scrollTop = y;
 }

 if(x!==null){
 if(document.body.scrollLeft) document.body.scrollLeft = x;
 else document.documentElement.scrollLeft = x;
 }
 }
 },

 ajaxLoad: function(url,ajaxCallBackFunction,callObject,params,ajaxCallBackErrorFunction){

 if(window.XMLHttpRequest){
 var ajaxObject = new XMLHttpRequest();
 ajaxObject.onreadystatechange = function(){
 _$.ajaxLoadHandler(ajaxObject, ajaxCallBackFunction, callObject, params, ajaxCallBackErrorFunction);
 };
 ajaxObject.open('GET',url,true);
 ajaxObject.send(null);
 }
 else if (window.ActiveXObject){
 var ajaxObject = new ActiveXObject('Microsoft.XMLHTTP');
 if (ajaxObject){
 ajaxObject.onreadystatechange = function(){
 _$.ajaxLoadHandler(ajaxObject, ajaxCallBackFunction, callObject, params, ajaxCallBackErrorFunction);
 };
 ajaxObject.open('GET',url,true);
 ajaxObject.send();
 }
 }
 },

 ajaxLoadPost: function(url, data, ajaxCallBackFunction, callObject, params, ajaxCallBackErrorFunction) {

 var ajaxObject = null;
 
 if(window.XMLHttpRequest) ajaxObject = new XMLHttpRequest();
 else if(window.ActiveXObject) ajaxObject = new ActiveXObject('Microsoft.XMLHTTP');

 if(ajaxObject){

 ajaxObject.onreadystatechange = function(){
 _$.ajaxLoadHandler(ajaxObject, ajaxCallBackFunction, callObject, params, ajaxCallBackErrorFunction);
 };
 ajaxObject.open('POST',url,true);
 ajaxObject.setRequestHeader('Content-type','application/x-www-form-urlencoded');
 ajaxObject.setRequestHeader('Content-length',data.length);
 ajaxObject.setRequestHeader('Connection','close');
 ajaxObject.send(data); 
 };
 },

 ajaxLoadHandler: function(ajaxObject, ajaxCallBackFunction, callObject, params, ajaxCallBackErrorFunction){

 if(ajaxObject.readyState==4){
 if(ajaxObject.status==200) ajaxCallBackFunction.call(callObject, ajaxObject, params);
 else{
 if(ajaxCallBackErrorFunction) ajaxCallBackErrorFunction.call(callObject, ajaxObject); 
 else alert('There was a problem retrieving the XML data:\n'+ajaxObject.statusText);
 }
 }
 },

 addEvent: function(obj,sEvent,sFunc){
 if(obj.addEventListener) obj.addEventListener(sEvent,sFunc,false);
 else if(obj.attachEvent) obj.attachEvent('on'+sEvent,sFunc);
 },

 removeEvent: function(obj,sEvent,sFunc){
 if(obj.removeEventListener) obj.removeEventListener(sEvent,sFunc,false);
 else if(obj.detachEvent) obj.detachEvent('on'+sEvent,sFunc);
 },

 addCSS: function(cssStr){
 var head = _$.$t('head')[0];
 var styleSheets = _$.$t('style',head);
 var styleSheet = null;
 if(styleSheets.length) styleSheet = styleSheets[styleSheets.length-1];
 else{
 styleSheet = document.createElement('style');
 styleSheet.type = 'text/css';
 head.appendChild(styleSheet);
 }
 
 if(styleSheet.styleSheet) styleSheet.styleSheet.cssText += cssStr;
 else styleSheet.appendChild(document.createTextNode(cssStr));
 },

 email_decode: function(){

 var email_string = 'qwertyuiopasdfghjklzxcvbnm@.';
 var email_coded_string = 'луегтимвыфчяйцщзхжюбэъасоршь';
 if(_$.browser.name=='ie') email_coded_string = decode_utf8(email_coded_string);

 var divArray = _$.$c('scmsmail');
 var mailArray = [];
 var check_mail = null;

 for(var i=0; i<divArray.length; i++){
 check_mail = divArray[i].title;

 if(!mailArray[check_mail]){

 mailArray[check_mail] = '<a href="mailto:'+check_mail+'">'+check_mail+'</a>';
 for(var j=0; j<email_string.length; j++){

 mailArray[check_mail] = mailArray[check_mail].split(email_coded_string.substring(j,j+1)).join(email_string.substring(j,j+1));
 }
 };

 divArray[i].title = '';
 divArray[i].innerHTML = mailArray[check_mail];
 }
 },

 toggle_scroll: function(){

 if(document.body.style.overflow!='hidden'){
 document.body.style.overflow = 'hidden';
 if(_$.$c('scms_window_lock')[0]) _$.$c('scms_window_lock')[0].className = 'scms_window_unlock';
 _$.addEvent(window,'DOMMouseScroll',SCMS_get_mouse_wheel);
 _$.addEvent(window,'mousewheel',SCMS_get_mouse_wheel);
 _$.addEvent(document,'mousewheel',SCMS_get_mouse_wheel);
 }
 else{
 if(_$.$c('scms_window_lock')[0]) _$.$c('scms_window_unlock')[0].className = 'scms_window_lock';
 _$.removeEvent(window,'DOMMouseScroll',SCMS_get_mouse_wheel);
 _$.removeEvent(window,'mousewheel',SCMS_get_mouse_wheel);
 _$.removeEvent(document,'mousewheel',SCMS_get_mouse_wheel);
 document.body.style.overflow = 'auto';
 }
 },

 toggle_flash: function(param){

 var param = param?param:0;
 var Array = _$.$t('object');

 for(var i=0; i<Array.length; i++){
 Array[i].style.display = (param==0)?'none':'';
 }

 if(/MSIE (5\.5|6).+Win/.test(navigator.userAgent)){

 Array = _$.$t('select');
 for(var i=0; i<Array.length; i++){
 Array[i].style.display = (param==0)?'none':'';
 }
 }
 },

 js_include: function(script){

 var new_js = document.createElement('script');
 new_js.setAttribute('type','text/javascript');
 new_js.setAttribute('src',script);
 _$.$t('head',document)[0].appendChild(new_js);
 },

 css_include: function(style){

 var new_css = document.createElement('link');
 new_css.setAttribute('type','text/css');
 new_css.setAttribute('href',style);
 new_css.setAttribute('rel','stylesheet');
 _$.$t('head',document)[0].appendChild(new_css);
 },

 event: function(event){

 event = event || window.event;

 if(event.isFixed) return event;
 event.isFixed = true;

 event.preventDefault = event.preventDefault || function(){this.returnValue = false}
 event.stopPropagation = event.stopPropagaton || function(){this.cancelBubble = true}

 if(!event.target) event.target = event.srcElement;

 if (!event.relatedTarget && event.fromElement) {
 event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement;
 }

 if ( event.pageX == null && event.clientX != null ) {
 var html = document.documentElement, body = document.body;
 event.pageX = event.clientX + (html && html.scrollLeft || body && body.scrollLeft || 0) - (html.clientLeft || 0);
 event.pageY = event.clientY + (html && html.scrollTop || body && body.scrollTop || 0) - (html.clientTop || 0);
 }

 if ( !event.which && event.button ){
 event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
 }

 return event;
 },

 scroll_to: function(y,x){

 var x = x||null;

 var step = 50;
 var ms = 10;
 var timeout;

 var max_scroll_y = _$.document_size().y-_$.viewarea_size().y;
 if(y>max_scroll_y) y = max_scroll_y;

 this.start = function(){

 var oldPos = _$.scroll_position().y;
 var Sign = (oldPos<y)?'plus':'minus';

 clearTimeout(timeout);

 if(oldPos!=y){

 if(Sign=='plus') var newPos = ((oldPos+step)>=y)?y:(oldPos+step);
 else var newPos = ((oldPos-step)<=y)?y:(oldPos-step);

 _$.scroll_position(newPos);
 if(newPos!=y) timeout = setTimeout(arguments.callee,ms);
 }
 }

 this.start();
 }
};


_$.loader = {

 anim_interval: null,
 blink_interval: null,

 toggle: function(param){

 if(param==1){
 if(!_$.$('SCMS_loader')){

 var loader = document.createElement('div');
 loader.id = 'SCMS_loader';
 loader.style.width = 29+'px';
 loader.style.height = 29+'px';
 loader.style.zIndex = 1000;
 loader.style.position = 'absolute';
 loader.style.top = -100+'px';
 loader.style.left = -100+'px';
 _$.$t('body')[0].appendChild(loader);

 if(_$.browser.name!='ie'){
 var background = document.createElement('div');
 background.style.width = 29+'px';
 background.style.height = 29+'px';
 background.style.position = 'absolute';
 loader.appendChild(background);

 var iframe = document.createElement('iframe');
 iframe.src = 'about:blank';
 iframe.frameborder = 'no';
 iframe.style.width = 25+'px';
 iframe.style.height = 24+'px';
 iframe.style.border = 0;
 background.appendChild(iframe);

 turnOpacity(background,0,0.01);
 }

 var loader_anim = document.createElement('div');
 loader_anim.style.backgroundImage = 'url(/scms_core/admin/img/splash_loader_mini.png)';
 loader_anim.style.backgroundPosition = '-25px 0';
 loader_anim.style.width = 29+'px';
 loader_anim.style.height = 29+'px';
 loader_anim.style.zIndex = 999;
 loader_anim.style.position = 'absolute';
 loader.appendChild(loader_anim);

 var loader_blink = document.createElement('div');
 loader_blink.style.backgroundImage = 'url(/scms_core/admin/img/splash_loader_mini.png)';
 loader_blink.style.margin = '2px';
 loader_blink.style.width = 25+'px';
 loader_blink.style.height = 24+'px';
 loader_blink.style.zIndex = 1000;
 loader_blink.style.position = 'absolute';
 loader.appendChild(loader_blink);

 if(_$.browser().name!='ie') _$.loader.blinker();
 _$.loader.animator();

 _$.addEvent(document,'mousemove',_$.loader.position);
 }
 }
 else if(_$.$('SCMS_loader')){
 _$.removeEvent(document,'mousemove',_$.loader.position);

 if(_$.browser.name!='ie') clearInterval(_$.loader.blink_interval);
 clearInterval(_$.loader_anim_interval);
 _$.$t('body')[0].removeChild(_$.$('SCMS_loader'));
 }
 },

 position: function(e){

 e = _$.event(e);

 _$.$('SCMS_loader').style.top = e.pageY+'px';
 _$.$('SCMS_loader').style.left = e.pageX+12+'px';
 },

 blinker: function(){

 var div = _$.$t('div',_$.$('SCMS_loader'))[2];

 var direction = 1;
 var old = 0;

 this.start = function(){

 var old2 = direction;

 turnOpacity(div,direction,old);
 direction = old;
 old = old2;
 }

 _$.loader.blink_interval = setInterval(this.start,770);
 },

 animator: function(){

 var div = _$.$t('div',_$.$('SCMS_loader'))[1].style;

 this.start = function(){

 var old = parseInt(div.backgroundPosition.split('px')[0]);

 div.backgroundPosition = ((old==-228)?-25:old-29)+'px 0';
 }

 _$.loader.anim_interval = setInterval(this.start,80);
 }
};

function SCMS_get_mouse_wheel(e){

 e = _$.event(e);

 var delta;

 if(e.wheelDelta){
 delta = e.wheelDelta/120;
 if(window.opera) delta = -delta;
 }
 else if(e.detail) delta = -e.detail/3;

 if(e.preventDefault) e.preventDefault();
 e.returnValue = false;
};

function SCMS_go_to_url(a,b){
 var b = b||null;

 if(b=='new') window.open(a,'','');
 else location.href = a;
};

function stopSelect(){

 if(window.getSelection) window.getSelection().removeAllRanges();
 else if(document.selection&&document.selection.clear) document.selection.clear();
};

function showADMpanel(a){
 var adm_panel_counter = 1;
 var adm_panel_stopper = 0;

 while(adm_panel_stopper==0){

 if(_$.$('adm_panel'+adm_panel_counter)){
 if(_$.$('adm_panel'+adm_panel_counter).style.display=='block') _$.toggle_div('adm_panel'+adm_panel_counter);
 _$.$('SCMS_panel_button'+adm_panel_counter).style.backgroundImage = 'url(/scms_core/admin/img/icons/button_mini.png)';
 adm_panel_counter++;
 }
 else adm_panel_stopper = 1;
 }

 _$.toggle_div('adm_panel'+a);
 _$.$('SCMS_panel_button'+a).style.backgroundImage = 'url(/scms_core/admin/img/icons/button_mini_selected.png)';
};



_$.slideLayer = {

 interval: 'none',

 slide: function(obj){

 var percent;
 obj = _$.$(obj)?_$.$(obj).style:obj.style;

 if(_$.scroll_position().y!=_$.userWindow.lastScrollY||
 _$.scroll_position().x!=_$.userWindow.lastScrollX){

 if(_$.scroll_position().y!=_$.userWindow.lastScrollY){
 percent = .1*(_$.scroll_position().y-_$.userWindow.lastScrollY);
 if(percent>0) percent = Math.ceil(percent);
 else percent = Math.floor(percent);
 obj.top = (parseInt(obj.top)+percent)+'px';
 _$.userWindow.lastScrollY = _$.userWindow.lastScrollY+percent;
 };
 if(_$.scroll_position().x!=_$.userWindow.lastScrollX){
 percent = .1*(_$.scroll_position().x-_$.userWindow.lastScrollX);
 if(percent>0) percent = Math.ceil(percent);
 else percent = Math.floor(percent);
 obj.left = (parseInt(obj.left)+percent)+'px';
 _$.userWindow.lastScrollX = _$.userWindow.lastScrollX+percent;
 };

 if(_$.userWindow.oldW!=parseInt(obj.width)){
 oldW = _$.userWindow.oldW;
 documentW = _$.document_size().x;
 };

 if(_$.userWindow.oldH!=parseInt(obj.height)){
 oldH = _$.userWindow.oldH;
 documentH = _$.document_size().y;
 }
 }
 else{
 clearInterval(_$.slideLayer.interval);
 _$.slideLayer.interval = 'none';
 }
 },

 init: function(){

 if(_$.slideLayer.interval=='none')
 _$.slideLayer.interval = setInterval(function(){_$.slideLayer.slide('SCMS_window')},1);
 }
};

_$.dragLayer = {

 target: null,
 start_top: 0,
 start_left: 0,

 init: function(targ,lay){

 if(_$.$(targ)) targ = _$.$(targ);
 if(_$.$(lay)) lay = _$.$(lay);

 _$.dragLayer.target = lay?lay:targ;
 _$.addEvent(targ,'mousedown',_$.dragLayer.start);
 _$.addEvent(targ,'dragstart',function(){return false});
 },

 deinit: function(targ){

 if(_$.$(targ)) targ = _$.$(targ);

 _$.dragLayer.target = null;
 _$.dragLayer.start_top = 0;
 _$.dragLayer.start_left = 0;
 _$.removeEvent(targ,'mousedown',_$.dragLayer.start);
 _$.removeEvent(targ,'dragstart',function(){return false});
 },

 start: function(e){

 e = _$.event(e);

 _$.dragLayer.start_top = e.pageY-parseInt(_$.dragLayer.target.style.top);
 _$.dragLayer.start_left = e.pageX-parseInt(_$.dragLayer.target.style.left);

 _$.addEvent(document,'mousemove',_$.dragLayer.move);
 _$.addEvent(document,'mouseup',_$.dragLayer.stop);
 _$.addEvent(document,'mousedown',function(){return false});
 },

 stop: function(){

 _$.removeEvent(document,'mousemove',_$.dragLayer.move);
 _$.removeEvent(document,'mouseup',_$.dragLayer.stop);
 _$.removeEvent(document,'mousedown',function(){return false});
 },

 move: function(e){

 e = _$.event(e);

 var lay = _$.dragLayer.target.style;

 lay.top = e.pageY-_$.dragLayer.start_top+'px';
 lay.left = e.pageX-_$.dragLayer.start_left+'px';
 stopSelect();
 }
};

_$.resizeLayer = {

 target: null,
 start_top: 0,
 start_left: 0,
 min_width: 0,
 min_height: 0,

 init: function(targ,lay){

 if(_$.$(targ)) targ = _$.$(targ);
 if(_$.$(lay)) lay = _$.$(lay);

 _$.resizeLayer.target = lay?lay:targ;
 _$.resizeLayer.min_width = parseInt(lay.style.width);
 _$.resizeLayer.min_height = parseInt(lay.style.height);

 _$.addEvent(targ,'mousedown',_$.resizeLayer.start);
 _$.addEvent(targ,'dragstart',function(){return false});
 },

 deinit: function(targ){

 if(_$.$(targ)) targ = _$.$(targ);

 _$.resizeLayer.target = null;
 _$.resizeLayer.start_top = 0;
 _$.resizeLayer.start_left = 0;
 _$.removeEvent(targ,'mousedown',_$.resizeLayer.start);
 _$.removeEvent(targ,'dragstart',function(){return false});
 },

 start: function(e){

 e = _$.event(e);

 _$.resizeLayer.start_top = e.pageY-parseInt(_$.resizeLayer.target.style.height);
 _$.resizeLayer.start_left = e.pageX-parseInt(_$.resizeLayer.target.style.width);

 _$.addEvent(document,'mousemove',_$.resizeLayer.move);
 _$.addEvent(document,'mouseup',_$.resizeLayer.stop);
 _$.addEvent(document.body,'selectstart',function(){return false});
 },

 stop: function(){

 var lay = _$.resizeLayer.target.style;
 _$.userWindow.oldH = parseInt(lay.height);
 _$.userWindow.oldW = parseInt(lay.width);

 _$.removeEvent(document,'mousemove',_$.resizeLayer.move);
 _$.removeEvent(document,'mouseup',_$.resizeLayer.stop);
 _$.removeEvent(document.body,'selectstart',function(){return false});
 },

 move: function(e){

 e = _$.event(e);

 var lay = _$.resizeLayer.target.style;

 if(e.pageY-_$.resizeLayer.start_top>_$.resizeLayer.min_height) lay.height = e.pageY-_$.resizeLayer.start_top+'px';
 if(e.pageX-_$.resizeLayer.start_left>_$.resizeLayer.min_width) lay.width = e.pageX-_$.resizeLayer.start_left+'px';
 stopSelect();
 }
};


_$.userWindow = {

 number: false,
 lastScrollX: 0,
 lastScrollY: 0,
 lastX: 0,
 lastY: 0,
 oldW: 0,
 oldH: 0,
 title: '',

 make: function(width,height,title,content){

 if(_$.userWindow.number==false){
 _$.toggle_flash(0);
 _$.loader.toggle(1);

 _$.ajaxLoad(content,function(ajaxObject){

 var temp='',css='',javascript='';

 _$.userWindow.number = Math.floor(Math.random()*10000);

 var sWindow = '<style type="text/css"> #scms_window_hl{ width: 18px; height: 39px; float: left; background-image: url(/scms_core/admin/img/window/window_x.png); background-position: 0 -184px; } #scms_window_hr{ width: 19px; height: 39px; float: right; background-image: url(/scms_core/admin/img/window/window_x.png); background-position: 0 -223px; } #scms_window_h{ cursor: pointer; height: 39px; margin: 0 19px 0 18px; background-image: url(/scms_core/admin/img/window/window_x.png); background-position: 0 -262px; } #scms_window_t{ color: #000; text-align: left; padding-top: 14px; height: 13px; font-family: Arial; font-size: 13px; font-weight: bold; } #scms_window_b{ position: absolute; top: 12px; right: 15px; } #scms_window_b a{ float: right; display: block; width: 23px; height: 23px; margin-right: 2px; outline: 0; background-image: url(/scms_core/admin/img/window/window_x.png); } a.scms_window_lock{ background-position: 0 -138px; } a.scms_window_unlock{ background-position: 0 -46px; } a.scms_window_min{ background-position: 0 -92px; } a.scms_window_close:hover{ background-position: 0 -23px; } a.scms_window_lock:hover{ background-position: 0 -161px; } a.scms_window_unlock:hover{ background-position: 0 -69px; } a.scms_window_min:hover{ background-position: 0 -115px; } #scms_window_lb{ position: absolute; top: 39px; bottom: 26px; left: 0; width: 8px; background-image: url(/scms_core/admin/img/window/window_y.png); } #scms_window_rb{ position: absolute; top: 39px; bottom: 26px; right: 0; width: 9px; background-image: url(/scms_core/admin/img/window/window_y.png); background-position: -8px 0; } #scms_window_cont{ position: absolute; top: 39px; left: 8px; right: 9px; bottom: 26px; color: #000; background: #e0e0e0 url(/scms_core/admin/img/window/window_x.png) 0 -390px repeat-x; } #scms_window_cont td{ color: #000; } #scms_window_fd{ position: absolute; bottom: 0; left: 0; width: 100%; height: 26px; } #scms_window_fl{ width: 18px; height: 26px; float: left; background-image: url(/scms_core/admin/img/window/window_x.png); background-position: 0 -301px; } #scms_window_fr{ width: 19px; height: 26px; float: right; background-image: url(/scms_core/admin/img/window/window_x.png); background-position: 0 -327px; } #scms_window_f{ height: 26px; margin: 0 19px 0 18px; background-image: url(/scms_core/admin/img/window/window_x.png); background-position: 0 -353px; } #scms_window_resizer{ position: absolute; background-image: url(/scms_core/admin/img/window/window_x.png); background-position: 0 -379px; width: 11px; height: 11px; bottom: 12px; right: 10px; cursor: se-resize; } </style><span id="ADMcontent" style="display:block"><div id="scms_window_hl"></div><div id="scms_window_hr"></div><div id="scms_window_h"><div id="scms_window_t"></div></div><div id="scms_window_b"><a href="javascript:;" onclick="_$.userWindow.remove()" class="scms_window_close" title="Закрыть"></a><a href="javascript:;" onclick="_$.toggle_scroll()" class="scms_window_lock" title="Закрепить"></a><a href="javascript:;" onclick="_$.userWindow.minimize_maximize()" class="scms_window_min" title="Свернуть"></a></div><div id="scms_window_lb"></div><div id="scms_window_rb"></div><div id="scms_window_cont" align="left"></div><div id="scms_window_fd"><div id="scms_window_fl"></div><div id="scms_window_fr"></div><div id="scms_window_f"></div></div><div id="scms_window_resizer"></div></span><span id="ADMicon" style="width:31px;height:111px;display:none"><table cellspacing="0" cellpadding="0" border="0" width="31"><tr><td height="111" style="background-image:url(/scms_core/admin/img/maximize_back.png)"><a href="javascript:;" onclick="_$.userWindow.minimize_maximize()"><img src="/scms_core/admin/tpl/make_maximize_text.php?t='+title+'" width="31" height="111" alt="Развернуть" border="0" /></a></td></tr></table></span>';
 css = sWindow.split('<style type="text/css">')[1].split('</style>')[0];
 sWindow = sWindow.split('<style type="text/css">'+css+'</style>').join('');

 if(_$.$('SCMS_window')) _$.userWindow.remove();

 var newDiv = document.createElement('div');
 newDiv.id = 'SCMS_window';
 newDiv.style.zIndex = 998;
 newDiv.style.width = width+'px';
 newDiv.style.height = height+'px';
 newDiv.style.top = (_$.viewarea_size().y-height)/2+_$.scroll_position().y+'px';
 newDiv.style.left = (_$.viewarea_size().x-width)/2+_$.scroll_position().x+'px';
 newDiv.style.position = 'absolute';
 newDiv.style.display = 'none';
 newDiv.style.overflow = 'hidden';
 newDiv.innerHTML = sWindow;
 _$.$t('body')[0].appendChild(newDiv);

 var content = ajaxObject.responseText;

 if(content.indexOf('<style')>-1){
 temp = content.split('<style type="text/css">')[1].split('</style>')[0];
 content = content.split('<style type="text/css">'+temp+'</style>').join('');
 css += temp;
 }

 if(content.indexOf('<script')>-1){
 temp = content.split('<script type="text/javascript">')[1].split('</script>')[0];
 content = content.split('<script type="text/javascript">'+temp+'</script>').join('');
 javascript += temp;
 }

 if(content.indexOf('<script')>-1){
 temp = content.split('<script type="text/javascript" src="')[1].split('"></script>')[0];
 content = content.split('<script type="text/javascript" src=">'+temp+'"></script>').join('');
 _$.js_include(temp);
 }

 _$.$('scms_window_t').innerHTML = title.replace(/"/g,'&quot;');
 _$.$('scms_window_cont').innerHTML = content;

 _$.addCSS(css);
 if(javascript!='') eval(javascript);

 _$.addEvent(document,'scroll',_$.slideLayer.init);

 _$.dragLayer.init('scms_window_h','SCMS_window');
 _$.resizeLayer.init('scms_window_resizer','SCMS_window');

 _$.userWindow.oldW = width;
 _$.userWindow.oldH = height;
 _$.userWindow.lastScrollX = _$.scroll_position().x;
 _$.userWindow.lastScrollY = _$.scroll_position().y;
 _$.userWindow.title = title.replace(/"/g,'&quot;');
 _$.userWindow.show_loaded();
 });
 }
 },

 remove: function(){

 if(_$.browser().name=='ie') _$.$('adm_blank_form_div').focus();

 _$.dragLayer.deinit('scms_window_h');
 _$.resizeLayer.deinit('scms_window_resizer');

 _$.removeEvent(document,'scroll',_$.slideLayer.init);
 clearInterval(_$.slideLayer.interval);
 _$.slideLayer.interval = 'none';

 if(document.body.style.overflow=='hidden') _$.toggle_scroll();

 _$.$t('body')[0].removeChild(_$.$('SCMS_window'));

 _$.userWindow.lastScrollX = 0;
 _$.userWindow.lastScrollY = 0;
 _$.userWindow.lastX = 0;
 _$.userWindow.lastY = 0;
 _$.userWindow.oldW = 0;
 _$.userWindow.oldH = 0;

 _$.toggle_flash(1);
 _$.userWindow.number = false;
 },

 show_loaded: function(){

 _$.loader.toggle(0);
 _$.toggle_div('SCMS_window',1);

 if(_$.browser().name!='ie') turnOpacity('SCMS_window',0.2,1);
 },

 minimize_maximize: function(){

 var obj = _$.$('SCMS_window').style;

 if(_$.$('ADMcontent').style.display=='none'){
 obj.width = _$.userWindow.oldW+'px';
 obj.height = _$.userWindow.oldH+'px';
 obj.top = (_$.userWindow.lastY+_$.current_scroll().y)+'px';
 obj.left = _$.userWindow.lastX+'px';
 }
 else{
 if(document.body.style.overflow=='hidden') _$.toggle_scroll();

 _$.userWindow.oldW = parseInt(obj.width);
 _$.userWindow.oldH = parseInt(obj.height);

 obj.width = 31+'px';
 obj.height = 111+'px';

 _$.userWindow.lastY = parseInt(obj.top)-_$.current_scroll().y;
 _$.userWindow.lastX = parseInt(obj.left);
 obj.top = _$.current_scroll().y+'px';
 obj.left = 0;
 }

 _$.toggle_div('ADMicon');
 _$.toggle_div('ADMcontent');
 },

 expand_area: function(obj,param1,param2){

 if(_$.$(obj)) obj = _$.$(obj);

 var steps = 10;
 var ms = 30;
 obj.expandArea = null;

 var param1 = (typeof param1!='undefined')?param1:null;
 var param2 = (typeof param2!='undefined')?param2:null;
 var params = [param1,param2];

 for(var i=0; i<params.length; i++){

 if(params[i]!==null){
 if(params[i][params[i].length-1]=='x') var newX = (params[i][0]=='+'||params[i][0]=='-')?obj.offsetWidth+parseInt(params[i]):parseInt(params[i]);
 else if(params[i][params[i].length-1]=='y') var newY = (params[i][0]=='+'||params[i][0]=='-')?obj.offsetHeight+parseInt(params[i]):parseInt(params[i]);
 }
 }

 var oldX = obj.offsetWidth;
 var oldY = obj.offsetHeight;

 if(!newX) var newX = oldX;
 if(!newY) var newY = oldY;

 var diffX = newX-oldX;
 var diffY = newY-oldY;

 var step = steps;

 this.action = function(){

 clearTimeout(obj.expandArea);

 if(diffX!=0){
 obj.style.width = parseInt(obj.style.width)+Math.floor(diffX/steps)+'px';
 if(obj.style.left!='') obj.style.left = parseInt(obj.style.left)-Math.floor(diffX/steps/2)+'px';
 }

 if(diffY!=0){
 obj.style.height = parseInt(obj.style.height)+Math.floor(diffY/steps)+'px';
 if(obj.style.top!='') obj.style.top = parseInt(obj.style.top)-Math.floor(diffY/steps/2)+'px';
 }

 step--;

 if(step>0) obj.expandArea = setTimeout(arguments.callee,ms);
 }

 this.action();
 delete(obj.expandArea);
 }
};

_$.siteSearch = {

 input_default: null,

 go: function(){

 var check_value = _$.$f('scms_search','search',1);

 if(check_value=='qweqwe'&&_$.$('scms_admin_point')){
 if(_$.$('scms_admin_point').innerHTML=='&nbsp;') _$.$('scms_admin_point').innerHTML = '<img src="/scms_core/admin/img/blink_pixel.gif" width="20" height="20" border="0" alt="" />';
 }
 else if(check_value!=_$.siteSearch.input_default&&check_value!=''&&check_value!=' '){

 location.href = _$.$f('scms_search',0,1)+'search/'+check_value+'/';
 }

 }
};

_$.user_logout = function(){
 _$.loader.toggle(1);

 var url = '/scms_core/admin/process/auth_process.php';
 var data = 'action=logout&url='+location.toString();

 _$.ajaxLoadPost(url,data,
 function(ajaxObject){
 if(ajaxObject.responseText=='ref') location.href = '/';
 else{
 _$.loader.toggle(0);
 _$.toggle_div('scms_admin_point');
 _$.toggle_div('scms_ap');
 _$.$('scms_ap').innerHTML = '';
 };
 });
};


_$.timers = {

 check_alt_press: 0,

 key_press: function(e){

 e = _$.event(e);

 if(e.keyCode==18) _$.timers.check_alt_press = 1;
 else if(e.keyCode==27&&_$.$('SCMS_window')) _$.userWindow.remove();
 else if(e.keyCode==49&&_$.timers.check_alt_press==1) _$.userWindow.make(280,210,'Авторизация','/scms_core/admin/logform.php?show=1');
 else if(e.keyCode==192&&_$.timers.check_alt_press==1){

 var data = _$.timers.handlers.split('~');
 alert('Время: '+data[0]+' секунд. MySQL: '+data[1]+' запросов.\n\nКэш страницы '+((data[2]==0)?'НЕ ':'')+'найден.\n\nКоличество объектов DOM: '+_$.$t('*').length+'\n\nV-i: '+data[3]+'-'+data[4]);
 }
 },

 key_release: function(e){

 e = _$.event(e);
 if(e.keyCode==18) _$.timers.check_alt_press = 0;
 }
};


_$.getstat = function(id){

 var url = '/scms_core/admin/process/auth_process.php';
 var data = 'action=update_dpi&id='+id+'&dpi='+screen.width+'x'+screen.height+'&color='+(screen.colorDepth?screen.colorDepth:screen.pixelDepth);

 _$.ajaxLoadPost(url,data,function(){});
};

_$.init = function(){

 if(_$.$('scms_admin_point')){

 _$.addEvent(_$.$('scms_admin_point'),'click',function(){
 if(_$.$('scms_admin_point').innerHTML.length<7) _$.$('scms_admin_point').innerHTML = '&nbsp;';
 _$.userWindow.make(280,210,'Авторизация','/scms_core/admin/logform.php?show=1');
 });

 _$.addEvent(document,'keydown',_$.timers.key_press);
 _$.addEvent(document,'keyup',_$.timers.key_release);
 };

 if(_$.$f('scms_search')){
 _$.siteSearch.input_default = _$.$f('scms_search','search',1);

 for(var i=_$.$t('input',_$.$f('scms_search')).length-1; i>0; i--){
 if(_$.$t('input',_$.$f('scms_search'))[i].type=='image'||_$.$t('input',_$.$f('scms_search'))[i].type=='submit'){
 _$.addEvent(_$.$t('input',_$.$f('scms_search'))[i],'click',_$.siteSearch.go);
 break;
 }
 }

 _$.$f('scms_search').onsubmit = function(){return false};
 };

 if(document.images['scms_counter']) document.images['scms_counter'].src = '/counter.gif';

 _$.email_decode();

 var gallery = _$.$c('gallery');

 for(var i=0; i<gallery.length; i++){
 if(_$.browser().name=='ie') gallery[i].style.cursor = 'url(/scms_core/admin/img/cursors/zoom_ie.cur),auto';
 else if(_$.browser().name!='opera') gallery[i].style.cursor = 'url(/scms_core/admin/img/cursors/zoom.cur),auto';
 }
};

function turnOpacity(obj,from,to,ms){

 var ms = ms||50;

 if(_$.$(obj)) obj = _$.$(obj);

 if(obj.scmsOpacity) clearTimeout(obj.scmsOpacity);
 else obj.scmsOpacity = '';

 if(_$.browser().name=='ie') obj.style.filter = 'alpha(opacity='+(from*100)+')';
 else obj.style.opacity = from;

 _$.toggle_div(obj,1);

 var checker = Math.random();

 this.appear = function(){

 if(_$.browser().name=='ie') var op = parseInt(obj.style.filter.split('opacity=')[1])/100;
 else var op = parseFloat(obj.style.opacity);

 clearTimeout(obj.scmsOpacity);

 if(to>from&&op<to){
 op += 0.1;

 if(op==1){
 if(_$.browser().name=='ie') obj.style.filter = '';
 else obj.style.opacity = '';
 }
 else{
 if(_$.browser().name=='ie') obj.style.filter = 'alpha(opacity='+(op*100)+')';
 else obj.style.opacity = op;
 }

 obj.scmsOpacity = setTimeout(arguments.callee,ms);
 }
 else if(to<from&&op>to){
 op -= 0.2;

 if(_$.browser().name=='ie') obj.style.filter = 'alpha(opacity='+(op*100)+')';
 else obj.style.opacity = op;

 obj.scmsOpacity = setTimeout(arguments.callee,ms);
 }
 else if(to==0){
 _$.toggle_div(obj,0);
 }
 }

 this.appear();

 delete(obj.scmsOpacity);
};

function encode_utf8(s){
 return unescape(encodeURIComponent(s));
};

function decode_utf8(s){
 return decodeURIComponent(escape(s));
};

function urlencode(str){

 var trans = [];
 for(var i=0x410; i<=0x44F; i++) trans[i] = i-0x350;
 trans[0x401] = 0xA8;
 trans[0x451] = 0xB8;

 this.escape2 = 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);
 };

 return escape(String.fromCharCode.apply(null,ret));
 }

 return this.escape2(str);
};

function insertAfter(parent,newNode,refNode){

 if(refNode.nextSibling) return parent.insertBefore(newNode,refNode.nextSibling);
 else return parent.appendChild(newNode);
};

function array_search(needle,haystack,strict ){

 var strict = !!strict;
 
 for(var key in haystack){
 if((strict && haystack[key]===needle) || (!strict && haystack[key] == needle)){
 return key;
 }
 }

 return false;
};

function array_slice(arr, offst, lgth, preserve_keys){

 var key = '';
 
 if(!(arr instanceof Array) || (preserve_keys && offst !== 0)){

 var lgt =0, newAssoc = {};

 for(key in arr){
 lgt += 1;
 newAssoc[key] = arr[key];
 }

 arr = newAssoc;
 
 offst = (offst < 0) ? lgt + offst : offst;
 lgth = lgth === undefined ? lgt : (lgth < 0) ? lgt + lgth - offst : lgth;
 var assoc = {};
 var start = false, it=-1, arrlgth=0, no_pk_idx=0;

 for(key in arr){

 ++it;

 if(arrlgth>=lgth) break;
 if(it==offst) start = true;
 if(!start) continue;

 ++arrlgth;

 if(this.is_int(key) && !preserve_keys) assoc[no_pk_idx++] = arr[key];
 else assoc[key] = arr[key];
 }

 return assoc;
 }
 
 if(lgth===undefined) return arr.slice(offst);
 else if(lgth >= 0) return arr.slice(offst, offst + lgth);
 else return arr.slice(offst, lgth);
};

_$.addEvent(window,'load',_$.init);
