/*   (c)  spruden.com  2012   */
/*   build 15.02.2012   */

if(!sm){var sm={lang:{ajaxErr:'XMLHttpRequest ERROR!',ajaxNoURL:'ERROR! Request URL not found!',ajaxDeny:'ACCESS DENY!',ajaxNoForm:'ERROR! No form object found!'},ver:'4.0',conf:{},ajaxMode:'xml',commonLibVer:5,br:"\n",mouse:{},mouseOffset:{},grab:false,grabID:false,drabIdList:[],submitEmulateId:'submitEmulate',inputChecked:true,commonPath:'',images:{},imgList:{warn:'warn.gif',close:'close.gif',help:'help.gif',gradient:'gradient.gif'},data:{infHelp:{id:'smHelper',obj:null,priorites:{className:'SMhelpInformer',onclick:null},styles:{zIndex:99,cursor:'default',display:'block',width:'400px',height:'250px',opacity:0.9,backgroundColor:'#FFFFFF'}},infWarn:{id:'smInformer',obj:null,priorites:{className:'SMWarnInformer',onclick:null},styles:{zIndex:101,cursor:'default',display:'block',width:'420px',height:'80px',opacity:0.9,backgroundColor:'#FFFFF0'}},conText:{id:'smConText',obj:null,priorites:{className:'SMconTextInformer',onclick:function(){sm.setFader('conText')}},styles:{zIndex:102,cursor:'default',display:'block',width:'200px',height:'auto',textAlign:'center',opacity:0.9,backgroundColor:'#FFFFF0'}}},frmBg:{ok:'#FFFFFF',err:'#FFE082'},hOffset:6,vOffset:4,setTimer:4500,timers:{informer:null,fader:null},opacityCnt:-1,faderSpeed:10,uaVersion:/Trident\/4\.0/.test(navigator.userAgent)?8:parseFloat((navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1]),ie:(document.all&&!window.opera)?true:false,safari:/Safari/.test(navigator.userAgent)?true:false,geckoMac:/Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent)?true:false,test:function(a,b){b=b||'all';var q='';var j=0;for(var c in a){if(b=='all'){q+=c+'='+a[c]}else{q+=c}if(j<2){q+="\t\t\t";j++}else{q+="\n";j=0}}alert(q)},setCommonPath:function(a){sm.commonPath=a},loadScript:function(a,b){var c='%3Cscript%20type%3D%22text/javascript%22%20src%3D%22'+a+b+'%22%20onerror%3D%22alert%28%27Loading%20Error%20'+b+'%21%27%29%3B%22%3E%3C/script%3E';document.write(unescape(c))},verCompare:function(){if(sm.ie&&sm.uaVersion<6){alert('Error! Your browser '+navigator.userAgent+'  has not supported the "sm-query" JavaScript library. Please update your browser!');return false}else{return true}},isStatic:function(){return/\.php/.test(location.pathname)?false:true},$:function(a){return document.getElementById(a)||null},setConf:function(a,b){sm[a]=b},rand:function(a,b){return Math.round(Math.random()*(b-a))+a},trim:function(a){return a.replace(/^\s+|\s+$/g,'')},getQuery:function(a){if(/\?/.test(a))a=a.substring(1);var b={};var c=a.split("&");for(var i=0;i<c.length;i++){var d=c[i].split("=");b[d[0]]=d[1]||''}return b},htmlSpecialChars:function(a,b){if(b)a=a.replace(/\'/g,"&#039;");a=a.replace(/\"/g,'&quot;');a=a.replace(/</g,'&lt;');a=a.replace(/>/g,'&gt;');return a},preloadImg:function(a){if(sm.imgList&&sm.images.complete==undefined){for(var b in sm.imgList){sm.images[b]=new Image();sm.images[b].src=sm.commonPath+(a+'/'||'/')+sm.imgList[b]}sm.images.complete=true}},getImg:function(a){var b=sm.images[a]||false;return b.src||''},objMerge:function(a,b){var c=Bar[a];for(var d in b){c[d]=b[d]}},explode:function(a,b){b=b||',';return a.length?a.split(b):new Array()},push:function(a,b){a[a.length]=b},pad:function(a,b,c){return((a+="").length<b)?new Array(++b-a.length).join(c||"0")+a:a},extend:function(a,b){for(var x in b)a[x]=b[x];return a},inArray:function(a,b){for(var i=0;i<b.length;i++){if(b[i]===a)return true}return false},isConfirm:function(a){return a?confirm(sm.lang[a]||'Empty message'):true},setStyles:function(a,b){for(var c in b){if(sm.ie&&c=='opacity'){if(b[c]>0.99)a.style.removeAttribute('filter');else a.style.filter='alpha(opacity='+(b[c]*100)+')'}else{a.style[c]=b[c]}}},setPriorites:function(a,b){for(var c in b){a[c]=b[c]}},date:function(a,b,c){c=c||'&nbsp;';var d=new Date(a?a*1000:null);var e=sm.lang.monthsAr||[];var f='';f+=d.getDate();f+=c+(e.length?e[d.getMonth()]:d.getMonth()+1);f+=c+d.getFullYear();if(!b){f+=' '+d.getHours();f+=':'+sm.pad(d.getMinutes(),2)}return f},getPageSize:function(){var d=document,w=window;var a=(d.compatMode&&d.compatMode!='BackCompat')?d.documentElement:d.body;var b=sm.ie?a.clientWidth:(d.documentElement.clientWidth||self.innerWidth);var c=sm.ie?a.clientHeight:self.innerHeight;sm.page={width:b,height:c,scrollLeft:sm.ie?a.scrollLeft:w.pageXOffset,scrollTop:sm.ie?a.scrollTop:w.pageYOffset}},getPosition:function(a){var p={x:a.offsetLeft,y:a.offsetTop};while(a.offsetParent){a=a.offsetParent;p.x+=a.offsetLeft;p.y+=a.offsetTop;if(a!=document.body&&a!=document.documentElement){p.x-=a.scrollLeft;p.y-=a.scrollTop}}return p},getPosOffset:function(a,b,c,d){c=isNaN(c)?0:c;d=d||0;if(a=='width'){var e=d?d:sm.hOffset;return(b+c>(sm.page.width-e)+sm.page.scrollLeft)?b-e:b+e+sm.hOffset}else{var e=d?d:sm.vOffset;return(b+c>(sm.page.height-e)+sm.page.scrollTop)?b-c+sm.vOffset:b+sm.vOffset}},keyHandler:function(e){if(!e)e=window.event;if(!e.target)e.target=e.srcElement;var a=e.target.form;if(typeof a=='undefined'||a.type=='textarea')return true;switch(e.keyCode){case 27:break;case 13:break}return true},mouseMoveHandler:function(a){a=a||null;if(a&&sm.grab){var x=sm.mouse.x-sm.mouseOffset.x;var y=sm.mouse.y-sm.mouseOffset.y;sm.setStyles(a,{left:x+'px',top:y+'px'})}return false},mouseClickHandler:function(e){if(!e)e=window.event;if(e.button>1)return true;if(!e.target)e.target=e.srcElement;var a=sm.grabID;sm.grabID=false;var b=e.target;var c=0;while(b.tagName=='DIV'){sm.grabID=sm.inArray(b.id,sm.drabIdList)?b.id:false;b=b.parentNode;c++;if(sm.grabID||c>3)break}if(a&&a!=sm.grabID)return false;if(e.type=='mousedown'&&sm.grabID){var d=sm.$(sm.grabID);d.style.cursor='move';sm.grab=true;sm.addEventListener(document,'mousemove',function(){sm.mouseMoveHandler(b)});if(sm.timers.informer)clearTimeout(sm.timers.informer);d.focus();var p=sm.getPosition(d);sm.mouseOffset.x=sm.mouse.x-p.x;sm.mouseOffset.y=sm.mouse.y-p.y}else if(e.type=='mouseup'&&sm.grab==true){var d=sm.$(sm.grabID);d.style.cursor='default';sm.grab=false;document.ondragstart=null;document.body.onselectstart=null;sm.removeEventListener(document,'mousemove',sm.mouseMoveHandler)}return false},addEventListener:function(a,b,c){try{a.addEventListener(b,c,false)}catch(e){try{a.detachEvent('on'+b,c);a.attachEvent('on'+b,c)}catch(e){a['on'+b]=c}}},removeEventListener:function(a,b,c){try{a.removeEventListener(b,c,false)}catch(e){try{a.detachEvent('on'+b,c)}catch(e){a['on'+b]=null}}},createElement:function(b,c,d,e){var a=document.createElement(c);if(d)sm.setPriorites(a,d);if(e)sm.setStyles(a,e);if(b)b.appendChild(a);return a},sendData:function(a,b){b=b||2500;setTimeout(function(){a.submit()},b)},submitEmulateSet:function(a,b){if(typeof b.name!='undefined'){b.name=a.name}},submitEmulateGet:function(a){if(typeof a.name!='undefined'){return a.name}},isChanged:function(e){if(!e)e=window.event;if(!e.target)e.target=e.srcElement;var a='conText';var b=sm.getData(a);if(typeof e.target.form!='undefined'&&e.target.isError===true){if(e.target.value.length>0||typeof e.button!='undefined'||e.type=='paste'){if(b.obj)sm.setFader(a);sm.setFieldmode(e.target,true);e.target.isError=false}}},setFieldmode:function(a,b){if(a){if(b){a.style.backgroundColor=sm.frmBg.ok;a.style.borderColor='Green'}else{a.style.backgroundColor=sm.frmBg.err;a.style.borderColor='#A52A2A'}}},checkField:function(a){var b=a.value?sm.trim(a.value):'';var c=a.name||null;sm.opacityCnt=-1;if(b.length==0){sm.setFader('conText',{msg:sm.lang.empty,key:'conText',obj:a});return false}else if(c=='email'&&/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/.test(b)==false){sm.setFader('conText',{msg:sm.lang.email,key:'conText',obj:a});return false}else{sm.setFader('conText');return true}},lockForm:function(a){if(!a.elements)return false;for(var i=0;i<a.elements.length;i++){obj=a.elements[i];if(obj.type=='submit'){obj.disabled=true;obj.style.cursor='progress'}}},lookForFields:function(a){if(!a.elements)return false;var b=true;var c;for(var i=0;i<a.elements.length;i++){c=a.elements[i];if(typeof c.smChecking!='undefined'){if(sm.checkField(c)){b=true;c.isError=false;sm.setFieldmode(c,true);c.blur()}else{b=false;c.isError=true;sm.setFieldmode(c,false);c.focus();break}}}return b},formToolsBar:function(a){var b=sm.$(a);var c='';if(b){c+=sm.lang.toolsBar;sm.setStyles(b,{display:'block',margin:'4px 0px 4px 0px',padding:'4px',border:'1px solid #A9A9A9',backgroundColor:'#F9F9F9',fontFamily:'Arial',fontSize:'10px'});b.innerHTML=c}},getData:function(a){return sm.data[a]},createDiv:function(a){var b=sm.data[a];var c=document.createElement("div");sm.setPriorites(c,{id:b.id});sm.setStyles(c,{display:'none',left:'-500px'});document.body.appendChild(c);b.obj=c},setFader:function(b,c){if(sm.opacityCnt!=-1)return false;var d=sm.getData(b||'infWarn');if(!d.obj)return false;var e=d.obj;if(sm.ie){var f=e.style.filter;var g=/alpha\(opacity=([0-9]+)\)/.exec(f);f=g?g[1]/10:0}else{var f=e.style.opacity;f=f?f*10:0}f=parseInt(f);var h=f?'out':'in';sm.opacityCnt=f;var i=10;if(h=='in'&&(f>0||e.innerHTML.length==0)){sm.opacityCnt=-1;if(c)sm.showInformer(c.msg,c.key,c.obj);c=null;return true}if(sm.timers.fader)clearInterval(sm.timers.fader);var j=function(a){a.innerHTML='';sm.setStyles(a,{display:'none',left:'-500px'});if(sm.timers.informer)clearTimeout(sm.timers.informer)};sm.timers.fader=setInterval(function(){if(sm.opacityCnt<i&&sm.opacityCnt>=0){sm.setStyles(e,{opacity:(sm.opacityCnt/10)});h=='in'?sm.opacityCnt++:sm.opacityCnt--}else{if(h=='out')j(e);clearInterval(sm.timers.fader);sm.timers.fader=null;sm.opacityCnt=-1;if(c)sm.showInformer(c.msg,c.key,c.obj)}},sm.faderSpeed);return true},showInformer:function(a,b,c){c=c||null;b=b||'infWarn';var d=sm.data[b];var e='';if(!d.obj)return false;if(d.obj.innerHTML.length){sm.setFader(b,{msg:a,key:b,obj:c})}else{sm.getPageSize();if(c){var p=sm.getPosition(c);var f=sm.getPosOffset('width',p.x,parseInt(d.styles.width),c.offsetWidth);var g=sm.getPosOffset('height',p.y,parseInt(d.styles.height),c.offsetHeight)}else{var f=(sm.page.width-parseInt(d.styles.width))/2;var g=(sm.page.height-parseInt(d.styles.height))/2;if(sm.ie&&sm.uaVersion<8)g+=sm.page.scrollTop;f=Math.max(Math.round(f),0);g=Math.max(Math.round(g),0)}var h=sm.ie?'width: 100%; ':'-moz-user-select: none; -khtml-user-select: none; user-select: none; ';switch(b){case'infWarn':d.styles.left=f+'px';d.styles.top=g+'px';d.styles.position=(sm.ie&&sm.uaVersion<8)?'absolute':'fixed';d.styles.opacity=0;e='<div unselectable="on" class="alertTitleBox" id="grabbingBox" style="'+h+'background: #7390BE url('+sm.getImg('gradient')+') repeat-y;">';e+='<div unselectable="on" style="margin: 4px 0px 0px 3px; font: 10px Arial; color: White; float: left;">SM Alert Notification</div>';e+='<img src="'+sm.getImg('close')+'" alt="" border="0" style="float: right; cursor: pointer; margin: 1px;" title="Close" onClick="sm.setFader(\'infWarn\');" />';e+='<div style="clear: both; line-height: 0px;"></div></div>';e+='<div class="alertTitleBody" style="text-align: left; overflow: hidden;" unselectable="on">'+a+'</div>';d.priorites.innerHTML=e;break;case'infHelp':d.styles.left=f+'px';d.styles.top=g+'px';d.styles.position=((sm.ie&&sm.uaVersion<8)||c)?'absolute':'fixed';d.styles.opacity=0;e='<div unselectable="on" class="alertTitleBox" id="grabbingBoxHlp" style="'+h+'background: #7390BE url('+sm.getImg('gradient')+') repeat-y;">';e+='<div unselectable="on" style="margin: 4px 0px 0px 3px; font: 10px Arial; color: White; float: left;">SM Help Notification</div>';e+='<img src="'+sm.getImg('close')+'" alt="" border="0" style="float: right; cursor: pointer; margin: 1px;" title="Close" onClick="sm.setFader(\'infHelp\');" />';e+='<div style="clear: both; line-height: 0px;"></div></div>';e+='<div class="alertTitleBody" style="text-align: left;" unselectable="on">'+a+'</div>';d.priorites.innerHTML=e;if(sm.setTimer)sm.timers.informer=setTimeout(function(){sm.setFader('infHelp')},sm.setTimer);break;case'conText':d.styles.left=f+'px';d.styles.top=g+'px';d.styles.position='absolute';d.styles.opacity=0;e='<div unselectable="on" class="alertTitleBody">'+a+'</div>';d.priorites.innerHTML=e;break;default:return false}sm.setPriorites(d.obj,d.priorites);sm.setStyles(d.obj,d.styles);sm.setFader(b)}},setCss:function(a){if(a){if(typeof sm.setCssStyle!="object"){sm.setCssStyle=sm.createElement(document.getElementsByTagName('HEAD')[0],'style',{type:'text/css'},null)}for(var b in a){if(sm.ie&&sm.uaVersion<9){var c=document.styleSheets[document.styleSheets.length-1];if(typeof(c.addRule)=="object")c.addRule(b,a[b])}else{sm.setCssStyle.appendChild(document.createTextNode(b+" {"+a[b]+"}"))}}}}}};sm.Ajax=function(f,g){this.method=f||'POST';this.multiPart=g||false;this.RequestHeader={multi:'multipart/form-data',application:'application/x-www-form-urlencoded'};this.requestFile=null;this.xmlhttp=null;this.URLString="";this.encodeURIString=false;this.error=false;this.xmlObj=null;this.outMsg=function(a){alert(sm.lang[a])};this.onLoading=function(){};this.onLoaded=function(){};this.onInteractive=function(){};this.onCompletion=function(){};this.getXmlHttp=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}catch(err){this.xmlhttp=(typeof XMLHttpRequest!="undefined")?new XMLHttpRequest():null}}if(!this.xmlhttp){this.outMsg('ajaxErr');this.error=true}};this.setVar=function(a,b){if(this.URLString.length<3){this.URLString=this.enc(a)+"="+this.enc(b)}else{this.URLString+="&"+this.enc(a)+"="+this.enc(b)}};this.enc=function(a){return this.encodeURIString?encodeURIComponent(a):a};this.encodeVAR=function(a){a=a.toString();var b=a.match(/[\x90-\xFF]/g);if(b){for(var i=0;i<b.length;i++){a=a.replace(b[i],'%u00'+(b[i].charCodeAt(0)&0xFF).toString(16).toUpperCase())}}return escape(a).replace(/\+/g,"%2B")};this.formScanner=function(a,b){if(typeof a=='object'){b=b||false;for(var i=0;i<a.elements.length;i++){var r=a.elements[i];if(r.type=='radio'&&r.checked==false)continue;if(r.type=='submit'&&b==true)continue;this.setVar(r.name,r.value)}}else{this.error=true;this.outMsg('formObjER')}};this.getXmlTeg=function(a){var b=this.responseXML.getElementsByTagName(a);return b[0]?b[0].firstChild.nodeValue:false};this.xmlGrabber=function(a){this.xmlObj=this.responseXML.getElementsByTagName(a)};this.tegValue=function(a){if(a==='length'){return this.xmlObj.length!==undefined?this.xmlObj.length:0}else{a=parseInt(a,10)||0;return this.xmlObj[a]?this.xmlObj[a].firstChild.nodeValue:undefined}};this.runAJAX=function(a){a=a||false;this.responseStatus=new Array(2);if(!this.xmlhttp||this.error){return false}else{if(a){if(this.URLString.length){this.URLString=this.URLString+"&"+a}else{this.URLString=a}}if(this.encodeURIString){var b=new Date().getTime();this.setVar("ajax",b)}if(this.requestFile){var c=this;if(this.method=="GET"){var d=this.requestFile+"?"+this.URLString;this.xmlhttp.open(this.method,d,true)}else{this.xmlhttp.open(this.method,this.requestFile,true)}if(this.method=="POST"){try{this.xmlhttp.setRequestHeader('Content-Type',this.RequestHeader.application)}catch(e){}}this.xmlhttp.send(this.URLString);this.xmlhttp.onreadystatechange=function(){switch(c.xmlhttp.readyState){case 1:c.onLoading();break;case 2:c.onLoaded();break;case 3:c.onInteractive();break;case 4:c.response=c.xmlhttp.responseText;c.responseXML=c.xmlhttp.responseXML;c.responseStatus[0]=c.xmlhttp.status;c.responseStatus[1]=c.xmlhttp.statusText;c.onCompletion();c.URLString="";break}}}else{this.outMsg('ajaxNoURL')}}return true};this.getXmlHttp()};sm.formVerifier=function(d,f,g,h){if(window.frm)frm.id='none';this.formObj=sm.$(d||'mainForm');if(!this.formObj)return false;this.knobList=f||{};if(typeof g=='string'){this.skipFieldsName=g?g.split(","):[]}else{this.skipFieldsName=g||[]}this.fieldsListen=h?h.split(","):['text','password','textarea'];this.result=false;this.emulateId='sEmult'+sm.rand(100,999);this.submitEml=document.createElement('input');sm.setPriorites(this.submitEml,{type:'hidden',name:'temp',id:this.emulateId,value:'Y',disabled:true});this.formObj.appendChild(this.submitEml);this.setsFields();var i=this;this.formObj.onsubmit=function(e){if(!e)e=window.event;if(!e.target)e.target=e.srcElement;var a=sm.submitEmulateGet(i.submitEml);var b=i.knobList[a||'temp'];if(b){if(typeof b.delay!="undefined"){i.submitEml.disabled=false;if(sm.lookForFields(e.target)){sm.opacityCnt=-1;sm.showInformer(sm.lang.wait,'infWarn');sm.lockForm(e.target);sm.sendData(e.target,b.delay)}}else if(typeof b.ask!="undefined"){return sm.isConfirm(b.ask)}else if(typeof b.ajax!="undefined"){if(b.ajax===true&&!sm.lookForFields(e.target)){return false}else{sm.showInformer(sm.lang.wait,'infWarn');var c=new sm.Ajax('POST');c.onCompletion=function(){sm.opacityCnt=-1;sm.setFader('infWarn');if(c.xmlhttp.status!=200){alert('System error '+c.xmlhttp.status+' ('+c.xmlhttp.statusText+')')}else{}};c.encodeURIString=true;if(sm.ajaxMode=='xml'){c.requestFile=location.href.replace('.html','.xml')}else{c.requestFile=location.href}c.formScanner(i.formObj,true);c.runAJAX()}}}return false}};sm.formVerifier.prototype.setsFields=function(){if(!this.formObj)return false;var a;var b=this;for(var i=0;i<this.formObj.elements.length;i++){a=this.formObj.elements[i];if(a.type=='submit'){if(this.submitEml.name=='temp'){this.submitEml.name=a.name}a.style.cursor='pointer';a.disabled=false;a.onclick=function(){sm.submitEmulateSet(this,b.submitEml)}}else if(sm.inArray(a.type,this.fieldsListen)&&!sm.inArray(a.name,this.skipFieldsName)){a.onclick=sm.isChanged;sm.addEventListener(a,window.opera?'keypress':'keydown',sm.isChanged);sm.addEventListener(a,'paste',sm.isChanged);a.smChecking=true}}return this.result};if(sm.verCompare()){sm.addEventListener(window,'load',function(){sm.createDiv('infWarn');sm.createDiv('infHelp');sm.data.conText.obj=sm.data.infHelp.obj});sm.addEventListener(document,'mousemove',function(e){sm.mouse={x:e.clientX,y:e.clientY}});sm.addEventListener(document,'mousedown',sm.mouseClickHandler);sm.addEventListener(document,'mouseup',sm.mouseClickHandler)}


sm.lang = {
		empty : 'Пожалуйста, заполните выделенные поля!',
		email : 'Пожалуйста, проверьте правильность <b>E-mail</b> адреса!',
		wait : '<b>Данные загружаются, пожалуйста, подождите...</b>',
		del : 'Вы действительно хотите удалить эту страницу?',
		toolsBar : 'Разрешенные теги <b>&lt;b&gt;,&lt;i&gt;,&lt;u&gt;</b> [URL=адрес]Имя ссылки[/URL]<br>[SM][/SM] - заголовок, [SLIST][/SLIST] - список'
};


if (sm.isStatic()) {
	// sm.setCommonPath(location.protocol + '//' + location.host); //
	sm.setCommonPath("http://jf.spbu.ru");
	sm.preloadImg('/js/img');
	sm.drabIdList = ['grabbingBox','grabbingBoxHlp'];	
}

sm.infWarn = {};
