/**
 * JavaScript Wrapper - The wrappers of browser JavaScript objects
 * Copyright (C) 2005-2007 Alexandr Nosov, http://www.alex.4n.com.ua/
 *
 * Licensed under the terms of the GNU Lesser General Public License:
 * 	http://www.opensource.org/licenses/lgpl-license.php
 *
 * This version includes three basic wrappers:
 * 	winWrapper - wrapper of window;
 *	elmWrapper - wrapper of html-element;
 *	evtWrapper - wrapper of event-object;
 * For further information visit:
 * 	http://www.alex.4n.com.ua/js-wrapper/
 *
 * Do not remove this comment if you want to use script!
 * Не удаляйте данный комментарий, если вы хотите использовать скрипт!
 *
 * @author: Alexandr Nosov (alex@4n.com.ua)
 * @version:  02.02.13 Beta
 * @modified: 2007-10-23 22:40:00
 */
function isDefined(obj,prop){var u="undefined";return obj!=null&&typeof(obj)!=u&&(typeof(prop)==u||typeof(obj[prop])!=u);}function implement(destObj,srcObj,notReplace,isNext){if(destObj&&srcObj){if(!isNext&&(srcObj instanceof Array)){for(var i=0;i<srcObj.length;i++){implement(destObj,srcObj[i],notReplace);}}else{var v;for(var k in srcObj){v=srcObj[k]
if(typeof(destObj[k])==typeof(v)&&checkIsObject(v)&&!(v instanceof Function)){destObj[k]=implement(destObj[k],v,notReplace,true);}else if(!notReplace||!destObj[k]){destObj[k]=v;}}}return destObj;}return null;};function checkIsObject(obj){return obj!=null&&isDefined(obj)&&(typeof(obj)+"").toLowerCase()=="object";}var browserVer=(function(w){var d,o,m;d=w.document;o={};o.aN=w.navigator.appName;o.aV=w.navigator.appVersion;o.uA=w.navigator.userAgent;o.isDOM=d.getElementById?true:false;o.isOpera=o.isOpera5=w.opera&&o.isDOM?true:false;o.isOpera6=o.isOpera&&w.print?true:false;o.isOpera7=o.isOpera&&d.readyState?true:false;o.isOpera8=/Opera[^\d]*8/.test(o.uA);o.isOpera9=/Opera[^\d]*9/.test(o.uA);o.isMSIE=o.isIE=d.all&&d.all.item&&!o.isOpera?true:false;o.isStrict=d.compatMode=='CSS1Compat';o.isSafari=/\WSafari\W/.test(o.uA);o.isNN=o.isNC=o.aN=="Netscape";o.isMozilla=o.isNN6=o.isNN&&o.isDOM;o.identifyBrowser=o.isDOM||o.isNC||o.isMSIE||o.isOpera;m=(o.isMSIE?/MSIE\s*([\d\.]*)/i:/([\d\.]*)$/i).exec(o.uA);o.ver=m?m[1]:null;return o;})(window);var browserVersion=browserVer;var basicBroadcaster=function(){this._listeners={};};basicBroadcaster.prototype={broadcastMessage:function(){var eType,mName,arg,i;eType=arguments[0];arg=[];for(i=1;i<arguments.length;++i){arg[i-1]=arguments[i];}if(this._listeners[eType])for(mName in this._listeners[eType]){this._doMethod(this._listeners[eType][mName],mName,arg);}this._doMethod(this._getListeners(),eType,arg);},addListener:function(obj,eType,mName){this.removeListener(obj,eType,mName);var param={};this._getListeners(eType,mName).push([obj,param]);return param;},removeListener:function(obj,eType,mName){var list,ql,i,p;list=this._getListeners(eType,mName);for(i=list.length-1;i>=0;i--){if(list[i][0]==obj||obj==null){list.splice(i,1);break;}}ql=0;for(p in this._listeners[eType]){ql+=this._listeners[eType][p].length;}return ql;},alert:function(srting,data,win){if(data instanceof Array){var re,res;re=/\{\$(\d+)\}/g;while((res=re.exec(srting))!=null){if(isDefined(data,res[1]))srting=srting.replace(res[0],data[res[1]]);}}if(!isDefined(win)){win=isDefined(this,"win")?this.win:(isDefined(this,"winWr")?this.winWr.win:window);}win.alert(srting);},errMsg:function(srting,data,win){if(srting&&this.config.DebugMode){this.alert(srting,data,win);}},_getListeners:function(eType,mName){if(!eType)eType="all";if(!mName||eType=="all")mName=eType;if(!this._listeners[eType])this._listeners[eType]={};if(!this._listeners[eType][mName])this._listeners[eType][mName]=[];return this._listeners[eType][mName];},_doMethod:function(list,mName,arg){if(list){var list_,l,cm,emsg,i;l=arg.length;list_=[];for(i=0;i<list.length;i++){if(list[i]&&(typeof(list[i][0][mName])=="function"))list_[list_.length]=list[i];}for(i=0;i<list_.length;i++){arg[l]=list_[i][1];try{list_[i][0][mName].apply(list_[i][0],arg);}catch(e){cm=this.config["errMessages_"+this.config.curLanguage];emsg=(e.fileName?cm["BC_err_in"]+e.fileName:"")+(e.lineNumber?cm["BC_line"]+e.lineNumber:"");emsg+=(emsg?"\n":"")+(e.name?e.name+": ":"")+e.message;this._errMsg("BC_cant_run",[mName,emsg]);}}arg.pop();}},_errMsg:function(key,data){var msg=this.config["errMessages_"+this.config.curLanguage];if(isDefined(msg,key))this.errMsg(msg[key],data);}};var htmlBroadcaster={iniBroadcaster:function(){this._listenersFunc={};this._BBC=new basicBroadcaster();},broadcastMessage:function(evt){var evtWr;if(evt._wrapper){evtWr=evt._wrapper;evtWr.setElement.call(evtWr,this);}else{try{evtWr=new evtWrapper(evt,this);}catch(e){evtWr={};evtWr.evt=evt;}}this._BBC.broadcastMessage("on"+evtWr.evt.type,evtWr);},addListener:function(obj,EventType,mName,useCapture){var eType=this._getType(obj,EventType,"addListener");if(eType==null)return null;if(!isDefined(mName))mName=EventType;var elm=this.bcElement(eType);if(!elm)return null;if(!this._listenersFunc[eType]){this._listenersFunc[eType]=(function(BCobj){return function(e){return BCobj.broadcastMessage.call(BCobj,e);};})(this);if(this.bv.isMSIE)elm.attachEvent(eType,this._listenersFunc[eType]);else if(this.addEventListener)elm.addEventListener(eType.substr(2),this._listenersFunc[eType],useCapture?true:false);else elm[eType]=this._listenersFunc[eType];}return this._BBC.addListener(obj,eType,mName);},removeListener:function(obj,EventType,mName,useCapture){var eType=this._getType(obj,EventType,"removeListener");if(eType==null)return;if(!isDefined(mName))mName=EventType;var elm=this.bcElement(eType);if(!elm)return;if(!this._BBC.removeListener(obj,eType,mName)&&this._listenersFunc[eType]){if(this.bv.isMSIE)elm.detachEvent(eType,this._listenersFunc[eType]);else if(this.removeEventListener)elm.removeEventListener(eType.substr(2),this._listenersFunc[eType],useCapture?true:false);else elm[eType]=undefined;this._listenersFunc[eType]=null;}},_getType:function(obj,EventType,met){if(!checkIsObject(obj)){this._errMsg("incorObj",[met]);return null;}if(typeof(EventType)!="string"){this._errMsg("incorEvt");return null;}return(this.config.SubscriberUse_on?"":"on")+EventType.toLowerCase();},alert:basicBroadcaster.prototype.alert,errMsg:basicBroadcaster.prototype.errMsg,_errMsg:basicBroadcaster.prototype._errMsg};var evtWrapper=function(e,elmWr){this.evt=e?e:window.event;this.evt._wrapper=this;this.setElement(elmWr);};evtWrapper.prototype={eventStatus:true,bubbleStatus:true,eventDrop:function(doNot){if(!doNot){if(this.bv.isMSIE)this.evt.returnValue=false;else if(this.evt.preventDefault)this.evt.preventDefault();this.eventStatus=false;}},stopBubbling:function(doNot){if(!doNot){if(this.bv.isMSIE)this.evt.cancelBubble=true;else if(this.evt.stopPropagation)this.evt.stopPropagation();this.bubbleStatus=false;}},setElement:function(elmWr){if(elmWr)this.elmWr=elmWr;else{var elm=this.bv.isMSIE?this.evt.srcElement:this.evt.target;if(!elm)return;this.elmWr=new elmWrapper(elm);}var winWr=elmWr.win&&elmWr.doc?elmWr:elmWr.winWr;if(winWr){if(this.bv.isMSIE||this.bv.isOpera7){this.absX=this.evt.clientX+winWr.getScrollX();this.absY=this.evt.clientY+winWr.getScrollY();}else if(this.bv.isOpera){this.absX=this.evt.clientX;this.absY=this.evt.clientY;}else if(this.bv.isNC){this.absX=this.evt.pageX;this.absY=this.evt.pageY;}this.relX=elmWr.elm?this.absX-elmWr.getAbsLeft():this.absX;this.relY=elmWr.elm?this.absY-elmWr.getAbsTop():this.absY;}else this.absX=this.absY=this.relX=this.relY=0;if(isDefined(this.evt,"keyCode")){if(!isDefined(this.evt,"charCode")){this.keyCode=this.evt.keyCode<32?this.evt.keyCode:0;this.charCode=this.evt.keyCode<32?0:this.evt.keyCode;}else{this.keyCode=this.evt.keyCode;this.charCode=this.evt.charCode;}}},bv:browserVer};function eventProcessor(elm,evt,obj,method,param){var evtWr;var elmWr=getElmWrapper(elm);if(evt._wrapper){evtWr=evt._wrapper;evtWr.setElement.call(evtWr,elmWr);}else{evtWr=new evtWrapper(evt,elmWr);}if(!obj)obj=window;return obj[method].call(obj,evtWr,param);};var elmWrapper=function(elm,winWr){this.elm=elm;this.winWr=winWr?winWr:window._wrapper;if(this.elm){elm._wrapper=this;if(isDefined(elm,"style")){var doc=this.winWr.doc;this.style=elm.style;if(this.bv.isMSIE)this.css=elm.currentStyle?elm.currentStyle:elm.style;else if(this.bv.isDOM&&doc.defaultView&&doc.defaultView.getComputedStyle)this.css=doc.defaultView.getComputedStyle(elm,null);else if(this.bv.isSafari)this.css=elm.style;else this.css=elm.style;}else this.style=this.css={};this.iniBroadcaster();this.userData={};}};elmWrapper.prototype={bcElement:function(eType){if(!this.elm){this._errMsg("elmNotSet",[eType]);return null;}return this.elm;},getAbsOffset:function(){var bv=this.bv;var left=0;var top=0;var elm=this.elm;if(bv.isMSIE||bv.isOpera||bv.isMozilla){do{left+=elm.offsetLeft;top+=elm.offsetTop;elm=elm.offsetParent;}while(elm);}else if(bv.isNN){left+=elm.offsetLeft;top+=elm.offsetTop;}return[left,top];},getAbsLeft:function(){return this.getAbsOffset()[0]-this.winWr.shiftLeft;},getAbsTop:function(){return this.getAbsOffset()[1]-this.winWr.shiftTop;},getRelOffset:function(){var bv=this.bv;var left=0;var top=0;var elm=this.elm;if(bv.isMSIE||(bv.isOpera&&!bv.isOpera8)){left=elm.offsetLeft;top=elm.offsetTop;}else if(bv.isMozilla||bv.isOpera){left=elm.offsetLeft-elm.parentNode.offsetLeft;top=elm.offsetTop-elm.parentNode.offsetTop;}return[left,top];},getRelLeft:function(){return this.getRelOffset()[0];},getRelTop:function(){return this.getRelOffset()[1];},getWidth:function(){var bv=this.bv;if(bv.isMSIE||bv.isMozilla||bv.isOpera7)return this.elm.offsetWidth;if(bv.isOpera)return this.css.pixelWidth;return null;},getHeight:function(){var bv=this.bv;if(bv.isMSIE||bv.isMozilla||bv.isOpera7)return this.elm.offsetHeight;if(bv.isOpera)return this.css.pixelHeight;return null;},getZIndex:function(){return this.css.zIndex;},getColor:function(type){if(!type)type="color";var clr=this.css[type];var toHex=function(s){var n=parseInt(s);return(n<16?"0":"")+n.toString(16);};if((rArr=/^rgb\((\d+)\,\s*(\d+)\,\s*(\d+)\)$/i.exec(clr)))clr="#"+toHex(rArr[1])+toHex(rArr[2])+toHex(rArr[3]);return clr;},isVisible:function(){return this.css.visibility.toLowerCase().charAt(0)!='h';},isDisplay:function(){return this.css.display!='none';},isShow:function(){return this.isDisplay()&&this.isVisible();},setAbsLeft:function(x){var bv=this.bv;x+=this.winWr.shiftLeft;if(bv.isOpera)this.style.pixelLeft=x;else this.style.left=x+"px";},setAbsTop:function(y){var bv=this.bv;y+=this.winWr.shiftTop;if(bv.isOpera)this.style.pixelTop=y;else this.style.top=y+"px";},moveAbs:function(x,y){this.setAbsLeft(x);this.setAbsTop(y);},moveRel:function(x,y){this.moveAbs(this.getRelLeft()+x,this.getRelTop()+y);},setZIndex:function(z){this.style.zIndex=z;},setVisibility:function(v){this.style.visibility=v?"visible":"hidden";},setDisplay:function(v){if(!v)v="none";else if(v.toString()=="true")v="block";else if(this.bv.isIE&&this.config.ReplaceDisplay4IE&&v!="none"&&v!="inline")v="block";this.style.display=v;},invVisibility:function(){this.setVisibility(!this.isVisible());},invDisplay:function(v){this.setDisplay(this.isDisplay()?"none":(v?v:"block"));},show:function(display){if(display||!isDefined(display))this.setDisplay(!isDefined(display)||display=="none"?true:display);else this.setVisibility(true);},hide:function(display){if(display||!isDefined(display))this.setDisplay(false);else this.setVisibility(false);},write:function(text,pos,noDOM){var bv=this.bv;if(bv.isDOM&&!noDOM){if(!pos){while(this.elm.hasChildNodes())this.elm.removeChild(this.elm.firstChild);}var tNode=this.winWr.doc.createTextNode(text);if(pos<0)this.elm.insertBefore(tNode,this.elm.firstChild);else this.elm.appendChild(tNode);}else{this.elm.innerHTML=pos?(pos>0?this.elm.innerHTML+text:text+this.elm.innerHTML):text;}},setBgColor:function(c){var bv=this.bv;if(bv.isMSIE||bv.isMozilla||bv.isOpera7)this.style.backgroundColor=c;else if(bv.isOpera)this.style.background=c;},setBgImage:function(url){var bv=this.bv;if(bv.isMSIE||bv.isMozilla||bv.isOpera6)this.style.backgroundImage="url("+url+")";},setClip:function(top,right,bottom,left){var bv=this.bv;if(bv.isMSIE||bv.isMozilla||bv.isOpera7)this.style.clip="rect("+top+"px "+right+"px "+bottom+"px "+left+"px)";},setClass:function(className){this.elm.className=className;},addClass:function(className){this.removeClass(className);this.setClass((this.elm.className?this.elm.className+" ":"")+className);},removeClass:function(className){var curClass=this.elm.className;if(!curClass||curClass==className)curClass="";else{curClass=curClass.replace(new RegExp("^"+className+"\\s+","i"),"");curClass=curClass.replace(new RegExp("\\s+"+className+"(?!\\S)","i"),"");}this.elm.className=curClass;},bv:browserVer};with(elmWrapper.prototype){implement(elmWrapper.prototype,{getX:getAbsLeft,getY:getAbsTop,moveX:setAbsLeft,moveY:setAbsTop,move:moveAbs,moveZ:setZIndex,clip:setClip});}implement(elmWrapper.prototype,htmlBroadcaster);function getElmWrapper(elm,winWr){return!elm?{}:(elm._wrapper&&elm._wrapper.elm==elm?elm._wrapper:new elmWrapper(elm,winWr));}var winWrapper=function(win){if(isDefined(win,"_wrapper")){throw"You can't create many Wrappers for one window!";}this.win=win;this.doc=this.win.document;this.win._wrapper=this;this.doc._wrapper=this;this.iniBroadcaster();};winWrapper.prototype={shiftLeft:0,shiftTop:0,cookieVal:null,cookieExtra:null,sidVal:null,bcElement:function(eType){if(eType=="onload"||eType=="onunload"){return this.bv.isOpera?this.doc:this.win;}else{var winEvt=["onresize","onscroll","onfocus","onactivate","onblur","onerror","onafterprint","onbeforedeactivate","onbeforeprint","onbeforeunload","oncontrolselect","ondeactivate","onhelp","onresizeend","onresizestart"];for(var i=0;i<winEvt.length;i++)if(eType==winEvt[i])return this.win;return this.doc;}},setOnloadListener:function(obj,mName){return this.addListener(obj,this.config.SubscriberUse_on?"onload":"load",mName);},removeOnloadListener:function(obj,mName){this.removeListener(obj,this.config.SubscriberUse_on?"onload":"load",mName);},setOnUnloadListener:function(obj,mName){return this.addListener(obj,this.config.SubscriberUse_on?"onunload":"unload",mName);},checkElement:function(idElm){return this._getElmWrapper(idElm).elm?true:false;},getElement:function(idElm,noErr){var elmWr=this._getElmWrapper(idElm);if(!elmWr.elm&&!noErr)this._errMsg("elmNotFnd",[idElm]);return elmWr;},getForm:function(nameFrm,noErr){if(!nameFrm)nameFrm=0;return this._checkError(isDefined(this.doc.forms,nameFrm)?this.doc.forms[nameFrm]:null,noErr,"frmNotFnd",nameFrm);},getFormElement:function(nameFrm,nameElm,noErr){var frm=this.getForm(nameFrm).elm;if(!frm)return null;if(!nameElm)nameElm=0;return this._checkError(isDefined(frm.elements,nameElm)?frm.elements[nameElm]:null,noErr,"felNotFnd",nameElm);},getImage:function(idImg,noErr){if(!idImg)idImg=0;return this._checkError(isDefined(this.doc.images,idImg)?this.doc.images[idImg]:null,noErr,"imgNotFnd",idImg);},getElmWrapper:function(elm){return getElmWrapper(elm,this);},makeElement:function(name,attr,child){var tag,k;tag=this.doc.createElement(name);if(attr){for(k in attr)tag.setAttribute(k,attr[k]);}if(child){tag.appendChild(typeof(child)=="string"?this.doc.createTextNode(child):isDefined(child,"elm")?child.elm:child);}return this.getElmWrapper(tag);},getCloneElement:function(idElm,noErr){var elm=this.getElement(idElm,noErr).elm.cloneNode(true);elm.removeAttribute("id");return this.getElmWrapper(elm);},getDocFrame:function(){return this.bv.isStrict?this.doc.documentElement:this.doc.body;},getWindowLeft:function(){var bv=this.bv;if(bv.isMSIE||bv.isOpera7)return this.win.screenLeft;if(bv.isNN||bv.isOpera)return this.win.screenX;return null;},getWindowTop:function(){var bv=this.bv;if(bv.isMSIE||bv.isOpera7)return this.win.screenTop;if(bv.isNN||bv.isOpera)return this.win.screenY;return null;},getWindowWidth:function(){var bv=this.bv;if(bv.isMSIE)return this.getDocFrame().clientWidth;if(bv.isNN||bv.isOpera)return this.win.innerWidth;return null;},getWindowHeight:function(){var bv=this.bv;if(bv.isMSIE)return this.getDocFrame().clientHeight;if(bv.isNN||bv.isOpera)return this.win.innerHeight;return null;},getDocumentWidth:function(){var bv=this.bv;if(bv.isMSIE||bv.isOpera7)return this.getDocFrame().scrollWidth;if(bv.isNN)return this.doc.width;if(bv.isOpera)return this.doc.body.style.pixelWidth;return null;},getDocumentHeight:function(){var bv=this.bv;if(bv.isMSIE||bv.isOpera7)return this.getDocFrame().scrollHeight;if(bv.isNN)return this.doc.height;if(bv.isOpera)return this.doc.body.style.pixelHeight;return null;},getScrollX:function(){var bv=this.bv;try{if(bv.isMSIE||bv.isOpera7)return this.getDocFrame().scrollLeft;if(bv.isNN||bv.isOpera)return this.win.pageXOffset;}catch(e){}return null;},getScrollY:function(){var bv=this.bv;try{if(bv.isMSIE||bv.isOpera7)return this.getDocFrame().scrollTop;if(bv.isNN||bv.isOpera)return this.win.pageYOffset;}catch(e){}return null;},createStyle:function(selector,style,indx){if(isDefined(this.doc,"styleSheets")){var ss=this.doc.styleSheets;if(!isDefined(indx))indx=ss.length-1;else if(indx<0){this.doc.getElementsByTagName('head')[0].appendChild(this.doc.createElement('style'));indx=ss.length-1;}else indx=Number(indx);if(this.bv.isIE)ss[indx].addRule(selector,style,ss[indx].rules.length);else ss[indx].insertRule(selector+"{"+style+"}",ss[indx].cssRules.length);}},loadStyle:function(url){var style=this.doc.createElement('link');style.rel='stylesheet';style.type='text/css';style.href=url;this.doc.getElementsByTagName('head')[0].appendChild(style);},getSelection:function(){if(this.doc.getSelection)return this.doc.getSelection();if(this.doc.selection&&this.doc.selection.createRange)return this.doc.selection.createRange().text;return"";},getCookie:function(name){if(!this.cookieVal){var rArr;this.cookieVal={};var re=/\s*(\w*)\=([^;]*)\;?/g;while((rArr=re.exec(this.doc.cookie)))this.cookieVal[rArr[1]]=unescape(rArr[2]);}return(name&&this.cookieVal[name])?this.cookieVal[name]:null;},setCookie:function(name,val,expires,path,secure){var old=this.getCookie(name);if(name&&old!=val){var curCookie=name+"="+escape(val);if(curCookie.length>4000)this._errMsg("сookLen");if(!expires&&!path&&!secure&&this.cookieExtra)curCookie+="; "+this.cookieExtra;else{if(expires)curCookie+="; expires="+expires.toGMTString();if(path||this.config.DefaultCookiePath)curCookie+="; path="+(path?path:this.config.DefaultCookiePath);if(this.config.SubdomainCookie){var rArr=/^(?:www[^.]*\.)?(.*)$/i.exec(this.doc.domain);curCookie+="; domain=."+rArr[1];}if(secure)curCookie+="; secure";}this.doc.cookie=curCookie;this.cookieVal[name]=val;}},deleteCookie:function(name,path){if(this.getCookie(name)){this.setCookie(name,'',new Date(1970,1,1,0,0,1),path);delete this.cookieVal[name];}},getSid:function(){if(!this.sidVal){var sk=this.config.SessionIdKey;if(this.getCookie(sk))this.sidVal=this.getCookie(sk);else{var re=new RegExp("\\?.*?"+sk+"\\=([a-zA-Z0-9]+)");var rArr=re.exec(this.doc.location);if(rArr)this.sidVal=rArr[1];}}return this.sidVal;},setSid:function(val){this.sidVal=val;},getClosedFunction:function(obj,met,arg){if(!arg)arg=[];return function(){obj[met].apply(obj,arg);};},setTimeout:function(time,obj,met,arg){return setTimeout(this.getClosedFunction(obj,met,arg),time);},setInterval:function(time,obj,met,arg){return setInterval(this.getClosedFunction(obj,met,arg),time);},openPopUp:function(obj,met,uri,name,prop){this.setTimeout(0,obj,met,[open(uri,name,prop)]);},_getElmWrapper:function(idElm){var elm;if(this.bv.isDOM)elm=this.doc.getElementById(idElm);else if(this.bv.isMSIE)elm=this.doc.all[idElm];else elm=null;return this.getElmWrapper(elm);},_checkError:function(elm,noErr,msgKey,msgDt){var elmWr=this.getElmWrapper(elm);if(!elmWr.elm&&!noErr)this._errMsg(msgKey,[msgDt]);return elmWr;},bv:browserVer};winWrapper.prototype.getElementWrapper=winWrapper.prototype.getElmWrapper;implement(winWrapper.prototype,htmlBroadcaster);

basicBroadcaster.prototype.config = {
	curLanguage : "en", // Current language
	DebugMode   : true, // Show or not error messages
    errMessages_en     : {
        "BC_cant_run" : "Can't run method \"{$0}\"!\n\n{$1}",
        "BC_err_in"   : "Error in ",
        "BC_line"     : " line "
    }
};
elmWrapper.prototype.config = winWrapper.prototype.config = implement({
	SubscriberUse_on   : true,  // Use or not prefix "on" at the event name
	ReplaceDisplay4IE  : true,  // Replace "table", "table-row", etc. on "block" on Display for IE
	DefaultEventReturn : true,  // Return this value after event
	DefaultCookiePath  : "/",   // Default Cookie Path
	SubdomainCookie    : true,  // Enable read set cookie in subdomain too
	SessionIdKey       : "SID", // Session ID key
    errMessages_en     : {
        "incorObj"  : 'Incorrect object type in {$0}!',
        "incorEvt"  : 'Incorrect event type!',
        "elmNotSet" : 'Element for event "{$0}" is not set!',
        "elmNotFnd" : 'Element with ID "{$0}" is not found!',
        "frmNotFnd" : 'Form [{$0}] is not found!',
        "felNotFnd" : 'Form element [{$0}] is not found!',
        "imgNotFnd" : 'Image [{$0}] is not found!',
        "сookLen"   : 'Cookie length exceed 4KB and will be cut!'
    }
}, basicBroadcaster.prototype.config, true);

if (!window._wrapper) new winWrapper(window);