/*
Name:			Shogo User Interface LIBrary (Lite)
JS Type:	Universal JavaScript Framework
Version:	1.0-beta (06.05.2008)
Author:		Ivan Azaryonok (Shogo.RU)
*/

var suilib={version:"lite.beta-1.0",collector:{events:[],elements:[],cache:{}},anonymous:function(){},client:{domSupported:!!document.getElementById,nativeWrapper:!!window.HTMLElement,opera:!!window.opera,msie:!!(document.all&&document.all.item&&!window.opera),safari:!!(navigator.vendor&&navigator.vendor.toLowerCase().indexOf("apple")>=0),gecko:!!(document.addEventListener&&!window.opera),netscape:!!document.layers},ready:function(C,B,A){if(!this.init.initialize){this.init.initialize=[]}this.init.initialize.push({method:(C||suilib.anonymous),context:(B||window),args:(A||[])})},init:function(){if(suilib.init.done){return null}suilib.init.done=true;suilib.body=(!!document.body?document.body:document.getElementsByTagName("body")[0]);if(arguments.callee.initialize&&arguments.callee.initialize.length){for(var B=0,A=arguments.callee.initialize.length;B<A;B++){arguments.callee.initialize[B].method.apply(arguments.callee.initialize[B].context,arguments.callee.initialize[B].args)}}},body:{},extensions:{Array:{hasa:function(B){for(var A=0;A<this.length;A++){if(this[A]===B){return A}}return false},walkwith:function(A){var B=[];for(var C=0;C<this.length;C++){B.push(A(this[C]))}return B},filter:function(){var C=[];for(var B=0,A=arguments.length;B<A;B++){C.push(arguments[B])}return suilib.domExt.filter.apply(this,C)},hash:function(){var A={};for(var C=0,B=this.length;C<B;C++){A[C]=this[C]}return A}},String:{trim:function(E){var C=[" ","\r","\n"],A=this;if(E){for(var D=0,B=E.length;D<B;D++){C.push(E.charAt(D))}}while(C.hasa(A.charAt(0))!==false){A=A.substr(1)}while(C.hasa(A.charAt(A.length-1))!==false){A=A.substr(0,A.length-1)}return A.toString()},camelize:function(){var C=this.split("-"),A=C.length;if(A==1){return C[0]}var D=this.charAt(0)=="-"?C[0].charAt(0).toUpperCase()+C[0].substring(1):C[0];for(var B=1;B<A;B++){D+=C[B].charAt(0).toUpperCase()+C[B].substring(1)}return D.toString()},find:function(A){return(this.indexOf(A)>=0?true:false)}},Date:{isLeapYear:function(){var A=this.getFullYear();return((((A%4==0)&&(A%100!=0))||(A%400==0))?true:false)}},Function:{$:function(){var E=arguments[0],D=suilib.client.gecko;for(var B=1,A=arguments.length;B<A;B++){if(!arguments[B]){continue}try{if(typeof arguments[B]=="object"&&"length" in arguments[B]&&"hasa" in arguments[B]){var F=[];arguments[B].walkwith(function(G){F.push(G)});F.unshift(E);this.$.apply(this,F);continue}arguments[B]=$(arguments[B]);if(!arguments[B]){continue}if(arguments[B].attachEvent){arguments[B].attachEvent("on"+E,this)}else{arguments[B].addEventListener(E,this,false)}if(E!="unload"){suilib.collector.events.push([this,E,arguments[B]])}}catch(C){alert("$\n"+C)}}return this},$$:function(){var E=arguments[0],D=suilib.client.gecko;for(var B=1,A=arguments.length;B<A;B++){if(!arguments[B]){continue}try{if(typeof arguments[B]=="object"&&"length" in arguments[B]&&"hasa" in arguments[B]){var F=[];arguments[B].walkwith(function(G){F.push(G)});F.unshift(E);this.$$.apply(this,F);continue}arguments[B]=$(arguments[B]);if(!arguments[B]){continue}if(arguments[B].detachEvent){arguments[B].detachEvent}else{arguments[B].removeEventListener(E,this,false)}}catch(C){alert("$$\n"+C)}}return this}}},domExt:{__e__:true,$:function(){var C=arguments[0];for(var B=1,A=arguments.length;B<A;B++){if(arguments[B]&&arguments[B].$){arguments[B].$(C,this)}}return this},$$:function(){var C=arguments[0];for(var B=1,A=arguments.length;B<A;B++){if(arguments[B]&&arguments[B].$$){arguments[B].$$(C,this)}}return this},filter:function(I,H,F,G){var J=[];J.filter=suilib.extensions.Array.filter;if(this instanceof Array){for(var C=0,A=this.length;C<A;C++){if(this[C]&&this[C].filter){J=J.concat(this[C].filter(I,H,F,G))}}return J}var E=(G?this.getElementsByTagName(I||"*"):this.childNodes);outerLoop:for(var C=0,A=E.length;C<A;C++){if(!E[C]||E[C].nodeType!=1){continue}if(!G&&I&&I!="*"&&E[C].tagName.toLowerCase()!=I.toLowerCase()){continue}if(H&&E[C].className.split(" ").hasa(H)===false){continue}if(F){for(var B in F){try{if(E[C].getAttribute(B).toLowerCase()!==F[B].toLowerCase()){continue outerLoop}}catch(D){continue outerLoop}}}J.push($(E[C]))}return J},unset:function(){this.parentNode.removeChild(this);return this},empty:function(A,B){while(this.childNodes.length){if(A){$(this.firstChild).empty(A,B)}if(B&&this.firstChild.removeAttribute){var C=this.firstChild.getAttribute("id");if(suilib.collector.cache[C]){delete (suilib.collector.cache[C])}this.firstChild.removeAttribute("id")}this.removeChild(this.firstChild)}return this},show:function(B,C){if(B){C=C.split(",");var E={};for(var D=0,A=C.length;D<A;D++){switch(C[D].trim()){case"fade":E.opacity=[0,100];this.setstyle("opacity:0");break}}this.style.display="";this.animate(B,E)}else{this.style.display=""}return this},hide:function(C,D){if(C){D=D.split(",");var F={},B=this;for(var E=0,A=D.length;E<A;E++){switch(D[E].trim()){case"fade":F.opacity=[100,0];this.setstyle("opacity:100");break}}this.animate(C,F,function(){B.hide()})}else{this.style.display="none"}return this},animate:function(C,F,B,E){var A=0,D=0,K=this,H=(E||100);var J=C*1000/H;var G=function(N,M){var L;switch(N.camelize().trim()){case"width":case"height":case"left":case"top":case"fontSize":L=M+"px";break;case"color":case"backgroundColor":L="#"+Color.hsl2hex(M,100,100);break;default:L=M}return L};var I=function(N,Q){var P=arguments.callee;if(!P.$queue){P.$queue={}}if(!P.$ignore){P.$ignore={}}for(var M in N){if(!P.$queue[M]){P.$queue[M]=false;if(typeof N[M]=="function"&&N[M].call){this.setstyle(M+":"+N[M].call(P,Q,M));continue}if(!("$"+M in P)){P["$"+M]=N[M][0]}var R=(Math.max(N[M][0],N[M][1])-Math.min(N[M][0],N[M][1]))/J;if(!R){R=1}this.setstyle(M+":"+G(M,P["$"+M]));if(N[M][1]>N[M][0]){P["$"+M]+=R;if(P["$"+M]>=N[M][1]){P.$queue[M]=true;this.setstyle(M+":"+G(M,N[M][1]))}}else{if(N[M][1]<N[M][0]){P["$"+M]-=R;if(P["$"+M]<=N[M][1]){P.$queue[M]=true;this.setstyle(M+":"+G(M,N[M][1]))}}else{this.setstyle(M+":"+G(M,N[M][0]));P.$queue[M]=true}}}}var L=true;for(var O in P.$queue){if(!P.$ignore[O]&&P.$queue[O]!==true){L=false}}if(L){P.stop()}};I.loop=function(L,M){this.$ignore[M]=!!L};I.stop=function(){clearInterval(A);if(B){B()}};if(this.$intervalid){clearInterval(this.$intervalid)}this.$intervalid=A=setInterval(function(){D++;I.apply(K,[F,D])},H)},setstyle:function(B){var J=B.split(";");for(var E=0,C=J.length;E<C;E++){var D=J[E].split(":");var A=D[0].camelize().trim();try{switch(A){case"float":this.style.styleFloat=D[1].trim();this.style.cssFloat=D[1].trim();break;case"opacity":var F=parseInt(D[1],10);if(document.body.filters){var H=(this.filters["DXImageTransform.Microsoft.alpha"]||this.filters.alpha);if(H){H.opacity=F}else{this.style.filter+="progid:DXImageTransform.Microsoft.Alpha(opacity="+F+")"}}else{var G=F/100;this.style.opacity=G;this.style.MozOpacity=G;this.style.KhtmlOpacity=G}break;default:this.style[A]=D[1].trim()}}catch(I){}}return this},classAdd:function(A){var B=this.className.split(" ")||[];if(B.hasa(A)){return null}B.push(A);this.className=B.join(" ").trim();return this},classReplace:function(D,C){if(typeof C=="object"&&C.length){for(var B=0,A=C.length;B<A;B++){this.classRemove(C[B])}}else{this.classRemove(C)}this.classAdd(D);return this},classRemove:function(B){var D=this.className.split(" ")||[];for(var C=0,A=D.length;C<A;C++){if(D[C]==B){D.splice(C,1)}}this.className=D.join(" ");return this},offset:function(B){var A=this.offsetLeft,D=this.offsetTop;if(this.offsetParent&&B){var C=$(this.offsetParent).offset(B);A+=C[0];D+=C[1]}return[A,D]},html:function(A){if(A&&A.length&&A.length===parseInt(A.length,10)){this.innerHTML=A}return this.innerHTML},add:function(E,B,G){var F=$(document.createElement(E));if(B){for(var D in B){switch(D){case"class":F.classAdd(B[D]);break;case"style":F.setstyle(B[D]);break;case"innerHTML":F.html(B[D]);break;default:F.setAttribute(D,B[D])}}}if(G){for(var C=0,A=G.length;C<A;C++){if(G[C]){F.appendChild(G[C])}}}if(this&&this!=window&&this!=document&&this.appendChild){this.appendChild(F)}return F},addtext:function(A){var B=document.createTextNode(A);if(this&&this!=window&&this!=document&&this.appendChild){this.appendChild(B)}return B}},addProps:function(C,A,B){for(var B in A){if(C[B]&&B){continue}else{C[B]=A[B]}}return C},ajax:function(url,params,method,handler){if(!url){url=document.location.protocol+"//"+document.location.hostname+document.location.pathname+document.location.search}handler=(handler||suilib.anonymous);var pick=function(){var v=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml3.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],result;for(var i=0,l=v.length;i<l;i++){try{result=v[i]()}catch(exc){continue}break}return result};var provider=pick();var xmlhttp=provider;var closure=function(){handler({readyState:xmlhttp.readyState,statusCode:(xmlhttp.readyState==4)?xmlhttp.status:null,responseJS:(xmlhttp.readyState==4&&xmlhttp.status==200)?(function(x){try{eval("try{var r="+(x.responseText||"null")+"}catch(e){};")}catch(e){alert(e+"\n\n"+x.responseText)}return r})(xmlhttp):null});if(xmlhttp.readyState==4){xmlhttp=null}};if(!!params.hasa){params=params.join("&")}if(method=="get"){url+=(url.match(/\?/)?"&":"?")+params}url+=(url.match(/\?/)?"&":"?")+"$js="+((new Date()).getTime());try{provider.open(method,url.toLowerCase(),true);provider.onreadystatechange=closure;provider.setRequestHeader("X-Requested-With","Shogo UI/"+suilib.version);if(method=="post"){provider.setRequestHeader("Content-type","application/x-www-form-urlencoded")}provider.setRequestHeader("Accept","text/javascript, text/html, application/xml, text/xml, */*");provider.setRequestHeader("Connection","close");provider.send(method=="post"?params:null)}catch(exc){alert(exc+" "+params)}return provider},get:function(B,A){return this.ajax(null,B,"get",A)},post:function(B,A){return this.ajax(null,B,"post",A)},free:function(){for(var A=0;A<this.length;A++){if(!this[A][0]||!this[A][0].$$||!this[A][1]||!this[A][2]){continue}this[A][0].$$(this[A][1],this[A][2]);this[A][0]=this[A][2]=this[A]=null}}};(function(A){for(var B in A){suilib.addProps(window[B].prototype,A[B])}})(suilib.extensions);if(suilib.client.nativeWrapper){suilib.addProps(window.HTMLElement.prototype,suilib.domExt)}var add=suilib.domExt.add,addtext=suilib.domExt.addtext,__e__=true;function $(){if(!arguments[0]){return null}var C=[];if(arguments.length>1){for(var B=0,A=arguments.length;B<A;B++){C.push($(arguments[B]))}}else{switch(typeof arguments[0]){case"string":try{C=suilib.collector.cache[arguments[0]]?suilib.collector.cache[arguments[0]]:document.getElementById(arguments[0]);suilib.collector.cache[arguments[0]]=C}catch(D){alert("[wrong node]:\n"+D)}break;default:C=arguments[0]}}try{if(arguments.length==1&&!C.__e__){C=suilib.addProps(C,suilib.domExt,true)}}catch(D){alert("[extend error]: "+arguments[0]+"\n"+D)}return C}
;(function() {
if(document.addEventListener) document.addEventListener("DOMContentLoaded", suilib.init, false)
/*@cc_on @*/
/*@if (@_win32)
document.write('<script id="_DOMContentLoaded_" defer="defer" src="javascript:void(0)"><\/script>')
var script = document.getElementById('_DOMContentLoaded_')
script.onreadystatechange = function() {
if(this.readyState=='complete') suilib.init()
}
/*@end @*/
if(suilib.client.safari)
var timer = setInterval(function() {
if(/loaded|complete/.test(document.readyState)) {
clearInterval(timer); suilib.init()
}
}, 10)
window.onload = suilib.init;
(function() {
/*@cc_on @*/
/*@if (@_win32)
script.onreadystatechange = null; script = null
/*@end @*/
suilib.free.call(suilib.collector.events)
with(suilib.collector)
for(var i=0; i<cache.length; i++)
cache[i] = null
}).$('unload', window)
})();
var Color={rgb2hex:function(B){var A="0123456789ABCDEF",D=B.split(","),E="";for(var C=0;C<3;C++){var F=parseInt(D[C],10);E+=A.charAt(F>>4)+A.charAt(F&15)}return E},hex2rgb:function(C){var A="0123456789ABCDEF",D=[];C=C.toUpperCase();for(var B=0;B<6;B+=2){D.push(16*A.indexOf(C.charAt(B))+A.indexOf(C.charAt(B+1)))}D=D.join(", ");return D},hsl2rgb:function(N,I,A){var M,Q,D,O,E,L,P,J,H,C,K;var F=function(R,B,G){if(R<B){R=B}if(R>G){R=G}return R};if(I>0){O=N/60;L=A/100;E=I/100;K=parseInt(O,10);P=O-K;J=L*(1-E);H=L*(1-E*P);C=L*(1-E*(1-P));switch(K){case 0:M=L*255;Q=C*255;D=J*255;break;case 1:M=H*255;Q=L*255;D=J*255;break;case 2:M=J*255;Q=L*255;D=C*255;break;case 3:M=J*255;Q=H*255;D=L*255;break;case 4:M=C*255;Q=J*255;D=L*255;break;case 5:M=L*255;Q=J*255;D=H*255;break}}else{M=(A*255)/100;Q=M;D=M}return parseInt(F(M,0,255),10)+", "+parseInt(F(Q,0,255),10)+", "+parseInt(F(D,0,255),10)},hsl2hex:function(C,B,A){return this.rgb2hex(this.hsl2rgb(C,B,A))}};function $HAR(resp){var result=false,defmsg="Произошла неизвестная ошибка!";if(resp&&resp.responseJS){switch(resp.responseJS.status){case"ok":result=true;break;case"error":alert(resp.responseJS.message||defmsg);break;default:alert(defmsg)}if(resp.responseJS.evaluate){eval(resp.responseJS.evaluate)}if(resp.responseJS.debug){alert("[debug]:\n"+resp.responseJS.debug)}}return result}function check_required(B){for(var A=0;A<B.length;A++){if(!$(B[A]["id"]).value.trim().length){alert(B[A]["name"]+" не может быть пустым!");$(B[A]["id"]).focus();return false}if(B[A]["email"]&&!$(B[A]["id"]).value.match(/\S+@\S+\.\S+/)){alert(B[A]["name"]+" содержит некорректное значение!");$(B[A]["id"]).focus();return false}if(B[A]["numeric"]&&!$(B[A]["id"]).value.match(/[\d]+/)){alert(B[A]["name"]+" содержит некорректное значение!");$(B[A]["id"]).focus();return false}if(B[A]["group_1_2_3"]&&!$(B[A]["id"]).value.match(/(1|2|3)(,(1|2|3))*/)){alert(B[A]["name"]+" содержит некорректное значение!");$(B[A]["id"]).focus();return false}}return true};
