if(!$_CMJS)
var $_CMJS={};$_CMJS.$=function(element){if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i<length;i++)
elements.push($_CMJS.$(arguments[i]));return elements;}
if(typeof element=='string')
element=document.getElementById(element);return element;};$_CMJS.getElementsByClassName=function(){if(document.getElementsByClassName&&Array.filter){return function(className,nodeName,parentElement){var s=(parentElement||document).getElementsByClassName(className);if(nodeName&&nodeName!='*'){nodeName=nodeName.toUpperCase();return Array.filter(s,function(el){return el.nodeName==nodeName;});}
else
return[].slice.call(s,0);}}
if(document.evaluate){return function(className,nodeName,parentElement){if(!nodeName)nodeName='*';if(!parentElement)parentElement=document;var results=[],s,i=0,element;s=document.evaluate(".//"+nodeName+"[contains(concat(' ', @class, ' '), ' "+className+" ')]",parentElement,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);while((element=s.snapshotItem(i++)))
results.push(element);return results;}}
return function(className,nodeName,parentElement){if(!nodeName)nodeName='*';if(!parentElement)parentElement=document;var results=[],s,i=0,element;var re=new RegExp('(^|\s)'+className+'(\s|$)'),elementClassName;s=parentElement.getElementsByTagName(nodeName);while((element=s[i++])){if((elementClassName=element.className)&&(elementClassName==className||re.test(elementClassName)))
results.push(element);}
return results;}}();$_CMJS.ObjExtend=function(destination,source){for(var property in source){destination[property]=source[property];}
return destination;};$_CMJS.TryThese=function(){var returnValue;for(var i=0,length=arguments.length;i<length;i++){var lambda=arguments[i];try{returnValue=lambda();break;}catch(e){}}
return returnValue;};$_CMJS.FuncBind=function(){var args=$_CMJS.ArrHelper.$A(arguments);var first=args.shift();var __method=first[0],object=first[1];return function(){return __method.apply(object,args.concat($_CMJS.ArrHelper.$A(arguments)));}};$_CMJS.FuncBindForEvent=function(){var args=$_CMJS.ArrHelper.$A(arguments);var first=args.shift();var __method=first[0],object=first[1];return function(event){return __method.apply(object,[(event||window.event)].concat(args).concat($_CMJS.ArrHelper.$A(arguments)));}};$_CMJS.Class={create:function(){return function(){this.initialize.apply(this,arguments);}}}
$_CMJS.ArrHelper={$A:function(iterable){if(!iterable)return[];if(iterable.toArray){return iterable.toArray();}else{var results=[];for(var i=0,length=iterable.length;i<length;i++)
results.push(iterable[i]);return results;}},include:function(arr,obj){for(var key in arr){if(arr[key]==obj){return true;}}
return false;},map:function(arr,fun){var len=arr.length;if(typeof fun!="function")
throw new TypeError();var res=new Array(len);var thisp=arguments[2];for(var i=0;i<len;i++)
{if(i in arr)
res[i]=fun.call(thisp,arr[i],i,arr);}
return res;},compact:function(arr){var ret=new Array();for(key in arr){if(arr[key]!=null)
ret[key]=arr[key];}
return ret;},reduce:function(){return this.length>1?this:this[0];}}
$_CMJS.StrHelper={ScriptFragment:'(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',toQueryParams:function(str,separator){var match=$_CMJS.StrHelper.strip(str).match(/([^?#]*)(#.*)?$/);if(!match)return{};var params=match[1].split(separator||'&');var hash={};for(var key in params)
{var pair=new String(params[key]);if((pair=pair.split('='))[0]){var name=decodeURIComponent(pair[0]);var value=pair[1]?decodeURIComponent(pair[1]):undefined;if(hash[name]!==undefined){if(hash[name].constructor!=Array)
hash[name]=[hash[name]];if(value)hash[name].push(value);}
else hash[name]=value;}}
return hash;},strip:function(str){return str.replace(/^\s+/,'').replace(/\s+$/,'');},stripScripts:function(str){return str.replace(new RegExp($_CMJS.StrHelper.ScriptFragment,'img'),'');},extractScripts:function(str){var matchAll=new RegExp($_CMJS.StrHelper.ScriptFragment,'img');var matchOne=new RegExp($_CMJS.StrHelper.ScriptFragment,'im');return $_CMJS.ArrHelper.map((str.match(matchAll)||[]),function(scriptTag){return(scriptTag.match(matchOne)||['',''])[1];});},evalScripts:function(str){return $_CMJS.ArrHelper.map($_CMJS.StrHelper.extractScripts(str),function(script){return eval(script)});},camelize:function(str){var parts=str.split('-'),len=parts.length;if(len==1)return parts[0];var camelized=str.charAt(0)=='-'?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];for(var i=1;i<len;i++)
camelized+=parts[i].charAt(0).toUpperCase()+parts[i].substring(1);return camelized;}}
$_CMJS.HashHelper={toQueryString:function(obj){var parts=[];for(var key in obj){if(!key)continue;if(obj[key]&&obj[key].constructor==Array){var values=$_CMJS.ArrHelper.compact(obj[key]);if(values.length<2)obj[key]=values.reduce();else{enc_key=encodeURIComponent(key);for(var value_key in values){values[value_key]=values[value_key]!=undefined?encodeURIComponent(values[value_key]):'';parts.push(enc_key+'='+encodeURIComponent(values[value_key]));};continue;}}
if(obj[key]==undefined)obj[key]='';var parts_add=[];parts_add.push(encodeURIComponent(key));parts_add.push(encodeURIComponent(obj[key]));parts.push(parts_add.join('='));}
return parts.join('&');}}
$_CMJS.CMAjax={getTransport:function(){return $_CMJS.TryThese(function(){return new XMLHttpRequest()},function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')})||false;},activeRequestCount:0}
$_CMJS.CMAjax.Responders={responders:[],register:function(responder){for(var i=0;i<this.responders.length;i++){if(this.responders[i]==responder){return;}}
this.responders[this.responders.length]=responder;},unregister:function(responder){for(var i=0;i<this.responders.length;i++){if(this.responders[i]==responder){this.responders=this.responders.splice(i,1);break;}}},dispatch:function(callback,request,transport,json){for(var i=0;i<this.responders.length;i++){if(typeof this.responders[i][callback]=='function'){try{this.responders[i][callback].apply(this.responders[i],[request,transport,json]);}catch(e){}}}}};$_CMJS.CMAjax.Responders.register({onCreate:function(){$_CMJS.CMAjax.activeRequestCount++;},onComplete:function(){$_CMJS.CMAjax.activeRequestCount--;}});$_CMJS.CMAjax.Base=function(){};$_CMJS.CMAjax.Base.prototype={setOptions:function(options){this.options={method:'post',asynchronous:true,contentType:'application/x-www-form-urlencoded',encoding:'UTF-8',parameters:''}
$_CMJS.ObjExtend(this.options,options||{});this.options.method=this.options.method.toLowerCase();if(typeof this.options.parameters=='string')
this.options.parameters=$_CMJS.StrHelper.toQueryParams(this.options.parameters);}}
$_CMJS.CMAjax.Request=$_CMJS.Class.create();$_CMJS.CMAjax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];$_CMJS.CMAjax.Request.prototype=$_CMJS.ObjExtend(new $_CMJS.CMAjax.Base(),{_complete:false,initialize:function(url,options){this.transport=$_CMJS.CMAjax.getTransport();this.setOptions(options);this.request(url);},request:function(url){this.url=url;this.method=this.options.method;var params=this.options.parameters;var onsuccess=this.container?this.container.success:null;if(this.method!='get'&&this.method!='post'){params['_method']=this.method;this.method='post';}
params=$_CMJS.HashHelper.toQueryString(params);if(params&&/Konqueror|Safari|KHTML/.test(navigator.userAgent))params+='&_=';if((this.method=='get'||$_CMJS.is_XHR)&&params)
this.url+=(this.url.indexOf('?')>-1?'&':'?')+params;if($_CMJS.is_XHR)
{return $_CMJS.XHAjaxCall(onsuccess,this.url,this.options.userOnComplete);}else{try{$_CMJS.CMAjax.Responders.dispatch('onCreate',this,this.transport);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous)
setTimeout($_CMJS.FuncBind([function(){this.respondToReadyState(1)},this]),10);this.transport.onreadystatechange=$_CMJS.FuncBind([this.onStateChange,this]);this.setRequestHeaders();var body=this.method=='post'?(this.options.postBody||params):null;this.transport.send(body);if(!this.options.asynchronous&&this.transport.overrideMimeType)
this.onStateChange();}
catch(e){this.dispatchException(e);}}},onStateChange:function(){var readyState=this.transport.readyState;if(readyState>1&&!((readyState==4)&&this._complete))
this.respondToReadyState(this.transport.readyState);},setRequestHeaders:function(){var headers={'X-Requested-With':'XMLHttpRequest','X-Prototype-Version':'CMPrototype','Accept':'text/javascript, text/html, application/xml, text/xml, */*'};if(this.method=='post'){headers['Content-type']=this.options.contentType+
(this.options.encoding?'; charset='+this.options.encoding:'');if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005)
headers['Connection']='close';}
if(typeof this.options.requestHeaders=='object'){var extras=this.options.requestHeaders;if(typeof extras.push=='function')
for(var i=0,length=extras.length;i<length;i+=2)
headers[extras[i]]=extras[i+1];else
$H(extras).each(function(pair){headers[pair.key]=pair.value});}
for(var name in headers)
this.transport.setRequestHeader(name,headers[name]);},success:function(){return!this.transport.status||(this.transport.status>=200&&this.transport.status<300);},respondToReadyState:function(readyState){var state=$_CMJS.CMAjax.Request.Events[readyState];var transport=this.transport,json=this.evalJSON();if(state=='Complete'){try{this._complete=true;(this.options['on'+this.transport.status]||this.options['on'+(this.success()?'Success':'Failure')]||function(){})(transport,json);}catch(e){this.dispatchException(e);}
if($_CMJS.StrHelper.strip((this.getHeader('Content-type')||'text/javascript')).match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))
this.evalResponse();}
try{(this.options['on'+state]||function(){})(transport,json);$_CMJS.CMAjax.Responders.dispatch('on'+state,this,transport,json);}catch(e){this.dispatchException(e);}
if(state=='Complete'){this.transport.onreadystatechange=function(){};}},getHeader:function(name){try{return this.transport.getResponseHeader(name);}catch(e){return null}},evalJSON:function(){try{var json=this.getHeader('X-JSON');return json?eval('('+json+')'):null;}catch(e){return null}},evalResponse:function(){try{return eval(this.transport.responseText);}catch(e){this.dispatchException(e);}},dispatchException:function(exception){(this.options.onException||function(){})(this,exception);$_CMJS.CMAjax.Responders.dispatch('onException',this,exception);}});$_CMJS.CMAjax.Updater=$_CMJS.Class.create();$_CMJS.ObjExtend($_CMJS.ObjExtend($_CMJS.CMAjax.Updater.prototype,$_CMJS.CMAjax.Request.prototype),{initialize:function(container,url,options){this.container={success:(container.success||container),failure:(container.failure||(container.success?null:container))}
this.transport=$_CMJS.CMAjax.getTransport();this.setOptions(options);var onComplete=this.options.onComplete||function(){};this.options.userOnComplete=onComplete;this.options.onComplete=$_CMJS.FuncBind([function(transport,param){this.updateContent();onComplete(transport,param);},this]);this.request(url);},updateContent:function(){var receiver=this.container[this.success()?'success':'failure'];var response=this.transport.responseText;if(!this.options.evalScripts)response=$_CMJS.StrHelper.stripScripts(response);if(receiver=$_CMJS.$(receiver)){if(this.options.insertion)
new this.options.insertion(receiver,response);else
$_CMJS.CMElement.update(receiver,response);}
if(this.success()){if(this.onComplete)
setTimeout($_CMJS.FuncBind([this.onComplete,this]),10);}}});$_CMJS.CMAjax.PeriodicalUpdater=$_CMJS.Class.create();$_CMJS.CMAjax.PeriodicalUpdater.prototype=$_CMJS.ObjExtend(new $_CMJS.CMAjax.Base(),{initialize:function(container,url,options){this.setOptions(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=container;this.url=url;this.start();},start:function(){this.options.onComplete=$_CMJS.FuncBind([this.updateComplete,this]);this.onTimerEvent();},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments);},updateComplete:function(request){if(this.options.decay){this.decay=(request.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=request.responseText;}
this.timer=setTimeout($_CMJS.FuncBind([this.onTimerEvent,this]),this.decay*this.frequency*1000);},onTimerEvent:function(){this.updater=new $_CMJS.CMAjax.Updater(this.container,this.url,this.options);}});$_CMJS.CMElement={update:function(element,html){element=$_CMJS.$(element);html=typeof html=='undefined'?'':html.toString();var tagName=element.tagName.toUpperCase();if($_CMJS.ArrHelper.include(['THEAD','TBODY','TR','TD'],tagName)){var div=document.createElement('div');switch(tagName){case'THEAD':case'TBODY':div.innerHTML='<table><tbody>'+$_CMJS.StrHelper.stripScripts(html)+'</tbody></table>';depth=2;break;case'TR':div.innerHTML='<table><tbody><tr>'+$_CMJS.StrHelper.stripScripts(html)+'</tr></tbody></table>';depth=3;break;case'TD':div.innerHTML='<table><tbody><tr><td>'+$_CMJS.StrHelper.stripScripts(html)+'</td></tr></tbody></table>';depth=4;}
$A(element.childNodes).each(function(node){element.removeChild(node)});depth.times(function(){div=div.firstChild});$A(div.childNodes).each(function(node){element.appendChild(node)});}else{element.innerHTML=$_CMJS.StrHelper.stripScripts(html);}
setTimeout(function(){$_CMJS.StrHelper.evalScripts(html)},10);return element;},visible:function(element){return $_CMJS.$(element).style.display!='none';},toggle:function(element){element=$_CMJS.$(element);$_CMJS.CMElement[$_CMJS.CMElement.visible(element)?'hide':'show'](element);return element;},hide:function(element){$_CMJS.$(element).style.display='none';return element;},show:function(element){$_CMJS.$(element).style.display='';return element;},remove:function(element){element=$_CMJS.$(element);element.parentNode.removeChild(element);return element;},getHeight:function(element){return $_CMJS.CMElement.getDimensions(element).height;},getWidth:function(element){return $_CMJS.CMElement.getDimensions(element).width;},getDimensions:function(element){element=$_CMJS.$(element);var display=$_CMJS.CMElement.getStyle(element,'display');if(display!='none'&&display!=null)
return{width:element.offsetWidth,height:element.offsetHeight};var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;var originalDisplay=els.display;els.visibility='hidden';els.position='absolute';els.display='block';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display=originalDisplay;els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight};},getStyle:function(element,style){element=$_CMJS.$(element);if($_CMJS.ArrHelper.include(['float','cssFloat'],style))
style=(typeof element.style.styleFloat!='undefined'?'styleFloat':'cssFloat');style=$_CMJS.StrHelper.camelize(style);var value=element.style[style];if(!value){if(document.defaultView&&document.defaultView.getComputedStyle){var css=document.defaultView.getComputedStyle(element,null);value=css?css[style]:null;}else if(element.currentStyle){value=element.currentStyle[style];}}
if((value=='auto')&&$_CMJS.ArrHelper.include(['width','height'],style)&&(element.getStyle('display')!='none'))
value=element['offset'+style.capitalize()]+'px';if(window.opera&&$_CMJS.ArrHelper.include(['left','top','right','bottom'],style))
if(Element.getStyle(element,'position')=='static')value='auto';if(style=='opacity'){if(value)return parseFloat(value);if(value=(element.getStyle('filter')||'').match(/alpha\(opacity=(.*)\)/))
if(value[1])return parseFloat(value[1])/100;return 1.0;}
return value=='auto'?null:value;},setStyle:function(element,style){element=$_CMJS.$(element);for(var name in style){var value=style[name];if(name=='opacity'){if(value==1){value=(/Gecko/.test(navigator.userAgent)&&!/Konqueror|Safari|KHTML/.test(navigator.userAgent))?0.999999:1.0;if(/MSIE/.test(navigator.userAgent)&&!window.opera)
element.style.filter=$_CMJS.CMElement.getStyle(element,'filter').replace(/alpha\([^\)]*\)/gi,'');}else if(value==''){if(/MSIE/.test(navigator.userAgent)&&!window.opera)
element.style.filter=$_CMJS.CMElement.getStyle(element,'filter').replace(/alpha\([^\)]*\)/gi,'');}else{if(value<0.00001)value=0;if(/MSIE/.test(navigator.userAgent)&&!window.opera)
element.style.filter=$_CMJS.CMElement.getStyle(element,'filter').replace(/alpha\([^\)]*\)/gi,'')+'alpha(opacity='+value*100+')';}}else if($_CMJS.ArrHelper.include(['float','cssFloat'],name))name=(typeof element.style.styleFloat!='undefined')?'styleFloat':'cssFloat';element.style[$_CMJS.StrHelper.camelize(name)]=value;}
return element;},_attributeTranslations:{names:{colspan:"colSpan",rowspan:"rowSpan",valign:"vAlign",datetime:"dateTime",accesskey:"accessKey",tabindex:"tabIndex",enctype:"encType",maxlength:"maxLength",readonly:"readOnly",longdesc:"longDesc"},values:{_getAttr:function(element,attribute){return element.getAttribute(attribute,2);},_flag:function(element,attribute){return $_CMJS.$(element).hasAttribute(attribute)?attribute:null;},style:function(element){return element.style.cssText.toLowerCase();},title:function(element){var node=element.getAttributeNode('title');return node.specified?node.nodeValue:null;}}},hasAttribute:function(element,attribute){if($_CMJS.$(element).hasAttribute)
return $_CMJS.$(element).hasAttribute(attribute);var t=$_CMJS.CMElement._attributeTranslations;attribute=t.names[attribute]||attribute;return $_CMJS.$(element).getAttributeNode(attribute).specified;},makePositioned:function(element){element=$_CMJS.$(element);var pos=$_CMJS.CMElement.getStyle(element,'position');if(pos=='static'||!pos){element._madePositioned=true;element.style.position='relative';if(window.opera){element.style.top=0;element.style.left=0;}}
return element;},undoPositioned:function(element){element=$_CMJS.$(element);if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right='';}
return element;}}
$_CMJS.ObjExtend($_CMJS.CMElement._attributeTranslations.values,{href:$_CMJS.CMElement._attributeTranslations.values._getAttr,src:$_CMJS.CMElement._attributeTranslations.values._getAttr,disabled:$_CMJS.CMElement._attributeTranslations.values._flag,checked:$_CMJS.CMElement._attributeTranslations.values._flag,readonly:$_CMJS.CMElement._attributeTranslations.values._flag,multiple:$_CMJS.CMElement._attributeTranslations.values._flag});$_CMJS.EventHelper={KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,element:function(event){return event.target||event.srcElement;},isLeftClick:function(event){return(((event.which)&&(event.which==1))||((event.button)&&(event.button==1)));},pointerX:function(event){return event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft));},pointerY:function(event){return event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop));},stop:function(event){if(event.preventDefault){event.preventDefault();event.stopPropagation();}else{event.returnValue=false;event.cancelBubble=true;}},findElement:function(event,tagName){var element=$_CMJS.EventHelper.element(event);while(element.parentNode&&(!element.tagName||(element.tagName.toUpperCase()!=tagName.toUpperCase())))
element=element.parentNode;return element;},observers:false,_observeAndCache:function(element,name,observer,useCapture){if(!this.observers)this.observers=[];if(element.addEventListener){this.observers.push([element,name,observer,useCapture]);element.addEventListener(name,observer,useCapture);}else if(element.attachEvent){this.observers.push([element,name,observer,useCapture]);element.attachEvent('on'+name,observer);}},unloadCache:function(){if(!$_CMJS.EventHelper.observers)return;for(var i=0,length=$_CMJS.EventHelper.observers.length;i<length;i++){$_CMJS.EventHelper.stopObserving.apply(this,$_CMJS.EventHelper.observers[i]);$_CMJS.EventHelper.observers[i][0]=null;}
$_CMJS.EventHelper.observers=false;},observe:function(element,name,observer,useCapture){element=$_CMJS.$(element);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.attachEvent))
name='keydown';$_CMJS.EventHelper._observeAndCache(element,name,observer,useCapture);},stopObserving:function(element,name,observer,useCapture){element=$_CMJS.$(element);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.detachEvent))
name='keydown';if(element.removeEventListener){element.removeEventListener(name,observer,useCapture);}else if(element.detachEvent){try{element.detachEvent('on'+name,observer);}catch(e){}}}}
$_CMJS.CMAbstract=new Object();$_CMJS.CMAbstract.CMInsertion=function(adjacency){this.adjacency=adjacency;}
$_CMJS.CMAbstract.CMInsertion.prototype={initialize:function(element,content){this.element=$_CMJS.$(element);this.content=$_CMJS.StrHelper.stripScripts(content);if(this.adjacency&&this.element.insertAdjacentHTML){try{this.element.insertAdjacentHTML(this.adjacency,this.content);}catch(e){var tagName=this.element.tagName.toUpperCase();if(['TBODY','TR'].include(tagName)){this.insertContent(this.contentFromAnonymousTable());}else{throw e;}}}else{this.range=this.element.ownerDocument.createRange();if(this.initializeRange)this.initializeRange();this.insertContent([this.range.createContextualFragment(this.content)]);}
setTimeout(function(){$_CMJS.StrHelper.evalScripts(content)},10);},contentFromAnonymousTable:function(){var div=document.createElement('div');div.innerHTML='<table><tbody>'+this.content+'</tbody></table>';return $_CMJS.ArrHelper.$A(div.childNodes[0].childNodes[0].childNodes);}}
$_CMJS.CMInsertion=new Object();$_CMJS.CMInsertion.Before=$_CMJS.Class.create();$_CMJS.CMInsertion.Before.prototype=$_CMJS.ObjExtend(new $_CMJS.CMAbstract.CMInsertion('beforeBegin'),{initializeRange:function(){this.range.setStartBefore(this.element);},insertContent:function(fragments){for(var i=0,len=fragments.length;i<len;i++){this.element.parentNode.insertBefore(fragments[i],this.element);}}});$_CMJS.CMInsertion.Top=$_CMJS.Class.create();$_CMJS.CMInsertion.Top.prototype=$_CMJS.ObjExtend(new $_CMJS.CMAbstract.CMInsertion('afterBegin'),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(true);},insertContent:function(fragments){for(var i=fragments.length,len=0;i>=len;i--){this.element.insertBefore(fragments[i],this.element.firstChild);}}});$_CMJS.CMInsertion.Bottom=$_CMJS.Class.create();$_CMJS.CMInsertion.Bottom.prototype=$_CMJS.ObjExtend(new $_CMJS.CMAbstract.CMInsertion('beforeEnd'),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(this.element);},insertContent:function(fragments){for(var i=0,len=fragments.length;i<len;i++){this.element.appendChild(fragments[i]);}}});$_CMJS.CMInsertion.After=$_CMJS.Class.create();$_CMJS.CMInsertion.After.prototype=$_CMJS.ObjExtend(new $_CMJS.CMAbstract.CMInsertion('afterEnd'),{initializeRange:function(){this.range.setStartAfter(this.element);},insertContent:function(fragments){for(var i=0,len=fragments.length;i<len;i++){this.element.parentNode.insertBefore(fragments[i],this.element.nextSibling);}}});$_CMJS.CMForm={serialize:function(elements,getHash){var data=new Array();for(var i=0,len=elements.length;i<len;i++){var element=elements[i];if(!element.disabled&&element.name){var key=element.name,value=$_CMJS.CMForm.Element.getValue(element);if(value!=undefined){if(data[key]){if(data[key].constructor!=Array)data[key]=[data[key]];data[key].push(value);}
else data[key]=value;}}}
return getHash?data:$_CMJS.HashHelper.toQueryString(data);}}
$_CMJS.CMForm.Element={serialize:function(element){element=$_CMJS.$(element);if(!element.disabled&&element.name){var value=$_CMJS.CMForm.Element.getValue(element);if(value!=undefined){var pair={};pair[element.name]=value;return $_CMJS.HashHelper.toQueryString(pair);}}
return'';},getValue:function(element){element=$_CMJS.$(element);var method=element.tagName.toLowerCase();return $_CMJS.CMForm.Element.Serializers[method](element);},clear:function(element){$_CMJS.$(element).value='';return element;},present:function(element){return $_CMJS.$(element).value!='';},activate:function(element){element=$_CMJS.$(element);element.focus();if(element.select&&(element.tagName.toLowerCase()!='input'||!['button','reset','submit'].include(element.type)))
element.select();return element;},disable:function(element){element=$_CMJS.$(element);element.disabled=true;return element;},enable:function(element){element=$_CMJS.$(element);element.blur();element.disabled=false;return element;}}
$_CMJS.CMForm.Element.Serializers={input:function(element){switch(element.type.toLowerCase()){case'checkbox':case'radio':return $_CMJS.CMForm.Element.Serializers.inputSelector(element);default:return $_CMJS.CMForm.Element.Serializers.textarea(element);}},inputSelector:function(element){return element.checked?element.value:null;},textarea:function(element){return element.value;},select:function(element){return this[element.type=='select-one'?'selectOne':'selectMany'](element);},selectOne:function(element){var index=element.selectedIndex;return index>=0?this.optionValue(element.options[index]):null;},selectMany:function(element){var values,length=element.length;if(!length)return null;for(var i=0,values=[];i<length;i++){var opt=element.options[i];if(opt.selected)values.push(this.optionValue(opt));}
return values;},optionValue:function(opt){return $_CMJS.CMElement.hasAttribute(opt,'value')?opt.value:opt.text;}}
$_CMJS.CMAbstract.CMTimedObserver=function(){}
$_CMJS.CMAbstract.CMTimedObserver.prototype={initialize:function(element,frequency,callback){this.frequency=frequency;this.element=$_CMJS.$(element);this.callback=callback;this.lastValue=this.getValue();this.registerCallback();},registerCallback:function(){setInterval($_CMJS.FuncBind([this.onTimerEvent,this]),this.frequency*1000);},onTimerEvent:function(){var value=this.getValue();var changed=('string'==typeof this.lastValue&&'string'==typeof value?this.lastValue!=value:String(this.lastValue)!=String(value));if(changed){this.callback(this.element,value);this.lastValue=value;}}}
$_CMJS.CMForm.Element.Observer=$_CMJS.Class.create();$_CMJS.CMForm.Element.Observer.prototype=$_CMJS.ObjExtend(new $_CMJS.CMAbstract.CMTimedObserver(),{getValue:function(){return $_CMJS.CMForm.Element.getValue(this.element);}});$_CMJS.CMForm.Observer=$_CMJS.Class.create();$_CMJS.CMForm.Observer.prototype=$_CMJS.ObjExtend(new $_CMJS.CMAbstract.CMTimedObserver(),{getValue:function(){return $_CMJS.CMForm.serialize(this.element);}});var detect=navigator.userAgent.toLowerCase();var OS,browser,version,total,thestring;function getBrowserInfo(){if(checkIt('konqueror')){browser="Konqueror";OS="Linux";}
else if(checkIt('safari'))browser="Safari"
else if(checkIt('omniweb'))browser="OmniWeb"
else if(checkIt('opera'))browser="Opera"
else if(checkIt('webtv'))browser="WebTV";else if(checkIt('icab'))browser="iCab"
else if(checkIt('msie'))browser="Internet Explorer"
else if(!checkIt('compatible')){browser="Netscape Navigator"
version=detect.charAt(8);}
else browser="An unknown browser";if(!version)version=detect.charAt(place+thestring.length);if(!OS){if(checkIt('linux'))OS="Linux";else if(checkIt('x11'))OS="Unix";else if(checkIt('mac'))OS="Mac"
else if(checkIt('win'))OS="Windows"
else OS="an unknown operating system";}}
function checkIt(string){place=detect.indexOf(string)+1;thestring=string;return place;}
$_CMJS.EventHelper.observe(window,'load',initialize,false);$_CMJS.EventHelper.observe(window,'load',getBrowserInfo,false);$_CMJS.EventHelper.observe(window,'unload',$_CMJS.EventHelper.unloadCache,false);var lightbox=$_CMJS.Class.create();lightbox.prototype={yPos:0,xPos:0,initialize:function(ctrl){if(window.cm)cm.trace("lightbox initialize start");this.content=ctrl.rel;$_CMJS.EventHelper.observe(ctrl,'click',$_CMJS.FuncBindForEvent([this.activate,this]),false);if(window.cm)cm.trace("lightbox initialize done");},activate:function(){if(window.cm)cm.trace("lightbox activate start");if(browser=='Internet Explorer'){this.getScroll();this.prepareIE('100%','hidden');this.setScroll(0,0);this.hideSelects('hidden');}
else
{if($_CMJS.$('wrapper'))
$_CMJS.$('overlay').style.height=$_CMJS.CMElement.getHeight('wrapper')+20+"px";else
$_CMJS.$('overlay').style.height=$_CMJS.CMElement.getHeight(document.getElementsByTagName('body')[0])+"px";$_CMJS.$(this.content).style.position="fixed";}
this.displayLightbox("block");if(window.cm)cm.trace("lightbox activate done");},prepareIE:function(height,overflow){bod=document.getElementsByTagName('body')[0];bod.style.height=height;bod.style.overflow=overflow;htm=document.getElementsByTagName('html')[0];htm.style.height=height;htm.style.overflow=overflow;},hideSelects:function(visibility){selects=document.getElementsByTagName('select');for(i=0;i<selects.length;i++){selects[i].style.visibility=visibility;}},getScroll:function(){if(self.pageYOffset){this.yPos=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){this.yPos=document.documentElement.scrollTop;}else if(document.body){this.yPos=document.body.scrollTop;}},setScroll:function(x,y){window.scrollTo(x,y);},displayLightbox:function(display){$_CMJS.$('overlay').style.display=display;if(window.cm)cm.trace("lightbox displaylightbox: "+this.content);$_CMJS.$(this.content).style.display=display;if(display!='none')this.actions();},actions:function(){lbActions=$_CMJS.getElementsByClassName('lbAction');for(i=0;i<lbActions.length;i++){$_CMJS.EventHelper.observe(lbActions[i],'click',$_CMJS.FuncBindForEvent([this[lbActions[i].rel],this]),false);lbActions[i].onclick=function(){return false;};}
$_CMJS.EventHelper.observe($_CMJS.$('overlay'),'click',$_CMJS.FuncBindForEvent([this['deactivate'],this]),false);$_CMJS.$('overlay').onclick=function(){return false;};},deactivate:function(){if(browser=="Internet Explorer"){this.setScroll(0,this.yPos);this.prepareIE("auto","auto");this.hideSelects("visible");}
this.displayLightbox("none");}}
function initialize(){addLightboxMarkup();lbox=$_CMJS.getElementsByClassName('lbOn');for(i=0;i<lbox.length;i++){valid=new lightbox(lbox[i]);}}
function addLightboxMarkup(){bod=document.getElementsByTagName('body')[0];overlay=document.createElement('div');overlay.id='overlay';bod.appendChild(overlay);}
function addLightboxAndShow(link_id){if(window.cm)cm.trace("addLightboxAndShow start");valid=new lightbox($_CMJS.$(link_id));valid.activate();if(window.cm)cm.trace("addLightboxAndShow done");}
function addLightbox(link_id){valid=new lightbox($_CMJS.$(link_id))}
function hideLightboxBg(){if($_CMJS.$('overlay'))$_CMJS.$('overlay').style.display='none';}
if($_CMJS&&$_CMJS.is_XHR)
{initialize();getBrowserInfo();}
function submitenter(myfield,e){var k;if(window.event)k=window.event.keyCode;else if(e)k=e.which;else return true;if(k==13){if(myfield.form.onsubmit())myfield.form.submit();return false;}
else return true;}