
window.onerror=function(message,URI,line)
{return(false);}
function encodeHtml(s)
{s=s.replace(new RegExp("&","g"),"&amp;");s=s.replace(new RegExp("<","g"),"&lt;");s=s.replace(new RegExp(">","g"),"&gt;");s=s.replace(new RegExp("\"","g"),"&quot;");return(s);}
function encodeXml(s)
{return(encodeHtml(s));}
function strrep(s,substr,replace)
{return(new String(s).replace(new RegExp(substr,"g"),replace));}
function isnil(obj)
{return(obj==null||typeof(obj)=="undefined");}
array_indexOf=function(value,equals)
{if(!equals){equals=function(lhs,rhs){return(lhs===rhs);}}
for(var i=0;i<this.length;i++){if(equals(this[i],value)){return(i);break;}}
return(-1);}
array_indexOf_equals_option_value=function(lhs,rhs)
{return(lhs.value===rhs);}
array_indexOf_equals_nvp_name=function(lhs,rhs)
{return(lhs.split("=")[0]===rhs);}
function toSourceObject(obj)
{var result="";result+="{";for(var member in obj){if(!obj.hasOwnProperty(member)){continue;}
if(result!="{"){result+=",";}
result+=toSourceString(member)+":"+toSourceValue(obj[member]);}
result+="}";result="(function(){return("+result+");})()";return(result);}
function toSourceArray(a)
{var i=0;var result="";result+="[";for(i=0;i<a.length;i++){if(i!=0){result+=", ";}
result+=toSourceValue(a[i]);}
result+="]";return(result);}
function toSourceString(s)
{var c;var i;var len=s.length;var result="\"";for(i=0;i<len;i++){c=s.charAt(i);if(c>=" "){if(c=="\\"||c=="\""){result+="\\";}
result+=c;}else{switch(c){case"\b":result+="\\b";break;case"\f":result+="\\f";break;case"\n":result+="\\n";break;case"\r":result+="\\r";break;case"\t":result+="\\t";break;default:c=c.charCodeAt();result+="\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16);break;}}}
return(result+"\"");}
function toSourceValue(obj)
{var value="";if(obj==null){value="null";}else
if(typeof(obj)=="undefined"){value="undefined";}else
if(typeof(obj)=="string"){value=toSourceString(obj);}else
if(typeof(obj)=="number"){value=obj.toString();}else
if(typeof(obj)=="boolean"){value=obj.toString();}else
if(typeof(obj)=="function"){value=obj.toString();}else
if(typeof(obj)=="object"&&obj.constructor===Array){value=toSourceArray(obj);}else{if(typeof(obj)=="object"){value=toSourceObject(obj);}else
value=obj.toString();}
return(value);}
if(!Object.prototype.toSource){Object.prototype.toSource=function()
{return(toSourceValue(this));}}
function layerGet(layerName)
{var layer=null;if(document.getElementById){layer=document.getElementById(layerName);}else
if(document.all){layer=document.all[layerName];}else
if(document.layers){layer=document.layers[layerName];}
return(layer);}
function layerGetHeight(layer)
{var h=0;if(isnil(layer)){return(0);}
h=layer.offsetHeight;return(h);}
function layerGetWidth(layer)
{var w=0;if(isnil(layer)){return(0);}
w=layer.offsetWidth;return(w);}
function layerGetX(layer)
{var x=0;if(isnil(layer)){return(0);}
x=parseInt(layer.style.left);return(x);}
function layerSetX(layer,x)
{if(isnil(layer)){return;}
if(x<0){x=0;}
layer.style.left=x;}
function layerGetY(layer)
{var y=0;if(isnil(layer)){return(0);}
y=parseInt(layer.style.top);return(y);}
function layerSetY(layer,y)
{if(isnil(layer)){return;}
if(y<0){y=0;}
layer.style.top=y;}
function layerGetZIndex(layer)
{var zindex=0;if(isnil(layer)){return(0);}
zindex=parseInt(layer.style.zIndex);return(zindex);}
function layerSetZIndex(layer,zindex)
{if(isnil(layer)){return;}
layer.style.zIndex=zindex;}
function layerSetPosition(layer,x,y)
{if(isnil(layer)){return;}
layerSetX(layer,x);layerSetY(layer,y);}
function layerCenter(layer)
{var x=0;var y=0;var windowHeight=0;var windowWidth=0;var layerWidth=0;var layerHeight=0;windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;layerWidth=layerGetWidth(layer);layerHeight=layerGetHeight(layer);layerSetVisibility(layer,false);x=(windowWidth/2)-(layerWidth/2);y=(windowHeight/2)-(layerHeight/2);layerSetPosition(layer,x,y);layerSetVisibility(layer,true);}
function layerGetVisibility(layer)
{if(isnil(layer)){return(false);}
return(layer.style.visibility=="visible"?true:false);}
function layerSetVisibility(layer,visible)
{if(isnil(layer)){return;}
layer.style.visibility=(visible)?"visible":"hidden";}
function dhtml_form_keydown(form,callback,evt)
{var key=0;if(!evt){evt=event;}
if(is_ie){key=evt.keyCode;}else
if(is_nav){key=evt.which;}
if(key==13){if(typeof(callback)=="function"&&callback()==true){form.submit();}
return(false);}
return(true);}
function dhtml_form_focus(form)
{for(i=0;i<form.elements.length;i++){if((form.elements[i].type=="password")||(form.elements[i].type=="text")){form.elements[i].focus();break;}}}
function dhtml_form_selectselects(form)
{for(var i=0;i<form.elements.length;i++){if(form.elements[i].options&&form.elements[i].type=="select-multiple"){for(var j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].value!=""){form.elements[i].options[j].selected=true;}}}}}
function listBoxMove(fbox,tbox)
{function _delempty(box)
{for(var i=box.options.length-1;i>=0;i--){if(box.options[i].text==""&&box.options[i].value==""){box.options[i]=null;}}}
function _sort(box)
{var options=new Array(box.options.length);for(var i=0;i<box.options.length;i++){options[i]=new Object();options[i].text=box.options[i].text;options[i].value=box.options[i].value;}
options.sort(new Function("x","y","var a = x.text.toLowerCase();"+"var b = y.text.toLowerCase();"+"return (x.value.length == 0 && x.value.length == y.value.length ?"+"0 : (x.value.length == 0 ? -1 : (y.value.length == 0 ?"+"1 : (a == b ? 0 : (a > b ? 1 : -1)))));"));for(var i=0;i<options.length;i++){box.options[i].text=options[i].text;box.options[i].value=options[i].value;}}
for(var i=0;i<fbox.options.length;i++){if(fbox.options[i].selected&&fbox.options[i].value!=""){var option=new Option();option.text=fbox.options[i].text;option.value=fbox.options[i].value;tbox.options[tbox.options.length]=option;fbox.options[i].text="";fbox.options[i].value="";}}
_delempty(fbox);_sort(tbox);fbox.selectedIndex=-1;tbox.selectedIndex=-1;return(false);}
function replaceSelectText(select,s_search,s_replace)
{if(s_search==""){return;}
for(var i=0;i<select.options.length;i++){if(select.options[i].value.length==0){continue;}
select.options[i].text=select.options[i].text.replace(new RegExp(s_search,"g"),s_replace);}}
function dhtml_element_get(elem)
{if(!elem){return(null);}
if(typeof(elem)=="object"){return(elem);}else
if(document.getElementById){return(document.getElementById(elem));}else
if(document.all){return(document.all[elem]);}else
if(document.layers){return(document.layers[elem]);}
return(null);}
function dhtml_element_isvisible(elem)
{elem=dhtml_element_get(elem);if(!elem){return(false);}
if(elem.style.visibility=="visible"){return(true);}
return(false);}
function dhtml_element_dimensions(elem)
{var d={pageX:0,pageY:0,screenX:0,screenY:0,offsetWidth:0,offsetHeight:0,clientWidth:0,clientHeight:0};elem=dhtml_element_get(elem);if(!elem){return(d);}
d.screenX=0;d.screenY=0;d.offsetWidth=elem.offsetWidth;d.offsetHeight=elem.offsetHeight;d.clientWidth=elem.clientWidth;d.clientHeight=elem.clientHeight;if(elem.offsetParent){while(elem.offsetParent){d.pageX+=elem.offsetLeft;d.pageY+=elem.offsetTop;elem=elem.offsetParent;}}else
if(elem.x){d.pageX+=elem.x;d.pageY+=elem.y;}
return(d);}
function dhtml_element_fireevent(elem,eventname)
{var evt=null;elem=dhtml_element_get(elem);if(!elem){return(true);}
if(elem.fireEvent){elem.fireEvent(eventname);}else{evt=document.createEvent("MouseEvents");evt.initMouseEvent(eventname.replace("on",""),true,true,window,1,1,1,1,1,false,false,false,false,0,elem);elem.dispatchEvent(evt);}
return(false);}
function dhtml_element_calc_clientdim(elem)
{var attr=null;var temp_elem=null;elem=dhtml_element_get(elem);if(!elem){return(true);}
var counter=0;function setid(node)
{node.id=node.id+"-"+(counter++)+"-x-calc-clientdim";for(var i=0;i<node.childNodes.length;i++){setid(node.childNodes[i]);}}
temp_elem=elem.cloneNode(true);setid(temp_elem);temp_elem.style.position="absolute";temp_elem.style.visibility="hidden";elem.parentNode.appendChild(temp_elem);attr=document.createAttribute("x-clientwidth");attr.value=temp_elem.clientWidth;elem.setAttributeNode(attr);attr=document.createAttribute("x-clientheight");attr.value=temp_elem.clientHeight;elem.setAttributeNode(attr);elem.parentNode.removeChild(temp_elem);return(false);}
function dhtml_event_get(evt)
{if(!evt){evt=window.event;}
if(!evt){return(null);}
if(!evt.target){evt.target=evt.srcElement;}
if(!evt.srcElement){evt.srcElement=evt.target;}
return(evt);}
function dhtml_event_cancelbubble(evt)
{evt=dhtml_event_get(evt);evt.cancelBubble=true;if(evt.stopPropagation){evt.stopPropagation();}}
function dhtml_event_position(evt)
{var p={pageX:0,pageY:0};evt=dhtml_event_get(evt);if(!evt){return(p);}
if(evt.pageX||evt.pageY){p.pageX=evt.pageX;p.pageY=evt.pageY;}else
if(evt.clientX||evt.clientY){p.pageX=evt.clientX+document.body.scrollLeft;p.pageY=evt.clientY+document.body.scrollTop;}
return(p);}
function URL()
{this.params=new Array();this.protocol=window.location.protocol;this.host=window.location.host;this.pathname="";this.addparam=function(n,v)
{this.params[this.params.length]={name:n,value:v};}
this.basepart=function()
{return(this.protocol+"//"+this.host+this.pathname);}
this.querypart=function()
{var qp="";for(var i=0;i<this.params.length;i++){if(i!=0){qp+="&";}
qp+=this.params[i].name+"="+encodeURIComponent(this.params[i].value);}
return(qp);}
this.toString=function()
{var qp=this.querypart();return(this.basepart()+(qp==""?"":"?")+qp);}}
function windowOpen(url,name,options)
{var win=null;if((typeof(name)!="string")||(name.length==0)){name="WebManWindow"+Math.floor(Math.random()*500);}
win=window.open(url,name,options);return(win);}
function windowOpenCentered(url,name,height,width)
{var x=0;var y=0;var options="";x=((screen.availWidth-10)-width)/2;y=((screen.availHeight-30)-height)/2;options="height="+height+",innerHeight="+height+","+"width="+width+",innerWidth="+width+","+"left="+x+",screenX="+x+","+"top="+y+",screenY="+y;return(windowOpen(url,name,options));}
function windowOpenChild(url)
{var w=0;var x=0;var y=0;var height=0;var width=0;var options="";x=document.getBoxObjectFor?document.getBoxObjectFor(document.body).screenX:window.screenLeft;y=document.getBoxObjectFor?document.getBoxObjectFor(document.body).screenY:window.screenTop;width=window.innerWidth?window.innerWidth:document.body.clientWidth;height=window.innerHeight?window.innerHeight:document.body.clientHeight;options="resizable=1,"+"height="+height+",outerHeight="+height+","+"width="+width+",outerWidth="+width+","+"left="+x+",screenX="+x+","+"top="+y+",screenY="+y;w=windowOpen(url,"",options);w.resizeTo(width,height);return(w);}
function dhtml_element_object_create(divid,objid,clsid,codebase,params)
{var s="";s+='<object '+'  id="'+objid+'"'+'  name="'+objid+'"'+'  classid="'+clsid+'"'+'  codebase="'+codebase+'"'+'  width="'+document.getElementById(divid).clientWidth+'"'+'  height="'+document.getElementById(divid).clientHeight+'">';for(var i=0;i<params.length;i++){if(params[i].name&&params[i].value){s+='<param name="'+encodeHtml(params[i].name)+'" value="'+encodeHtml(params[i].value)+'" />';}}
s+="</object>";document.getElementById(divid).innerHTML=s;}
function XBuffer()
{this.text=new Array();this.write=function(str)
{this.text[this.text.length]=str;}
this.writeln=function(str)
{this.text[this.text.length]=str+"\n";}
this.toString=function()
{return(this.text.join(""));}
this.clear=function()
{delete this.text;this.text=null;this.text=new Array();}}
function XLogger()
{this.messages=new Array();this.listeners=new Array();this.enabled=false;}
function XLoggerMessage(object,method,message)
{this.timestamp=new Date();this.object=object;this.method=method;this.message=message;}
XLogger.prototype.log=function()
{if(!this.enabled){return;}
var object;var method;var message;switch(arguments.length){case 3:object=arguments[0];method=arguments[1];message=arguments[2];break;case 2:method=arguments[0];message=arguments[1];break;case 1:message=arguments[0];break;}
this.messages[this.messages.length]=new XLoggerMessage(object,method,message);for(var i=0;i<this.listeners.length;i++){this.listeners[i](this,this.messages[this.messages.length-1]);}}
XLogger.prototype.addListener=function(callback,invokeForAllMessages)
{this.listeners[this.listeners.length]=callback;for(var i=0;invokeForAllMessages&&i<this.messages.length;i++){callback(this,this.messages[i]);}}