var profileArray=Array;var profileCount=0;var profiler_record={}
var profiler={start:function(name){if(window.LinkORB_enableJSProfiler){profileArray[profileCount]=new Object;profileArray[profileCount].name=name;profileArray[profileCount].start=new Date().getTime();profileCount++;}},end:function(name){if(window.LinkORB_enableJSProfiler){for(var i=0;i<profileCount;i++){if(profileArray[i].name==name){profileArray[i].end=new Date().getTime();;}}}},dump:function(silent){if(window.LinkORB_enableJSProfiler){var log="Profile records:\n--------------\n";for(var i=0;i<profileCount;i++){var len=profileArray[i].end-profileArray[i].start;log=log+profileArray[i].name+": "+(len/1000)+" sec ("+len+"ms)\n";}
if(silent){var dv=$('LinkORB_JSDebugFrame');if(dv)dv.update(log.gsub('\n','<br />')).show();}
else alert(log);}},reset:function(){profileArray=[];profileCount=0;}}
function falsefunc(){return false;}
function truefunc(){return true;}
function firstFocus(){var f=null;var fm=null;for(var j=0;j<document.forms.length;j++){fm=document.forms[j];for(var i=0;i<fm.length;i++){f=fm.elements[i];if(f.type){if((f.type=="text")||(f.type=="textarea")||(f.type.toString().charAt(0)=="s")){if(f.className.indexOf("noautofocus")<0){try{if(Visible(f)&&!f.disabled&&f.state!="disabled"){f.focus();return;}}
catch(err){}}}}}}}
function debug(msg){w=document.getElementById("debugwindow");if(!w){var w=this.window.document.createElement("div");w.id="debugwindow";w.innerHTML="Debug console:<br />";this.window.document.body.appendChild(w);}
var div=this.window.document.createElement("div");div.className="debugmessage";div.innerHTML=msg;w.appendChild(div);w.scrollTop=100000;}
function ErrorHandler(msg,url,line){debug("<span style='color: #ff0000;'>Error:</span> "+msg+"<br />\n"+"<a href='"+url+"'>"+url+"</a> line "+line);return true;}
function base64_encode(inp){return Base64.encode(inp);}
function base64_decode(inp){return Base64.decode(inp);}
var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(input){var output="";var chr1,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;input=Base64._utf8_encode(input);while(i<input.length){chr1=input.charCodeAt(i++);chr2=input.charCodeAt(i++);chr3=input.charCodeAt(i++);enc1=chr1>>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}else if(isNaN(chr3)){enc4=64;}
output=output+
this._keyStr.charAt(enc1)+this._keyStr.charAt(enc2)+
this._keyStr.charAt(enc3)+this._keyStr.charAt(enc4);}
return output;},decode:function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i<input.length){enc1=this._keyStr.indexOf(input.charAt(i++));enc2=this._keyStr.indexOf(input.charAt(i++));enc3=this._keyStr.indexOf(input.charAt(i++));enc4=this._keyStr.indexOf(input.charAt(i++));chr1=(enc1<<2)|(enc2>>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2);}
if(enc4!=64){output=output+String.fromCharCode(chr3);}}
output=Base64._utf8_decode(output);return output;},_utf8_encode:function(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c);}
else if((c>127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128);}
else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128);}}
return utftext;},_utf8_decode:function(utftext){var string="";var i=0;var c=c1=c2=0;while(i<utftext.length){c=utftext.charCodeAt(i);if(c<128){string+=String.fromCharCode(c);i++;}
else if((c>191)&&(c<224)){c2=utftext.charCodeAt(i+1);string+=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2;}
else{c2=utftext.charCodeAt(i+1);c3=utftext.charCodeAt(i+2);string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}}
return string;}}
var arVersion=navigator.appVersion.split("MSIE");var version=parseFloat(arVersion[1]);function fixPNG(myImage)
{if((version>=5.5)&&(version<7)&&(document.body.filters))
{var imgID=(myImage.id)?"id='"+myImage.id+"' ":"";var imgClass=(myImage.className)?"class='"+myImage.className+"' ":"";var imgTitle=(myImage.title)?"title='"+myImage.title+"' ":"title='"+myImage.alt+"' ";var imgStyle="display:inline-block;"+myImage.style.cssText;var strNewHTML="<span "+imgID+imgClass+imgTitle
+" style=\""+"width:"+myImage.width
+"px; height:"+myImage.height
+"px;"+imgStyle+";"
+"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+"(src=\'"+myImage.src+"\', sizingMethod='scale');\"></span>";myImage.outerHTML=strNewHTML;}}
var lastRedirect=null;function redirect(url){if(!url.toLowerCase().startsWith('javascript:')){lastRedirect=url;if(globalLiveSaveAJAXCount>0)return false;}
if(QuickLoadMode){url=url.replace("?","#");}
switch(url.substring(0,1)){case"/":url=baseUrl+url.substring(1);break;case"?":url=baseUrl+url;break;}
document.location=url.replace(/&amp;/g,"&");}
function ShowDebugFrame(){var e=document.getElementById("debugframe");e.style.display="block";}
var Prototype={Version:'1.6.0',Browser:{IE:!!(window.attachEvent&&!window.opera),Opera:!!window.opera,WebKit:navigator.userAgent.indexOf('AppleWebKit/')>-1,Gecko:navigator.userAgent.indexOf('Gecko')>-1&&navigator.userAgent.indexOf('KHTML')==-1,MobileSafari:!!navigator.userAgent.match(/Apple.*Mobile.*Safari/)},BrowserFeatures:{XPath:!!document.evaluate,ElementExtensions:!!window.HTMLElement,SpecificElementExtensions:document.createElement('div').__proto__&&document.createElement('div').__proto__!==document.createElement('form').__proto__},ScriptFragment:'<script[^>]*>([\\S\\s]*?)<\/script>',JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(x){return x}};if(Prototype.Browser.MobileSafari)
Prototype.BrowserFeatures.SpecificElementExtensions=false;if(Prototype.Browser.WebKit)
Prototype.BrowserFeatures.XPath=false;var Class={create:function(){var parent=null,properties=$A(arguments);if(Object.isFunction(properties[0]))
parent=properties.shift();function klass(){this.initialize.apply(this,arguments);}
Object.extend(klass,Class.Methods);klass.superclass=parent;klass.subclasses=[];if(parent){var subclass=function(){};subclass.prototype=parent.prototype;klass.prototype=new subclass;parent.subclasses.push(klass);}
for(var i=0;i<properties.length;i++)
klass.addMethods(properties[i]);if(!klass.prototype.initialize)
klass.prototype.initialize=Prototype.emptyFunction;klass.prototype.constructor=klass;return klass;}};Class.Methods={addMethods:function(source){var ancestor=this.superclass&&this.superclass.prototype;var properties=Object.keys(source);if(!Object.keys({toString:true}).length)
properties.push("toString","valueOf");for(var i=0,length=properties.length;i<length;i++){var property=properties[i],value=source[property];if(ancestor&&Object.isFunction(value)&&value.argumentNames().first()=="$super"){var method=value,value=Object.extend((function(m){return function(){return ancestor[m].apply(this,arguments)};})(property).wrap(method),{valueOf:function(){return method},toString:function(){return method.toString()}});}
this.prototype[property]=value;}
return this;}};var Abstract={};Object.extend=function(destination,source){for(var property in source)
destination[property]=source[property];return destination;};Object.extend(Object,{inspect:function(object){try{if(object===undefined)return'undefined';if(object===null)return'null';return object.inspect?object.inspect():object.toString();}catch(e){if(e instanceof RangeError)return'...';throw e;}},toJSON:function(object){var type=typeof object;switch(type){case'undefined':case'function':case'unknown':return;case'boolean':return object.toString();}
if(object===null)return'null';if(object.toJSON)return object.toJSON();if(Object.isElement(object))return;var results=[];for(var property in object){var value=Object.toJSON(object[property]);if(value!==undefined)
results.push(property.toJSON()+': '+value);}
return'{'+results.join(', ')+'}';},toQueryString:function(object){return $H(object).toQueryString();},toHTML:function(object){return object&&object.toHTML?object.toHTML():String.interpret(object);},keys:function(object){var keys=[];for(var property in object)
keys.push(property);return keys;},values:function(object){var values=[];for(var property in object)
values.push(object[property]);return values;},clone:function(object){return Object.extend({},object);},isElement:function(object){return object&&object.nodeType==1;},isArray:function(object){return object&&object.constructor===Array;},isHash:function(object){return object instanceof Hash;},isFunction:function(object){return typeof object=="function";},isString:function(object){return typeof object=="string";},isNumber:function(object){return typeof object=="number";},isUndefined:function(object){return typeof object=="undefined";}});Object.extend(Function.prototype,{argumentNames:function(){var names=this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip");return names.length==1&&!names[0]?[]:names;},bind:function(){if(arguments.length<2&&arguments[0]===undefined)return this;var __method=this,args=$A(arguments),object=args.shift();return function(){return __method.apply(object,args.concat($A(arguments)));}},bindAsEventListener:function(){var __method=this,args=$A(arguments),object=args.shift();return function(event){return __method.apply(object,[event||window.event].concat(args));}},curry:function(){if(!arguments.length)return this;var __method=this,args=$A(arguments);return function(){return __method.apply(this,args.concat($A(arguments)));}},delay:function(){var __method=this,args=$A(arguments),timeout=args.shift()*1000;return window.setTimeout(function(){return __method.apply(__method,args);},timeout);},wrap:function(wrapper){var __method=this;return function(){return wrapper.apply(this,[__method.bind(this)].concat($A(arguments)));}},methodize:function(){if(this._methodized)return this._methodized;var __method=this;return this._methodized=function(){return __method.apply(null,[this].concat($A(arguments)));};}});Function.prototype.defer=Function.prototype.delay.curry(0.01);Date.prototype.toJSON=function(){return'"'+this.getUTCFullYear()+'-'+
(this.getUTCMonth()+1).toPaddedString(2)+'-'+
this.getUTCDate().toPaddedString(2)+'T'+
this.getUTCHours().toPaddedString(2)+':'+
this.getUTCMinutes().toPaddedString(2)+':'+
this.getUTCSeconds().toPaddedString(2)+'Z"';};var Try={these: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;}};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(str){return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g,'\\$1');};var PeriodicalExecuter=Class.create({initialize:function(callback,frequency){this.callback=callback;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback();},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},execute:function(){this.callback(this);},stop:function(){if(!this.timer)return;clearInterval(this.timer);this.timer=null;},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.execute();}finally{this.currentlyExecuting=false;}}}});Object.extend(String,{interpret:function(value){return value==null?'':String(value);},specialChar:{'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','\\':'\\\\'}});Object.extend(String.prototype,{gsub:function(pattern,replacement){var result='',source=this,match;replacement=arguments.callee.prepareReplacement(replacement);while(source.length>0){if(match=source.match(pattern)){result+=source.slice(0,match.index);result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length);}else{result+=source,source='';}}
return result;},sub:function(pattern,replacement,count){replacement=this.gsub.prepareReplacement(replacement);count=count===undefined?1:count;return this.gsub(pattern,function(match){if(--count<0)return match[0];return replacement(match);});},scan:function(pattern,iterator){this.gsub(pattern,iterator);return String(this);},truncate:function(length,truncation){length=length||30;truncation=truncation===undefined?'...':truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:String(this);},strip:function(){return this.replace(/^\s+/,'').replace(/\s+$/,'');},stripTags:function(){return this.replace(/<\/?[^>]+>/gi,'');},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,'img'),'');},extractScripts:function(){var matchAll=new RegExp(Prototype.ScriptFragment,'img');var matchOne=new RegExp(Prototype.ScriptFragment,'im');return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||['',''])[1];});},evalScripts:function(){return this.extractScripts().map(function(script){return eval(script)});},escapeHTML:function(){var self=arguments.callee;self.text.data=this;return self.div.innerHTML;},unescapeHTML:function(){var div=new Element('div');div.innerHTML=this.stripTags();return div.childNodes[0]?(div.childNodes.length>1?$A(div.childNodes).inject('',function(memo,node){return memo+node.nodeValue}):div.childNodes[0].nodeValue):'';},toQueryParams:function(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match)return{};return match[1].split(separator||'&').inject({},function(hash,pair){if((pair=pair.split('='))[0]){var key=decodeURIComponent(pair.shift());var value=pair.length>1?pair.join('='):pair[0];if(value!=undefined)value=decodeURIComponent(value);if(key in hash){if(!Object.isArray(hash[key]))hash[key]=[hash[key]];hash[key].push(value);}
else hash[key]=value;}
return hash;});},toArray:function(){return this.split('');},succ:function(){return this.slice(0,this.length-1)+
String.fromCharCode(this.charCodeAt(this.length-1)+1);},times:function(count){return count<1?'':new Array(count+1).join(this);},camelize:function(){var parts=this.split('-'),len=parts.length;if(len==1)return parts[0];var camelized=this.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;},capitalize:function(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase();},underscore:function(){return this.gsub(/::/,'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();},dasherize:function(){return this.gsub(/_/,'-');},inspect:function(useDoubleQuotes){var escapedString=this.gsub(/[\x00-\x1f\\]/,function(match){var character=String.specialChar[match[0]];return character?character:'\\u00'+match[0].charCodeAt().toPaddedString(2,16);});if(useDoubleQuotes)return'"'+escapedString.replace(/"/g,'\\"')+'"';return"'"+escapedString.replace(/'/g,'\\\'')+"'";},toJSON:function(){return this.inspect(true);},unfilterJSON:function(filter){return this.sub(filter||Prototype.JSONFilter,'#{1}');},isJSON:function(){var str=this.replace(/\\./g,'@').replace(/"[^"\\\n\r]*"/g,'');return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);},evalJSON:function(sanitize){var json=this.unfilterJSON();try{if(!sanitize||json.isJSON())return eval('('+json+')');}catch(e){}
throw new SyntaxError('Badly formed JSON string: '+this.inspect());},include:function(pattern){return this.indexOf(pattern)>-1;},startsWith:function(pattern){return this.indexOf(pattern)===0;},endsWith:function(pattern){var d=this.length-pattern.length;return d>=0&&this.lastIndexOf(pattern)===d;},empty:function(){return this=='';},blank:function(){return/^\s*$/.test(this);},interpolate:function(object,pattern){return new Template(this,pattern).evaluate(object);}});if(Prototype.Browser.WebKit||Prototype.Browser.IE)Object.extend(String.prototype,{escapeHTML:function(){return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');},unescapeHTML:function(){return this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');}});String.prototype.gsub.prepareReplacement=function(replacement){if(Object.isFunction(replacement))return replacement;var template=new Template(replacement);return function(match){return template.evaluate(match)};};String.prototype.parseQuery=String.prototype.toQueryParams;Object.extend(String.prototype.escapeHTML,{div:document.createElement('div'),text:document.createTextNode('')});with(String.prototype.escapeHTML)div.appendChild(text);var Template=Class.create({initialize:function(template,pattern){this.template=template.toString();this.pattern=pattern||Template.Pattern;},evaluate:function(object){if(Object.isFunction(object.toTemplateReplacements))
object=object.toTemplateReplacements();return this.template.gsub(this.pattern,function(match){if(object==null)return'';var before=match[1]||'';if(before=='\\')return match[2];var ctx=object,expr=match[3];var pattern=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/,match=pattern.exec(expr);if(match==null)return before;while(match!=null){var comp=match[1].startsWith('[')?match[2].gsub('\\\\]',']'):match[1];ctx=ctx[comp];if(null==ctx||''==match[3])break;expr=expr.substring('['==match[3]?match[1].length:match[0].length);match=pattern.exec(expr);}
return before+String.interpret(ctx);}.bind(this));}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable={each:function(iterator,context){var index=0;iterator=iterator.bind(context);try{this._each(function(value){iterator(value,index++);});}catch(e){if(e!=$break)throw e;}
return this;},eachSlice:function(number,iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var index=-number,slices=[],array=this.toArray();while((index+=number)<array.length)
slices.push(array.slice(index,index+number));return slices.collect(iterator,context);},all:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result=true;this.each(function(value,index){result=result&&!!iterator(value,index);if(!result)throw $break;});return result;},any:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result=false;this.each(function(value,index){if(result=!!iterator(value,index))
throw $break;});return result;},collect:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var results=[];this.each(function(value,index){results.push(iterator(value,index));});return results;},detect:function(iterator,context){iterator=iterator.bind(context);var result;this.each(function(value,index){if(iterator(value,index)){result=value;throw $break;}});return result;},findAll:function(iterator,context){iterator=iterator.bind(context);var results=[];this.each(function(value,index){if(iterator(value,index))
results.push(value);});return results;},grep:function(filter,iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var results=[];if(Object.isString(filter))
filter=new RegExp(filter);this.each(function(value,index){if(filter.match(value))
results.push(iterator(value,index));});return results;},include:function(object){if(Object.isFunction(this.indexOf))
if(this.indexOf(object)!=-1)return true;var found=false;this.each(function(value){if(value==object){found=true;throw $break;}});return found;},inGroupsOf:function(number,fillWith){fillWith=fillWith===undefined?null:fillWith;return this.eachSlice(number,function(slice){while(slice.length<number)slice.push(fillWith);return slice;});},inject:function(memo,iterator,context){iterator=iterator.bind(context);this.each(function(value,index){memo=iterator(memo,value,index);});return memo;},invoke:function(method){var args=$A(arguments).slice(1);return this.map(function(value){return value[method].apply(value,args);});},max:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result;this.each(function(value,index){value=iterator(value,index);if(result==undefined||value>=result)
result=value;});return result;},min:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result;this.each(function(value,index){value=iterator(value,index);if(result==undefined||value<result)
result=value;});return result;},partition:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var trues=[],falses=[];this.each(function(value,index){(iterator(value,index)?trues:falses).push(value);});return[trues,falses];},pluck:function(property){var results=[];this.each(function(value){results.push(value[property]);});return results;},reject:function(iterator,context){iterator=iterator.bind(context);var results=[];this.each(function(value,index){if(!iterator(value,index))
results.push(value);});return results;},sortBy:function(iterator,context){iterator=iterator.bind(context);return this.map(function(value,index){return{value:value,criteria:iterator(value,index)};}).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0;}).pluck('value');},toArray:function(){return this.map();},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(Object.isFunction(args.last()))
iterator=args.pop();var collections=[this].concat(args).map($A);return this.map(function(value,index){return iterator(collections.pluck(index));});},size:function(){return this.toArray().length;},inspect:function(){return'#<Enumerable:'+this.toArray().inspect()+'>';}};Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,filter:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray,every:Enumerable.all,some:Enumerable.any});function $A(iterable){if(!iterable)return[];if(iterable.toArray)return iterable.toArray();var length=iterable.length,results=new Array(length);while(length--)results[length]=iterable[length];return results;}
if(Prototype.Browser.WebKit){function $A(iterable){if(!iterable)return[];if(!(Object.isFunction(iterable)&&iterable=='[object NodeList]')&&iterable.toArray)return iterable.toArray();var length=iterable.length,results=new Array(length);while(length--)results[length]=iterable[length];return results;}}
Array.from=$A;Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse)Array.prototype._reverse=Array.prototype.reverse;Object.extend(Array.prototype,{_each:function(iterator){for(var i=0,length=this.length;i<length;i++)
iterator(this[i]);},clear:function(){this.length=0;return this;},first:function(){return this[0];},last:function(){return this[this.length-1];},compact:function(){return this.select(function(value){return value!=null;});},flatten:function(){return this.inject([],function(array,value){return array.concat(Object.isArray(value)?value.flatten():[value]);});},without:function(){var values=$A(arguments);return this.select(function(value){return!values.include(value);});},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse();},reduce:function(){return this.length>1?this:this[0];},uniq:function(sorted){return this.inject([],function(array,value,index){if(0==index||(sorted?array.last()!=value:!array.include(value)))
array.push(value);return array;});},intersect:function(array){return this.uniq().findAll(function(item){return array.detect(function(value){return item===value});});},clone:function(){return[].concat(this);},size:function(){return this.length;},inspect:function(){return'['+this.map(Object.inspect).join(', ')+']';},toJSON:function(){var results=[];this.each(function(object){var value=Object.toJSON(object);if(value!==undefined)results.push(value);});return'['+results.join(', ')+']';}});if(Object.isFunction(Array.prototype.forEach))
Array.prototype._each=Array.prototype.forEach;if(!Array.prototype.indexOf)Array.prototype.indexOf=function(item,i){i||(i=0);var length=this.length;if(i<0)i=length+i;for(;i<length;i++)
if(this[i]===item)return i;return-1;};if(!Array.prototype.lastIndexOf)Array.prototype.lastIndexOf=function(item,i){i=isNaN(i)?this.length:(i<0?this.length+i:i)+1;var n=this.slice(0,i).reverse().indexOf(item);return(n<0)?n:i-n-1;};Array.prototype.toArray=Array.prototype.clone;function $w(string){if(!Object.isString(string))return[];string=string.strip();return string?string.split(/\s+/):[];}
if(Prototype.Browser.Opera){Array.prototype.concat=function(){var array=[];for(var i=0,length=this.length;i<length;i++)array.push(this[i]);for(var i=0,length=arguments.length;i<length;i++){if(Object.isArray(arguments[i])){for(var j=0,arrayLength=arguments[i].length;j<arrayLength;j++)
array.push(arguments[i][j]);}else{array.push(arguments[i]);}}
return array;};}
Object.extend(Number.prototype,{toColorPart:function(){return this.toPaddedString(2,16);},succ:function(){return this+1;},times:function(iterator){$R(0,this,true).each(iterator);return this;},toPaddedString:function(length,radix){var string=this.toString(radix||10);return'0'.times(length-string.length)+string;},toJSON:function(){return isFinite(this)?this.toString():'null';}});$w('abs round ceil floor').each(function(method){Number.prototype[method]=Math[method].methodize();});function $H(object){return new Hash(object);};var Hash=Class.create(Enumerable,(function(){if(function(){var i=0,Test=function(value){this.key=value};Test.prototype.key='foo';for(var property in new Test('bar'))i++;return i>1;}()){function each(iterator){var cache=[];for(var key in this._object){var value=this._object[key];if(cache.include(key))continue;cache.push(key);var pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}}}else{function each(iterator){for(var key in this._object){var value=this._object[key],pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}}}
function toQueryPair(key,value){if(Object.isUndefined(value))return key;return key+'='+encodeURIComponent(String.interpret(value));}
return{initialize:function(object){this._object=Object.isHash(object)?object.toObject():Object.clone(object);},_each:each,set:function(key,value){return this._object[key]=value;},get:function(key){return this._object[key];},unset:function(key){var value=this._object[key];delete this._object[key];return value;},toObject:function(){return Object.clone(this._object);},keys:function(){return this.pluck('key');},values:function(){return this.pluck('value');},index:function(value){var match=this.detect(function(pair){return pair.value===value;});return match&&match.key;},merge:function(object){return this.clone().update(object);},update:function(object){return new Hash(object).inject(this,function(result,pair){result.set(pair.key,pair.value);return result;});},toQueryString:function(){return this.map(function(pair){var key=encodeURIComponent(pair.key),values=pair.value;if(values&&typeof values=='object'){if(Object.isArray(values))
return values.map(toQueryPair.curry(key)).join('&');}
return toQueryPair(key,values);}).join('&');},inspect:function(){return'#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ');}).join(', ')+'}>';},toJSON:function(){return Object.toJSON(this.toObject());},clone:function(){return new Hash(this);}}})());Hash.prototype.toTemplateReplacements=Hash.prototype.toObject;Hash.from=$H;var ObjectRange=Class.create(Enumerable,{initialize:function(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive;},_each:function(iterator){var value=this.start;while(this.include(value)){iterator(value);value=value.succ();}},include:function(value){if(value<this.start)
return false;if(this.exclusive)
return value<this.end;return value<=this.end;}});var $R=function(start,end,exclusive){return new ObjectRange(start,end,exclusive);};var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')})||false;},activeRequestCount:0};Ajax.Responders={responders:[],_each:function(iterator){this.responders._each(iterator);},register:function(responder){if(!this.include(responder))
this.responders.push(responder);},unregister:function(responder){this.responders=this.responders.without(responder);},dispatch:function(callback,request,transport,json){this.each(function(responder){if(Object.isFunction(responder[callback])){try{responder[callback].apply(responder,[request,transport,json]);}catch(e){}}});}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});Ajax.Base=Class.create({initialize:function(options){this.options={method:'post',asynchronous:true,contentType:'application/x-www-form-urlencoded',encoding:'UTF-8',parameters:'',evalJSON:true,evalJS:true};Object.extend(this.options,options||{});this.options.method=this.options.method.toLowerCase();if(Object.isString(this.options.parameters))
this.options.parameters=this.options.parameters.toQueryParams();}});Ajax.Request=Class.create(Ajax.Base,{_complete:false,initialize:function($super,url,options){$super(options);this.transport=Ajax.getTransport();this.request(url);},request:function(url){this.url=url;this.method=this.options.method;var params=Object.clone(this.options.parameters);if(!['get','post'].include(this.method)){params['_method']=this.method;this.method='post';}
this.parameters=params;if(params=Object.toQueryString(params)){if(this.method=='get')
this.url+=(this.url.include('?')?'&':'?')+params;else if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
params+='&_=';}
try{var response=new Ajax.Response(this);if(this.options.onCreate)this.options.onCreate(response);Ajax.Responders.dispatch('onCreate',this,response);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous)this.respondToReadyState.bind(this).defer(1);this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.body=this.method=='post'?(this.options.postBody||params):null;this.transport.send(this.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':Prototype.Version,'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(Object.isFunction(extras.push))
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(){var status=this.getStatus();return!status||(status>=200&&status<300);},getStatus:function(){try{return this.transport.status||0;}catch(e){return 0}},respondToReadyState:function(readyState){var state=Ajax.Request.Events[readyState],response=new Ajax.Response(this);if(state=='Complete'){try{this._complete=true;(this.options['on'+response.status]||this.options['on'+(this.success()?'Success':'Failure')]||Prototype.emptyFunction)(response,response.headerJSON);}catch(e){this.dispatchException(e);}
var contentType=response.getHeader('Content-type');if(this.options.evalJS=='force'||(this.options.evalJS&&contentType&&contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))
this.evalResponse();}
try{(this.options['on'+state]||Prototype.emptyFunction)(response,response.headerJSON);Ajax.Responders.dispatch('on'+state,this,response,response.headerJSON);}catch(e){this.dispatchException(e);}
if(state=='Complete'){this.transport.onreadystatechange=Prototype.emptyFunction;}},getHeader:function(name){try{return this.transport.getResponseHeader(name);}catch(e){return null}},evalResponse:function(){try{return eval((this.transport.responseText||'').unfilterJSON());}catch(e){this.dispatchException(e);}},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch('onException',this,exception);}});Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Response=Class.create({initialize:function(request){this.request=request;var transport=this.transport=request.transport,readyState=this.readyState=transport.readyState;if((readyState>2&&!Prototype.Browser.IE)||readyState==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(transport.responseText);this.headerJSON=this._getHeaderJSON();}
if(readyState==4){var xml=transport.responseXML;this.responseXML=xml===undefined?null:xml;this.responseJSON=this._getResponseJSON();}},status:0,statusText:'',getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||'';}catch(e){return''}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders();}catch(e){return null}},getResponseHeader:function(name){return this.transport.getResponseHeader(name);},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders();},_getHeaderJSON:function(){var json=this.getHeader('X-JSON');if(!json)return null;json=decodeURIComponent(escape(json));try{return json.evalJSON(this.request.options.sanitizeJSON);}catch(e){this.request.dispatchException(e);}},_getResponseJSON:function(){var options=this.request.options;if(!options.evalJSON||(options.evalJSON!='force'&&!(this.getHeader('Content-type')||'').include('application/json')))
return null;try{return this.transport.responseText.evalJSON(options.sanitizeJSON);}catch(e){this.request.dispatchException(e);}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,container,url,options){this.container={success:(container.success||container),failure:(container.failure||(container.success?null:container))};options=options||{};var onComplete=options.onComplete;options.onComplete=(function(response,param){this.updateContent(response.responseText);if(Object.isFunction(onComplete))onComplete(response,param);}).bind(this);$super(url,options);},updateContent:function(responseText){var receiver=this.container[this.success()?'success':'failure'],options=this.options;if(!options.evalScripts)responseText=responseText.stripScripts();if(receiver=$(receiver)){if(options.insertion){if(Object.isString(options.insertion)){var insertion={};insertion[options.insertion]=responseText;receiver.insert(insertion);}
else options.insertion(receiver,responseText);}
else receiver.update(responseText);}
if(this.success()){if(this.onComplete)this.onComplete.bind(this).defer();}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,container,url,options){$super(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=this.updateComplete.bind(this);this.onTimerEvent();},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments);},updateComplete:function(response){if(this.options.decay){this.decay=(response.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=response.responseText;}
this.timer=this.onTimerEvent.bind(this).delay(this.decay*this.frequency);},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options);}});function $(element){if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i<length;i++)
elements.push($(arguments[i]));return elements;}
if(Object.isString(element))
element=document.getElementById(element);return Element.extend(element);}
if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(expression,parentElement){var results=[];var query=document.evaluate(expression,$(parentElement)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,length=query.snapshotLength;i<length;i++)
results.push(Element.extend(query.snapshotItem(i)));return results;};}
if(!window.Node)var Node={};if(!Node.ELEMENT_NODE){Object.extend(Node,{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12});}
(function(){var element=this.Element;this.Element=function(tagName,attributes){attributes=attributes||{};tagName=tagName.toLowerCase();var cache=Element.cache;if(Prototype.Browser.IE&&attributes.name){tagName='<'+tagName+' name="'+attributes.name+'">';delete attributes.name;return Element.writeAttribute(document.createElement(tagName),attributes);}
if(!cache[tagName])cache[tagName]=Element.extend(document.createElement(tagName));return Element.writeAttribute(cache[tagName].cloneNode(false),attributes);};Object.extend(this.Element,element||{});}).call(window);Element.cache={};Element.Methods={visible:function(element){return $(element).style.display!='none';},toggle:function(element){element=$(element);Element[Element.visible(element)?'hide':'show'](element);return element;},hide:function(element){$(element).style.display='none';return element;},show:function(element){$(element).style.display='';return element;},remove:function(element){element=$(element);element.parentNode.removeChild(element);return element;},update:function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content))return element.update().insert(content);content=Object.toHTML(content);element.innerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element;},replace:function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();else if(!Object.isElement(content)){content=Object.toHTML(content);var range=element.ownerDocument.createRange();range.selectNode(element);content.evalScripts.bind(content).defer();content=range.createContextualFragment(content.stripScripts());}
element.parentNode.replaceChild(content,element);return element;},insert:function(element,insertions){element=$(element);if(Object.isString(insertions)||Object.isNumber(insertions)||Object.isElement(insertions)||(insertions&&(insertions.toElement||insertions.toHTML)))
insertions={bottom:insertions};var content,t,range;for(position in insertions){content=insertions[position];position=position.toLowerCase();t=Element._insertionTranslations[position];if(content&&content.toElement)content=content.toElement();if(Object.isElement(content)){t.insert(element,content);continue;}
content=Object.toHTML(content);range=element.ownerDocument.createRange();t.initializeRange(element,range);t.insert(element,range.createContextualFragment(content.stripScripts()));content.evalScripts.bind(content).defer();}
return element;},wrap:function(element,wrapper,attributes){element=$(element);if(Object.isElement(wrapper))
$(wrapper).writeAttribute(attributes||{});else if(Object.isString(wrapper))wrapper=new Element(wrapper,attributes);else wrapper=new Element('div',wrapper);if(element.parentNode)
element.parentNode.replaceChild(wrapper,element);wrapper.appendChild(element);return wrapper;},inspect:function(element){element=$(element);var result='<'+element.tagName.toLowerCase();$H({'id':'id','className':'class'}).each(function(pair){var property=pair.first(),attribute=pair.last();var value=(element[property]||'').toString();if(value)result+=' '+attribute+'='+value.inspect(true);});return result+'>';},recursivelyCollect:function(element,property){element=$(element);var elements=[];while(element=element[property])
if(element.nodeType==1)
elements.push(Element.extend(element));return elements;},ancestors:function(element){return $(element).recursivelyCollect('parentNode');},descendants:function(element){return $A($(element).getElementsByTagName('*')).each(Element.extend);},firstDescendant:function(element){element=$(element).firstChild;while(element&&element.nodeType!=1)element=element.nextSibling;return $(element);},immediateDescendants:function(element){if(!(element=$(element).firstChild))return[];while(element&&element.nodeType!=1)element=element.nextSibling;if(element)return[element].concat($(element).nextSiblings());return[];},previousSiblings:function(element){return $(element).recursivelyCollect('previousSibling');},nextSiblings:function(element){return $(element).recursivelyCollect('nextSibling');},siblings:function(element){element=$(element);return element.previousSiblings().reverse().concat(element.nextSiblings());},match:function(element,selector){if(Object.isString(selector))
selector=new Selector(selector);return selector.match($(element));},up:function(element,expression,index){element=$(element);if(arguments.length==1)return $(element.parentNode);var ancestors=element.ancestors();return expression?Selector.findElement(ancestors,expression,index):ancestors[index||0];},down:function(element,expression,index){element=$(element);if(arguments.length==1)return element.firstDescendant();var descendants=element.descendants();return expression?Selector.findElement(descendants,expression,index):descendants[index||0];},previous:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.previousElementSibling(element));var previousSiblings=element.previousSiblings();return expression?Selector.findElement(previousSiblings,expression,index):previousSiblings[index||0];},next:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.nextElementSibling(element));var nextSiblings=element.nextSiblings();return expression?Selector.findElement(nextSiblings,expression,index):nextSiblings[index||0];},select:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element,args);},adjacent:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element.parentNode,args).without(element);},identify:function(element){element=$(element);var id=element.readAttribute('id'),self=arguments.callee;if(id)return id;do{id='anonymous_element_'+self.counter++}while($(id));element.writeAttribute('id',id);return id;},readAttribute:function(element,name){element=$(element);if(Prototype.Browser.IE){var t=Element._attributeTranslations.read;if(t.values[name])return t.values[name](element,name);if(t.names[name])name=t.names[name];if(name.include(':')){return(!element.attributes||!element.attributes[name])?null:element.attributes[name].value;}}
return element.getAttribute(name);},writeAttribute:function(element,name,value){element=$(element);var attributes={},t=Element._attributeTranslations.write;if(typeof name=='object')attributes=name;else attributes[name]=value===undefined?true:value;for(var attr in attributes){var name=t.names[attr]||attr,value=attributes[attr];if(t.values[attr])name=t.values[attr](element,value);if(value===false||value===null)
element.removeAttribute(name);else if(value===true)
element.setAttribute(name,name);else element.setAttribute(name,value);}
return element;},getHeight:function(element){return $(element).getDimensions().height;},getWidth:function(element){return $(element).getDimensions().width;},classNames:function(element){return new Element.ClassNames(element);},hasClassName:function(element,className){if(!(element=$(element)))return;var elementClassName=element.className;return(elementClassName.length>0&&(elementClassName==className||new RegExp("(^|\\s)"+className+"(\\s|$)").test(elementClassName)));},addClassName:function(element,className){if(!(element=$(element)))return;if(!element.hasClassName(className))
element.className+=(element.className?' ':'')+className;return element;},removeClassName:function(element,className){if(!(element=$(element)))return;element.className=element.className.replace(new RegExp("(^|\\s+)"+className+"(\\s+|$)"),' ').strip();return element;},toggleClassName:function(element,className){if(!(element=$(element)))return;return element[element.hasClassName(className)?'removeClassName':'addClassName'](className);},cleanWhitespace:function(element){element=$(element);var node=element.firstChild;while(node){var nextNode=node.nextSibling;if(node.nodeType==3&&!/\S/.test(node.nodeValue))
element.removeChild(node);node=nextNode;}
return element;},empty:function(element){return $(element).innerHTML.blank();},descendantOf:function(element,ancestor){element=$(element),ancestor=$(ancestor);if(element.compareDocumentPosition)
return(element.compareDocumentPosition(ancestor)&8)===8;if(element.sourceIndex&&!Prototype.Browser.Opera){var e=element.sourceIndex,a=ancestor.sourceIndex,nextAncestor=ancestor.nextSibling;if(!nextAncestor){do{ancestor=ancestor.parentNode;}
while(!(nextAncestor=ancestor.nextSibling)&&ancestor.parentNode);}
if(nextAncestor)return(e>a&&e<nextAncestor.sourceIndex);}
while(element=element.parentNode)
if(element==ancestor)return true;return false;},scrollTo:function(element){element=$(element);var pos=element.cumulativeOffset();window.scrollTo(pos[0],pos[1]);return element;},getStyle:function(element,style){element=$(element);style=style=='float'?'cssFloat':style.camelize();var value=element.style[style];if(!value){var css=document.defaultView.getComputedStyle(element,null);value=css?css[style]:null;}
if(style=='opacity')return value?parseFloat(value):1.0;return value=='auto'?null:value;},getOpacity:function(element){return $(element).getStyle('opacity');},setStyle:function(element,styles){element=$(element);var elementStyle=element.style,match;if(Object.isString(styles)){element.style.cssText+=';'+styles;return styles.include('opacity')?element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]):element;}
for(var property in styles)
if(property=='opacity')element.setOpacity(styles[property]);else
elementStyle[(property=='float'||property=='cssFloat')?(elementStyle.styleFloat===undefined?'cssFloat':'styleFloat'):property]=styles[property];return element;},setOpacity:function(element,value){element=$(element);element.style.opacity=(value==1||value==='')?'':(value<0.00001)?0:value;return element;},getDimensions:function(element){element=$(element);var display=$(element).getStyle('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};},makePositioned:function(element){element=$(element);var pos=Element.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=$(element);if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right='';}
return element;},makeClipping:function(element){element=$(element);if(element._overflow)return element;element._overflow=Element.getStyle(element,'overflow')||'auto';if(element._overflow!=='hidden')
element.style.overflow='hidden';return element;},undoClipping:function(element){element=$(element);if(!element._overflow)return element;element.style.overflow=element._overflow=='auto'?'':element._overflow;element._overflow=null;return element;},cumulativeOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);return Element._returnOffset(valueL,valueT);},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){if(element.tagName=='BODY')break;var p=Element.getStyle(element,'position');if(p=='relative'||p=='absolute')break;}}while(element);return Element._returnOffset(valueL,valueT);},absolutize:function(element){element=$(element);if(element.getStyle('position')=='absolute')return;var offsets=element.positionedOffset();var top=offsets[1];var left=offsets[0];var width=element.clientWidth;var height=element.clientHeight;element._originalLeft=left-parseFloat(element.style.left||0);element._originalTop=top-parseFloat(element.style.top||0);element._originalWidth=element.style.width;element._originalHeight=element.style.height;element.style.position='absolute';element.style.top=top+'px';element.style.left=left+'px';element.style.width=width+'px';element.style.height=height+'px';return element;},relativize:function(element){element=$(element);if(element.getStyle('position')=='relative')return;element.style.position='relative';var top=parseFloat(element.style.top||0)-(element._originalTop||0);var left=parseFloat(element.style.left||0)-(element._originalLeft||0);element.style.top=top+'px';element.style.left=left+'px';element.style.height=element._originalHeight;element.style.width=element._originalWidth;return element;},cumulativeScrollOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode;}while(element);return Element._returnOffset(valueL,valueT);},getOffsetParent:function(element){if(element.offsetParent)return $(element.offsetParent);if(element==document.body)return $(element);while((element=element.parentNode)&&element!=document.body)
if(Element.getStyle(element,'position')!='static')
return $(element);return $(document.body);},viewportOffset:function(forElement){var valueT=0,valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body&&Element.getStyle(element,'position')=='absolute')break;}while(element=element.offsetParent);element=forElement;do{if(!Prototype.Browser.Opera||element.tagName=='BODY'){valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0;}}while(element=element.parentNode);return Element._returnOffset(valueL,valueT);},clonePosition:function(element,source){var options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});source=$(source);var p=source.viewportOffset();element=$(element);var delta=[0,0];var parent=null;if(Element.getStyle(element,'position')=='absolute'){parent=element.getOffsetParent();delta=parent.viewportOffset();}
if(parent==document.body){delta[0]-=document.body.offsetLeft;delta[1]-=document.body.offsetTop;}
if(options.setLeft)element.style.left=(p[0]-delta[0]+options.offsetLeft)+'px';if(options.setTop)element.style.top=(p[1]-delta[1]+options.offsetTop)+'px';if(options.setWidth)element.style.width=source.offsetWidth+'px';if(options.setHeight)element.style.height=source.offsetHeight+'px';return element;}};Element.Methods.identify.counter=1;Object.extend(Element.Methods,{getElementsBySelector:Element.Methods.select,childElements:Element.Methods.immediateDescendants});Element._attributeTranslations={write:{names:{className:'class',htmlFor:'for'},values:{}}};if(!document.createRange||Prototype.Browser.Opera){Element.Methods.insert=function(element,insertions){element=$(element);if(Object.isString(insertions)||Object.isNumber(insertions)||Object.isElement(insertions)||(insertions&&(insertions.toElement||insertions.toHTML)))
insertions={bottom:insertions};var t=Element._insertionTranslations,content,position,pos,tagName;for(position in insertions){content=insertions[position];position=position.toLowerCase();pos=t[position];if(content&&content.toElement)content=content.toElement();if(Object.isElement(content)){pos.insert(element,content);continue;}
content=Object.toHTML(content);tagName=((position=='before'||position=='after')?element.parentNode:element).tagName.toUpperCase();if(t.tags[tagName]){var fragments=Element._getContentFromAnonymousElement(tagName,content.stripScripts());if(position=='top'||position=='after')fragments.reverse();fragments.each(pos.insert.curry(element));}
else element.insertAdjacentHTML(pos.adjacency,content.stripScripts());content.evalScripts.bind(content).defer();}
return element;};}
if(Prototype.Browser.Opera){Element.Methods._getStyle=Element.Methods.getStyle;Element.Methods.getStyle=function(element,style){switch(style){case'left':case'top':case'right':case'bottom':if(Element._getStyle(element,'position')=='static')return null;default:return Element._getStyle(element,style);}};Element.Methods._readAttribute=Element.Methods.readAttribute;Element.Methods.readAttribute=function(element,attribute){if(attribute=='title')return element.title;return Element._readAttribute(element,attribute);};}
else if(Prototype.Browser.IE){$w('positionedOffset getOffsetParent viewportOffset').each(function(method){Element.Methods[method]=Element.Methods[method].wrap(function(proceed,element){element=$(element);var position=element.getStyle('position');if(position!='static')return proceed(element);element.setStyle({position:'relative'});var value=proceed(element);element.setStyle({position:position});return value;});});Element.Methods.getStyle=function(element,style){element=$(element);style=(style=='float'||style=='cssFloat')?'styleFloat':style.camelize();var value=element.style[style];if(!value&&element.currentStyle)value=element.currentStyle[style];if(style=='opacity'){if(value=(element.getStyle('filter')||'').match(/alpha\(opacity=(.*)\)/))
if(value[1])return parseFloat(value[1])/100;return 1.0;}
if(value=='auto'){if((style=='width'||style=='height')&&(element.getStyle('display')!='none'))
return element['offset'+style.capitalize()]+'px';return null;}
return value;};Element.Methods.setOpacity=function(element,value){function stripAlpha(filter){return filter.replace(/alpha\([^\)]*\)/gi,'');}
element=$(element);var currentStyle=element.currentStyle;if((currentStyle&&!currentStyle.hasLayout)||(!currentStyle&&element.style.zoom=='normal'))
element.style.zoom=1;var filter=element.getStyle('filter'),style=element.style;if(value==1||value===''){(filter=stripAlpha(filter))?style.filter=filter:style.removeAttribute('filter');return element;}else if(value<0.00001)value=0;style.filter=stripAlpha(filter)+'alpha(opacity='+(value*100)+')';return element;};Element._attributeTranslations={read:{names:{'class':'className','for':'htmlFor'},values:{_getAttr:function(element,attribute){return element.getAttribute(attribute,2);},_getAttrNode:function(element,attribute){var node=element.getAttributeNode(attribute);return node?node.value:"";},_getEv:function(element,attribute){var attribute=element.getAttribute(attribute);return attribute?attribute.toString().slice(23,-2):null;},_flag:function(element,attribute){return $(element).hasAttribute(attribute)?attribute:null;},style:function(element){return element.style.cssText.toLowerCase();},title:function(element){return element.title;}}}};Element._attributeTranslations.write={names:Object.clone(Element._attributeTranslations.read.names),values:{checked:function(element,value){element.checked=!!value;},style:function(element,value){element.style.cssText=value?value:'';}}};Element._attributeTranslations.has={};$w('colSpan rowSpan vAlign dateTime accessKey tabIndex '+'encType maxLength readOnly longDesc').each(function(attr){Element._attributeTranslations.write.names[attr.toLowerCase()]=attr;Element._attributeTranslations.has[attr.toLowerCase()]=attr;});(function(v){Object.extend(v,{href:v._getAttr,src:v._getAttr,type:v._getAttr,action:v._getAttrNode,disabled:v._flag,checked:v._flag,readonly:v._flag,multiple:v._flag,onload:v._getEv,onunload:v._getEv,onclick:v._getEv,ondblclick:v._getEv,onmousedown:v._getEv,onmouseup:v._getEv,onmouseover:v._getEv,onmousemove:v._getEv,onmouseout:v._getEv,onfocus:v._getEv,onblur:v._getEv,onkeypress:v._getEv,onkeydown:v._getEv,onkeyup:v._getEv,onsubmit:v._getEv,onreset:v._getEv,onselect:v._getEv,onchange:v._getEv});})(Element._attributeTranslations.read.values);}
else if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1)?0.999999:(value==='')?'':(value<0.00001)?0:value;return element;};}
else if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1||value==='')?'':(value<0.00001)?0:value;if(value==1)
if(element.tagName=='IMG'&&element.width){element.width++;element.width--;}else try{var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n);}catch(e){}
return element;};Element.Methods.cumulativeOffset=function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;element=element.offsetParent;}while(element);return Element._returnOffset(valueL,valueT);};}
if(Prototype.Browser.IE||Prototype.Browser.Opera){Element.Methods.update=function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content))return element.update().insert(content);content=Object.toHTML(content);var tagName=element.tagName.toUpperCase();if(tagName in Element._insertionTranslations.tags){$A(element.childNodes).each(function(node){element.removeChild(node)});Element._getContentFromAnonymousElement(tagName,content.stripScripts()).each(function(node){element.appendChild(node)});}
else element.innerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element;};}
if(document.createElement('div').outerHTML){Element.Methods.replace=function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content)){element.parentNode.replaceChild(content,element);return element;}
content=Object.toHTML(content);var parent=element.parentNode,tagName=parent.tagName.toUpperCase();if(Element._insertionTranslations.tags[tagName]){var nextSibling=element.next();var fragments=Element._getContentFromAnonymousElement(tagName,content.stripScripts());parent.removeChild(element);if(nextSibling)
fragments.each(function(node){parent.insertBefore(node,nextSibling)});else
fragments.each(function(node){parent.appendChild(node)});}
else element.outerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element;};}
Element._returnOffset=function(l,t){var result=[l,t];result.left=l;result.top=t;return result;};Element._getContentFromAnonymousElement=function(tagName,html){var div=new Element('div'),t=Element._insertionTranslations.tags[tagName];div.innerHTML=t[0]+html+t[1];t[2].times(function(){div=div.firstChild});return $A(div.childNodes);};Element._insertionTranslations={before:{adjacency:'beforeBegin',insert:function(element,node){element.parentNode.insertBefore(node,element);},initializeRange:function(element,range){range.setStartBefore(element);}},top:{adjacency:'afterBegin',insert:function(element,node){element.insertBefore(node,element.firstChild);},initializeRange:function(element,range){range.selectNodeContents(element);range.collapse(true);}},bottom:{adjacency:'beforeEnd',insert:function(element,node){element.appendChild(node);}},after:{adjacency:'afterEnd',insert:function(element,node){element.parentNode.insertBefore(node,element.nextSibling);},initializeRange:function(element,range){range.setStartAfter(element);}},tags:{TABLE:['<table>','</table>',1],TBODY:['<table><tbody>','</tbody></table>',2],TR:['<table><tbody><tr>','</tr></tbody></table>',3],TD:['<table><tbody><tr><td>','</td></tr></tbody></table>',4],SELECT:['<select>','</select>',1]}};(function(){this.bottom.initializeRange=this.top.initializeRange;Object.extend(this.tags,{THEAD:this.tags.TBODY,TFOOT:this.tags.TBODY,TH:this.tags.TD});}).call(Element._insertionTranslations);Element.Methods.Simulated={hasAttribute:function(element,attribute){attribute=Element._attributeTranslations.has[attribute]||attribute;var node=$(element).getAttributeNode(attribute);return node&&node.specified;}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);if(!Prototype.BrowserFeatures.ElementExtensions&&document.createElement('div').__proto__){window.HTMLElement={};window.HTMLElement.prototype=document.createElement('div').__proto__;Prototype.BrowserFeatures.ElementExtensions=true;}
Element.extend=(function(){if(Prototype.BrowserFeatures.SpecificElementExtensions)
return Prototype.K;var Methods={},ByTag=Element.Methods.ByTag;var extend=Object.extend(function(element){if(!element||element._extendedByPrototype||element.nodeType!=1||element==window)return element;var methods=Object.clone(Methods),tagName=element.tagName,property,value;if(ByTag[tagName])Object.extend(methods,ByTag[tagName]);for(property in methods){value=methods[property];if(Object.isFunction(value)&&!(property in element))
element[property]=value.methodize();}
element._extendedByPrototype=Prototype.emptyFunction;return element;},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(Methods,Element.Methods);Object.extend(Methods,Element.Methods.Simulated);}}});extend.refresh();return extend;})();Element.hasAttribute=function(element,attribute){if(element.hasAttribute)return element.hasAttribute(attribute);return Element.Methods.Simulated.hasAttribute(element,attribute);};Element.addMethods=function(methods){var F=Prototype.BrowserFeatures,T=Element.Methods.ByTag;if(!methods){Object.extend(Form,Form.Methods);Object.extend(Form.Element,Form.Element.Methods);Object.extend(Element.Methods.ByTag,{"FORM":Object.clone(Form.Methods),"INPUT":Object.clone(Form.Element.Methods),"SELECT":Object.clone(Form.Element.Methods),"TEXTAREA":Object.clone(Form.Element.Methods)});}
if(arguments.length==2){var tagName=methods;methods=arguments[1];}
if(!tagName)Object.extend(Element.Methods,methods||{});else{if(Object.isArray(tagName))tagName.each(extend);else extend(tagName);}
function extend(tagName){tagName=tagName.toUpperCase();if(!Element.Methods.ByTag[tagName])
Element.Methods.ByTag[tagName]={};Object.extend(Element.Methods.ByTag[tagName],methods);}
function copy(methods,destination,onlyIfAbsent){onlyIfAbsent=onlyIfAbsent||false;for(var property in methods){var value=methods[property];if(!Object.isFunction(value))continue;if(!onlyIfAbsent||!(property in destination))
destination[property]=value.methodize();}}
function findDOMClass(tagName){var klass;var trans={"OPTGROUP":"OptGroup","TEXTAREA":"TextArea","P":"Paragraph","FIELDSET":"FieldSet","UL":"UList","OL":"OList","DL":"DList","DIR":"Directory","H1":"Heading","H2":"Heading","H3":"Heading","H4":"Heading","H5":"Heading","H6":"Heading","Q":"Quote","INS":"Mod","DEL":"Mod","A":"Anchor","IMG":"Image","CAPTION":"TableCaption","COL":"TableCol","COLGROUP":"TableCol","THEAD":"TableSection","TFOOT":"TableSection","TBODY":"TableSection","TR":"TableRow","TH":"TableCell","TD":"TableCell","FRAMESET":"FrameSet","IFRAME":"IFrame"};if(trans[tagName])klass='HTML'+trans[tagName]+'Element';if(window[klass])return window[klass];klass='HTML'+tagName+'Element';if(window[klass])return window[klass];klass='HTML'+tagName.capitalize()+'Element';if(window[klass])return window[klass];window[klass]={};window[klass].prototype=document.createElement(tagName).__proto__;return window[klass];}
if(F.ElementExtensions){copy(Element.Methods,HTMLElement.prototype);copy(Element.Methods.Simulated,HTMLElement.prototype,true);}
if(F.SpecificElementExtensions){for(var tag in Element.Methods.ByTag){var klass=findDOMClass(tag);if(Object.isUndefined(klass))continue;copy(T[tag],klass.prototype);}}
Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh)Element.extend.refresh();Element.cache={};};document.viewport={getDimensions:function(){var dimensions={};$w('width height').each(function(d){var D=d.capitalize();dimensions[d]=self['inner'+D]||(document.documentElement['client'+D]||document.body['client'+D]);});return dimensions;},getWidth:function(){return this.getDimensions().width;},getHeight:function(){return this.getDimensions().height;},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop);}};var Selector=Class.create({initialize:function(expression){this.expression=expression.strip();this.compileMatcher();},compileMatcher:function(){if(Prototype.BrowserFeatures.XPath&&!(/(\[[\w-]*?:|:checked)/).test(this.expression))
return this.compileXPathMatcher();var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m;if(Selector._cache[e]){this.matcher=Selector._cache[e];return;}
this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){this.matcher.push(Object.isFunction(c[i])?c[i](m):new Template(c[i]).evaluate(m));e=e.replace(m[0],'');break;}}}
this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join('\n'));Selector._cache[this.expression]=this.matcher;},compileXPathMatcher:function(){var e=this.expression,ps=Selector.patterns,x=Selector.xpath,le,m;if(Selector._cache[e]){this.xpath=Selector._cache[e];return;}
this.matcher=['.//*'];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){if(m=e.match(ps[i])){this.matcher.push(Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m));e=e.replace(m[0],'');break;}}}
this.xpath=this.matcher.join('');Selector._cache[this.expression]=this.xpath;},findElements:function(root){root=root||document;if(this.xpath)return document._getElementsByXPath(this.xpath,root);return this.matcher(root);},match:function(element){this.tokens=[];var e=this.expression,ps=Selector.patterns,as=Selector.assertions;var le,p,m;while(e&&le!==e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){if(as[i]){this.tokens.push([i,Object.clone(m)]);e=e.replace(m[0],'');}else{return this.findElements(document).include(element);}}}}
var match=true,name,matches;for(var i=0,token;token=this.tokens[i];i++){name=token[0],matches=token[1];if(!Selector.assertions[name](element,matches)){match=false;break;}}
return match;},toString:function(){return this.expression;},inspect:function(){return"#<Selector:"+this.expression.inspect()+">";}});Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:'/following-sibling::*',tagName:function(m){if(m[1]=='*')return'';return"[local-name()='"+m[1].toLowerCase()+"' or local-name()='"+m[1].toUpperCase()+"']";},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:"[@#{1}]",attr:function(m){m[3]=m[5]||m[6];return new Template(Selector.xpath.operators[m[2]]).evaluate(m);},pseudo:function(m){var h=Selector.xpath.pseudos[m[1]];if(!h)return'';if(Object.isFunction(h))return h(m);return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);},operators:{'=':"[@#{1}='#{3}']",'!=':"[@#{1}!='#{3}']",'^=':"[starts-with(@#{1}, '#{3}')]",'$=':"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",'*=':"[contains(@#{1}, '#{3}')]",'~=':"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",'|=':"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},pseudos:{'first-child':'[not(preceding-sibling::*)]','last-child':'[not(following-sibling::*)]','only-child':'[not(preceding-sibling::* or following-sibling::*)]','empty':"[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]",'checked':"[@checked]",'disabled':"[@disabled]",'enabled':"[not(@disabled)]",'not':function(m){var e=m[6],p=Selector.patterns,x=Selector.xpath,le,m,v;var exclusion=[];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in p){if(m=e.match(p[i])){v=Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m);exclusion.push("("+v.substring(1,v.length-1)+")");e=e.replace(m[0],'');break;}}}
return"[not("+exclusion.join(" and ")+")]";},'nth-child':function(m){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",m);},'nth-last-child':function(m){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",m);},'nth-of-type':function(m){return Selector.xpath.pseudos.nth("position() ",m);},'nth-last-of-type':function(m){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",m);},'first-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-of-type'](m);},'last-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-last-of-type'](m);},'only-of-type':function(m){var p=Selector.xpath.pseudos;return p['first-of-type'](m)+p['last-of-type'](m);},nth:function(fragment,m){var mm,formula=m[6],predicate;if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';if(mm=formula.match(/^(\d+)$/))
return'['+fragment+"= "+mm[1]+']';if(mm=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(mm[1]=="-")mm[1]=-1;var a=mm[1]?Number(mm[1]):1;var b=mm[2]?Number(mm[2]):0;predicate="[((#{fragment} - #{b}) mod #{a} = 0) and "+"((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(predicate).evaluate({fragment:fragment,a:a,b:b});}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c);   c = false;',className:'n = h.className(n, r, "#{1}", c); c = false;',id:'n = h.id(n, r, "#{1}", c);        c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}"); c = false;',attr:function(m){m[3]=(m[5]||m[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = false;').evaluate(m);},pseudo:function(m){if(m[6])m[6]=m[6].replace(/"/g,'\\"');return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m);},descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:{laterSibling:/^\s*~\s*/,child:/^\s*>\s*/,adjacent:/^\s*\+\s*/,descendant:/^\s/,tagName:/^\s*(\*|[\w\-]+)(\b|$)?/,id:/^#([\w\-\*]+)(\b|$)/,className:/^\.([\w\-\*]+)(\b|$)/,pseudo:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s)|(?=:))/,attrPresence:/^\[([\w]+)\]/,attr:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/},assertions:{tagName:function(element,matches){return matches[1].toUpperCase()==element.tagName.toUpperCase();},className:function(element,matches){return Element.hasClassName(element,matches[1]);},id:function(element,matches){return element.id===matches[1];},attrPresence:function(element,matches){return Element.hasAttribute(element,matches[1]);},attr:function(element,matches){var nodeValue=Element.readAttribute(element,matches[1]);return Selector.operators[matches[2]](nodeValue,matches[3]);}},handlers:{concat:function(a,b){for(var i=0,node;node=b[i];i++)
a.push(node);return a;},mark:function(nodes){for(var i=0,node;node=nodes[i];i++)
node._counted=true;return nodes;},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++)
node._counted=undefined;return nodes;},index:function(parentNode,reverse,ofType){parentNode._counted=true;if(reverse){for(var nodes=parentNode.childNodes,i=nodes.length-1,j=1;i>=0;i--){var node=nodes[i];if(node.nodeType==1&&(!ofType||node._counted))node.nodeIndex=j++;}}else{for(var i=0,j=1,nodes=parentNode.childNodes;node=nodes[i];i++)
if(node.nodeType==1&&(!ofType||node._counted))node.nodeIndex=j++;}},unique:function(nodes){if(nodes.length==0)return nodes;var results=[],n;for(var i=0,l=nodes.length;i<l;i++)
if(!(n=nodes[i])._counted){n._counted=true;results.push(Element.extend(n));}
return Selector.handlers.unmark(results);},descendant:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
h.concat(results,node.getElementsByTagName('*'));return results;},child:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++){for(var j=0,children=[],child;child=node.childNodes[j];j++)
if(child.nodeType==1&&child.tagName!='!')results.push(child);}
return results;},adjacent:function(nodes){for(var i=0,results=[],node;node=nodes[i];i++){var next=this.nextElementSibling(node);if(next)results.push(next);}
return results;},laterSibling:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
h.concat(results,Element.nextSiblings(node));return results;},nextElementSibling:function(node){while(node=node.nextSibling)
if(node.nodeType==1)return node;return null;},previousElementSibling:function(node){while(node=node.previousSibling)
if(node.nodeType==1)return node;return null;},tagName:function(nodes,root,tagName,combinator){tagName=tagName.toUpperCase();var results=[],h=Selector.handlers;if(nodes){if(combinator){if(combinator=="descendant"){for(var i=0,node;node=nodes[i];i++)
h.concat(results,node.getElementsByTagName(tagName));return results;}else nodes=this[combinator](nodes);if(tagName=="*")return nodes;}
for(var i=0,node;node=nodes[i];i++)
if(node.tagName.toUpperCase()==tagName)results.push(node);return results;}else return root.getElementsByTagName(tagName);},id:function(nodes,root,id,combinator){var targetNode=$(id),h=Selector.handlers;if(!targetNode)return[];if(!nodes&&root==document)return[targetNode];if(nodes){if(combinator){if(combinator=='child'){for(var i=0,node;node=nodes[i];i++)
if(targetNode.parentNode==node)return[targetNode];}else if(combinator=='descendant'){for(var i=0,node;node=nodes[i];i++)
if(Element.descendantOf(targetNode,node))return[targetNode];}else if(combinator=='adjacent'){for(var i=0,node;node=nodes[i];i++)
if(Selector.handlers.previousElementSibling(targetNode)==node)
return[targetNode];}else nodes=h[combinator](nodes);}
for(var i=0,node;node=nodes[i];i++)
if(node==targetNode)return[targetNode];return[];}
return(targetNode&&Element.descendantOf(targetNode,root))?[targetNode]:[];},className:function(nodes,root,className,combinator){if(nodes&&combinator)nodes=this[combinator](nodes);return Selector.handlers.byClassName(nodes,root,className);},byClassName:function(nodes,root,className){if(!nodes)nodes=Selector.handlers.descendant([root]);var needle=' '+className+' ';for(var i=0,results=[],node,nodeClassName;node=nodes[i];i++){nodeClassName=node.className;if(nodeClassName.length==0)continue;if(nodeClassName==className||(' '+nodeClassName+' ').include(needle))
results.push(node);}
return results;},attrPresence:function(nodes,root,attr){if(!nodes)nodes=root.getElementsByTagName("*");var results=[];for(var i=0,node;node=nodes[i];i++)
if(Element.hasAttribute(node,attr))results.push(node);return results;},attr:function(nodes,root,attr,value,operator){if(!nodes)nodes=root.getElementsByTagName("*");var handler=Selector.operators[operator],results=[];for(var i=0,node;node=nodes[i];i++){var nodeValue=Element.readAttribute(node,attr);if(nodeValue===null)continue;if(handler(nodeValue,value))results.push(node);}
return results;},pseudo:function(nodes,name,value,root,combinator){if(nodes&&combinator)nodes=this[combinator](nodes);if(!nodes)nodes=root.getElementsByTagName("*");return Selector.pseudos[name](nodes,value,root);}},pseudos:{'first-child':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.previousElementSibling(node))continue;results.push(node);}
return results;},'last-child':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.nextElementSibling(node))continue;results.push(node);}
return results;},'only-child':function(nodes,value,root){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
if(!h.previousElementSibling(node)&&!h.nextElementSibling(node))
results.push(node);return results;},'nth-child':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root);},'nth-last-child':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true);},'nth-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,false,true);},'nth-last-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true,true);},'first-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,false,true);},'last-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,true,true);},'only-of-type':function(nodes,formula,root){var p=Selector.pseudos;return p['last-of-type'](p['first-of-type'](nodes,formula,root),formula,root);},getIndices:function(a,b,total){if(a==0)return b>0?[b]:[];return $R(1,total).inject([],function(memo,i){if(0==(i-b)%a&&(i-b)/a>=0)memo.push(i);return memo;});},nth:function(nodes,formula,root,reverse,ofType){if(nodes.length==0)return[];if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';var h=Selector.handlers,results=[],indexed=[],m;h.mark(nodes);for(var i=0,node;node=nodes[i];i++){if(!node.parentNode._counted){h.index(node.parentNode,reverse,ofType);indexed.push(node.parentNode);}}
if(formula.match(/^\d+$/)){formula=Number(formula);for(var i=0,node;node=nodes[i];i++)
if(node.nodeIndex==formula)results.push(node);}else if(m=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(m[1]=="-")m[1]=-1;var a=m[1]?Number(m[1]):1;var b=m[2]?Number(m[2]):0;var indices=Selector.pseudos.getIndices(a,b,nodes.length);for(var i=0,node,l=indices.length;node=nodes[i];i++){for(var j=0;j<l;j++)
if(node.nodeIndex==indices[j])results.push(node);}}
h.unmark(nodes);h.unmark(indexed);return results;},'empty':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(node.tagName=='!'||(node.firstChild&&!node.innerHTML.match(/^\s*$/)))continue;results.push(node);}
return results;},'not':function(nodes,selector,root){var h=Selector.handlers,selectorType,m;var exclusions=new Selector(selector).findElements(root);h.mark(exclusions);for(var i=0,results=[],node;node=nodes[i];i++)
if(!node._counted)results.push(node);h.unmark(exclusions);return results;},'enabled':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(!node.disabled)results.push(node);return results;},'disabled':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(node.disabled)results.push(node);return results;},'checked':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(node.checked)results.push(node);return results;}},operators:{'=':function(nv,v){return nv==v;},'!=':function(nv,v){return nv!=v;},'^=':function(nv,v){return nv.startsWith(v);},'$=':function(nv,v){return nv.endsWith(v);},'*=':function(nv,v){return nv.include(v);},'~=':function(nv,v){return(' '+nv+' ').include(' '+v+' ');},'|=':function(nv,v){return('-'+nv.toUpperCase()+'-').include('-'+v.toUpperCase()+'-');}},matchElements:function(elements,expression){var matches=new Selector(expression).findElements(),h=Selector.handlers;h.mark(matches);for(var i=0,results=[],element;element=elements[i];i++)
if(element._counted)results.push(element);h.unmark(matches);return results;},findElement:function(elements,expression,index){if(Object.isNumber(expression)){index=expression;expression=false;}
return Selector.matchElements(elements,expression||'*')[index||0];},findChildElements:function(element,expressions){var exprs=expressions.join(','),expressions=[];exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(m){expressions.push(m[1].strip());});var results=[],h=Selector.handlers;for(var i=0,l=expressions.length,selector;i<l;i++){selector=new Selector(expressions[i].strip());h.concat(results,selector.findElements(element));}
return(l>1)?h.unique(results):results;}});function $$(){return Selector.findChildElements(document,$A(arguments));}
var Form={reset:function(form){$(form).reset();return form;},serializeElements:function(elements,options){if(typeof options!='object')options={hash:!!options};else if(options.hash===undefined)options.hash=true;var key,value,submitted=false,submit=options.submit;var data=elements.inject({},function(result,element){if(!element.disabled&&element.name){key=element.name;value=$(element).getValue();if(value!=null&&(element.type!='submit'||(!submitted&&submit!==false&&(!submit||key==submit)&&(submitted=true)))){if(key in result){if(!Object.isArray(result[key]))result[key]=[result[key]];result[key].push(value);}
else result[key]=value;}}
return result;});return options.hash?data:Object.toQueryString(data);}};Form.Methods={serialize:function(form,options){return Form.serializeElements(Form.getElements(form),options);},getElements:function(form){return $A($(form).getElementsByTagName('*')).inject([],function(elements,child){if(Form.Element.Serializers[child.tagName.toLowerCase()])
elements.push(Element.extend(child));return elements;});},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)return $A(inputs).map(Element.extend);for(var i=0,matchingInputs=[],length=inputs.length;i<length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))
continue;matchingInputs.push(Element.extend(input));}
return matchingInputs;},disable:function(form){form=$(form);Form.getElements(form).invoke('disable');return form;},enable:function(form){form=$(form);Form.getElements(form).invoke('enable');return form;},findFirstElement:function(form){var elements=$(form).getElements().findAll(function(element){return'hidden'!=element.type&&!element.disabled;});var firstByIndex=elements.findAll(function(element){return element.hasAttribute('tabIndex')&&element.tabIndex>=0;}).sortBy(function(element){return element.tabIndex}).first();return firstByIndex?firstByIndex:elements.find(function(element){return['input','select','textarea'].include(element.tagName.toLowerCase());});},focusFirstElement:function(form){form=$(form);form.findFirstElement().activate();return form;},request:function(form,options){form=$(form),options=Object.clone(options||{});var params=options.parameters,action=form.readAttribute('action')||'';if(action.blank())action=window.location.href;options.parameters=form.serialize(true);if(params){if(Object.isString(params))params=params.toQueryParams();Object.extend(options.parameters,params);}
if(form.hasAttribute('method')&&!options.method)
options.method=form.method;return new Ajax.Request(action,options);}};Form.Element={focus:function(element){$(element).focus();return element;},select:function(element){$(element).select();return element;}};Form.Element.Methods={serialize:function(element){element=$(element);if(!element.disabled&&element.name){var value=element.getValue();if(value!=undefined){var pair={};pair[element.name]=value;return Object.toQueryString(pair);}}
return'';},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();return Form.Element.Serializers[method](element);},setValue:function(element,value){element=$(element);var method=element.tagName.toLowerCase();Form.Element.Serializers[method](element,value);return element;},clear:function(element){$(element).value='';return element;},present:function(element){return $(element).value!='';},activate:function(element){element=$(element);try{element.focus();if(element.select&&(element.tagName.toLowerCase()!='input'||!['button','reset','submit'].include(element.type)))
element.select();}catch(e){}
return element;},disable:function(element){element=$(element);element.blur();element.disabled=true;return element;},enable:function(element){element=$(element);element.disabled=false;return element;}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(element,value){switch(element.type.toLowerCase()){case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element,value);default:return Form.Element.Serializers.textarea(element,value);}},inputSelector:function(element,value){if(value===undefined)return element.checked?element.value:null;else element.checked=!!value;},textarea:function(element,value){if(value===undefined)return element.value;else element.value=value;},select:function(element,index){if(index===undefined)
return this[element.type=='select-one'?'selectOne':'selectMany'](element);else{var opt,value,single=!Object.isArray(index);for(var i=0,length=element.length;i<length;i++){opt=element.options[i];value=this.optionValue(opt);if(single){if(value==index){opt.selected=true;return;}}
else opt.selected=index.include(value);}}},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 Element.extend(opt).hasAttribute('value')?opt.value:opt.text;}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,element,frequency,callback){$super(callback,frequency);this.element=$(element);this.lastValue=this.getValue();},execute:function(){var value=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(value)?this.lastValue!=value:String(this.lastValue)!=String(value)){this.callback(this.element,value);this.lastValue=value;}}});Form.Element.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.Element.getValue(this.element);}});Form.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.serialize(this.element);}});Abstract.EventObserver=Class.create({initialize:function(element,callback){this.element=$(element);this.callback=callback;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=='form')
this.registerFormCallbacks();else
this.registerCallback(this.element);},onElementEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value;}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this);},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case'checkbox':case'radio':Event.observe(element,'click',this.onElementEvent.bind(this));break;default:Event.observe(element,'change',this.onElementEvent.bind(this));break;}}}});Form.Element.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element);}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element);}});if(!window.Event)var Event={};Object.extend(Event,{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,KEY_INSERT:45,cache:{},relatedTarget:function(event){var element;switch(event.type){case'mouseover':element=event.fromElement;break;case'mouseout':element=event.toElement;break;default:return null;}
return Element.extend(element);}});Event.Methods=(function(){var isButton;if(Prototype.Browser.IE){var buttonMap={0:1,1:4,2:2};isButton=function(event,code){return event.button==buttonMap[code];};}else if(Prototype.Browser.WebKit){isButton=function(event,code){switch(code){case 0:return event.which==1&&!event.metaKey;case 1:return event.which==1&&event.metaKey;default:return false;}};}else{isButton=function(event,code){return event.which?(event.which===code+1):(event.button===code);};}
return{isLeftClick:function(event){return isButton(event,0)},isMiddleClick:function(event){return isButton(event,1)},isRightClick:function(event){return isButton(event,2)},element:function(event){var node=Event.extend(event).target;return Element.extend(node.nodeType==Node.TEXT_NODE?node.parentNode:node);},findElement:function(event,expression){var element=Event.element(event);return element.match(expression)?element:element.up(expression);},pointer:function(event){return{x:event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft)),y:event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop))};},pointerX:function(event){return Event.pointer(event).x},pointerY:function(event){return Event.pointer(event).y},stop:function(event){Event.extend(event);event.preventDefault();event.stopPropagation();event.stopped=true;}};})();Event.extend=(function(){var methods=Object.keys(Event.Methods).inject({},function(m,name){m[name]=Event.Methods[name].methodize();return m;});if(Prototype.Browser.IE){Object.extend(methods,{stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}});return function(event){if(!event)return false;if(event._extendedByPrototype)return event;event._extendedByPrototype=Prototype.emptyFunction;var pointer=Event.pointer(event);Object.extend(event,{target:event.srcElement,relatedTarget:Event.relatedTarget(event),pageX:pointer.x,pageY:pointer.y});return Object.extend(event,methods);};}else{Event.prototype=Event.prototype||document.createEvent("HTMLEvents").__proto__;Object.extend(Event.prototype,methods);return Prototype.K;}})();Object.extend(Event,(function(){var cache=Event.cache;function getEventID(element){if(element._eventID)return element._eventID;arguments.callee.id=arguments.callee.id||1;return element._eventID=++arguments.callee.id;}
function getDOMEventName(eventName){if(eventName&&eventName.include(':'))return"dataavailable";return eventName;}
function getCacheForID(id){return cache[id]=cache[id]||{};}
function getWrappersForEventName(id,eventName){var c=getCacheForID(id);return c[eventName]=c[eventName]||[];}
function createWrapper(element,eventName,handler){var id=getEventID(element);var c=getWrappersForEventName(id,eventName);if(c.pluck("handler").include(handler))return false;var wrapper=function(event){if(!Event||!Event.extend||(event.eventName&&event.eventName!=eventName))
return false;Event.extend(event);handler.call(element,event)};wrapper.handler=handler;c.push(wrapper);return wrapper;}
function findWrapper(id,eventName,handler){var c=getWrappersForEventName(id,eventName);return c.find(function(wrapper){return wrapper.handler==handler});}
function destroyWrapper(id,eventName,handler){var c=getCacheForID(id);if(!c[eventName])return false;c[eventName]=c[eventName].without(findWrapper(id,eventName,handler));}
function destroyCache(){for(var id in cache)
for(var eventName in cache[id])
cache[id][eventName]=null;}
if(window.attachEvent){window.attachEvent("onunload",destroyCache);}
return{observe:function(element,eventName,handler){element=$(element);var name=getDOMEventName(eventName);var wrapper=createWrapper(element,eventName,handler);if(!wrapper)return element;if(element.addEventListener){element.addEventListener(name,wrapper,false);}else{element.attachEvent("on"+name,wrapper);}
return element;},stopObserving:function(element,eventName,handler){element=$(element);var id=getEventID(element),name=getDOMEventName(eventName);if(!handler&&eventName){getWrappersForEventName(id,eventName).each(function(wrapper){element.stopObserving(eventName,wrapper.handler);});return element;}else if(!eventName){Object.keys(getCacheForID(id)).each(function(eventName){element.stopObserving(eventName);});return element;}
var wrapper=findWrapper(id,eventName,handler);if(!wrapper)return element;if(element.removeEventListener){element.removeEventListener(name,wrapper,false);}else{element.detachEvent("on"+name,wrapper);}
destroyWrapper(id,eventName,handler);return element;},fire:function(element,eventName,memo){element=$(element);if(element==document&&document.createEvent&&!element.dispatchEvent)
element=document.documentElement;if(document.createEvent){var event=document.createEvent("HTMLEvents");event.initEvent("dataavailable",true,true);}else{var event=document.createEventObject();event.eventType="ondataavailable";}
event.eventName=eventName;event.memo=memo||{};if(document.createEvent){element.dispatchEvent(event);}else{element.fireEvent(event.eventType,event);}
return event;}};})());Object.extend(Event,Event.Methods);Element.addMethods({fire:Event.fire,observe:Event.observe,stopObserving:Event.stopObserving});Object.extend(document,{fire:Element.Methods.fire.methodize(),observe:Element.Methods.observe.methodize(),stopObserving:Element.Methods.stopObserving.methodize()});(function(){var timer,fired=false;function fireContentLoadedEvent(){if(fired)return;if(timer)window.clearInterval(timer);profiler.start("dom_loaded");document.fire("dom:loaded");profiler.end("dom_loaded");profiler.dump();fired=true;}
if(document.addEventListener){if(Prototype.Browser.WebKit){timer=window.setInterval(function(){if(/loaded|complete/.test(document.readyState))
fireContentLoadedEvent();},0);Event.observe(window,"load",fireContentLoadedEvent);}else{document.addEventListener("DOMContentLoaded",fireContentLoadedEvent,false);}}else{document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");$("__onDOMContentLoaded").onreadystatechange=function(){if(this.readyState=="complete"){this.onreadystatechange=null;fireContentLoadedEvent();}};}})();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(element,content){return Element.insert(element,{before:content});},Top:function(element,content){return Element.insert(element,{top:content});},Bottom:function(element,content){return Element.insert(element,{bottom:content});},After:function(element,content){return Element.insert(element,{after:content});}};var $continue=new Error('"throw $continue" is deprecated, use "return" instead');var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;},within:function(element,x,y){if(this.includeScrollOffsets)
return this.withinIncludingScrolloffsets(element,x,y);this.xcomp=x;this.ycomp=y;this.offset=Element.cumulativeOffset(element);return(y>=this.offset[1]&&y<this.offset[1]+element.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+element.offsetWidth);},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=Element.cumulativeScrollOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=Element.cumulativeOffset(element);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+element.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+element.offsetWidth);},overlap:function(mode,element){if(!mode)return 0;if(mode=='vertical')
return((this.offset[1]+element.offsetHeight)-this.ycomp)/element.offsetHeight;if(mode=='horizontal')
return((this.offset[0]+element.offsetWidth)-this.xcomp)/element.offsetWidth;},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(element){Position.prepare();return Element.absolutize(element);},relativize:function(element){Position.prepare();return Element.relativize(element);},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(source,target,options){options=options||{};return Element.clonePosition(target,source,options);}};if(!document.getElementsByClassName)document.getElementsByClassName=function(instanceMethods){function iter(name){return name.blank()?null:"[contains(concat(' ', @class, ' '), ' "+name+" ')]";}
instanceMethods.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(element,className){className=className.toString().strip();var cond=/\s/.test(className)?$w(className).map(iter).join(''):iter(className);return cond?document._getElementsByXPath('.//*'+cond,element):[];}:function(element,className){className=className.toString().strip();var elements=[],classNames=(/\s/.test(className)?$w(className):null);if(!classNames&&!className)return elements;var nodes=$(element).getElementsByTagName('*');className=' '+className+' ';for(var i=0,child,cn;child=nodes[i];i++){if(child.className&&(cn=' '+child.className+' ')&&(cn.include(className)||(classNames&&classNames.all(function(name){return!name.toString().blank()&&cn.include(' '+name+' ');}))))
elements.push(Element.extend(child));}
return elements;};return function(className,parentElement){return $(parentElement||document.body).getElementsByClassName(className);};}(Element.Methods);Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(element){this.element=$(element);},_each:function(iterator){this.element.className.split(/\s+/).select(function(name){return name.length>0;})._each(iterator);},set:function(className){this.element.className=className;},add:function(classNameToAdd){if(this.include(classNameToAdd))return;this.set($A(this).concat(classNameToAdd).join(' '));},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set($A(this).without(classNameToRemove).join(' '));},toString:function(){return $A(this).join(' ');}};Object.extend(Element.ClassNames.prototype,Enumerable);Element.addMethods();String.prototype.parseColor=function(){var color='#';if(this.slice(0,4)=='rgb('){var cols=this.slice(4,this.length-1).split(',');var i=0;do{color+=parseInt(cols[i]).toColorPart()}while(++i<3);}else{if(this.slice(0,1)=='#'){if(this.length==4)for(var i=1;i<4;i++)color+=(this.charAt(i)+this.charAt(i)).toLowerCase();if(this.length==7)color=this.toLowerCase();}}
return(color.length==7?color:(arguments[0]||this));};Element.collectTextNodes=function(element){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:(node.hasChildNodes()?Element.collectTextNodes(node):''));}).flatten().join('');};Element.collectTextNodesIgnoreClass=function(element,className){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:((node.hasChildNodes()&&!Element.hasClassName(node,className))?Element.collectTextNodesIgnoreClass(node,className):''));}).flatten().join('');};Element.setContentZoom=function(element,percent){element=$(element);element.setStyle({fontSize:(percent/100)+'em'});if(Prototype.Browser.WebKit)window.scrollBy(0,0);return element;};Element.getInlineOpacity=function(element){return $(element).style.opacity||'';};Element.forceRerendering=function(element){try{element=$(element);var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n);}catch(e){}};var Effect={_elementDoesNotExistError:{name:'ElementDoesNotExistError',message:'The specified DOM element does not exist, but is required for this effect to operate'},Transitions:{linear:Prototype.K,sinoidal:function(pos){return(-Math.cos(pos*Math.PI)/2)+0.5;},reverse:function(pos){return 1-pos;},flicker:function(pos){var pos=((-Math.cos(pos*Math.PI)/4)+0.75)+Math.random()/4;return pos>1?1:pos;},wobble:function(pos){return(-Math.cos(pos*Math.PI*(9*pos))/2)+0.5;},pulse:function(pos,pulses){pulses=pulses||5;return(((pos%(1/pulses))*pulses).round()==0?((pos*pulses*2)-(pos*pulses*2).floor()):1-((pos*pulses*2)-(pos*pulses*2).floor()));},spring:function(pos){return 1-(Math.cos(pos*4.5*Math.PI)*Math.exp(-pos*6));},none:function(pos){return 0;},full:function(pos){return 1;}},DefaultOptions:{duration:1.0,fps:100,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'},tagifyText:function(element){var tagifyStyle='position:relative';if(Prototype.Browser.IE)tagifyStyle+=';zoom:1';element=$(element);$A(element.childNodes).each(function(child){if(child.nodeType==3){child.nodeValue.toArray().each(function(character){element.insertBefore(new Element('span',{style:tagifyStyle}).update(character==' '?String.fromCharCode(160):character),child);});Element.remove(child);}});},multiple:function(element,effect){var elements;if(((typeof element=='object')||Object.isFunction(element))&&(element.length))
elements=element;else
elements=$(element).childNodes;var options=Object.extend({speed:0.1,delay:0.0},arguments[2]||{});var masterDelay=options.delay;$A(elements).each(function(element,index){new effect(element,Object.extend(options,{delay:index*options.speed+masterDelay}));});},PAIRS:{'slide':['SlideDown','SlideUp'],'blind':['BlindDown','BlindUp'],'appear':['Appear','Fade']},toggle:function(element,effect){element=$(element);effect=(effect||'appear').toLowerCase();var options=Object.extend({queue:{position:'end',scope:(element.id||'global'),limit:1}},arguments[2]||{});Effect[element.visible()?Effect.PAIRS[effect][1]:Effect.PAIRS[effect][0]](element,options);}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null;},_each:function(iterator){this.effects._each(iterator);},add:function(effect){var timestamp=new Date().getTime();var position=Object.isString(effect.options.queue)?effect.options.queue:effect.options.queue.position;switch(position){case'front':this.effects.findAll(function(e){return e.state=='idle'}).each(function(e){e.startOn+=effect.finishOn;e.finishOn+=effect.finishOn;});break;case'with-last':timestamp=this.effects.pluck('startOn').max()||timestamp;break;case'end':timestamp=this.effects.pluck('finishOn').max()||timestamp;break;}
effect.startOn+=timestamp;effect.finishOn+=timestamp;if(!effect.options.queue.limit||(this.effects.length<effect.options.queue.limit))
this.effects.push(effect);if(!this.interval)
this.interval=setInterval(this.loop.bind(this),15);},remove:function(effect){this.effects=this.effects.reject(function(e){return e==effect});if(this.effects.length==0){clearInterval(this.interval);this.interval=null;}},loop:function(){var timePos=new Date().getTime();for(var i=0,len=this.effects.length;i<len;i++)
this.effects[i]&&this.effects[i].loop(timePos);}});Effect.Queues={instances:$H(),get:function(queueName){if(!Object.isString(queueName))return queueName;return this.instances.get(queueName)||this.instances.set(queueName,new Effect.ScopedQueue());}};Effect.Queue=Effect.Queues.get('global');Effect.Base=Class.create({position:null,start:function(options){function codeForEvent(options,eventName){return((options[eventName+'Internal']?'this.options.'+eventName+'Internal(this);':'')+
(options[eventName]?'this.options.'+eventName+'(this);':''));}
if(options&&options.transition===false)options.transition=Effect.Transitions.linear;this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});this.currentFrame=0;this.state='idle';this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;eval('this.render = function(pos){ '+'if (this.state=="idle"){this.state="running";'+
codeForEvent(this.options,'beforeSetup')+
(this.setup?'this.setup();':'')+
codeForEvent(this.options,'afterSetup')+'};if (this.state=="running"){'+'pos=this.options.transition(pos)*'+this.fromToDelta+'+'+this.options.from+';'+'this.position=pos;'+
codeForEvent(this.options,'beforeUpdate')+
(this.update?'this.update(pos);':'')+
codeForEvent(this.options,'afterUpdate')+'}}');this.event('beforeStart');if(!this.options.sync)
Effect.Queues.get(Object.isString(this.options.queue)?'global':this.options.queue.scope).add(this);},loop:function(timePos){if(timePos>=this.startOn){if(timePos>=this.finishOn){this.render(1.0);this.cancel();this.event('beforeFinish');if(this.finish)this.finish();this.event('afterFinish');return;}
var pos=(timePos-this.startOn)/this.totalTime,frame=(pos*this.totalFrames).round();if(frame>this.currentFrame){this.render(pos);this.currentFrame=frame;}}},cancel:function(){if(!this.options.sync)
Effect.Queues.get(Object.isString(this.options.queue)?'global':this.options.queue.scope).remove(this);this.state='finished';},event:function(eventName){if(this.options[eventName+'Internal'])this.options[eventName+'Internal'](this);if(this.options[eventName])this.options[eventName](this);},inspect:function(){var data=$H();for(property in this)
if(!Object.isFunction(this[property]))data.set(property,this[property]);return'#<Effect:'+data.inspect()+',options:'+$H(this.options).inspect()+'>';}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(effects){this.effects=effects||[];this.start(arguments[1]);},update:function(position){this.effects.invoke('render',position);},finish:function(position){this.effects.each(function(effect){effect.render(1.0);effect.cancel();effect.event('beforeFinish');if(effect.finish)effect.finish(position);effect.event('afterFinish');});}});Effect.Tween=Class.create(Effect.Base,{initialize:function(object,from,to){object=Object.isString(object)?$(object):object;var args=$A(arguments),method=args.last(),options=args.length==5?args[3]:null;this.method=Object.isFunction(method)?method.bind(object):Object.isFunction(object[method])?object[method].bind(object):function(value){object[method]=value};this.start(Object.extend({from:from,to:to},options||{}));},update:function(position){this.method(position);}});Effect.Event=Class.create(Effect.Base,{initialize:function(){this.start(Object.extend({duration:0},arguments[0]||{}));},update:Prototype.emptyFunction});Effect.Opacity=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))
this.element.setStyle({zoom:1});var options=Object.extend({from:this.element.getOpacity()||0.0,to:1.0},arguments[1]||{});this.start(options);},update:function(position){this.element.setOpacity(position);}});Effect.Move=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({x:0,y:0,mode:'relative'},arguments[1]||{});this.start(options);},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle('left')||'0');this.originalTop=parseFloat(this.element.getStyle('top')||'0');if(this.options.mode=='absolute'){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop;}},update:function(position){this.element.setStyle({left:(this.options.x*position+this.originalLeft).round()+'px',top:(this.options.y*position+this.originalTop).round()+'px'});}});Effect.MoveBy=function(element,toTop,toLeft){return new Effect.Move(element,Object.extend({x:toLeft,y:toTop},arguments[3]||{}));};Effect.Scale=Class.create(Effect.Base,{initialize:function(element,percent){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:percent},arguments[2]||{});this.start(options);},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle('position');this.originalStyle={};['top','left','width','height','fontSize'].each(function(k){this.originalStyle[k]=this.element.style[k];}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var fontSize=this.element.getStyle('font-size')||'100%';['em','px','%','pt'].each(function(fontSizeType){if(fontSize.indexOf(fontSizeType)>0){this.fontSize=parseFloat(fontSize);this.fontSizeType=fontSizeType;}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=='box')
this.dims=[this.element.offsetHeight,this.element.offsetWidth];if(/^content/.test(this.options.scaleMode))
this.dims=[this.element.scrollHeight,this.element.scrollWidth];if(!this.dims)
this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth];},update:function(position){var currentScale=(this.options.scaleFrom/100.0)+(this.factor*position);if(this.options.scaleContent&&this.fontSize)
this.element.setStyle({fontSize:this.fontSize*currentScale+this.fontSizeType});this.setDimensions(this.dims[0]*currentScale,this.dims[1]*currentScale);},finish:function(position){if(this.restoreAfterFinish)this.element.setStyle(this.originalStyle);},setDimensions:function(height,width){var d={};if(this.options.scaleX)d.width=width.round()+'px';if(this.options.scaleY)d.height=height.round()+'px';if(this.options.scaleFromCenter){var topd=(height-this.dims[0])/2;var leftd=(width-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY)d.top=this.originalTop-topd+'px';if(this.options.scaleX)d.left=this.originalLeft-leftd+'px';}else{if(this.options.scaleY)d.top=-topd+'px';if(this.options.scaleX)d.left=-leftd+'px';}}
this.element.setStyle(d);}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(options);},setup:function(){if(this.element.getStyle('display')=='none'){this.cancel();return;}
this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle('background-image');this.element.setStyle({backgroundImage:'none'});}
if(!this.options.endcolor)
this.options.endcolor=this.element.getStyle('background-color').parseColor('#ffffff');if(!this.options.restorecolor)
this.options.restorecolor=this.element.getStyle('background-color');this._base=$R(0,2).map(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this));},update:function(position){this.element.setStyle({backgroundColor:$R(0,2).inject('#',function(m,v,i){return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart());}.bind(this))});},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}));}});Effect.ScrollTo=function(element){var options=arguments[1]||{},scrollOffsets=document.viewport.getScrollOffsets(),elementOffsets=$(element).cumulativeOffset(),max=(window.height||document.body.scrollHeight)-document.viewport.getHeight();if(options.offset)elementOffsets[1]+=options.offset;return new Effect.Tween(null,scrollOffsets.top,elementOffsets[1]>max?max:elementOffsets[1],options,function(p){scrollTo(scrollOffsets.left,p.round())});};Effect.Fade=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();var options=Object.extend({from:element.getOpacity()||1.0,to:0.0,afterFinishInternal:function(effect){if(effect.options.to!=0)return;effect.element.hide().setStyle({opacity:oldOpacity});}},arguments[1]||{});return new Effect.Opacity(element,options);};Effect.Appear=function(element){element=$(element);var options=Object.extend({from:(element.getStyle('display')=='none'?0.0:element.getOpacity()||0.0),to:1.0,afterFinishInternal:function(effect){effect.element.forceRerendering();},beforeSetup:function(effect){effect.element.setOpacity(effect.options.from).show();}},arguments[1]||{});return new Effect.Opacity(element,options);};Effect.Puff=function(element){element=$(element);var oldStyle={opacity:element.getInlineOpacity(),position:element.getStyle('position'),top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};return new Effect.Parallel([new Effect.Scale(element,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:1.0,beforeSetupInternal:function(effect){Position.absolutize(effect.effects[0].element)},afterFinishInternal:function(effect){effect.effects[0].element.hide().setStyle(oldStyle);}},arguments[1]||{}));};Effect.BlindUp=function(element){element=$(element);element.makeClipping();return new Effect.Scale(element,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(effect){effect.element.hide().undoClipping();}},arguments[1]||{}));};Effect.BlindDown=function(element){element=$(element);var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makeClipping().setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.element.undoClipping();}},arguments[1]||{}));};Effect.SwitchOff=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();return new Effect.Appear(element,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(effect){new Effect.Scale(effect.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned().setStyle({opacity:oldOpacity});}})}},arguments[1]||{}));};Effect.DropOut=function(element){element=$(element);var oldStyle={top:element.getStyle('top'),left:element.getStyle('left'),opacity:element.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(element,{x:0,y:100,sync:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:0.5,beforeSetup:function(effect){effect.effects[0].element.makePositioned();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);}},arguments[1]||{}));};Effect.Shake=function(element){element=$(element);var options=Object.extend({distance:20,duration:0.5},arguments[1]||{});var distance=parseFloat(options.distance);var split=parseFloat(options.duration)/10.0;var oldStyle={top:element.getStyle('top'),left:element.getStyle('left')};return new Effect.Move(element,{x:distance,y:0,duration:split,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance,y:0,duration:split,afterFinishInternal:function(effect){effect.element.undoPositioned().setStyle(oldStyle);}})}})}})}})}})}});};Effect.SlideDown=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().setStyle({height:'0px'}).show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom});}},arguments[1]||{}));};Effect.SlideUp=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');var elementDimensions=element.getDimensions();return new Effect.Scale(element,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom});}},arguments[1]||{}));};Effect.Squish=function(element){return new Effect.Scale(element,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping();}});};Effect.Grow=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var initialMoveX,initialMoveY;var moveX,moveY;switch(options.direction){case'top-left':initialMoveX=initialMoveY=moveX=moveY=0;break;case'top-right':initialMoveX=dims.width;initialMoveY=moveY=0;moveX=-dims.width;break;case'bottom-left':initialMoveX=moveX=0;initialMoveY=dims.height;moveY=-dims.height;break;case'bottom-right':initialMoveX=dims.width;initialMoveY=dims.height;moveX=-dims.width;moveY=-dims.height;break;case'center':initialMoveX=dims.width/2;initialMoveY=dims.height/2;moveX=-dims.width/2;moveY=-dims.height/2;break;}
return new Effect.Move(element,{x:initialMoveX,y:initialMoveY,duration:0.01,beforeSetup:function(effect){effect.element.hide().makeClipping().makePositioned();},afterFinishInternal:function(effect){new Effect.Parallel([new Effect.Opacity(effect.element,{sync:true,to:1.0,from:0.0,transition:options.opacityTransition}),new Effect.Move(effect.element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition}),new Effect.Scale(effect.element,100,{scaleMode:{originalHeight:dims.height,originalWidth:dims.width},sync:true,scaleFrom:window.opera?1:0,transition:options.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(effect){effect.effects[0].element.setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);}},options))}});};Effect.Shrink=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var moveX,moveY;switch(options.direction){case'top-left':moveX=moveY=0;break;case'top-right':moveX=dims.width;moveY=0;break;case'bottom-left':moveX=0;moveY=dims.height;break;case'bottom-right':moveX=dims.width;moveY=dims.height;break;case'center':moveX=dims.width/2;moveY=dims.height/2;break;}
return new Effect.Parallel([new Effect.Opacity(element,{sync:true,to:0.0,from:1.0,transition:options.opacityTransition}),new Effect.Scale(element,window.opera?1:0,{sync:true,transition:options.scaleTransition,restoreAfterFinish:true}),new Effect.Move(element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition})],Object.extend({beforeStartInternal:function(effect){effect.effects[0].element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle);}},options));};Effect.Pulsate=function(element){element=$(element);var options=arguments[1]||{};var oldOpacity=element.getInlineOpacity();var transition=options.transition||Effect.Transitions.sinoidal;var reverser=function(pos){return transition(1-Effect.Transitions.pulse(pos,options.pulses))};reverser.bind(transition);return new Effect.Opacity(element,Object.extend(Object.extend({duration:2.0,from:0,afterFinishInternal:function(effect){effect.element.setStyle({opacity:oldOpacity});}},options),{transition:reverser}));};Effect.Fold=function(element){element=$(element);var oldStyle={top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};element.makeClipping();return new Effect.Scale(element,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(effect){new Effect.Scale(element,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(effect){effect.element.hide().undoClipping().setStyle(oldStyle);}});}},arguments[1]||{}));};Effect.Morph=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(options.style))this.style=$H(options.style);else{if(options.style.include(':'))
this.style=options.style.parseStyle();else{this.element.addClassName(options.style);this.style=$H(this.element.getStyles());this.element.removeClassName(options.style);var css=this.element.getStyles();this.style=this.style.reject(function(style){return style.value==css[style.key];});options.afterFinishInternal=function(effect){effect.element.addClassName(effect.options.style);effect.transforms.each(function(transform){effect.element.style[transform.style]='';});}}}
this.start(options);},setup:function(){function parseColor(color){if(!color||['rgba(0, 0, 0, 0)','transparent'].include(color))color='#ffffff';color=color.parseColor();return $R(0,2).map(function(i){return parseInt(color.slice(i*2+1,i*2+3),16)});}
this.transforms=this.style.map(function(pair){var property=pair[0],value=pair[1],unit=null;if(value.parseColor('#zzzzzz')!='#zzzzzz'){value=value.parseColor();unit='color';}else if(property=='opacity'){value=parseFloat(value);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))
this.element.setStyle({zoom:1});}else if(Element.CSS_LENGTH.test(value)){var components=value.match(/^([\+\-]?[0-9\.]+)(.*)$/);value=parseFloat(components[1]);unit=(components.length==3)?components[2]:null;}
var originalValue=this.element.getStyle(property);return{style:property.camelize(),originalValue:unit=='color'?parseColor(originalValue):parseFloat(originalValue||0),targetValue:unit=='color'?parseColor(value):value,unit:unit};}.bind(this)).reject(function(transform){return((transform.originalValue==transform.targetValue)||(transform.unit!='color'&&(isNaN(transform.originalValue)||isNaN(transform.targetValue))))});},update:function(position){var style={},transform,i=this.transforms.length;while(i--)
style[(transform=this.transforms[i]).style]=transform.unit=='color'?'#'+
(Math.round(transform.originalValue[0]+
(transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart()+
(Math.round(transform.originalValue[1]+
(transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart()+
(Math.round(transform.originalValue[2]+
(transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart():(transform.originalValue+
(transform.targetValue-transform.originalValue)*position).toFixed(3)+
(transform.unit===null?'':transform.unit);this.element.setStyle(style,true);}});Effect.Transform=Class.create({initialize:function(tracks){this.tracks=[];this.options=arguments[1]||{};this.addTracks(tracks);},addTracks:function(tracks){tracks.each(function(track){track=$H(track);var data=track.values().first();this.tracks.push($H({ids:track.keys().first(),effect:Effect.Morph,options:{style:data}}));}.bind(this));return this;},play:function(){return new Effect.Parallel(this.tracks.map(function(track){var ids=track.get('ids'),effect=track.get('effect'),options=track.get('options');var elements=[$(ids)||$$(ids)].flatten();return elements.map(function(e){return new effect(e,Object.extend({sync:true},options))});}).flatten(),this.options);}});Element.CSS_PROPERTIES=$w('backgroundColor backgroundPosition borderBottomColor borderBottomStyle '+'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth '+'borderRightColor borderRightStyle borderRightWidth borderSpacing '+'borderTopColor borderTopStyle borderTopWidth bottom clip color '+'fontSize fontWeight height left letterSpacing lineHeight '+'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+'maxWidth minHeight minWidth opacity outlineColor outlineOffset '+'outlineWidth paddingBottom paddingLeft paddingRight paddingTop '+'right textIndent top width wordSpacing zIndex');Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.__parseStyleElement=document.createElement('div');String.prototype.parseStyle=function(){var style,styleRules=$H();if(Prototype.Browser.WebKit)
style=new Element('div',{style:this}).style;else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';style=String.__parseStyleElement.childNodes[0].style;}
Element.CSS_PROPERTIES.each(function(property){if(style[property])styleRules.set(property,style[property]);});if(Prototype.Browser.IE&&this.include('opacity'))
styleRules.set('opacity',this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);return styleRules;};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(element){var css=document.defaultView.getComputedStyle($(element),null);return Element.CSS_PROPERTIES.inject({},function(styles,property){styles[property]=css[property];return styles;});};}else{Element.getStyles=function(element){element=$(element);var css=element.currentStyle,styles;styles=Element.CSS_PROPERTIES.inject({},function(hash,property){hash.set(property,css[property]);return hash;});if(!styles.opacity)styles.set('opacity',element.getOpacity());return styles;};};Effect.Methods={morph:function(element,style){element=$(element);new Effect.Morph(element,Object.extend({style:style},arguments[2]||{}));return element;},visualEffect:function(element,effect,options){element=$(element)
var s=effect.dasherize().camelize(),klass=s.charAt(0).toUpperCase()+s.substring(1);new Effect[klass](element,options);return element;},highlight:function(element,options){element=$(element);new Effect.Highlight(element,options);return element;}};$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+'pulsate shake puff squish switchOff dropOut').each(function(effect){Effect.Methods[effect]=function(element,options){element=$(element);Effect[effect.charAt(0).toUpperCase()+effect.substring(1)](element,options);return element;}});$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each(function(f){Effect.Methods[f]=Element[f];});Element.addMethods(Effect.Methods);var Builder={NODEMAP:{AREA:'map',CAPTION:'table',COL:'table',COLGROUP:'table',LEGEND:'fieldset',OPTGROUP:'select',OPTION:'select',PARAM:'object',TBODY:'table',TD:'table',TFOOT:'table',TH:'table',THEAD:'table',TR:'table'},node:function(elementName){elementName=elementName.toUpperCase();var parentTag=this.NODEMAP[elementName]||'div';var parentElement=document.createElement(parentTag);try{parentElement.innerHTML="<"+elementName+"></"+elementName+">";}catch(e){}
var element=parentElement.firstChild||null;if(element&&(element.tagName.toUpperCase()!=elementName))
element=element.getElementsByTagName(elementName)[0];if(!element)element=document.createElement(elementName);if(!element)return;if(arguments[1])
if(this._isStringOrNumber(arguments[1])||(arguments[1]instanceof Array)||arguments[1].tagName){this._children(element,arguments[1]);}else{var attrs=this._attributes(arguments[1]);if(attrs.length){try{parentElement.innerHTML="<"+elementName+" "+
attrs+"></"+elementName+">";}catch(e){}
element=parentElement.firstChild||null;if(!element){element=document.createElement(elementName);for(attr in arguments[1])
element[attr=='class'?'className':attr]=arguments[1][attr];}
if(element.tagName.toUpperCase()!=elementName)
element=parentElement.getElementsByTagName(elementName)[0];}}
if(arguments[2])
this._children(element,arguments[2]);return element;},_text:function(text){return document.createTextNode(text);},ATTR_MAP:{'className':'class','htmlFor':'for'},_attributes:function(attributes){var attrs=[];for(attribute in attributes)
attrs.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+attributes[attribute].toString().escapeHTML().gsub(/"/,'&quot;')+'"');return attrs.join(" ");},_children:function(element,children){if(children.tagName){element.appendChild(children);return;}
if(typeof children=='object'){children.flatten().each(function(e){if(typeof e=='object')
element.appendChild(e)
else
if(Builder._isStringOrNumber(e))
element.appendChild(Builder._text(e));});}else
if(Builder._isStringOrNumber(children))
element.appendChild(Builder._text(children));},_isStringOrNumber:function(param){return(typeof param=='string'||typeof param=='number');},build:function(html){var element=this.node('div');$(element).update(html.strip());return element.down();},dump:function(scope){if(typeof scope!='object'&&typeof scope!='function')scope=window;var tags=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY "+"BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET "+"FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+"KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+"PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+"TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);tags.each(function(tag){scope[tag]=function(){return Builder.node.apply(Builder,[tag].concat($A(arguments)));}});}}
if(typeof Effect=='undefined')
throw("controls.js requires including script.aculo.us' effects.js library");var Autocompleter={}
Autocompleter.Base=Class.create({baseInitialize:function(element,update,options){element=$(element)
this.element=element;this.update=$(update);this.hasFocus=false;this.changed=false;this.active=false;this.index=0;this.entryCount=0;this.oldElementValue=this.element.value;if(this.setOptions)
this.setOptions(options);else
this.options=options||{};this.options.paramName=this.options.paramName||this.element.name;this.options.tokens=this.options.tokens||[];this.options.frequency=this.options.frequency||0.4;this.options.minChars=this.options.minChars||1;this.options.onShow=this.options.onShow||function(element,update){if(!update.style.position||update.style.position=='absolute'){update.style.position='absolute';Position.clone(element,update,{setHeight:false,offsetTop:element.offsetHeight});}
Effect.Appear(update,{duration:0.15});};this.options.onHide=this.options.onHide||function(element,update){new Effect.Fade(update,{duration:0.15})};if(typeof(this.options.tokens)=='string')
this.options.tokens=new Array(this.options.tokens);if(!this.options.tokens.include('\n'))
this.options.tokens.push('\n');this.observer=null;this.element.setAttribute('autocomplete','off');Element.hide(this.update);Event.observe(this.element,'blur',this.onBlur.bindAsEventListener(this));Event.observe(this.element,'keypress',this.onKeyPress.bindAsEventListener(this));},show:function(){if(Element.getStyle(this.update,'display')=='none')this.options.onShow(this.element,this.update);if(!this.iefix&&(Prototype.Browser.IE)&&(Element.getStyle(this.update,'position')=='absolute')){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" '+'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" '+'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.update.id+'_iefix');}
if(this.iefix)setTimeout(this.fixIEOverlapping.bind(this),50);},fixIEOverlapping:function(){Position.clone(this.update,this.iefix,{setTop:(!this.update.style.height)});this.iefix.style.zIndex=1;this.update.style.zIndex=2;Element.show(this.iefix);},hide:function(){this.stopIndicator();if(Element.getStyle(this.update,'display')!='none')this.options.onHide(this.element,this.update);if(this.iefix)Element.hide(this.iefix);},startIndicator:function(){if(this.options.indicator)Element.show(this.options.indicator);},stopIndicator:function(){if(this.options.indicator)Element.hide(this.options.indicator);},onKeyPress:function(event){if(this.active)
switch(event.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(event);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(event);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();if(Prototype.Browser.WebKit)Event.stop(event);return;case Event.KEY_DOWN:this.markNext();this.render();if(Prototype.Browser.WebKit)Event.stop(event);return;}
else
if(event.keyCode==Event.KEY_TAB||event.keyCode==Event.KEY_RETURN||(Prototype.Browser.WebKit>0&&event.keyCode==0))return;this.changed=true;this.hasFocus=true;if(this.observer)clearTimeout(this.observer);this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000);},activate:function(){this.changed=false;this.hasFocus=true;this.getUpdatedChoices();},onHover:function(event){var element=Event.findElement(event,'LI');if(this.index!=element.autocompleteIndex)
{this.index=element.autocompleteIndex;this.render();}
Event.stop(event);},onClick:function(event){var element=Event.findElement(event,'LI');this.index=element.autocompleteIndex;this.selectEntry();this.hide();},onBlur:function(event){setTimeout(this.hide.bind(this),250);this.hasFocus=false;this.active=false;},render:function(){if(this.entryCount>0){for(var i=0;i<this.entryCount;i++)
this.index==i?Element.addClassName(this.getEntry(i),"selected"):Element.removeClassName(this.getEntry(i),"selected");if(this.hasFocus){this.show();this.active=true;}}else{this.active=false;this.hide();}},markPrevious:function(){if(this.index>0)this.index--
else this.index=this.entryCount-1;this.getEntry(this.index).scrollIntoView(true);},markNext:function(){if(this.index<this.entryCount-1)this.index++
else this.index=0;this.getEntry(this.index).scrollIntoView(false);},getEntry:function(index){return this.update.firstChild.childNodes[index];},getCurrentEntry:function(){return this.getEntry(this.index);},selectEntry:function(){this.active=false;this.updateElement(this.getCurrentEntry());},updateElement:function(selectedElement){if(this.options.updateElement){this.options.updateElement(selectedElement);return;}
var value='';if(this.options.select){var nodes=$(selectedElement).select('.'+this.options.select)||[];if(nodes.length>0)value=Element.collectTextNodes(nodes[0],this.options.select);}else
value=Element.collectTextNodesIgnoreClass(selectedElement,'informal');var bounds=this.getTokenBounds();if(bounds[0]!=-1){var newValue=this.element.value.substr(0,bounds[0]);var whitespace=this.element.value.substr(bounds[0]).match(/^\s+/);if(whitespace)
newValue+=whitespace[0];this.element.value=newValue+value+this.element.value.substr(bounds[1]);}else{this.element.value=value;}
this.oldElementValue=this.element.value;this.element.focus();if(this.options.afterUpdateElement)
this.options.afterUpdateElement(this.element,selectedElement);},updateChoices:function(choices){if(!this.changed&&this.hasFocus){this.update.innerHTML=choices;Element.cleanWhitespace(this.update);Element.cleanWhitespace(this.update.down());if(this.update.firstChild&&this.update.down().childNodes){this.entryCount=this.update.down().childNodes.length;for(var i=0;i<this.entryCount;i++){var entry=this.getEntry(i);entry.autocompleteIndex=i;this.addObservers(entry);}}else{this.entryCount=0;}
this.stopIndicator();this.index=0;if(this.entryCount==1&&this.options.autoSelect){this.selectEntry();this.hide();}else{this.render();}}},addObservers:function(element){Event.observe(element,"mouseover",this.onHover.bindAsEventListener(this));Event.observe(element,"click",this.onClick.bindAsEventListener(this));},onObserverEvent:function(){this.changed=false;this.tokenBounds=null;if(this.getToken().length>=this.options.minChars){this.getUpdatedChoices();}else{this.active=false;this.hide();}
this.oldElementValue=this.element.value;},getToken:function(){var bounds=this.getTokenBounds();return this.element.value.substring(bounds[0],bounds[1]).strip();},getTokenBounds:function(){if(null!=this.tokenBounds)return this.tokenBounds;var value=this.element.value;if(value.strip().empty())return[-1,0];var diff=arguments.callee.getFirstDifferencePos(value,this.oldElementValue);var offset=(diff==this.oldElementValue.length?1:0);var prevTokenPos=-1,nextTokenPos=value.length;var tp;for(var index=0,l=this.options.tokens.length;index<l;++index){tp=value.lastIndexOf(this.options.tokens[index],diff+offset-1);if(tp>prevTokenPos)prevTokenPos=tp;tp=value.indexOf(this.options.tokens[index],diff+offset);if(-1!=tp&&tp<nextTokenPos)nextTokenPos=tp;}
return(this.tokenBounds=[prevTokenPos+1,nextTokenPos]);}});Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos=function(newS,oldS){var boundary=Math.min(newS.length,oldS.length);for(var index=0;index<boundary;++index)
if(newS[index]!=oldS[index])
return index;return boundary;};Ajax.Autocompleter=Class.create(Autocompleter.Base,{initialize:function(element,update,url,options){this.baseInitialize(element,update,options);this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=url;},getUpdatedChoices:function(){this.startIndicator();var entry=encodeURIComponent(this.options.paramName)+'='+
encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,entry):entry;if(this.options.defaultParams)
this.options.parameters+='&'+this.options.defaultParams;new Ajax.Request(this.url,this.options);},onComplete:function(request){this.updateChoices(request.responseText);}});Autocompleter.Local=Class.create(Autocompleter.Base,{initialize:function(element,update,array,options){this.baseInitialize(element,update,options);this.options.array=array;},getUpdatedChoices:function(){this.updateChoices(this.options.selector(this));},setOptions:function(options){this.options=Object.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(instance){var ret=[];var partial=[];var entry=instance.getToken();var count=0;for(var i=0;i<instance.options.array.length&&ret.length<instance.options.choices;i++){var elem=instance.options.array[i];var foundPos=instance.options.ignoreCase?elem.toLowerCase().indexOf(entry.toLowerCase()):elem.indexOf(entry);while(foundPos!=-1){if(foundPos==0&&elem.length!=entry.length){ret.push("<li><strong>"+elem.substr(0,entry.length)+"</strong>"+
elem.substr(entry.length)+"</li>");break;}else if(entry.length>=instance.options.partialChars&&instance.options.partialSearch&&foundPos!=-1){if(instance.options.fullSearch||/\s/.test(elem.substr(foundPos-1,1))){partial.push("<li>"+elem.substr(0,foundPos)+"<strong>"+
elem.substr(foundPos,entry.length)+"</strong>"+elem.substr(foundPos+entry.length)+"</li>");break;}}
foundPos=instance.options.ignoreCase?elem.toLowerCase().indexOf(entry.toLowerCase(),foundPos+1):elem.indexOf(entry,foundPos+1);}}
if(partial.length)
ret=ret.concat(partial.slice(0,instance.options.choices-ret.length))
return"<ul>"+ret.join('')+"</ul>";}},options||{});}});Field.scrollFreeActivate=function(field){setTimeout(function(){Field.activate(field);},1);}
Ajax.InPlaceEditor=Class.create({initialize:function(element,url,options){this.url=url;this.element=element=$(element);this.prepareOptions();this._controls={};arguments.callee.dealWithDeprecatedOptions(options);Object.extend(this.options,options||{});if(!this.options.formId&&this.element.id){this.options.formId=this.element.id+'-inplaceeditor';if($(this.options.formId))
this.options.formId='';}
if(this.options.externalControl)
this.options.externalControl=$(this.options.externalControl);if(!this.options.externalControl)
this.options.externalControlOnly=false;this._originalBackground=this.element.getStyle('background-color')||'transparent';this.element.title=this.options.clickToEditText;this._boundCancelHandler=this.handleFormCancellation.bind(this);this._boundComplete=(this.options.onComplete||Prototype.emptyFunction).bind(this);this._boundFailureHandler=this.handleAJAXFailure.bind(this);this._boundSubmitHandler=this.handleFormSubmission.bind(this);this._boundWrapperHandler=this.wrapUp.bind(this);this.registerListeners();},checkForEscapeOrReturn:function(e){if(!this._editing||e.ctrlKey||e.altKey||e.shiftKey)return;if(Event.KEY_ESC==e.keyCode)
this.handleFormCancellation(e);else if(Event.KEY_RETURN==e.keyCode)
this.handleFormSubmission(e);},createControl:function(mode,handler,extraClasses){var control=this.options[mode+'Control'];var text=this.options[mode+'Text'];if('button'==control){var btn=document.createElement('input');btn.type='submit';btn.value=text;btn.className='editor_'+mode+'_button';if('cancel'==mode)
btn.onclick=this._boundCancelHandler;this._form.appendChild(btn);this._controls[mode]=btn;}else if('link'==control){var link=document.createElement('a');link.href='#';link.appendChild(document.createTextNode(text));link.onclick='cancel'==mode?this._boundCancelHandler:this._boundSubmitHandler;link.className='editor_'+mode+'_link';if(extraClasses)
link.className+=' '+extraClasses;this._form.appendChild(link);this._controls[mode]=link;}},createEditField:function(){var text=(this.options.loadTextURL?this.options.loadingText:this.getText());var fld;if(1>=this.options.rows&&!/\r|\n/.test(this.getText())){fld=document.createElement('input');fld.type='text';var size=this.options.size||this.options.cols||0;if(0<size)fld.size=size;}else{fld=document.createElement('textarea');fld.rows=(1>=this.options.rows?this.options.autoRows:this.options.rows);fld.cols=this.options.cols||40;}
fld.name=this.options.paramName;fld.value=text;fld.className='editor_field';if(this.options.submitOnBlur)
fld.onblur=this._boundSubmitHandler;this._controls.editor=fld;if(this.options.loadTextURL)
this.loadExternalText();this._form.appendChild(this._controls.editor);},createForm:function(){var ipe=this;function addText(mode,condition){var text=ipe.options['text'+mode+'Controls'];if(!text||condition===false)return;ipe._form.appendChild(document.createTextNode(text));};this._form=$(document.createElement('form'));this._form.id=this.options.formId;this._form.addClassName(this.options.formClassName);this._form.onsubmit=this._boundSubmitHandler;this.createEditField();if('textarea'==this._controls.editor.tagName.toLowerCase())
this._form.appendChild(document.createElement('br'));if(this.options.onFormCustomization)
this.options.onFormCustomization(this,this._form);addText('Before',this.options.okControl||this.options.cancelControl);this.createControl('ok',this._boundSubmitHandler);addText('Between',this.options.okControl&&this.options.cancelControl);this.createControl('cancel',this._boundCancelHandler,'editor_cancel');addText('After',this.options.okControl||this.options.cancelControl);},destroy:function(){if(this._oldInnerHTML)
this.element.innerHTML=this._oldInnerHTML;this.leaveEditMode();this.unregisterListeners();},enterEditMode:function(e){if(this._saving||this._editing)return;this._editing=true;this.triggerCallback('onEnterEditMode');if(this.options.externalControl)
this.options.externalControl.hide();this.element.hide();this.createForm();this.element.parentNode.insertBefore(this._form,this.element);if(!this.options.loadTextURL)
this.postProcessEditField();if(e)Event.stop(e);},enterHover:function(e){if(this.options.hoverClassName)
this.element.addClassName(this.options.hoverClassName);if(this._saving)return;this.triggerCallback('onEnterHover');},getText:function(){return this.element.innerHTML;},handleAJAXFailure:function(transport){this.triggerCallback('onFailure',transport);if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML;this._oldInnerHTML=null;}},handleFormCancellation:function(e){this.wrapUp();if(e)Event.stop(e);},handleFormSubmission:function(e){var form=this._form;var value=$F(this._controls.editor);this.prepareSubmission();var params=this.options.callback(form,value)||'';if(Object.isString(params))
params=params.toQueryParams();params.editorId=this.element.id;if(this.options.htmlResponse){var options=Object.extend({evalScripts:true},this.options.ajaxOptions);Object.extend(options,{parameters:params,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Updater({success:this.element},this.url,options);}else{var options=Object.extend({method:'get'},this.options.ajaxOptions);Object.extend(options,{parameters:params,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Request(this.url,options);}
if(e)Event.stop(e);},leaveEditMode:function(){this.element.removeClassName(this.options.savingClassName);this.removeForm();this.leaveHover();this.element.style.backgroundColor=this._originalBackground;this.element.show();if(this.options.externalControl)
this.options.externalControl.show();this._saving=false;this._editing=false;this._oldInnerHTML=null;this.triggerCallback('onLeaveEditMode');},leaveHover:function(e){if(this.options.hoverClassName)
this.element.removeClassName(this.options.hoverClassName);if(this._saving)return;this.triggerCallback('onLeaveHover');},loadExternalText:function(){this._form.addClassName(this.options.loadingClassName);this._controls.editor.disabled=true;var options=Object.extend({method:'get'},this.options.ajaxOptions);Object.extend(options,{parameters:'editorId='+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){this._form.removeClassName(this.options.loadingClassName);var text=transport.responseText;if(this.options.stripLoadedTextTags)
text=text.stripTags();this._controls.editor.value=text;this._controls.editor.disabled=false;this.postProcessEditField();}.bind(this),onFailure:this._boundFailureHandler});new Ajax.Request(this.options.loadTextURL,options);},postProcessEditField:function(){var fpc=this.options.fieldPostCreation;if(fpc)
$(this._controls.editor)['focus'==fpc?'focus':'activate']();},prepareOptions:function(){this.options=Object.clone(Ajax.InPlaceEditor.DefaultOptions);Object.extend(this.options,Ajax.InPlaceEditor.DefaultCallbacks);[this._extraDefaultOptions].flatten().compact().each(function(defs){Object.extend(this.options,defs);}.bind(this));},prepareSubmission:function(){this._saving=true;this.removeForm();this.leaveHover();this.showSaving();},registerListeners:function(){this._listeners={};var listener;$H(Ajax.InPlaceEditor.Listeners).each(function(pair){listener=this[pair.value].bind(this);this._listeners[pair.key]=listener;if(!this.options.externalControlOnly)
this.element.observe(pair.key,listener);if(this.options.externalControl)
this.options.externalControl.observe(pair.key,listener);}.bind(this));},removeForm:function(){if(!this._form)return;this._form.remove();this._form=null;this._controls={};},showSaving:function(){this._oldInnerHTML=this.element.innerHTML;this.element.innerHTML=this.options.savingText;this.element.addClassName(this.options.savingClassName);this.element.style.backgroundColor=this._originalBackground;this.element.show();},triggerCallback:function(cbName,arg){if('function'==typeof this.options[cbName]){this.options[cbName](this,arg);}},unregisterListeners:function(){$H(this._listeners).each(function(pair){if(!this.options.externalControlOnly)
this.element.stopObserving(pair.key,pair.value);if(this.options.externalControl)
this.options.externalControl.stopObserving(pair.key,pair.value);}.bind(this));},wrapUp:function(transport){this.leaveEditMode();this._boundComplete(transport,this.element);}});Object.extend(Ajax.InPlaceEditor.prototype,{dispose:Ajax.InPlaceEditor.prototype.destroy});Ajax.InPlaceCollectionEditor=Class.create(Ajax.InPlaceEditor,{initialize:function($super,element,url,options){this._extraDefaultOptions=Ajax.InPlaceCollectionEditor.DefaultOptions;$super(element,url,options);},createEditField:function(){var list=document.createElement('select');list.name=this.options.paramName;list.size=1;this._controls.editor=list;this._collection=this.options.collection||[];if(this.options.loadCollectionURL)
this.loadCollection();else
this.checkForExternalText();this._form.appendChild(this._controls.editor);},loadCollection:function(){this._form.addClassName(this.options.loadingClassName);this.showLoadingText(this.options.loadingCollectionText);var options=Object.extend({method:'get'},this.options.ajaxOptions);Object.extend(options,{parameters:'editorId='+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){var js=transport.responseText.strip();if(!/^\[.*\]$/.test(js))
throw'Server returned an invalid collection representation.';this._collection=eval(js);this.checkForExternalText();}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadCollectionURL,options);},showLoadingText:function(text){this._controls.editor.disabled=true;var tempOption=this._controls.editor.firstChild;if(!tempOption){tempOption=document.createElement('option');tempOption.value='';this._controls.editor.appendChild(tempOption);tempOption.selected=true;}
tempOption.update((text||'').stripScripts().stripTags());},checkForExternalText:function(){this._text=this.getText();if(this.options.loadTextURL)
this.loadExternalText();else
this.buildOptionList();},loadExternalText:function(){this.showLoadingText(this.options.loadingText);var options=Object.extend({method:'get'},this.options.ajaxOptions);Object.extend(options,{parameters:'editorId='+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){this._text=transport.responseText.strip();this.buildOptionList();}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadTextURL,options);},buildOptionList:function(){this._form.removeClassName(this.options.loadingClassName);this._collection=this._collection.map(function(entry){return 2===entry.length?entry:[entry,entry].flatten();});var marker=('value'in this.options)?this.options.value:this._text;var textFound=this._collection.any(function(entry){return entry[0]==marker;}.bind(this));this._controls.editor.update('');var option;this._collection.each(function(entry,index){option=document.createElement('option');option.value=entry[0];option.selected=textFound?entry[0]==marker:0==index;option.appendChild(document.createTextNode(entry[1]));this._controls.editor.appendChild(option);}.bind(this));this._controls.editor.disabled=false;Field.scrollFreeActivate(this._controls.editor);}});Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions=function(options){if(!options)return;function fallback(name,expr){if(name in options||expr===undefined)return;options[name]=expr;};fallback('cancelControl',(options.cancelLink?'link':(options.cancelButton?'button':options.cancelLink==options.cancelButton==false?false:undefined)));fallback('okControl',(options.okLink?'link':(options.okButton?'button':options.okLink==options.okButton==false?false:undefined)));fallback('highlightColor',options.highlightcolor);fallback('highlightEndColor',options.highlightendcolor);};Object.extend(Ajax.InPlaceEditor,{DefaultOptions:{ajaxOptions:{},autoRows:3,cancelControl:'link',cancelText:'cancel',clickToEditText:'Click to edit',externalControl:null,externalControlOnly:false,fieldPostCreation:'activate',formClassName:'inplaceeditor-form',formId:null,highlightColor:'#ffff99',highlightEndColor:'#ffffff',hoverClassName:'',htmlResponse:true,loadingClassName:'inplaceeditor-loading',loadingText:'Loading...',okControl:'button',okText:'ok',paramName:'value',rows:1,savingClassName:'inplaceeditor-saving',savingText:'Saving...',size:0,stripLoadedTextTags:false,submitOnBlur:false,textAfterControls:'',textBeforeControls:'',textBetweenControls:''},DefaultCallbacks:{callback:function(form){return Form.serialize(form);},onComplete:function(transport,element){new Effect.Highlight(element,{startcolor:this.options.highlightColor,keepBackgroundImage:true});},onEnterEditMode:null,onEnterHover:function(ipe){ipe.element.style.backgroundColor=ipe.options.highlightColor;if(ipe._effect)
ipe._effect.cancel();},onFailure:function(transport,ipe){alert('Error communication with the server: '+transport.responseText.stripTags());},onFormCustomization:null,onLeaveEditMode:null,onLeaveHover:function(ipe){ipe._effect=new Effect.Highlight(ipe.element,{startcolor:ipe.options.highlightColor,endcolor:ipe.options.highlightEndColor,restorecolor:ipe._originalBackground,keepBackgroundImage:true});}},Listeners:{click:'enterEditMode',keydown:'checkForEscapeOrReturn',mouseover:'enterHover',mouseout:'leaveHover'}});Ajax.InPlaceCollectionEditor.DefaultOptions={loadingCollectionText:'Loading options...'};Form.Element.DelayedObserver=Class.create({initialize:function(element,delay,callback){this.delay=delay||0.5;this.element=$(element);this.callback=callback;this.timer=null;this.lastValue=$F(this.element);Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this));},delayedListener:function(event){if(this.lastValue==$F(this.element))return;if(this.timer)clearTimeout(this.timer);this.timer=setTimeout(this.onTimerEvent.bind(this),this.delay*1000);this.lastValue=$F(this.element);},onTimerEvent:function(){this.timer=null;this.callback(this.element,$F(this.element));}});if(Object.isUndefined(Effect))
throw("dragdrop.js requires including script.aculo.us' effects.js library");var Droppables={drops:[],remove:function(element){this.drops=this.drops.reject(function(d){return d.element==$(element)});},add:function(element){element=$(element);var options=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(options.containment){options._containers=[];var containment=options.containment;if(Object.isArray(containment)){containment.each(function(c){options._containers.push($(c))});}else{options._containers.push($(containment));}}
if(options.accept)options.accept=[options.accept].flatten();Element.makePositioned(element);options.element=element;this.drops.push(options);},findDeepestChild:function(drops){deepest=drops[0];for(i=1;i<drops.length;++i)
if(Element.isParent(drops[i].element,deepest.element))
deepest=drops[i];return deepest;},isContained:function(element,drop){var containmentNode;if(drop.tree){containmentNode=element.treeNode;}else{containmentNode=element.parentNode;}
return drop._containers.detect(function(c){return containmentNode==c});},isAffected:function(point,element,drop){return((drop.element!=element)&&((!drop._containers)||this.isContained(element,drop))&&((!drop.accept)||(Element.classNames(element).detect(function(v){return drop.accept.include(v)})))&&Position.within(drop.element,point[0],point[1]));},deactivate:function(drop){if(drop.hoverclass)
Element.removeClassName(drop.element,drop.hoverclass);this.last_active=null;},activate:function(drop){if(drop.hoverclass)
Element.addClassName(drop.element,drop.hoverclass);this.last_active=drop;},show:function(point,element){if(!this.drops.length)return;var drop,affected=[];this.drops.each(function(drop){if(Droppables.isAffected(point,element,drop))
affected.push(drop);});if(affected.length>0)
drop=Droppables.findDeepestChild(affected);if(this.last_active&&this.last_active!=drop)this.deactivate(this.last_active);if(drop){Position.within(drop.element,point[0],point[1]);if(drop.onHover)
drop.onHover(element,drop.element,Position.overlap(drop.overlap,drop.element));if(drop!=this.last_active)Droppables.activate(drop);}},fire:function(event,element){if(!this.last_active)return;Position.prepare();if(this.isAffected([Event.pointerX(event),Event.pointerY(event)],element,this.last_active))
if(this.last_active.onDrop){this.last_active.onDrop(element,this.last_active.element,event);return true;}},reset:function(){if(this.last_active)
this.deactivate(this.last_active);}}
var Draggables={drags:[],observers:[],register:function(draggable){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress);}
this.drags.push(draggable);},unregister:function(draggable){this.drags=this.drags.reject(function(d){return d==draggable});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress);}},activate:function(draggable){if(draggable.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=draggable;}.bind(this),draggable.options.delay);}else{window.focus();this.activeDraggable=draggable;}},deactivate:function(){this.activeDraggable=null;},updateDrag:function(event){if(!this.activeDraggable)return;var pointer=[Event.pointerX(event),Event.pointerY(event)];if(this._lastPointer&&(this._lastPointer.inspect()==pointer.inspect()))return;this._lastPointer=pointer;this.activeDraggable.updateDrag(event,pointer);},endDrag:function(event){if(this._timeout){clearTimeout(this._timeout);this._timeout=null;}
if(!this.activeDraggable)return;this._lastPointer=null;this.activeDraggable.endDrag(event);this.activeDraggable=null;},keyPress:function(event){if(this.activeDraggable)
this.activeDraggable.keyPress(event);},addObserver:function(observer){this.observers.push(observer);this._cacheObserverCallbacks();},removeObserver:function(element){this.observers=this.observers.reject(function(o){return o.element==element});this._cacheObserverCallbacks();},notify:function(eventName,draggable,event){if(this[eventName+'Count']>0)
this.observers.each(function(o){if(o[eventName])o[eventName](eventName,draggable,event);});if(draggable.options[eventName])draggable.options[eventName](draggable,event);},_cacheObserverCallbacks:function(){['onStart','onEnd','onDrag'].each(function(eventName){Draggables[eventName+'Count']=Draggables.observers.select(function(o){return o[eventName];}).length;});}}
var Draggable=Class.create({initialize:function(element){var defaults={handle:false,reverteffect:function(element,top_offset,left_offset){var dur=Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;new Effect.Move(element,{x:-left_offset,y:-top_offset,duration:dur,queue:{scope:'_draggable',position:'end'}});},endeffect:function(element){var toOpacity=Object.isNumber(element._opacity)?element._opacity:1.0;new Effect.Opacity(element,{duration:0.2,from:0.7,to:toOpacity,queue:{scope:'_draggable',position:'end'},afterFinish:function(){Draggable._dragging[element]=false}});},zindex:1000,revert:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||Object.isUndefined(arguments[1].endeffect))
Object.extend(defaults,{starteffect:function(element){element._opacity=Element.getOpacity(element);Draggable._dragging[element]=true;new Effect.Opacity(element,{duration:0.2,from:element._opacity,to:0.7});}});var options=Object.extend(defaults,arguments[1]||{});this.element=$(element);if(options.handle&&Object.isString(options.handle))
this.handle=this.element.down('.'+options.handle,0);if(!this.handle)this.handle=$(options.handle);if(!this.handle)this.handle=this.element;if(options.scroll&&!options.scroll.scrollTo&&!options.scroll.outerHTML){options.scroll=$(options.scroll);this._isScrollChild=Element.childOf(this.element,options.scroll);}
Element.makePositioned(this.element);this.options=options;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this);},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this);},currentDelta:function(){return([parseInt(Element.getStyle(this.element,'left')||'0'),parseInt(Element.getStyle(this.element,'top')||'0')]);},initDrag:function(event){if(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element])return;if(Event.isLeftClick(event)){var src=Event.element(event);if((tag_name=src.tagName.toUpperCase())&&(tag_name=='INPUT'||tag_name=='SELECT'||tag_name=='OPTION'||tag_name=='BUTTON'||tag_name=='TEXTAREA'))return;var pointer=[Event.pointerX(event),Event.pointerY(event)];var pos=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(i){return(pointer[i]-pos[i])});Draggables.activate(this);Event.stop(event);}},startDrag:function(event){this.dragging=true;if(!this.delta)
this.delta=this.currentDelta();if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,'z-index')||0);this.element.style.zIndex=this.options.zindex;}
if(this.options.ghosting){this._clone=this.element.cloneNode(true);this.element._originallyAbsolute=(this.element.getStyle('position')=='absolute');if(!this.element._originallyAbsolute)
Position.absolutize(this.element);this.element.parentNode.insertBefore(this._clone,this.element);}
if(this.options.scroll){if(this.options.scroll==window){var where=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=where.left;this.originalScrollTop=where.top;}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop;}}
Draggables.notify('onStart',this,event);if(this.options.starteffect)this.options.starteffect(this.element);},updateDrag:function(event,pointer){if(!this.dragging)this.startDrag(event);if(!this.options.quiet){Position.prepare();Droppables.show(pointer,this.element);}
Draggables.notify('onDrag',this,event);this.draw(pointer);if(this.options.change)this.options.change(this);if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height];}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight);}
var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity))speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity);if(pointer[1]<(p[1]+this.options.scrollSensitivity))speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity);if(pointer[0]>(p[2]-this.options.scrollSensitivity))speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity);if(pointer[1]>(p[3]-this.options.scrollSensitivity))speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity);this.startScrolling(speed);}
if(Prototype.Browser.WebKit)window.scrollBy(0,0);Event.stop(event);},finishDrag:function(event,success){this.dragging=false;if(this.options.quiet){Position.prepare();var pointer=[Event.pointerX(event),Event.pointerY(event)];Droppables.show(pointer,this.element);}
if(this.options.ghosting){if(!this.element._originallyAbsolute)
Position.relativize(this.element);delete this.element._originallyAbsolute;Element.remove(this._clone);this._clone=null;}
var dropped=false;if(success){dropped=Droppables.fire(event,this.element);if(!dropped)dropped=false;}
if(dropped&&this.options.onDropped)this.options.onDropped(this.element);Draggables.notify('onEnd',this,event);var revert=this.options.revert;if(revert&&Object.isFunction(revert))revert=revert(this.element);var d=this.currentDelta();if(revert&&this.options.reverteffect){if(dropped==0||revert!='failure')
this.options.reverteffect(this.element,d[1]-this.delta[1],d[0]-this.delta[0]);}else{this.delta=d;}
if(this.options.zindex)
this.element.style.zIndex=this.originalZ;if(this.options.endeffect)
this.options.endeffect(this.element);Draggables.deactivate(this);Droppables.reset();},keyPress:function(event){if(event.keyCode!=Event.KEY_ESC)return;this.finishDrag(event,false);Event.stop(event);},endDrag:function(event){if(!this.dragging)return;this.stopScrolling();this.finishDrag(event,true);Event.stop(event);},draw:function(point){var pos=Position.cumulativeOffset(this.element);if(this.options.ghosting){var r=Position.realOffset(this.element);pos[0]+=r[0]-Position.deltaX;pos[1]+=r[1]-Position.deltaY;}
var d=this.currentDelta();pos[0]-=d[0];pos[1]-=d[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){pos[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;pos[1]-=this.options.scroll.scrollTop-this.originalScrollTop;}
var p=[0,1].map(function(i){return(point[i]-pos[i]-this.offset[i])}.bind(this));if(this.options.snap){if(Object.isFunction(this.options.snap)){p=this.options.snap(p[0],p[1],this);}else{if(Object.isArray(this.options.snap)){p=p.map(function(v,i){return(v/this.options.snap[i]).round()*this.options.snap[i]}.bind(this))}else{p=p.map(function(v){return(v/this.options.snap).round()*this.options.snap}.bind(this))}}}
var style=this.element.style;if((!this.options.constraint)||(this.options.constraint=='horizontal'))
style.left=p[0]+"px";if((!this.options.constraint)||(this.options.constraint=='vertical'))
style.top=p[1]+"px";if(style.visibility=="hidden")style.visibility="";},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null;}},startScrolling:function(speed){if(!(speed[0]||speed[1]))return;this.scrollSpeed=[speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10);},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1]);}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000;}
Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify('onDrag',this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0)
Draggables._lastScrollPointer[0]=0;if(Draggables._lastScrollPointer[1]<0)
Draggables._lastScrollPointer[1]=0;this.draw(Draggables._lastScrollPointer);}
if(this.options.change)this.options.change(this);},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft;}else if(w.document.body){T=body.scrollTop;L=body.scrollLeft;}
if(w.innerWidth){W=w.innerWidth;H=w.innerHeight;}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight;}else{W=body.offsetWidth;H=body.offsetHeight}}
return{top:T,left:L,width:W,height:H};}});Draggable._dragging={};var SortableObserver=Class.create({initialize:function(element,observer){this.element=$(element);this.observer=observer;this.lastValue=Sortable.serialize(this.element);},onStart:function(){this.lastValue=Sortable.serialize(this.element);},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element))
this.observer(this.element)}});var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(element){while(element.tagName.toUpperCase()!="BODY"){if(element.id&&Sortable.sortables[element.id])return element;element=element.parentNode;}},options:function(element){element=Sortable._findRootElement($(element));if(!element)return;return Sortable.sortables[element.id];},destroy:function(element){var s=Sortable.options(element);if(s){Draggables.removeObserver(s.element);s.droppables.each(function(d){Droppables.remove(d)});s.draggables.invoke('destroy');delete Sortable.sortables[s.element.id];}},create:function(element){element=$(element);var options=Object.extend({element:element,tag:'li',dropOnEmpty:false,tree:false,treeTag:'ul',overlap:'vertical',constraint:'vertical',containment:element,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,elements:false,handles:false,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(element);var options_for_draggable={revert:true,quiet:options.quiet,scroll:options.scroll,scrollSpeed:options.scrollSpeed,scrollSensitivity:options.scrollSensitivity,delay:options.delay,ghosting:options.ghosting,constraint:options.constraint,handle:options.handle};if(options.starteffect)
options_for_draggable.starteffect=options.starteffect;if(options.reverteffect)
options_for_draggable.reverteffect=options.reverteffect;else
if(options.ghosting)options_for_draggable.reverteffect=function(element){element.style.top=0;element.style.left=0;};if(options.endeffect)
options_for_draggable.endeffect=options.endeffect;if(options.zindex)
options_for_draggable.zindex=options.zindex;var options_for_droppable={overlap:options.overlap,containment:options.containment,tree:options.tree,hoverclass:options.hoverclass,onHover:Sortable.onHover}
var options_for_tree={onHover:Sortable.onEmptyHover,overlap:options.overlap,containment:options.containment,hoverclass:options.hoverclass}
Element.cleanWhitespace(element);options.draggables=[];options.droppables=[];if(options.dropOnEmpty||options.tree){Droppables.add(element,options_for_tree);options.droppables.push(element);}
(options.elements||this.findElements(element,options)||[]).each(function(e,i){var handle=options.handles?$(options.handles[i]):(options.handle?$(e).select('.'+options.handle)[0]:e);options.draggables.push(new Draggable(e,Object.extend(options_for_draggable,{handle:handle})));Droppables.add(e,options_for_droppable);if(options.tree)e.treeNode=element;options.droppables.push(e);});if(options.tree){(Sortable.findTreeElements(element,options)||[]).each(function(e){Droppables.add(e,options_for_tree);e.treeNode=element;options.droppables.push(e);});}
this.sortables[element.id]=options;Draggables.addObserver(new SortableObserver(element,options.onUpdate));},findElements:function(element,options){return Element.findChildren(element,options.only,options.tree?true:false,options.tag);},findTreeElements:function(element,options){return Element.findChildren(element,options.only,options.tree?true:false,options.treeTag);},onHover:function(element,dropon,overlap){if(Element.isParent(dropon,element))return;if(overlap>.33&&overlap<.66&&Sortable.options(dropon).tree){return;}else if(overlap>0.5){Sortable.mark(dropon,'before');if(dropon.previousSibling!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,dropon);if(dropon.parentNode!=oldParentNode)
Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element);}}else{Sortable.mark(dropon,'after');var nextElement=dropon.nextSibling||null;if(nextElement!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,nextElement);if(dropon.parentNode!=oldParentNode)
Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element);}}},onEmptyHover:function(element,dropon,overlap){var oldParentNode=element.parentNode;var droponOptions=Sortable.options(dropon);if(!Element.isParent(dropon,element)){var index;var children=Sortable.findElements(dropon,{tag:droponOptions.tag,only:droponOptions.only});var child=null;if(children){var offset=Element.offsetSize(dropon,droponOptions.overlap)*(1.0-overlap);for(index=0;index<children.length;index+=1){if(offset-Element.offsetSize(children[index],droponOptions.overlap)>=0){offset-=Element.offsetSize(children[index],droponOptions.overlap);}else if(offset-(Element.offsetSize(children[index],droponOptions.overlap)/2)>=0){child=index+1<children.length?children[index+1]:null;break;}else{child=children[index];break;}}}
dropon.insertBefore(element,child);Sortable.options(oldParentNode).onChange(element);droponOptions.onChange(element);}},unmark:function(){if(Sortable._marker)Sortable._marker.hide();},mark:function(dropon,position){var sortable=Sortable.options(dropon.parentNode);if(sortable&&!sortable.ghosting)return;if(!Sortable._marker){Sortable._marker=($('dropmarker')||Element.extend(document.createElement('DIV'))).hide().addClassName('dropmarker').setStyle({position:'absolute'});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker);}
var offsets=Position.cumulativeOffset(dropon);Sortable._marker.setStyle({left:offsets[0]+'px',top:offsets[1]+'px'});if(position=='after')
if(sortable.overlap=='horizontal')
Sortable._marker.setStyle({left:(offsets[0]+dropon.clientWidth)+'px'});else
Sortable._marker.setStyle({top:(offsets[1]+dropon.clientHeight)+'px'});Sortable._marker.show();},_tree:function(element,options,parent){var children=Sortable.findElements(element,options)||[];for(var i=0;i<children.length;++i){var match=children[i].id.match(options.format);if(!match)continue;var child={id:encodeURIComponent(match?match[1]:null),element:element,parent:parent,children:[],position:parent.children.length,container:$(children[i]).down(options.treeTag)}
if(child.container)
this._tree(child.container,options,child)
parent.children.push(child);}
return parent;},tree:function(element){element=$(element);var sortableOptions=this.options(element);var options=Object.extend({tag:sortableOptions.tag,treeTag:sortableOptions.treeTag,only:sortableOptions.only,name:element.id,format:sortableOptions.format},arguments[1]||{});var root={id:null,parent:null,children:[],container:element,position:0}
return Sortable._tree(element,options,root);},_constructIndex:function(node){var index='';do{if(node.id)index='['+node.position+']'+index;}while((node=node.parent)!=null);return index;},sequence:function(element){element=$(element);var options=Object.extend(this.options(element),arguments[1]||{});return $(this.findElements(element,options)||[]).map(function(item){return item.id.match(options.format)?item.id.match(options.format)[1]:'';});},setSequence:function(element,new_sequence){element=$(element);var options=Object.extend(this.options(element),arguments[2]||{});var nodeMap={};this.findElements(element,options).each(function(n){if(n.id.match(options.format))
nodeMap[n.id.match(options.format)[1]]=[n,n.parentNode];n.parentNode.removeChild(n);});new_sequence.each(function(ident){var n=nodeMap[ident];if(n){n[1].appendChild(n[0]);delete nodeMap[ident];}});},serialize:function(element){element=$(element);var options=Object.extend(Sortable.options(element),arguments[1]||{});var name=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:element.id);if(options.tree){return Sortable.tree(element,arguments[1]).children.map(function(item){return[name+Sortable._constructIndex(item)+"[id]="+
encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));}).flatten().join('&');}else{return Sortable.sequence(element,arguments[1]).map(function(item){return name+"[]="+encodeURIComponent(item);}).join('&');}}}
Element.isParent=function(child,element){if(!child.parentNode||child==element)return false;if(child.parentNode==element)return true;return Element.isParent(child.parentNode,element);}
Element.findChildren=function(element,only,recursive,tagName){if(!element.hasChildNodes())return null;tagName=tagName.toUpperCase();if(only)only=[only].flatten();var elements=[];$A(element.childNodes).each(function(e){if(e.tagName&&e.tagName.toUpperCase()==tagName&&(!only||(Element.classNames(e).detect(function(v){return only.include(v)}))))
elements.push(e);if(recursive){var grandchildren=Element.findChildren(e,only,recursive,tagName);if(grandchildren)elements.push(grandchildren);}});return(elements.length>0?elements.flatten():[]);}
Element.offsetSize=function(element,type){return element['offset'+((type=='vertical'||type=='height')?'Height':'Width')];}
var Scriptaculous={Version:'1.8.0',require:function(libraryName){},REQUIRED_PROTOTYPE:'1.6.0',load:function(){function convertVersionString(versionString){var r=versionString.split('.');return parseInt(r[0])*100000+parseInt(r[1])*1000+parseInt(r[2]);}
if((typeof Prototype=='undefined')||(typeof Element=='undefined')||(typeof Element.Methods=='undefined')||(convertVersionString(Prototype.Version)<convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))
throw("script.aculo.us requires the Prototype JavaScript framework >= "+
Scriptaculous.REQUIRED_PROTOTYPE);$A(document.getElementsByTagName("script")).findAll(function(s){return(s.src&&s.src.match(/scriptaculous\.js(\?.*)?$/))}).each(function(s){var path=s.src.replace(/scriptaculous\.js(\?.*)?$/,'');var includes=s.src.match(/\?.*load=([a-z,]*)/);(includes?includes[1]:'builder,effects,dragdrop,controls,slider,sound').split(',').each(function(include){Scriptaculous.require(path+include+'.js')});});}}
Scriptaculous.load();function getHTTPObject(){var xmlhttp;if(!xmlhttp&&typeof XMLHttpRequest!='undefined'){try{xmlhttp=new XMLHttpRequest();}catch(e){xmlhttp=false;}}
return xmlhttp;}
function handleHttpResponse(par){if(http.readyState==4){e=document.getElementById("ajaxdiv");UpdateInnerXML(e,http.responseText,"overwrite");}else{}}
function testAjax(){log("AjaxTest");http.open("GET","?ajaxrequest=getpage&page=jtest&action=getpage",true);http.onreadystatechange=handleHttpResponse;http.send(null);}
var http=getHTTPObject();function loadpage(url,e){log("loadpage: "+url);var l=new XMLLoader();url="?ajaxrequest=loadpage&"+url+"&ajaxsessionuuid="+sessionuuid;l.url=url;l.data="";l.OnComplete=function(responseText,responseXml){UpdateInnerXML(e,responseText,"overwrite");PostProcessTags(e);}
l.Go();}
if(typeof DOMParser=="undefined"){DOMParser=function(){}
DOMParser.prototype.parseFromString=function(str,contentType){if(typeof ActiveXObject!="undefined"){var d=new ActiveXObject("MSXML.DomDocument");d.loadXML(str);return d;}else if(typeof XMLHttpRequest!="undefined"){var req=new XMLHttpRequest;req.open("GET","data:"+(contentType||"application/xml")+";charset=utf-8,"+encodeURIComponent(str),false);if(req.overrideMimeType){req.overrideMimeType(contentType);}
req.send(null);return req.responseXML;}}}
function GetNodeInnerXML(node){var xml="";if(node.innerHTML){xml=node.innerHTML;}else{var i=0;for(i=0;i<node.childNodes.length;i++){xml+=node.childNodes[i].xml;}}
xml=xml.replace(" xmlns=\"http://www.w3.org/1999/xhtml\"","");return xml;}
function loadajaxscript(url,post_exec,Post_Data){var l=new XMLLoader();if(url.startsWith("/"))
url="ajaxrequest/loadpage/"+url;else
url="?ajaxrequest=loadpage&"+url+"&ajaxsessionuuid="+sessionuuid;l.url=url;if(Post_Data){l.SetMethod('POST');l.data=Post_Data;}
l.OnComplete=function(responseText,responseXml){if(responseText.substring(0,1)!="<"){alert("Invalid response:\n"+responseText);}else{var parser=new DOMParser();var nodes=parser.parseFromString("<div xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:l=\"http://www.linkorb.com/linkorbhtml\">"
+responseText+"</div>",'application/xml').documentElement;if(!RunLinkORBScript(nodes)){alert("ResponseError:<br />"+responseText);}}
if(post_exec){var postExeType=typeof(post_exec);if(postExeType=="function")eval(post_exec)();else if(postExeType=="string")eval(post_exec);else alert("Invalid postexec");}
SetIndicator();}
SetIndicator("on");l.Go();return l;}
function XMLLoader(){this.XmlHttp=this.GetHttpObject();this.method='GET';}
XMLLoader.prototype.GetHttpObject=function(){var xmlhttp;if(!xmlhttp&&typeof XMLHttpRequest!='undefined'){try{xmlhttp=new XMLHttpRequest();}catch(e){xmlhttp=false;}}
return xmlhttp;}
XMLLoader.prototype.Go=function(){if(this.XmlHttp)
{if(this.XmlHttp.readyState==4||this.XmlHttp.readyState==0)
{var oThis=this;this.url=baseUrl+this.url;this.XmlHttp.open(this.method,this.url,true);this.XmlHttp.onreadystatechange=function()
{oThis.ReadyStateChange();};this.XmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');this.XmlHttp.send(this.data);}}}
XMLLoader.prototype.Cancel=function(){if(this.XmlHttp)
this.XmlHttp.abort();}
XMLLoader.prototype.OnLoading=function(){e=document.getElementById("loadingbox");if(e)e.style.visibility="visible";}
XMLLoader.prototype.OnLoaded=function(){e=document.getElementById("loadingbox");if(e)e.style.visibility="hidden";}
XMLLoader.prototype.OnInteractive=function(){}
XMLLoader.prototype.OnComplete=function(responseText,responseXml){UpdateInnerXML(this.target,responseText,"overwrite");}
XMLLoader.prototype.OnAbort=function(){}
XMLLoader.prototype.OnError=function(status,statusText){}
XMLLoader.prototype.ReadyStateChange=function(){if(this.XmlHttp.readyState==1){this.OnLoading();}
else if(this.XmlHttp.readyState==2){this.OnLoaded();}
else if(this.XmlHttp.readyState==3){this.OnInteractive();}
else if(this.XmlHttp.readyState==4){try{var np=this.XmlHttp.status;}catch(err){return;}
if(this.XmlHttp.status==0){this.OnAbort();}else{if(this.XmlHttp.status==200&&this.XmlHttp.statusText=="OK"){this.OnComplete(this.XmlHttp.responseText,this.XmlHttp.responseXML);}else{this.OnError(this.XmlHttp.status,this.XmlHttp.statusText,this.XmlHttp.responseText);}}}}
XMLLoader.prototype.SetMethod=function(method){this.method=method;}
function dragObject(){}
var curDragObject=new dragObject();curDragObject.element=null;function testDropHit(id){e=document.getElementById(id);if((curDragObject.element.offsetLeft<e.offsetLeft+e.offsetWidth)&&(curDragObject.element.offsetLeft+curDragObject.element.offsetWidth>e.offsetLeft)&&(curDragObject.element.offsetTop+curDragObject.element.offsetHeight>e.offsetTop)&&(curDragObject.element.offsetTop<e.offsetTop+e.offsetHeight)){document.title="You dragged "+curDragObject.element.id+" into the drop div.";}else{document.title="!ok";}}
function setDraggable(id,dropid){element=document.getElementById(id);element.onmousedown=function(e){document.onmousedown=falsefunc;curDragObject.element=this;getMouseXY(e);curDragObject.clickX=mousex-this.offsetLeft;curDragObject.clickY=mousey-this.offsetTop;curDragObject.element.style.zIndex="1";}
element.style.cursor="move";}
var fxArray=new Array();function setElementAlpha(el,alpha){if(!el)return;var object=el.style;object.opacity=(alpha/100);object.MozOpacity=(alpha/100);object.KhtmlOpacity=(alpha/100);object.filter="alpha(opacity="+alpha+")";}
function redrawEffect(f){switch(f.ease){case"ease-both":p=50*(Math.sin(0.01*f.progress*Math.PI-0.5*Math.PI)+1);break;case"ease-out":p=100*(Math.sin(0.005*f.progress*Math.PI));break;case"ease-in":p=100*(Math.sin(0.005*f.progress*Math.PI-0.5*Math.PI)+1);break;default:p=f.progress;break;}
switch(f.effect){case"fade-to":add=((f.endA-f.startA)*p)/100;setElementAlpha(f.element,f.startA+add);break;case"fade-in":setElementAlpha(f.element,p);break;case"fade-out":setElementAlpha(f.element,f.max-p);break;case"blind-in":f.element.style.height=p+"px";break;case"blind-in-left":f.element.style.width=(f.startW+(((f.endW-f.startW)*p)/100))+"px";break;case"blind-out":f.element.style.height=f.max+1-p+"px";break;case"flyto":add=((f.endX-f.startX)*p)/100;f.element.style.left=f.startX+add+"px";add=((f.endY-f.startY)*p)/100;f.element.style.top=f.startY+add+"px";break;case"resize":add=((f.endW-f.startW)*p)/100;f.element.style.width=f.startW+add+"px";add=((f.endH-f.startH)*p)/100;f.element.style.height=f.startH+add+"px";break;}}
function fx(){this.effect="fade-in";this.speed=10;this.progress=0;this.max=100;this.startA=0;this.endA=100;this.startW=0;this.endW=0;this.startH=0;this.endH=0;this.update=function(){if(this.progress<this.max){this.progress+=this.speed;if(this.progress>=this.max){this.progress=this.max;redrawEffect(this);if(this.oncomplete){this.oncomplete();}}else{redrawEffect(this);}}}}
function registerEffect(f){fxArray[fxArray.length]=f;}
function updateEffects(){for(var i=0;i<fxArray.length;i++){fxArray[i].update();}}
function StartEffect(effect,id_or_ele,speed,oncomplete){f=new fx();f.effect=effect;f.speed=speed;if(typeof(id_or_ele)=="string")
f.element=document.getElementById(id_or_ele);else
f.element=id_or_ele;f.oncomplete=oncomplete;registerEffect(f);return f;}
function FlyTo(id,x,y){f=new fx();f.effect="flyto";f.ease="ease-out";f.speed=10;f.element=document.getElementById(id);f.startX=f.element.offsetLeft;f.startY=f.element.offsetTop;f.endX=x;f.endY=y;registerEffect(f);return f;}
function FlyToRelative(id,x,y){f=new fx();f.effect="flytoRelative";f.speed=10;f.element=document.getElementById(id);f.startX=f.element.offsetLeft;f.startY=f.element.offsetTop;f.endX=x;f.endY=y;registerEffect(f);}
function CSBfleXcroll(targetId){if(!document.getElementById||document.getElementById(targetId)==null||!document.createElement)return;var dDiv=document.getElementById(targetId);var cDiv=createDiv('contentwrapper',true)
var mDiv=createDiv('mcontentwrapper',true)
var tDiv=createDiv('scrollwrapper',true)
var pDiv=createDiv('copyholder',true)
pDiv.style.border='1px solid transparent';pDiv.style.visibility='hidden';copyStyles('dDiv','pDiv',false,true,'0px',['border-left-width','border-right-width','border-top-width','border-bottom-width'],['borderLeftWidth','borderRightWidth','borderTopWidth','borderBottomWidth']);var intlHeight=dDiv.offsetHeight,intlWidth=dDiv.offsetWidth;copyStyles('dDiv','mDiv',false,true,'0px',['padding-left','padding-right','padding-top','padding-bottom'],['paddingLeft','paddingRight','paddingTop','paddingBottom']);var postWidth=dDiv.offsetWidth,postHeight=dDiv.offsetHeight,heightLoss=intlHeight-postHeight,widthLoss=intlWidth-postWidth;dDiv.style.width=intlWidth+'px';dDiv.style.height=intlHeight+'px';tDiv.style.width=dDiv.offsetWidth+'px';tDiv.style.height=dDiv.offsetHeight+'px';mDiv.style.width=postWidth+'px';mDiv.style.height=postHeight+'px';tDiv.style.position='absolute';tDiv.style.top='0px';tDiv.style.left='0px';cDiv.innerHTML=dDiv.innerHTML;dDiv.innerHTML='';dDiv.appendChild(tDiv);dDiv.appendChild(mDiv);dDiv.appendChild(pDiv);mDiv.appendChild(cDiv)
cDiv.style.position='relative';mDiv.style.position='relative';cDiv.style.padding='1px';dDiv.style.overflow='hidden';mDiv.style.overflow='hidden';mDiv.style.top="0";cDiv.style.top="0";tDiv.hVspace=0,tDiv.vHspace=0
cDiv.getContentWidth=function(){var cChilds=cDiv.childNodes,maxCWidth=0,compPad=0;for(var i=0;i<cChilds.length;i++){if(cChilds[i].offsetWidth){maxCWidth=Math.max(cChilds[i].offsetWidth,maxCWidth)}}
cDiv.contentWidth=maxCWidth+widthLoss;return cDiv.contentWidth;}
cDiv.getContentHeight=function(){cDiv.contentHeight=cDiv.offsetHeight+heightLoss;return cDiv.contentHeight;}
tDiv.createVScroll=function(){if(cDiv.getContentHeight()>dDiv.offsetHeight&&!dDiv.vScroll){vrt=new Array();createScrollBars(vrt,'vscroller');tDiv.barPadding=parseInt(getActiveStyle(vrt.sBar,'padding-top','paddingTop'));vrt.sBar.style.padding='0px';vrt.sBar.vertical=true;prepareScroll(vrt.sDiv,vrt.sBar,vrt.sFDiv,vrt.sFBar,vrt.sSDiv,vrt.sSBar,tDiv.vHspace)
tDiv.hVspace=vrt.sDiv.offsetWidth;mDiv.style.width=postWidth-tDiv.hVspace+'px'
cDiv.getContentWidth();cDiv.getContentHeight();prepareScroll(vrt.sDiv,vrt.sBar,vrt.sFDiv,vrt.sFBar,vrt.sSDiv,vrt.sSBar,tDiv.vHspace)
dDiv.vScroll=true;}}
tDiv.createHScroll=function(){if(cDiv.getContentWidth()>dDiv.offsetWidth&&!dDiv.hScroll){var hrz=new Array();createScrollBars(hrz,'hscroller');tDiv.barPadding=parseInt(getActiveStyle(hrz.sBar,'padding-left','paddingLeft'));hrz.sBar.style.padding='0px';if(window.opera)hrz.sBar.style.position='relative';hrz.sBar.vertical=false;prepareScroll(hrz.sDiv,hrz.sBar,hrz.sFDiv,hrz.sFBar,hrz.sSDiv,hrz.sSBar,tDiv.hVspace)
tDiv.vHspace=hrz.sDiv.offsetHeight;mDiv.style.height=postHeight-tDiv.vHspace+'px';dDiv.hScroll=true;if(dDiv.vScroll){cDiv.getContentWidth();cDiv.getContentHeight();prepareScroll(vrt.sDiv,vrt.sBar,vrt.sFDiv,vrt.sFBar,vrt.sSDiv,vrt.sSBar,tDiv.vHspace)
hrz.jBox=createDiv('scrollerjogbox');hrz.jBox.prnt=tDiv;tDiv.appendChild(hrz.jBox);hrz.jBox.onmousedown=function(){hrz.sBar.scrollBoth=true;document.goScroll=hrz.sBar;hrz.sBar.clicked=true;hrz.sBar.moved=false;hrz.sBar.scrlTrgt.vBar.moved=false;addTrigger(document,'selectstart',CSBpreventTselect);addTrigger(document,'mousemove',CSBMoveBar);addTrigger(document,'mouseup',CSBMouseUp);return false;}}
if(!dDiv.vScroll&&cDiv.offsetHeight>dDiv.offsetHeight){tDiv.createVScroll();cDiv.getContentWidth();prepareScroll(hrz.sDiv,hrz.sBar,hrz.sFDiv,hrz.sFBar,hrz.sSDiv,hrz.sSBar,tDiv.hVspace)}}}
document.goScroll=null;tDiv.createVScroll();tDiv.createHScroll();copyStyles('pDiv','dDiv',false,true,'0px',['border-left-width','border-right-width','border-top-width','border-bottom-width'],['borderLeftWidth','borderRightWidth','borderTopWidth','borderBottomWidth']);cDiv.style.padding='0px';dDiv.removeChild(pDiv);function getActiveStyle(elem,style,stylecc){if(window.getComputedStyle)return window.getComputedStyle(elem,null).getPropertyValue(style);if(elem.currentStyle)return eval("elem.currentStyle."+stylecc);return'';}
function copyStyles(src,dest,store,replace,replaceStr,sList,camelList){for(var i=0;i<sList.length;i++){eval(dest+'.style.'+camelList[i]+' = getActiveStyle('+src+',"'+sList[i]+'","'+camelList[i]+'")');if(replace)eval(src+'.style.'+camelList[i]+' = "'+replaceStr+'"');}}
function createDiv(typeName,noGenericClass){var newDiv=document.createElement('div');newDiv.id=targetId+'_'+typeName;newDiv.className=(noGenericClass)?typeName:typeName+' scrollgeneric';return newDiv;}
function createScrollBars(ary,bse){ary.sDiv=createDiv(bse+'base');ary.sFDiv=createDiv(bse+'basebeg')
ary.sSDiv=createDiv(bse+'baseend')
ary.sBar=createDiv(bse+'bar');ary.sFBar=createDiv(bse+'barbeg')
ary.sSBar=createDiv(bse+'barend')
tDiv.appendChild(ary.sDiv);ary.sDiv.appendChild(ary.sBar);ary.sDiv.appendChild(ary.sFDiv);ary.sDiv.appendChild(ary.sSDiv);ary.sBar.appendChild(ary.sFBar);ary.sBar.appendChild(ary.sSBar);}
function prepareScroll(sDiv,sBar,sFDiv,sFBar,sSDiv,sSBar,reqSpace){sBar.minPos=tDiv.barPadding;sBar.curPos=0;sBar.ofstParent=sDiv;sBar.mDiv=mDiv;sBar.scrlTrgt=cDiv;if(sBar.vertical){sDiv.style.height=(tDiv.offsetHeight-reqSpace)+'px';sDiv.style.left=tDiv.offsetWidth-sDiv.offsetWidth+'px';sBar.style.height=parseInt(dDiv.offsetHeight/cDiv.contentHeight*sDiv.offsetHeight)+'px';sBar.style.top=sBar.minPos+'px';sBar.maxPos=sDiv.offsetHeight-sBar.offsetHeight-tDiv.barPadding;sBar.mxScroll=mDiv.offsetHeight-cDiv.contentHeight;sBar.pageScroll=parseInt(sBar.offsetHeight*0.96);cDiv.vBar=sBar;sFDiv.style.height=sDiv.offsetHeight-sSDiv.offsetHeight+'px';sFBar.style.height=sBar.offsetHeight-sSBar.offsetHeight+'px';sSBar.style.top=sFBar.offsetHeight+'px';sSDiv.style.top=sFDiv.offsetHeight+'px';}else{sDiv.style.width=(tDiv.offsetWidth-reqSpace)+'px';sDiv.style.top=tDiv.offsetHeight-sDiv.offsetHeight+'px';sBar.style.width=parseInt(dDiv.offsetWidth/cDiv.contentWidth*sDiv.offsetWidth)+'px';sBar.style.left=sBar.minPos+'px';sBar.maxPos=sDiv.offsetWidth-sBar.offsetWidth-tDiv.barPadding;sBar.mxScroll=mDiv.offsetWidth-cDiv.contentWidth;sBar.pageScroll=parseInt(sBar.offsetWidth*0.96);cDiv.hBar=sBar;sFDiv.style.width=sDiv.offsetWidth-sSDiv.offsetWidth+'px';sFBar.style.width=sBar.offsetWidth-sSBar.offsetWidth+'px';sSBar.style.left=sFBar.offsetWidth+'px';sSDiv.style.left=sFDiv.offsetWidth+'px';}
mDiv.style.zIndex=getActiveStyle(sBar,'z-index','zIndex');sBar.sRange=sBar.maxPos-sBar.minPos;sBar.onmousedown=function(){this.clicked=true;document.goScroll=this;this.scrollBoth=false;this.moved=false;addTrigger(document,'selectstart',CSBpreventTselect);addTrigger(document,'mousemove',CSBMoveBar);addTrigger(document,'mouseup',CSBMouseUp);return false;}
sDiv.onmousedown=function(e){if(!e){var e=window.event;}
if(e.target&&(e.target==sFBar||e.target==sSBar))return;if(e.srcElement&&(e.srcElement==sFBar||e.srcElement==sSBar))return;var newCurPos,relPos;var xScrolled=(window.pageXOffset)?window.pageXOffset:(document.documentElement&&document.documentElement.scrollLeft)?document.documentElement.scrollLeft:0;var yScrolled=(window.pageYOffset)?window.pageYOffset:(document.documentElement&&document.documentElement.scrollTop)?document.documentElement.scrollTop:0;sBar.mDiv.scrollTop=0;sBar.mDiv.scrollLeft=0;CSBFindPos(sBar);relPos=(sBar.vertical)?e.clientY+yScrolled-sBar.yPos:e.clientX+xScrolled-sBar.xPos;newCurPos=(relPos>0)?sBar.curPos+sBar.pageScroll:sBar.curPos-sBar.pageScroll;sBar.curPos=(Math.min(Math.max(newCurPos,sBar.minPos),sBar.maxPos))
sBar.targetScroll=parseInt(((sBar.curPos-sBar.minPos)/sBar.sRange)*sBar.mxScroll);if(sBar.vertical){sBar.style.top=sBar.curPos+"px";sBar.scrlTrgt.style.top=sBar.targetScroll+'px';}else{sBar.style.left=sBar.curPos+"px";sBar.scrlTrgt.style.left=sBar.targetScroll+'px';}
return false;}}}
function CSBpreventTselect(){return false;}
function CSBMoveBar(e){if(!e){var e=window.event;}
var FCBar=document.goScroll,moveBar,maxx;if(FCBar==null)return;maxx=(FCBar.scrollBoth)?2:1;for(var i=0;i<maxx;i++){moveBar=(i==1)?FCBar.scrlTrgt.vBar:FCBar;if(FCBar.clicked){if(!moveBar.moved){moveBar.mDiv.scrollTop=0;moveBar.mDiv.scrollLeft=0;CSBFindPos(moveBar);CSBFindPos(moveBar.ofstParent);moveBar.pointerOffsetY=e.clientY-moveBar.yPos;moveBar.pointerOffsetX=e.clientX-moveBar.xPos;moveBar.inCurPos=moveBar.curPos;moveBar.moved=true;}
moveBar.curPos=(moveBar.vertical)?e.clientY-moveBar.pointerOffsetY-moveBar.ofstParent.yPos:e.clientX-moveBar.pointerOffsetX-moveBar.ofstParent.xPos;if(FCBar.scrollBoth)moveBar.curPos=moveBar.curPos+(moveBar.curPos-moveBar.inCurPos);moveBar.curPos=(Math.min(Math.max(moveBar.curPos,moveBar.minPos),moveBar.maxPos))
if(moveBar.vertical){moveBar.style.top=moveBar.curPos+"px";moveBar.targetScroll=parseInt(((moveBar.curPos-moveBar.minPos)/moveBar.sRange)*moveBar.mxScroll);moveBar.scrlTrgt.style.top=moveBar.targetScroll+'px';}else{moveBar.style.left=moveBar.curPos+"px";moveBar.targetScroll=parseInt(((moveBar.curPos-moveBar.minPos)/moveBar.sRange)*moveBar.mxScroll);moveBar.scrlTrgt.style.left=moveBar.targetScroll+'px';}}else moveBar.moved=false;}}
function CSBMouseUp(){if(document.goScroll!=null){document.goScroll.clicked=false;}
document.goScroll=null;removeTrigger(document,'selectstart',CSBpreventTselect);removeTrigger(document,'mousemove',CSBMoveBar)
removeTrigger(document,'mouseup',CSBMouseUp)}
function addTrigger(elm,eventname,func){if(!addCheckTrigger(elm,eventname,func)&&elm.attachEvent)elm.attachEvent('on'+eventname,func);}
function addCheckTrigger(elm,eventname,func){if(elm.addEventListener){elm.addEventListener(eventname,func,false);return true;}
else return false;}
function removeTrigger(elm,eventname,func){if(!removeCheckTrigger(elm,eventname,func)&&elm.detachEvent)elm.detachEvent('on'+elementname,func);}
function removeCheckTrigger(elm,eventname,func){if(elm.removeEventListener){elm.removeEventListener(eventname,func,false);return true;}
else return false;}
function CSBFindPos(elem){var obj=elem;var curleft=0;var curtop=0;if(obj.offsetParent){while(obj.offsetParent){curleft+=obj.offsetLeft
curtop+=obj.offsetTop
obj=obj.offsetParent;}}else if(obj.x&&obj.y){curleft+=obj.x;curtop+=obj.y;}
elem.xPos=curleft;elem.yPos=curtop;}
var isIE=(navigator.appName=="Microsoft Internet Explorer")?true:false;var nn6=document.getElementById&&!document.all;function SetIndicator(enabled){e1=document.getElementById("indicator");e2=document.getElementById("indicator_inactive");if(!e1)return;if(!e2)return;if(enabled){if(e1)e1.style.display="";if(e2)e2.style.display="none";}else{if(e1)e1.style.display="none";if(e2)e2.style.display="";}}
function findPosX(obj)
{var curleft=0;if(obj.offsetParent)
{while(obj.offsetParent)
{curleft+=obj.offsetLeft
obj=obj.offsetParent;}}
else if(obj.x)
curleft+=obj.x;return curleft;}
function findPosY(obj)
{var curtop=0;if(obj.offsetParent)
{while(obj.offsetParent)
{curtop+=obj.offsetTop
obj=obj.offsetParent;}}
else if(obj.y)
curtop+=obj.y;return curtop;}
function getElementsByClass(node,searchClass,tag){var classElements=new Array();var els=node.getElementsByTagName(tag);var elsLen=els.length;var pattern=new RegExp("(^|\\s)"+searchClass+"(\\s|$)");for(i=0,j=0;i<elsLen;i++){if(pattern.test(els[i].className)){classElements[j]=els[i];j++;}}
return classElements;}
function childrenOfType(node,tag){var hits=new Array();if(!node)return hits;tag=tag.toLowerCase();var els=node.childNodes;if(!els)return hits;var elsLen=els.length;var j=0;var i=0;for(var i=0,j=0;i<elsLen;i++){var tagName=els[i].tagName;if(tagName){if(tagName.toLowerCase()==tag){hits[j]=els[i];j++;}}}
return hits;}
function elementGetElementById(node,searchID,tag){var els=node.getElementsByTagName(tag);var elsLen=els.length;for(i=0,j=0;i<elsLen;i++){if(els[i].id==searchID){return els[i];j++;}}
return null;}
function GetParentById(e,id){var topelement=isIE?"BODY":"HTML";fe=e;while(fe&&(fe.tagName!=topelement)&&(fe.id!="windowbody")){fe=isIE?fe.parentElement:fe.parentNode;}
if(!fe){fe=document.getElementById(target);}
return fe;}
function URLEncode(plaintext){var SAFECHARS="0123456789"+"ABCDEFGHIJKLMNOPQRSTUVWXYZ"+"abcdefghijklmnopqrstuvwxyz"+"-_.!~*'()";var HEX="0123456789ABCDEF";var encoded="";for(var i=0;i<plaintext.length;i++){var ch=plaintext.charAt(i);if(ch==" "){encoded+="+";}else if(SAFECHARS.indexOf(ch)!=-1){encoded+=ch;}else{var charCode=ch.charCodeAt(0);if(charCode>255){alert("Unicode Character '"
+ch
+"' cannot be encoded using standard URL encoding.\n"+"(URL encoding only supports 8-bit characters.)\n"+"A space (+) will be substituted.");encoded+="+";}else{encoded+="%";encoded+=HEX.charAt((charCode>>4)&0xF);encoded+=HEX.charAt(charCode&0xF);}}}
return encoded;};function leadingZero(nr){return(nr<0||nr>9?"":"0")+nr;}
function log(text){var now=new Date();t=leadingZero(now.getHours())+":"+leadingZero(now.getMinutes())+":"+leadingZero(now.getSeconds());text=text.replace(/&/g,"&amp;");text=t+"&gt; "+text+"<br />";e=document.getElementById("debug");if(e)UpdateInnerXML(e,text,"prepend");e=document.getElementById("debug_contentwrapper");if(e)UpdateInnerXML(e,text,"prepend");return;}
function base64_decode_innerHTML(id){var obj=document.getElementById(id);if(!obj)return;obj.innerHTML=base64_decode(obj.innerHTML);if(QuickLoadMode)SetupQuickLoadHooks(obj);}
function flipElementDisplay(ele){ele.style.display=(ele.style.display=="none")?"":"none";}
GlobalEvents=new Array();function RegisterGlobalEvent(eventName,effectPage,funcName){if(!GlobalEvents[effectPage])GlobalEvents[effectPage]=new Array();GlobalEvents[effectPage][eventName]=funcName;}
function ActiveGlobalEvents(effectPage){var a=GlobalEvents[effectPage];for(var i in a){if(typeof(a[i])!="function")eval(i+"="+a[i]+";");}}
function DeactiveGlobalEvents(effectPage){var a=GlobalEvents[effectPage];for(var i in a){if(typeof(a[i])!="function")eval(i+"=null;");}}
function ResetPageVariables(effectPage){var funcName=effectPage+"_ResetVariables";if('function'==eval("typeof(window."+funcName+")")){eval(funcName+"();");}}
function appendElementEventHandler(el,handler,code){var o=el.getAttribute(handler);if(isIE){if(o){o=o.toString();o=o.replace("function anonymous()\n{","");o=o.replace("}","");}
eval("el."+handler+" = function(){"+o+";"+code+"}");}else{el.setAttribute(handler,o+";"+code);}}
function disableSelection(target){if(typeof target.onselectstart!="undefined")
target.onselectstart=function(){return false}
else if(typeof target.style.MozUserSelect!="undefined")
target.style.MozUserSelect="none"
else
target.onmousedown=function(){return false}
target.style.cursor="default";}
function html_entity_decode(str){str=str.replace(/&lt;/g,"<");str=str.replace(/&gt;/g,">");str=str.replace(/&quot;/g,"\"");str=str.replace(/&#039;/g,"\'");str=str.replace(/&amp;/g,"&");return str;}
function LockForm(formid){var f=document.getElementById(formid);var i=0;var el=f.getElementsByTagName("input");while(i<el.length){var e=el[i];if(e.getAttribute("SkipFormLock")=="1"){i++;continue;}
switch(e.type.toLowerCase()){case"hidden":break;case"text":case"textbox":var s=document.createElement("div");s.className="locked";s.innerHTML=e.value;e.parentNode.insertBefore(s,e);break;case"radio":var s=document.createElement("div");s.className="locked";if(e.checked){s.innerHTML="+";}else{s.innerHTML="";}
e.parentNode.insertBefore(s,e);break;case"button":case"submit":case"fileupload":var s=document.createElement("div");s.className="locked";s.innerHTML=e.value;s.style.display="none";e.parentNode.insertBefore(s,e);break;default:alert("LockForm doesn't understand input type="+e.type.toLowerCase());break;}
e.style.display="none";i++;}
var i=0;var el=f.getElementsByTagName("textarea");while(i<el.length){var e=el[i];var s=document.createElement("div");s.className="locked";var content=e.innerHTML;content=content.replace(/&gt;/g,">");content=content.replace(/&lt;/g,"<");content=content.replace(/&amp;/g,"&amp;");s.innerHTML=content;s.style.height=e.offsetHeight;s.style.width=e.offsetWidth;e.style.display="none";e.className="";e.parentNode.insertBefore(s,e);i++;}
var i=0;var el=f.getElementsByTagName("select");while(i<el.length){var e=el[i];var s=document.createElement("div");s.className="locked";var ol=e.getElementsByTagName("option");var j=0;while(j<ol.length){var o=ol[j];if(o.value==e.value){s.innerHTML+=o.innerHTML;}
j++;}
e.parentNode.insertBefore(s,e);e.style.display="none";i++;}
var i=0;var el=f.getElementsByTagName("td");while(i<el.length){var e=el[i];e.chi
if(e.getAttribute("inputcell"))if(e.childNodes[0])e.childNodes[0].style.display="none";i++;}}
function UnLockForm(formid){var f=document.getElementById(formid);var i=0;var el=f.getElementsByTagName("input");while(i<el.length){var e=el[i];e.style.display="";if(e.previousSibling)e.previousSibling.style.display="none";i++;}
var i=0;var el=f.getElementsByTagName("textarea");while(i<el.length){var e=el[i];e.style.display="";e.previousSibling.style.display="none";i++;}
var i=0;var el=f.getElementsByTagName("select");while(i<el.length){var e=el[i];e.style.display="";e.previousSibling.style.display="none";i++;}
var i=0;var el=f.getElementsByTagName("td");while(i<el.length){var e=el[i];e.chi
if(e.getAttribute("inputcell"))if(e.childNodes[0])e.childNodes[0].style.display="";i++;}}
function FormDataString(fm){var str="";var ipts=fm.elements;var type="";for(var i=0;i<ipts.length;i++){type=ipts[i].getAttribute('type');type=type?type.toLowerCase():"";if(type=="file"){return false;}
if(window.tinyMCE){if(ipts[i].className=="OnlineEditor"||ipts[i].className=="AdvancedOnlineEditor"||ipts[i].id=="XHTML2PDFEditor"){tinyMCE.triggerSave();}}
if(ipts[i].name&&ipts[i].name!=""){if(type=="checkbox"){str+="&"+ipts[i].name+"=";if(ipts[i].checked)str+=encodeURIComponent(ipts[i].value);}
else if(type=="radio"){if(ipts[i].checked)str+="&"+ipts[i].name+"="+encodeURIComponent(ipts[i].value);}
else if(type=="submit"){str+="&"+ipts[i].name+"=";}
else{str+="&"+ipts[i].name+"="+encodeURIComponent(ipts[i].value);}}}
return str;}
var LinkORBMessageTimer=null;function showLinkORBMessage(msg,timeout){if(!$('linkorb_message'))return;if(LinkORBMessageTimer)
clearTimeout(LinkORBMessageTimer);if(!timeout)var timeout=10;timeout=timeout*1000;$('linkorb_message').innerHTML=msg;Effect.Appear($('linkorb_message'));LinkORBMessageTimer=setTimeout("Effect.Fade($('linkorb_message'))",timeout);}
function appendOnLoad(code){var o="onLoadHandler=onLoadHandler.wrap(function(f){";o+="f();"+code;o+="});";eval(o);}
function hasClassName(element,className){var elementClassName=element.className||'';return(elementClassName.length>0&&(elementClassName==className||new RegExp("(^|\\s)"+className+"(\\s|$)").test(elementClassName)));}
function addClassName(element,className){if(!hasClassName(element,className))
element.className+=(element.className?' ':'')+className;return element;}
function removeClassName(element,className){element.className=element.className.replace(new RegExp("(^|\\s+)"+className+"(\\s+|$)"),' ').strip();return element;}
function readAttribute(element,name){if(Prototype.Browser.IE){var t=Element._attributeTranslations.read;if(t.values[name])return t.values[name](element,name);if(t.names[name])name=t.names[name];if(name.include(':')){return(!element.attributes||!element.attributes[name])?null:element.attributes[name].value;}}
return element.getAttribute(name);}
function openlink(url){window.open(url);}
function coverElement(target,style,content){var maskid="div_LinkORB_mask_element";var mask=$(maskid);if(!mask){mask=new Element('div',{'id':maskid});document.body.appendChild(mask);}
var target=$(target);if(!target)return;if(style)mask.setStyle(style);if(content)mask.update(content);mask.clonePosition(target).show();}
function uncoverElement(){var m=$("div_LinkORB_mask_element");if(m)m.hide();}
function Visible(element){return(element.offsetWidth>0&&element.style.visibility!='hidden'&&element.type!='hidden');}
function unescapeXML(string){if(isIE)
string=new Element('div',{'style':'display:none;'}).update(string).innerHTML;return string.unescapeHTML();}
function ldebug(msg){if(window.console){if(window.console.debug)console.debug(msg);}}
function myPrependChild(parent,node){parent.insertBefore(node,parent.firstChild);}
function UpdateInnerXML(e,stringXML,position){if(isIE){switch(position){case"overwrite":e.innerHTML=stringXML;break;case"prepend":e.innerHTML=stringXML+e.innerHTML;break;case"append":e.innerHTML=e.innerHTML+stringXML;break;}
return true;}
try{var children=e.childNodes;if(position=="overwrite"){for(var i=0;i<children.length;i++){e.removeChild(children[i]);}}
var parser=new DOMParser();var nodes=parser.parseFromString("<div xmlns:l=\"http://www.linkorb.com/linkorbhtml\" xmlns=\"http://www.w3.org/1999/xhtml\">"
+stringXML+"</div>",'application/xml').documentElement;if(position=="overwrite"){var range=document.createRange();range.selectNodeContents(e);range.deleteContents();}
for(var i=0;i<nodes.childNodes.length;i++){if(document.all){e.appendChild(nodes.childNodes[i]);}else{e.appendChild(document.importNode(nodes.childNodes[i],true));}}
return true;}catch(e){alert("Parse error: "+e+"\n"+stringXML);try{document.getElementById(elementId).innerHTML=stringHTML;return true;}catch(ee){return false;}}}
function RunLinkORBAction(action){if(!action.tagName){alert("Empty action-type");return false;}
var elId=action.getAttribute("id");if(elId){var el=document.getElementById(elId);if(!el){if(!QuickLoadMode){if(action.getAttribute("onerror")!="ignore"){alert("Could not find element id "+elId);}else{}}}else{}}
switch(action.tagName){case"pimfx-message":PIMFX_Message(action.getAttribute("fromid"),GetNodeInnerXML(action));break;case"comet-ping":cometCounter=0;break;case"update-innerxml":if(el){var payload=GetNodeInnerXML(action);if(action.getAttribute("encoding")=="base64")payload=base64_decode(payload);UpdateInnerXML(el,payload,"overwrite");if(LinkORBHTML_Init)LinkORBHTML_Init(el);if(QuickLoadMode)SetupQuickLoadHooks(el);}
break;case"append-innerxml":if(el){UpdateInnerXML(el,GetNodeInnerXML(action),"append");if(LinkORBHTML_Init)LinkORBHTML_Init(el);if(QuickLoadMode)SetupQuickLoadHooks(el);}
break;case"update-value":if(el){el.value=GetNodeInnerXML(action);}
break;case"alert":alert(GetNodeInnerXML(action));break;case"notify":LinkORBFX_Notify(GetNodeInnerXML(action),action.readAttribute('uri'));break;case"document-title":document.title=GetNodeInnerXML(action);break;case"server-ping":var date=new Date();document.title="Server ping @ "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds();break;case"execute":case"execute-function":eval(GetNodeInnerXML(action));break;case"nop":break;case"update-datasource":var datasource=action.getAttribute("datasource");if(!datasource)break;var objName='LinkORB_'+datasource;var meta=action.getElementsByTagName('meta')[0];var data=action.getElementsByTagName('data')[0];QuickSelectObject[objName]=null;try{window[objName+'_meta']=GetNodeInnerXML(meta).evalJSON(true);}
catch(e){}
try{window[objName]=GetNodeInnerXML(data).evalJSON(true);}
catch(e){alert('Datesource '+datasource+' contains invalid characters.');break;}
LinkORB_quickSelectInit(action.getAttribute("id"));break;case"redirect":var linkval=GetNodeInnerXML(action);linkval=linkval.replace(/&amp;/g,"&");document.location=linkval;break;default:alert("Unknown action-type: '"+action.tagName+"' containing '"+GetNodeInnerXML(action)+"'");log("Unknown action-type: '"+action.tagName+"'");return false;break;}
return true;}
function RunLinkORBScript(nodes){var a=0;while(a<nodes.childNodes.length){if(nodes.childNodes[a].tagName){var myReturn=RunLinkORBAction(nodes.childNodes[a])
if(!myReturn){return false;}}
a++;}
return true;}
var notificationCount=0;function LinkORBFX_Notify(subject,uri){notificationCount++;if(uri){if(!uri.startsWith(baseUrl))uri=baseUrl+uri;subject+=' <a href="'+uri+'"> Read more</a>';}
var o="<div onclick=\"this.style.display='none';\" id=\"notification_"+notificationCount+"\" class=\"notification\">";o+="<h1>Notification"+notificationCount+"</h1>";o+="<div class=\"content\">"+subject+"</div></div>";var container=$("notificationcontainer");if(container){container.innerHTML+=o;}else{alert("no container?");}}
var mousex=0;var mousey=0;function getMouseXY(e){if(!e)e=window.event;mousex=Event.pointerX(e);mousey=Event.pointerY(e);return;}
function MouseMove(e){getMouseXY(e);if(curDragObject.element){setElementAlpha(curDragObject.element,50);curDragObject.element.style.left=mousex-curDragObject.clickX;curDragObject.element.style.top=mousey-curDragObject.clickY;}}
function MouseUp(){if(curDragObject.element){testDropHit("dropdiv");setElementAlpha(curDragObject.element,100);curDragObject.element=null;document.onmousedown=null;}}
document.onmousemove=MouseMove;document.onmouseup=MouseUp;document.ondragstart=falsefunc;var timerTick=0;function timerTickHandler(){updateEffects();timerTick++;}
timerTickHandlerHandle=setInterval("timerTickHandler()",50);LinkORBAutocompleter=Class.create();Object.extend(Object.extend(LinkORBAutocompleter.prototype,Ajax.Autocompleter.prototype),{initialize:function(element,update,url,options){this.baseInitialize(element,update,options);this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.onSelect=this.options.onSelect||null;this.options.defaultParams=this.options.parameters||null;this.url=baseUrl+"?ajaxrequest=loadpage&"+url+"&ajaxsessionuuid="+sessionuuid;this.url=this.url.replace(/&amp;/g,'&').replace(/\|\|/g,'&');this.options.afterUpdateElement=this.LinkORBupdate;this.hiddenID=this.options.hiddenID;},LinkORBupdate:function(element,selectedElement){var updateValue=selectedElement.getAttribute('updatevalue');updateValue=updateValue?updateValue:"";var updateInput=$(this.hiddenID);if(updateInput)
updateInput.value=updateValue;element.value=Element.collectTextNodesIgnoreClass(selectedElement,'informal');},LinkORBVerify:function(){var ipt=this.element;var id=ipt.id;var hidden=$(this.hiddenID);var dv=$('div_'+id);if(!hidden)return;if(ipt.value==''){hidden.value='';return;}
ipt.value='';var hiddenValue=hidden.value;var li=dv.getElementsByTagName('li');for(var i=0;i<li.length;i++){if(li[i].getAttribute('updatevalue')==hiddenValue){ipt.value=Element.collectTextNodesIgnoreClass(li[i],'informal');break;}}
if(ipt.value=='')hidden.value='';},startIndicator:function(){if(this.options.indicator)Element.show(this.options.indicator);else SetIndicator(true);},stopIndicator:function(){if(this.options.indicator)Element.hide(this.options.indicator);else SetIndicator(false);},onKeyPress:function(event){if(this.active)
switch(event.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(event);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(event);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();if(Prototype.Browser.WebKit)Event.stop(event);return;case Event.KEY_DOWN:this.markNext();this.render();if(Prototype.Browser.WebKit)Event.stop(event);return;}
else{if(event.keyCode==Event.KEY_TAB||(Prototype.Browser.WebKit>0&&event.keyCode==0))return;if(event.keyCode==Event.KEY_RETURN){this.LinkORBVerify();if(this.onSelect)this.onSelect(event);if(this.update.innerHTML=='')Event.stop(event);return;}else this.update.update('');}
this.changed=true;this.hasFocus=true;if(this.observer)clearTimeout(this.observer);this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000);},onComplete:function(request){this.updateChoices(request.responseText);this.positionUpdate();},positionUpdate:function(){var element=this.element;var update=this.update;var updateH=update.getHeight();var elementH=element.offsetHeight;var updateDirection=this.options.updateDirection||((findPosY(element)+elementH+updateH)>Element.getHeight(document.body)?"up":"down");update.clonePosition(element,{setHeight:false,offsetTop:((updateDirection=='up')?-updateH:elementH)});}});function LinkORB_initSortables(ele,options,classname){var selector='ul';if(classname)selector+='.'+classname;if(!options)options={};ele=$(ele);ele.select(selector).each(function(ul){if(!ul.readAttribute('madeSortable'))LinkORB_initSortables(ul,options,classname);});Sortable.create(ele,options);ele.writeAttribute('madeSortable',1);}
function hackSortable(){Sortable.old_onHover=Sortable.onHover;Sortable.onHover=function(element,dropon,overlap){if(Element.isParent(dropon,element))return;if(overlap>.33&&overlap<.66&&Sortable.options(dropon).tree){return;}else if(overlap>0.5){Sortable.mark(dropon,'before');if(dropon.previousSibling!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,dropon);Sortable.sortingIdentifier=element.getAttribute("recordid");Sortable.targetIdentifier=dropon.getAttribute("recordid");Sortable.sortingDirection="before";if(dropon.parentNode!=oldParentNode)
Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element);}}else{Sortable.mark(dropon,'after');var nextElement=dropon.nextSibling||null;if(nextElement!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,nextElement);Sortable.sortingIdentifier=element.getAttribute("recordid");if(nextElement){Sortable.targetIdentifier=nextElement.getAttribute("recordid");Sortable.sortingDirection="before";}else{Sortable.targetIdentifier=dropon.getAttribute("recordid");Sortable.sortingDirection="after";}
if(dropon.parentNode!=oldParentNode)
Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element);}}};Sortable.hacked=true;}
function unHackSortable(){Sortable.onHover=Sortable.old_onHover;Sortable.hacked=false;}
Event.observe(window,'load',function(){LinkORB_makeSortables();});function LinkORB_makeSortables(containerid){var container=(containerid)?$(containerid):document.body;var uls=getElementsByClass(container,'sortable','ul');if(uls.length>0){Position.includeScrollOffsets=true;if(!Sortable.hacked)hackSortable();uls.each(function(ul){var ulid=ul.id;if(!ulid)return;var onsort=ul.getAttribute('onsort');onsort=(onsort)?onsort:("LinkORB_reOrderRecord('"+ulid+"')");eval("Sortable.create('"+ulid+"', {onUpdate:function(){"+onsort+";}});");});}}
function LinkORB_reOrderRecord(containerid){var table=$(containerid).getAttribute('tablename');if(!table)return;var uri="&page=scriptaculous&action=reorder";var pd="";pd+="&sortingid="+Sortable.sortingIdentifier;pd+="&targetid="+Sortable.targetIdentifier;pd+="&direction="+Sortable.sortingDirection;pd+="&sortingtable="+table;loadajaxscript(uri,LinkORB_makeSortables,pd);}
var topWindowID=0;var topWindowZ=600;var selectedWindowID=0;var dragWindowID=0;function WindowMgr_CreateWindow(winw,winh,caption,onclose){var tpl=document.getElementById("window_template");if(!tpl){alert("No window_template in page!");return null;}
var code=tpl.innerHTML;topWindowID++;code=code.replace(/\[id\]/g,topWindowID);var windowList=document.getElementById("window_list");var tmp=document.createElement('div');tmp.innerHTML=code;windowList.appendChild(tmp);var e=document.getElementById("window_"+topWindowID+"_seperator");e.style.display="block";e=document.getElementById("window_"+topWindowID);e.setAttribute("winid",topWindowID);e=document.getElementById("window_"+topWindowID+"_header");e.onmousedown=Window_StartDrag;e.onmouseup=Window_StopDrag;if(caption)e.innerHTML=caption;Window_SetClose(topWindowID);e=document.getElementById("window_"+topWindowID+"_container");e.onclick=Window_Click;if(onclose)
e.setAttribute("onclose",onclose);e.setAttribute("winid",topWindowID);e.style.left=(topWindowID*10)+200+"px";e.style.top=(topWindowID*10)+100+(document.body.scrollTop||0)+"px";Window_Resize(topWindowID,winw,winh);Window_SetSelected(topWindowID);return topWindowID;}
function Window_SetCaption(winid,caption,append){var e=document.getElementById("window_"+winid+"_header");var ori=(append)?e.innerHTML:"";e.innerHTML=ori+caption;}
function Window_SetContent(winid,content,append){var e=document.getElementById("window_"+winid+"_content");var ori=append?e.innerHTML:"";e.innerHTML=ori+content;}
function Window_SetClose(winid,func){var e=document.getElementById("window_"+winid+"_close");if(!func)func=Window_CloseClick;e.onclick=func;e.onmousedown=function(ev){return true;};}
function Window_Resize(wid,w,h){$("window_"+wid+"_content").setStyle({width:(w+"px"),height:(h+"px")});return;var e=$("window_"+wid);e.style.width=w+"px";e.style.height=h+"px";e=$("window_"+wid+"_shadow");if(e){e.style.width=w+"px";e.style.height=h+"px";}
e=$("window_"+wid+"_content");if(!e){alert("no window content for windowid"+wid);}
var cw=e.parentNode.offsetWidth;var ch=e.parentNode.offsetHeight;if(!isIE){cw=cw-20;ch=ch-20;}
e.style.width=cw+"px";e.style.height=ch+"px";}
function FindParentWindow(e){if(!e||e==document)return null;if($(e).hasClassName("window"))return e;return FindParentWindow(e.parentNode);}
function FindParentWindowID(e){var win=FindParentWindow(e);return win?win.getAttribute("winid"):null;}
function Window_Click(ev){var ev=(ev)?ev:((event)?event:null);var e=(ev.target)?ev.target:((ev.srcElement)?ev.srcElement:null);var w=FindParentWindow(e);if(w)Window_SetSelected(w.id.replace("window_",""));}
function Window_Close(wid){var e=document.getElementById("window_"+wid+"_container");if(!e)return;var onclose=e.getAttribute("onclose");if(onclose){if(onclose=='hide'){e.style.display='none';return;}
eval(onclose);}
e.parentNode.parentNode.removeChild(e.parentNode);}
function Window_CloseClick(ev){var ev=(ev)?ev:((event)?event:null);var e=(ev.target)?ev.target:((ev.srcElement)?ev.srcElement:null);w=FindParentWindow(e);var wid=w.id.replace("window_","");Window_Close(wid);Event.stop(ev);return true;}
function Window_SetSelected(wid){selectedWindowID=wid;topWindowZ++;var windowList=getElementsByClass(document.getElementById("window_list"),"window_container","div");var i=0;while(i<windowList.length){windowList[i].className="window_container";i++;}
var e=document.getElementById("window_"+wid+"_container");if(e){e.style.zIndex=topWindowZ;e.className="window_container selected";}else{}}
function Window_StartDrag(ev){var ev=(ev)?ev:((event)?event:null);var e=(ev.target)?ev.target:((ev.srcElement)?ev.srcElement:null);dragWindowID=e.id.replace("window_","").replace("_header","");Window_SetSelected(dragWindowID);var c=document.getElementById("window_"+dragWindowID+"_container");c.setAttribute("clickX",Event.pointerX(ev)-c.offsetLeft);c.setAttribute("clickY",Event.pointerY(ev)-c.offsetTop);document.onmousemove=Window_MouseMove;document.onmousedown=falsefunc;}
function Window_StopDrag(ev){dragWindowID=0;document.onmousemove=MouseMove;document.onmousedown=null;}
function Window_MouseMove(ev){if(dragWindowID==0)return;var c=document.getElementById("window_"+dragWindowID+"_container");ev=ev||window.event;var x=Event.pointerX(ev)-c.getAttribute("clickX");var y=Event.pointerY(ev)-c.getAttribute("clickY");c.style.left=x+"px";c.style.top=y+"px";}
document.onmousemove=Window_MouseMove;function OpenLiveDialog(pluginpage,dialog,id,width,height,caption,onclose,addParams){var e=id?document.getElementById(id):null;if(!width)var width=420;if(!height)var height=400;var title=caption?caption:pluginpage+": "+dialog;var closeHandler=onclose?onclose:null;var winid=WindowMgr_CreateWindow(width,height,title,closeHandler);var win=document.getElementById("window_"+winid);win.setAttribute("callerid",id);var uri;uri="&dialogpage="+pluginpage;uri+="&dialogname="+dialog;var i=0;var params="";if(e){while(i<e.attributes.length){if(typeof(e.attributes[i].nodeValue)=='string')params+=e.attributes[i].nodeName+"="+URLEncode(e.attributes[i].nodeValue+"")+"&";i++;}}
params=base64_encode(params);var PD="&widgetparams="+params;if(addParams)PD+=base64_encode(addParams);uri+="&winid="+winid;uri="&page=windowmgr&action=loaddialog&"+uri;loadajaxscript(uri,"",PD);return winid;}
function InitDialog(winid){if(window.ScanLiveFields){ScanLiveFields(document);LinkLiveFields(document);}
if(window.makeLiveTables)makeLiveTables();var e=document.getElementById("selectionbox_input_"+winid);if(e)e.focus();}
function ExecuteScriptsInText(sourceText){sourceText=sourceText.replace(/\n/g,"@@@");sourceText=sourceText.replace(/\r/g,"@@@");var farr=sourceText.match(/<script.+?\/script>/gi);var scripts="";if(!farr)return;for(var i=0;i<farr.length;i++){farr[i]=farr[i].replace(/<script.*?>/i,"");scripts+=farr[i].replace(/<.*?\/script.*?>/i,"");}
if(scripts!=""){scripts=scripts.replace(/@@@/g,"\n");eval(scripts);}}
function CometLoop(){cometLoader=new XMLLoader();url="?comet=1&ajaxsessionuuid="+sessionuuid;cometLoader.url=url;cometLoader.data="";cometLoader.OnComplete=function(responseText,responseXml){var parser=new DOMParser();var nodes=parser.parseFromString("<div xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:l=\"http://www.linkorb.com/linkorbhtml\">"
+responseText+"</div>",'application/xml').documentElement;RunLinkORBScript(nodes);CometLoop();}
cometLoader.Go();}
var cometCounter=0;var cometLostCounter=0;function cometTickHandler(){cometCounter++;if(cometCounter>60){cometLostCounter++;document.title="COMET CONNECTION LOST: "+cometCounter+" sec, "+cometLostCounter+" reconnection attempts";CometLoop();cometCounter=0;}else{}}
var cometTickHandlerHandle;function CometStart(){cometTickHandlerHandle=setInterval("cometTickHandler()",1000);CometLoop();}
function ReportAbuse(tablename,recorduuid,returl){var winid=WindowMgr_CreateWindow(325,150,"Abuse report");var containerid="window_"+winid+"_container";Element.hide(containerid);var uri="&page=abuse&action=report&winid="+winid;uri+="&tablename="+tablename;uri+="&recorduuid="+recorduuid;uri+="&returl="+returl;loadajaxscript(uri);Effect.Appear(containerid);}
function setAbuseStatus(abuseuuid){var winid=WindowMgr_CreateWindow(325,175,"Abuse followup");var containerid="window_"+winid+"_container";Element.hide(containerid);var uri="&page=abuseadmin&action=setstatus&winid="+winid;uri+="&abuseuuid="+abuseuuid;loadajaxscript(uri);Effect.Appear(containerid);}
var UserProductivity=1;function LogActivity(activityid,pd){var winid=WindowMgr_CreateWindow(420,450,"Activity log");var containerid="window_"+winid+"_container";$(containerid).hide();var uri="&page=activity&action=logeditor&winid="+winid;if(activityid)
uri+="&activityid="+activityid;loadajaxscript(uri,null,pd);Effect.Appear(containerid);}
function activity_selectActivityType(ele){var fm=ele.form;fm.EDIT_taskid.parentNode.style.display='none';fm.taskaction.parentNode.style.display='none';fm.EDIT_typeid.parentNode.style.display='none';fm.EDIT_projectuuid.parentNode.style.display='none';fm.EDIT_typeid.value='';fm.EDIT_projectuuid.value='';switch(ele.value){case'task':activity_showTaskActions(fm.EDIT_taskid);ele=fm.EDIT_taskid;break;case'project':ele=fm.EDIT_projectuuid;break;case'type':ele=fm.EDIT_typeid;break;}
ele.parentNode.style.display='';new Effect.Highlight(ele.parentNode);activity_setLogInvoicableUUID(ele);}
function activity_setLogInvoicableUUID(ele){ele=$(ele);var uuid=readAttribute(ele.options[ele.selectedIndex],"l:invoicableuuid")||"";ele=ele.form.EDIT_customeruuid;ele.value=uuid;new Effect.Highlight(ele.parentNode);}
function activity_showTaskActions(ele){var fm=ele.form;var projectid=ele.options[ele.selectedIndex].getAttribute('projectid');if(projectid){var targetid=fm.newrespuid.parentNode.id;var uri="&page=activity&action=filluseroptions";uri+="&projectid="+projectid+"&targetid="+targetid;loadajaxscript(uri);}else{fm.newrespuid.innerHTML='';}
var display=(ele.value=='')?'none':'';fm.taskaction.parentNode.style.display=display;var val=(ele.options[ele.selectedIndex].getAttribute('closable')=='1')?"Close":"Request close";fm.taskaction.options[2].innerHTML=val;activity_taskOptionChange(fm.taskaction);}
function activity_save(fm,winid,taskid){if(!fm.startdate.value){alert("Start date can not be empty");return;}
var duration=activity_checkHourMinute(fm.duration);if(duration==0){if(!confirm("The duration is 0. Are you sure to keep it 0?")){fm.duration.select();return;}}
fm=$(fm);var uri="&page=";uri+=fm.readAttribute('l:taskid')?"task":"activity";uri+="&action=savelog";var activityid=fm.getAttribute('activityid');if(activityid)uri+="&activityid="+activityid;var pd=fm.serialize();pd+="&EDIT_duration="+parseInt(duration);var func=null;if(taskid){var taskwid=FindParentWindowID(fm);pd+="&taskortype=task";func=function(){loadajaxscript("&page=task&action=loadtaskeditor&taskid="+taskid+"&winid="+taskwid+"&containerid=window_"+taskwid+"_content")};var tfm=getElementsByClass(FindParentWindow(fm),'taskform','form')[0];pd+="&alsosavetask=1&"+$(tfm).serialize();}else{if($('form_activity_filter'))
func="activity_getActivityList($('form_activity_filter'))";}
loadajaxscript(uri,func,pd);if(!taskid){Effect.toggle('window_'+winid+'_container','appear');setTimeout("Window_Close("+winid+")",5000);}}
function activity_getActivityList(fm){if(!fm)return;$('div_activitylist').innerHTML=" Searching ...";var pd=FormDataString(fm);loadajaxscript("&page=activity&action=filteractivitylist","",pd);}
function activity_onLoad(winid,productivity){Window_SetSelected(winid);UserProductivity=productivity/100;var fm=$('form_logeditor_'+winid);if(!fm)return;fm.focusFirstElement();fm.duration.nextSibling.style.color='#666666';var com=$(fm.EDIT_comments);com.observe('keyup',function(){activity_inputCheck(com)});var dur=$(fm.duration);dur.observe('keyup',function(){activity_checkDuration(dur)});activity_inputCheck(com);activity_checkDuration(dur);fm.innerHTML.evalScripts();}
function activity_inputCheck(ele){var win=FindParentWindow(ele);var fm=getElementsByClass(win,'activityform','form')[0];var s=fm.submit;if(!activity_checkInputEle(ele,s))return;if(!activity_checkInputEle(fm.EDIT_comments,s))return;if(!activity_checkInputEle(fm.duration,s))return;fm=getElementsByClass(win,'taskform','form')[0];if(fm){if(!activity_checkInputEle(fm.EDIT_description,s))return;if(!activity_checkInputEle(fm.EDIT_estimation,s))return;}
s.disabled=false;}
function activity_checkInputEle(ele,submitButton){if(ele.value==''){ele.style.border='solid 2px red';submitButton.disabled=true;return false;}else{ele.style.border='';return true;}}
function activity_setDurationAndTime(date,fm){fm.starttime.value=leadingZero(date.getHours())+":"+leadingZero(date.getMinutes());fm.startdate.value=leadingZero(date.getDate())+"-"+leadingZero(date.getMonth()+1)+"-"+date.getFullYear();}
function activity_checkDuration(ele){activity_inputCheck(ele);var fm=ele.form;var DurSec=activity_checkHourMinute(ele);activity_adjustStartTime(DurSec,fm);}
function activity_checkHourMinute(ele){var span=ele.nextSibling;var val=ele.value;var a=activity_NumberFromString(val,/[0-9]*d/gi);var d=a['number'];val=a['string'];a=activity_NumberFromString(val,/[0-9]*h/gi);var h=a['number'];val=a['string'];a=activity_NumberFromString(val,/[0-9]*m/gi);var m=a['number'];val=a['string'];var DurationArr=val.split(":");if(DurationArr.length==1){if(m==0)m=activity_NumberFromString(DurationArr[0])['number'];}
if(DurationArr.length==2){if(h==0)h=activity_NumberFromString(DurationArr[0])['number'];if(m==0)m=activity_NumberFromString(DurationArr[1])['number'];}
if(DurationArr.length>=3){if(d==0)d=activity_NumberFromString(DurationArr[0])['number'];if(h==0)h=activity_NumberFromString(DurationArr[1])['number'];if(m==0)m=activity_NumberFromString(DurationArr[2])['number'];}
var DurSec=(m*60)+(h*3600)+(d*3600*8*UserProductivity);span.innerHTML="  "+d+" days "+h+" hours "+m+" minutes";return DurSec;}
function activity_NumberFromString(str,reg){var rtn=[];if(!reg)reg=/[0-9]*/;rtn['number']=str.match(reg);rtn['number']=parseInt(parseFloat(rtn['number']));rtn['number']=(isNaN(rtn['number']))?0:rtn['number'];rtn['string']=str.replace(reg,'');return rtn;}
function activity_adjustStartTime(seconds,fm){var clientnow=fm.duration.getAttribute("servernow");var dt=new Date(parseInt(clientnow)*1000);dt.setTime(dt-(seconds*1000));activity_setDurationAndTime(dt,fm);}
function activity_taskOptionChange(ele){var task=ele.form.EDIT_taskid;if(task.tagName=="select")
var selectTask=task.options[task.selectedIndex];else
var selectTask=task;var closable=selectTask.getAttribute('closable');var closer=selectTask.getAttribute('closer');var span=ele.parentNode.getElementsByTagName('span');span[0].style.display=(ele.value=='ASSIGN')?'':'none';span[1].style.display=(ele.value=='ASSIGN')?'':'none';span[2].innerHTML=((ele.value=="CLOSED")&&!closable&&closer)?("Request to: "+closer):"";}
function toggleBackorderDetails(orderid){var BO=document.getElementById("BO_"+orderid);if(BO.style.display=="none"){BO.style.display="";}
else{BO.style.display="none";}}
function toggleBackorderStockDetails(modelid){var BOS=document.getElementById("BOS_"+modelid);if(BOS.style.display=="none"){BOS.style.display="";}
else{BOS.style.display="none";}}
function basket_setmodel(baseid){var modelid=$F('changemodel');if(modelid!="0"){redirect("/webshop/viewproduct/"+baseid+"/"+modelid);}}
function basket_setmodelinfo(baseid){var modelid=$F('changemodel');if(modelid!="0"){loadajaxscript("&page=basket&action=updatebasketform&baseid="+baseid+"&modelid="+modelid);}}
function basket_toggleconfirm(){var agreed=$F('agreecon');if(agreed){LinkORBHTML_SetButtonState($('button_confirm'),"default");$('button_confirm').disabled=null;}
else{LinkORBHTML_SetButtonState($('button_confirm'),"disabled");}}
var Cal_NewEventWindow=false;function calendar_ResetVariables(){if(window.cal_WeekIconPath)delete cal_WeekIconPath;if(window.cal_NewEventIconPath)delete cal_NewEventIconPath;if(window.cal_DayIconPath)delete cal_DayIconPath;cal_clearEvents();}
function cal_showLoader(){var loader=document.getElementById('ajax_loader');if(!loader)return;var w=document.body.clientWidth;var h=document.body.clientHeight;loader.style.display='';loader.style.left=Math.round(w/2)-findPosX(loader.parentNode)+'px';loader.style.top=Math.round(h/2)-findPosY(loader.parentNode)+'px';SetIndicator(true);}
function cal_hideLoader(){var loader=document.getElementById('ajax_loader');if(loader)loader.style.display='none';SetIndicator(false);}
function cal_ensureXML(str){str=str.replace(/&/g,"&amp;");str=str.replace(/>/g,"&gt;");str=str.replace(/</g,"&lt;");return str;}
function cal_clearAndDrawEvents(){cal_clearEvents();if(cal_viewType=="MonthView"){cal_renderMonthEventBlocks();}
if(cal_viewType=="WeekView"||cal_viewType=="DayView"){cal_renderEventBlocks();}
cal_hideLoader();}
function cal_checkAll(ele,flag){var checked=ele.checked;if(flag){checked=(flag=='true')?true:false;}
var p=ele.parentNode.parentNode.parentNode;var box=p.getElementsByTagName("input");for(var i=0;i<box.length;i++){if(box[i].type=="checkbox"){box[i].checked=checked;}}}
function cal_tickAllday(obj){var s=obj.form.EDIT_starttime;var e=obj.form.EDIT_endtime;if(obj.checked){s.style.display="none";e.style.display="none";}
else{s.style.display="";e.style.display="";}}
function cal_checkKey(ev){var ev=ev||window.event;var e=(ev.target)?ev.target:((ev.srcElement)?ev.srcElement:null);var code=ev.keyCode;if(!code)code=ev.which;if(code==13){cal_ajaxNewEvent(e.form);}}
function cal_showTimeSelectLength(obj){var startDate=obj.form.EDIT_startdate.value;var endDate=obj.form.EDIT_enddate.value;startDate=startDate.replace(/ /g,'');endDate=endDate.replace(/ /g,'');if(startDate!=endDate){return;}
var startEle=obj.form.EDIT_starttime;var dv=document.getElementById('div_dateselect_time');dv.style.width='';var divs=dv.getElementsByTagName('div');var startTime=Date.parse("Jan 1,1970 "+startEle.value);var spans=new Array();var diff=0;for(var i=0;i<divs.length;i++){spans=divs[i].getElementsByTagName('span');diff=(Date.parse("Jan 1,1970 "+spans[0].innerHTML)-startTime)/(1000*60);if(diff>0){spans[1].innerHTML="("+Math.floor(diff/60)+" hrs";if(diff-Math.floor(diff/60)*60)spans[1].innerHTML+=" "+(diff-Math.floor(diff/60)*60)+" mins";spans[1].innerHTML+=")";}else{divs[i].style.display='none';}}
dv.scrollTop=0;}
function cal_clearTimeSelectLength(){if(DS_usingtimeselect==0){var divs=document.getElementById('div_dateselect_time').getElementsByTagName('div');for(var i=0;i<divs.length;i++){divs[i].style.display='';divs[i].getElementsByTagName('span')[1].innerHTML='';}}}
function cal_convertInputStamp(fm){var startarr=fm.EDIT_startdate.value.split('-');var endarr=fm.EDIT_enddate.value.split('-');var start_time=fm.EDIT_starttime.value;var end_time=fm.EDIT_endtime.value;if(fm.EDIT_allday.checked){start_time="00:00";end_time="00:00";endarr[0]=parseInt(parseFloat(endarr[0]))+1;}
var sd=new Date(startarr[1]+'/'+startarr[0]+'/'+startarr[2]+' '+start_time);var ed=new Date(endarr[1]+'/'+endarr[0]+'/'+endarr[2]+' '+end_time);var start=Date.parse(sd)/1000;var end=Date.parse(ed)/1000;if(isNaN(start)||isNaN(end)){alert('please check the date and time');return false;}
if(end<=start){alert('the end time should be after the start time');return false;}
fm.EDIT_startstamp.value=start;fm.EDIT_endstamp.value=end;return true;}
function cal_clearWindowMgr(eventid){Cal_NewEventWindow=false;}
function cal_showNewEventEditor(stamp){var fm=$("form_newEvent");var d=$(fm.parentNode);var s=parseInt(stamp);var cell=$('cell_'+stamp);d.clonePosition(cell,{setWidth:false,setHeight:false,offsetTop:(-5-d.getHeight())}).show();var tm=new Date(s*1000);var t=$("div_newEventTime");t.update(tm.toLocaleString());fm.NEW_stamp.value=s;fm.NEW_length.value="1";fm.NEW_title.focus();fm.NEW_title.select();}
function cal_showAdvancedNewEventEditor(fm,stamp,isNew,emptyEnddate){cal_hideNewEventEditor();if(Cal_NewEventWindow)return;Cal_NewEventWindow=true;if(fm){var stamp=parseInt(fm.NEW_stamp.value)*1000;var title=fm.NEW_title.value;var l=parseInt(parseFloat(fm.NEW_length.value))*60*60*1000;}else{stamp=parseInt(stamp)*1000;var l=60*60*1000;}
var endstamp=(stamp)+l;var winid=WindowMgr_CreateWindow(550,450,"New event","cal_clearWindowMgr();");var content=$("window_"+winid+"_content");content.innerHTML=document.getElementById("advanced_new_event_form").innerHTML.gsub('__removeme__','');LinkORBHTML_InitTabs(content);fm=content.getElementsByTagName("form")[0];if(title)fm.EDIT_Title.value=title;fm.EDIT_Title.focus();fm.EDIT_Title.select();var d=new Date(stamp);fm.EDIT_startdate.value=leadingZero(d.getDate())+"-"+leadingZero(d.getMonth()+1)+"-"+d.getFullYear();fm.EDIT_starttime.value=(cal_viewType=="MonthView"||isNew)?"09:00":leadingZero(d.getHours())+":"+leadingZero(d.getMinutes());if(emptyEnddate){fm.EDIT_enddate.value="";fm.EDIT_endtime.value="";}else{d=new Date(endstamp);fm.EDIT_enddate.value=leadingZero(d.getDate())+"-"+leadingZero(d.getMonth()+1)+"-"+d.getFullYear();fm.EDIT_endtime.value=(cal_viewType=="MonthView"||isNew)?"10:00":leadingZero(d.getHours())+":"+leadingZero(d.getMinutes());}}
function cal_hideNewEventEditor(){var d=document.getElementById("div_newEvent");d.style.display="none";}
function cal_ajaxNewEvent(fm){var stamp=fm.NEW_stamp.value;var title=fm.NEW_title.value;var l=parseInt(parseFloat(fm.NEW_length.value))*60*60;var endstamp=parseInt(stamp)+l;var pd="&calid=&beginstamp="+beginStamp+"&viewtype="+cal_viewType+"&startstamp="+stamp+"&endstamp="+endstamp+"&NEW_title="+encodeURIComponent(title);fm.parentNode.style.display="none";cal_showLoader();loadajaxscript("&page=calendar&action=ajaxnewevent","",pd);}
function cal_ajaxDeleteEvent(eventid,ev){eventid=parseInt(eventid);if(eventid<=0){alert("cannot delete this event");return false;}
var conf=confirm($('deleteconfirmation_text').innerHTML);if(!conf)return false;cal_showLoader();Window_CloseClick(ev);var uri="&page=calendar&action=ajaxdeleteevent&eventid="+eventid;if(window.cal_viewType){uri+="&beginstamp="+beginStamp+"&viewtype="+cal_viewType;loadajaxscript(uri,cal_clearAndDrawEvents);}else{loadajaxscript(uri);}
return true;}
function cal_ajaxSaveEvent(eventid,fm){if(!cal_convertInputStamp(fm))return false;cal_Participants2Field(eventid,fm);var uri="&page=calendar&action=ajaxsaveevent"+"&eventid="+eventid;if(window.cal_viewType)
uri+="&viewtype="+cal_viewType+"&beginstamp="+beginStamp;if(fm.EDIT_Title.value=="")fm.EDIT_Title.value="-";var pd="";var ipts=fm.elements;var type="";for(var i=0;i<ipts.length;i++){type=ipts[i].getAttribute('type');type=type?type.toLowerCase():"";if(ipts[i].className=="OnlineEditor"||ipts[i].className=="AdvancedOnlineEditor"||ipts[i].id=="XHTML2PDFEditor"){tinyMCE.triggerSave();}
if(ipts[i].name&&ipts[i].name!=""){if(type=="checkbox"){pd+="&"+ipts[i].name+"=";if(ipts[i].checked)pd+=encodeURIComponent(ipts[i].value);}
else if(type=="radio"){if(ipts[i].checked)pd+="&"+ipts[i].name+"="+encodeURIComponent(ipts[i].value);}
else{pd+="&"+ipts[i].name+"="+encodeURIComponent(ipts[i].value);}}}
cal_showLoader();if(window.cal_viewType)
loadajaxscript(uri,cal_clearAndDrawEvents,pd);else
loadajaxscript(uri,null,pd);return true;}
function cal_eventTitleOnclick(ev){var ev=(ev)?ev:((event)?event:null);var e=(ev.target)?ev.target:((ev.srcElement)?ev.srcElement:null);if(e.tagName.toLowerCase()=='img')e=e.parentNode;var titleclick=e.getAttribute("titleclick");if(titleclick){eval(titleclick);return;}
var eventid=e.getAttribute("eventid");var edit=e.getAttribute("edit");if(edit=="1"){var win=$('EDIT_startdate_'+eventid);if(win)
Window_SetSelected(FindParentWindowID(win));else
OpenLiveDialog('calendar','editevent',e.id,550,520,'Edit event','cal_clearWindowMgr('+eventid+')');}else if(eventid){alert("this event is not editable");}}
function cal_ajax_succeed(txt){var toolbar=getElementsByClass(document.body,'toolbar','div');var toolbarInfo=toolbar[0].getElementsByTagName('div')[0];toolbarInfo.innerHTML='<fieldset class="fieldset_calendar_ajaxSucceed"><legend>Message:</legend>'+txt+'</fieldset>';setTimeout("getElementsByClass(document.body, 'toolbar', 'div')[0].getElementsByTagName('div')[0].innerHTML='';",10000)}
function cal_searchUsers(fm,addfunc){var w=fm.finduser.value;if(w.length<2){alert("Please give at least 2 letters");return;}
if(!addfunc)
var addfunc="cal_updateSubscription(this, 'add')";var winid=WindowMgr_CreateWindow(400,450,"Calendars","cal_clearWindowMgr();");$('window_'+winid+'_content').update('<div class="info">Searching ...</div>');var uri="&page=calendar&action=ajaxfindusers&winid="+winid+"&keyword="+encodeURIComponent(w)+"&addfunc="+addfunc;loadajaxscript(uri);setTimeout("Window_SetSelected("+winid+")",10);}
function cal_searchUsersAgain(fm,winid,addfunc){var w=fm.searchAgain.value;if(w.length<2){alert("Please give at least 2 letters");return;}
var dv=$(fm).firstDescendant();dv.update(($(dv).hasClassName('info'))?'Searching ...':'<div class="info">Searching ...</div>');var uri="&page=calendar&action=ajaxfindusers&winid="+winid+"&keyword="+encodeURIComponent(w)+"&addfunc="+addfunc;loadajaxscript(uri);}
function cal_updateSubscription(obj,flag){var pd="&pdata=";if(flag=="change"){pd+=obj.getAttribute("subscriberid")+","+obj.value;}else{var fm=obj.form;var ipt=fm.elements;for(var i=0;i<ipt.length;i++){switch(flag){case"add":if(ipt[i].type=="checkbox"&&ipt[i].checked)
pd+=ipt[i].value+",";break;case"remove":if(ipt[i].type=="checkbox"&&!ipt[i].checked)
pd+=ipt[i].value+",";break;case"display":if(ipt[i].type=="checkbox"&&!ipt[i].checked)
pd+=ipt[i].value+",";break;}}}
if(flag=="display"){pd+="&viewtype="+cal_viewType+"&beginstamp="+beginStamp;document.getElementById("cal_subscription_select").style.display="none";}
cal_showLoader();loadajaxscript("&page=calendar&action=ajaxupdatesubscription&flag="+flag,cal_hideLoader,pd);}
function cal_resetParticipantSelect(obj,eventid){obj.form.EDIT_Calendar.value=obj.value;var d=$("ParticipantSelection_"+eventid).update('');var rdo=obj.form.EDIT_participantSelect;rdo[0].checked=true;rdo[0].parentNode.style.display=(obj.value=="0")?"none":"";$(d.parentNode).select('input[type="checkbox"]').each(function(chk){chk.checked=false;});}
function cal_getCalendarUsers(obj,eventid){var d=$("ParticipantSelection_"+eventid).update('');var calid=obj.form.EDIT_Calendar.value;if(calid=="0"||obj.value=="0"){$(d.parentNode).select('input[type="checkbox"]').each(function(chk){chk.checked=false;});return;}
d.update('Loading ...');loadajaxscript("&page=calendar&action=ajaxgetcalendarusers&calendarid="+calid+"&eventid="+eventid);}
function cal_Participants2Field(eventid,fm){var d=document.getElementById("ParticipantSelection_"+eventid).parentNode;var ipt=d.getElementsByTagName("input");var str="";for(var i=0;i<ipt.length;i++){if(ipt[i].checked)str+=ipt[i].value+",";}
fm.EDIT_participants.value=str;}
function cal_appendParticipants(ele,eventid){if(!eventid)eventid="";var d=document.getElementById("ParticipantSelection_"+eventid);if(!d)return;var fm=ele.form;var ipt=fm.elements;var str="";var i=0;for(i=0;i<ipt.length;i++){if(ipt[i].type=="checkbox"&&ipt[i].checked){str+="<input type='checkbox' checked='checked' value='"+ipt[i].value+"' />";var td=ipt[i].parentNode.parentNode.getElementsByTagName("td");for(var j=1;j<td.length;j++)
str+=td[j].innerHTML+" ";str+="<br />";}}
if(str!="")str="<hr />"+str;d.innerHTML=d.innerHTML+str;}
function cal_refreshEvents(loader){if(loader)cal_showLoader();loadajaxscript("&page=calendar&action=ajaxrefreshevents&viewtype="+cal_viewType+"&beginstamp="+beginStamp,cal_hideLoader);}
function cal_showSubscriptionSelect(){var plot=$("div_plotview");var d=$("cal_subscription_select");d.clonePosition(plot,{setWidth:false,setHeight:false,offsetLeft:(plot.getWidth()-d.getWidth())});Effect.toggle(d,'blind');}
function cal_dayCellTools(action,td){var span=td.getElementsByTagName("span")[0];if(action=="in"){if(isIE){var img=span.getElementsByTagName("img");for(var i=0;i<img.length;i++)StartEffect("fade-in",img[i],20)}else
StartEffect("fade-in",span,20);}
if(action=="out"){if(isIE){var img=span.getElementsByTagName("img");for(var i=0;i<img.length;i++)StartEffect("fade-out",img[i],20)}else
StartEffect("fade-out",span,20);}}
function cal_showUpload(eventid,ele){var ifm=ele.parentNode.getElementsByTagName("iframe")[0];ifm.src=baseUrl+"calendar/showupload/&nolayout=1&nohead=1&eventid="+eventid;}
function LoadCalendarEventEditor(elementid,addParams){var w=550;var h=520;var eventid='';if(elementid){eventid=$(elementid).getAttribute('eventid');if(!eventid||eventid=='')return;}
var win=$('EDIT_startdate_'+eventid);if(win)
Window_SetSelected(FindParentWindowID(win));else{if(elementid)
OpenLiveDialog('calendar','editevent',elementid,w,h,'Edit event');else
OpenLiveDialog('calendar','editevent',null,w,h,'Create event',null,addParams);}}
var curtab=0;var loadingtab=false;function CDComposer_TabClick(tabnr){loadingtab=true;if(tabnr==1)document.location="/?page=cdcomposer&action=compose";if(tabnr==2)document.location="/?page=cdcomposer&action=tracklist";if(tabnr==3)document.location="/?page=cdcomposer&action=finalize";if(curtab>0){e=document.getElementById("imgtab"+curtab+"b");if(e)e.style.display="";e=document.getElementById("imgtab"+curtab+"a");if(e)e.style.display="none";}
e=document.getElementById("imgtab"+tabnr+"a");if(e)e.style.display="";e=document.getElementById("imgtab"+tabnr+"b");if(e)e.style.display="none";}
function CDComposer_SetCurTab(tabnr){curtab=tabnr;e=document.getElementById("imgtab"+tabnr+"a");if(e)e.style.display="";e=document.getElementById("imgtab"+tabnr+"b");if(e)e.style.display="none";}
function CDComposer_TabEnter(tabnr){if(tabnr==curtab)return;if(loadingtab)return;e=document.getElementById("imgtab"+tabnr+"a");if(e)e.style.display="";e=document.getElementById("imgtab"+tabnr+"b");if(e)e.style.display="none";}
function CDComposer_TabLeave(tabnr){if(tabnr==curtab)return;if(loadingtab)return;e=document.getElementById("imgtab"+tabnr+"b");if(e)e.style.display="";e=document.getElementById("imgtab"+tabnr+"a");if(e)e.style.display="none";}
function Check_NLPostcode(e){var postcode=e.value;if(postcode=='')return true;postcode=postcode.replace(/ /g,'').toUpperCase();if(postcode.match(/^[1-9]\d{3}[A-Z]{2}$/)){postcode=postcode.substr(0,4)+" "+postcode.substr(4);e.value=postcode;return true;}else{return false;}}
function Check_Email(email){email=email.strip();if(email==''||!email)return true;var f=email.search(/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/);return((f==-1)?false:true);}
function Check_VariableName(str){var f=str.search(/^[a-zA-Z0-9_\-]+$/);return((f==-1)?false:true);}
function Check_Password_Simple(str){if(str.length<6)return false;var f=str.search(/^[a-zA-Z0-9_\-]+$/);return((f==-1)?false:true);}
function Check_Password_PIN4(str){var f=str.search(/^[1-9][0-9][0-9][0-9]$/);return((f==-1)?false:true);}
function Check_StrictDBNaming(str){var l=(""+str).length;if(l>64)return false;var f=str.search(/^[a-z]+[0-9a-z_]*$/);return((f==-1)?false:true);}
function Check_DBUserNaming(str){var l=(""+str).length;if(l>14)return false;var f=str.search(/^[a-z]+[0-9a-z_]*$/);return((f==-1)?false:true);}
function Check_Password_Complex(str){if(str.length<6)return false;if(str.search(/^[a-zA-Z0-9_\-]+$/)==-1)return false;var strength=3;if(str.search(/[a-z]/)==-1)strength--;if(str.search(/[A-Z]/)==-1)strength--;if(str.search(/[0-9]/)==-1)strength--;return(strength==3)?true:false;}
function Check_IsNumber(str){var f=str.search(/^[0-9]+$/);return((f==-1)?false:true);}
function Check_E164(str){str=str.strip();if(str==''||!str)return true;var f=str.search(/^00[1-9][0-9]+$/);return((f==-1)?false:true);}
function Check_PhoneNumber(str){str=str.strip();if(str==''||!str)return true;var f=str.search(/^[0-9]+$/);if((f==-1)||str.startsWith('000')||str.length>30||str.length<4)return false;return true;}
function Check_Autocase(e){var inval=e.value;var outval="";var words=inval.split(" ");var i=0;while(i<words.length){var word=words[i];if(word==word.toLowerCase()){word=word.charAt(0).toUpperCase()+word.substr(1).toLowerCase();}
if(word=="V")word="Van";if(word=="Vd")word="van de";if(word=="Van")word="van";if(word=="Der")word="der";if(word=="De")word="de";if(word=="Bv")word="B.V.";if(word=="B.v.")word="B.V.";if(word=="Linkorb")word="LinkORB";outval+=word+" ";i++;}
e.value=outval.strip();return true;}
function Checker_CheckField(e){if(!e)return;if(e.disabled)return;e.value=e.value.strip();var checks=e.getAttribute("l:check");if(!checks){return;}
e.removeClassName("checkerror");checks.split(";").each(function(check){var re=new RegExp(/\((.*)\)/);var m=re.exec(check);if(m!=null){if(m.length){var params=m[1].split(",");check=check.substring(0,m.index);}
else{var params=null;}}
check=check.toLowerCase();switch(check){case"":case null:break;case"autocase":Check_Autocase(e);break;case"nlpostcode":if(!Check_NLPostcode(e)){e.addClassName("checkerror");}
break;case"email":if(!Check_Email(e.value)){e.addClassName("checkerror");}
break;case"notzero":if(e.value==0){e.addClassName("checkerror");}
break;case"postalcode":case"notempty":if(e.value==""){e.addClassName("checkerror");}
break;case"max":if(parseInt(e.value)>parseInt(params[0])){e.addClassName("checkerror");}
break;case"min":if(parseInt(e.value)<parseInt(params[0])){e.addClassName("checkerror");}
break;case"range":var valFloat=e.hasClassName("dateselect")?$('hidden_'+e.id).value:e.value;if(!Checker_Range(valFloat,params[0],params[1]))e.addClassName("checkerror");break;case"password":case"variablename":if(!Check_VariableName(e.value)){e.addClassName("checkerror");}
break;case"password_pin4":if(!Check_Password_PIN4(e.value)){e.addClassName("checkerror");}
break;case"strictdbnaming":if(!Check_StrictDBNaming(e.value)){e.addClassName("checkerror");}
break;case"dbusernaming":if(!Check_DBUserNaming(e.value)){e.addClassName("checkerror");}
break;case"password_simple":if(!Check_Password_Simple(e.value)){e.addClassName("checkerror");}
break;case"password_complex":if(!Check_Password_Complex(e.value)){e.addClassName("checkerror");}
break;case"isnumber":case"numeric":if(!Check_IsNumber(e.value)){e.addClassName("checkerror");}
break;case"e164":if(!Check_E164(e.value))e.addClassName("checkerror");break;case"phonenumber":case"phone":if(!Check_PhoneNumber(e.value))e.addClassName("checkerror");break;case"split_emails":if(!Split_Emails(e.value))e.addClassName("checkerror");break;case"domain":if(!Check_Domain(e.value))e.addClassName("checkerror");break;default:alert("Unsupported check: "+check);break;}});return(!e.hasClassName("checkerror"));}
function Checker_Range(val,min,max){var valFloat=parseFloat(val)||0;if(min)
if(valFloat<(parseFloat(min)||0))return false;if(max)
if(valFloat>(parseFloat(max)||0))return false;return true;}
function Checker_FormSubmit(ev){var e=ev.element();if(e.tagName.toLowerCase()!='form')e=e.form;e=$(e);var field=e.select('input,select,textarea');e.removeClassName("checkerror");for(var i=0;i<e.length;i++){var f=$(field[i]);if(f&&f.disabled==false){Checker_CheckField(f);if(f.hasClassName("checkerror"))e.addClassName("checkerror");}}
if(e.hasClassName("checkerror")){var formerror=e.getAttribute("l:error");if(formerror==""||formerror==null)formerror="Not all fields were not entered correctly. Please correct the errors and try again.";alert(formerror);ev.stop(ev);}}
function Split_Emails(e){s_emails=e.split(';');for(var i=0;i<s_emails.length;i++){if(!Check_Email(s_emails[i])){return false;}}
return true;}
function Check_Domain(domain){domain=domain.strip();if(domain==''||!domain)return true;var f=domain.search(/^[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/);return((f==-1)?false:true);}
function ObjectUI_selectSearchTemplate(ele){var f=(ele.value=='');var state=f?"disabled":"default";$(ele.form).select('button').each(function(bt){bt.disabled=f;LinkORBHTML_SetButtonState(bt,state);});}
function ObjectUI_search(e,dosubmit){if(Object.isElement(e)){var ele=$(e);}
else{var ele=$(Event.element(e));}
var pd='';var wrapper=ele.up('.objectsearch_wrapper');if(!wrapper)return;wrapper.select('div.objectsearch_columns_pocket li').each(function(li){pd+=li.readAttribute('l_column')+",";});var fm=wrapper.readAttribute('tabboxid');if(LinkORB_Tabs[fm])
fm=LinkORB_Tabs[fm].kid[LinkORB_Tabs[fm].focusIndex].firstDescendant();else
fm=wrapper.select('form.form_objectsearch')[0];fm.selectedcomluns.value=pd;fm.includeall.value=wrapper.select('.objectsearch_advancedoptions input[name="includeall"]')[0].checked?'1':'';fm.newtemplate.value=wrapper.select('.objectsearch_advancedoptions input[name="newtemplate"]')[0].value;if(dosubmit){fm.loadcsv.value='1';fm.submit();}else{fm.loadcsv.value='';return ObjectUI_uniSearch(ele,fm.serialize());}}
function ObjectUI_searchByTemplate(event){var ele=$(Event.element(event));event.stop();var pd='&searchtemplate='+ele.form.searchtemplate.value;ObjectUI_uniSearch(ele,pd);}
function ObjectUI_ajaxSort(event,column,dir){var ele=$(Event.element(event));var pd='&resultorderby='+column+'&resultorderdir='+(dir?dir:'');pd+='&searchtemplate=temp/temp_search_template';ObjectUI_uniSearch(ele,pd);}
function ObjectUI_uniSearch(ele,pd){var wrapper=ele.up('.objectsearchandresult_wrapper');var winid=FindParentWindowID(wrapper);winid=winid?winid:0;var uri='&page='+wrapper.readAttribute('l:object')+'&winid='+winid+'&customsearch=1';if(winid!=0){var fkey=$('window_'+winid+'_content').readAttribute('foreignkey');if(fkey)
uri+="&foreignkey="+fkey;}
wrapper.select('div.objectresult_wrapper')[0].innerHTML='<div class="info"><div class="icon-search-16"></div>&#160; Searching ...</div>';$('objectsearch_resulttitle_'+winid).innerHTML="...";return loadajaxscript(uri,'',pd);;}
function ObjectUI_findForeignKey(ele,objname,foreignkey){var winid=WindowMgr_CreateWindow(580,450,"Find");var winc=$('window_'+winid+'_content');winc.update('<div class="objectsearchandresult_wrapper" id="objectsearchandresult_wrapper_'+winid+'" l:object="'+objname+'"><div class="info">Loading ...</div></div>');if(foreignkey){var returnelementid=ele.previous().previous().previous();returnelementid=(returnelementid.type=='hidden'&&returnelementid.tagName.toLowerCase()=='input')?returnelementid.id:returnelementid.previous().id;winc.setAttribute('l:returnelementid',returnelementid);winc.setAttribute('foreignkey',foreignkey);}else{foreignkey='';}
var func=function(){$('window_'+winid+'_content').innerHTML.evalScripts();ObjectUI_observeInputs(winid);};loadajaxscript("&page="+objname+"&foreignkey="+foreignkey+"&winid="+winid+"&returnelementid="+returnelementid,func);}
function ObjectUI_insertForeignKey(event){var ele=$(Event.element(event));var table=ele.readAttribute('l:selector');table=table?$(table):ele.up('table');var winid=FindParentWindowID(table);var winc=$('window_'+winid+'_content');var targetid=winc.readAttribute('l:returnelementid');var targetDisplay=$('displayname___'+targetid);$(targetid).value=table.readAttribute('l:key');if(targetDisplay){targetDisplay.value=table.readAttribute('l:displayName');new Effect.Highlight(targetDisplay);}else{new Effect.Highlight($(targetid));}
Window_CloseClick(event);ObjectUI_search(targetDisplay);}
function ObjectUI_initSearchColumns(ele){$(ele).select('li img').each(function(img){var b=$(img.parentNode);var li=$(b.parentNode.parentNode);li.addClassName('objectsearch_column');var b1=b.previous();if(b1)b1.observe('click',function(event){ObjectUI_getForeignColumns(event);});$(img).observe('click',function(){var ul=li.up('fieldset').select('.objectsearch_columns_pocket ul')[0];var lcolumn=li.readAttribute('l_column');var exist=false;ul.select('li').each(function(pocketli){if(exist)return;if(pocketli.readAttribute('l_column')==lcolumn){exist=true;new Effect.Highlight(pocketli)}});if(exist)return;var newli=li.cloneNode(true);if(b1)newli.firstDescendant().firstDescendant().remove();var newimg=newli.select('img')[0];newimg.src=newimg.src.replace('right_grey_small.gif','left_grey_small.gif');newimg.stopObserving('click');newimg.observe('mousedown',function(event){Event.stop(event);newli.remove();});ul.appendChild(newli);Sortable.create(ul,{scroll:window,constraint:'vertical'});});});}
function ObjectUI_getForeignColumns(event){var ele=Event.element(event);Event.stop(event);var li=ele.parentNode.parentNode;var next=(li.next())?li.next():null;if(next){if(next.tagName.toLowerCase()=='ul'){if(ele.innerHTML=='+'){next.show();new Effect.Highlight(next);ele.innerHTML=' - ';}
else{next.hide();new Effect.Highlight(li);ele.innerHTML='+';}
return;}}
ele.innerHTML=' - ';var refcolumn=li.readAttribute('l_column');var winid=FindParentWindowID(li);winid=winid?winid:0;var table=ele.readAttribute('l_foreigntable');var level=parseInt(ele.readAttribute('l_level'));var obj=ele.up('.objectsearchandresult_wrapper').readAttribute('l:object');var ul=new Element('ul').update("Loading ...");if(next)
li.parentNode.insertBefore(ul,next);else
li.parentNode.appendChild(ul);var func=function(){ul.innerHTML=$('objectsearch_column_hiddentext_'+winid).innerHTML;new Effect.Highlight(ul);ObjectUI_initSearchColumns(ul);}
loadajaxscript("&page="+obj+"&action=ajaxcolumns",func,"&table="+table+"&level="+level+"&winid="+winid+"&refcolumn="+refcolumn)}
function ObjectUI_clearSearchField(eleid){if($(eleid).value=='')return;$(eleid).value='';$('displayname___'+eleid).value='';ObjectUI_search($(eleid));}
function ObjectUI_observeInputs(winid){if(winid=="")return;var delay=1;var ajaxHandle=null;var requestNr=0;var x=function(event,nr){if(requestNr>nr)return;if(ajaxHandle)ajaxHandle.Cancel();ajaxHandle=ObjectUI_search(event);}
var wrapper=$('objectsearchandresult_wrapper_'+winid).select('.objectsearch_wrapper')[0];if(!wrapper)return;wrapper.select('form input, form select').each(function(ele){if(ele.type=="hidden"||ele.className=="autocompleter")return;var evt='';switch(ele.tagName.toUpperCase()){case"SELECT":evt='click';break;case"INPUT":if(ele.readonly)return;if(ele.type=='hidden')return;if(ele.type=='checkbox')evt='click';else evt='keyup';break;}
ele.observe(evt,function(event){x.delay(((event.keyCode==Event.KEY_RETURN)?0:delay),event,++requestNr);});});}
function toggleproperties(current,all,tableid){for(i=0;i<all;i++){$(tableid+"_property"+i).hide();}
$(tableid+"_property"+current).show();}
function LoadProperties(fieldid,filtercsv,value){var uri="&page=properties&action=loadproperties";uri+="&fieldid="+fieldid+"&filtercsv="+filtercsv+"&value="+value;loadajaxscript(uri);}
function properties_findcolumn(){var table=$F('NEW_Connection_Table');if(table){var uri="&page=properties&action=findcolumn";uri+="&table="+table;loadajaxscript(uri);}}
function properties_inputvalue(){var column=$F('NEW_Connection_Column');if(column){var uri="&page=properties&action=inputvalue";uri+="&fieldid="+column;loadajaxscript(uri);}}
function getAnchorPosition(anchorname){var useWindow=false;var coordinates=new Object();var x=0,y=0;var use_gebi=false,use_css=false,use_layers=false;if(document.getElementById){use_gebi=true;}
else if(document.all){use_css=true;}
else if(document.layers){use_layers=true;}
if(use_gebi&&document.all){x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);}
else if(use_gebi){var o=document.getElementById(anchorname);x=AnchorPosition_getPageOffsetLeft(o);y=AnchorPosition_getPageOffsetTop(o);}
else if(use_css){x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);}
else if(use_layers){var found=0;for(var i=0;i<document.anchors.length;i++){if(document.anchors[i].name==anchorname){found=1;break;}}
if(found==0){coordinates.x=0;coordinates.y=0;return coordinates;}
x=document.anchors[i].x;y=document.anchors[i].y;}
else{coordinates.x=0;coordinates.y=0;return coordinates;}
coordinates.x=x;coordinates.y=y;return coordinates;}
function getAnchorWindowPosition(anchorname){var coordinates=getAnchorPosition(anchorname);var x=0;var y=0;if(document.getElementById){if(isNaN(window.screenX)){x=coordinates.x-document.body.scrollLeft+window.screenLeft;y=coordinates.y-document.body.scrollTop+window.screenTop;}
else{x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;}}
else if(document.all){x=coordinates.x-document.body.scrollLeft+window.screenLeft;y=coordinates.y-document.body.scrollTop+window.screenTop;}
else if(document.layers){x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;}
coordinates.x=x;coordinates.y=y;return coordinates;}
function AnchorPosition_getPageOffsetLeft(el){var ol=el.offsetLeft;while((el=el.offsetParent)!=null){ol+=el.offsetLeft;}
return ol;}
function AnchorPosition_getWindowOffsetLeft(el){return AnchorPosition_getPageOffsetLeft(el)-document.body.scrollLeft;}
function AnchorPosition_getPageOffsetTop(el){var ot=el.offsetTop;while((el=el.offsetParent)!=null){ot+=el.offsetTop;}
return ot;}
function AnchorPosition_getWindowOffsetTop(el){return AnchorPosition_getPageOffsetTop(el)-document.body.scrollTop;}
function CalendarPopup(){var c;if(arguments.length>0){c=new PopupWindow(arguments[0]);}
else{c=new PopupWindow();c.setSize(150,175);}
c.offsetX=-152;c.offsetY=25;c.autoHide();c.monthNames=window.UserConfig_MonthNames||new Array("January","February","March","April","May","June","July","August","September","October","November","December");c.monthAbbreviations=window.UserConfig_MonthNamesAbbr||new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");c.dayHeaders=window.UserConfig_WeekDaysAbbr||new Array("S","M","T","W","T","F","S");c.returnFunction="CP_tmpReturnFunction";c.returnMonthFunction="CP_tmpReturnMonthFunction";c.returnQuarterFunction="CP_tmpReturnQuarterFunction";c.returnYearFunction="CP_tmpReturnYearFunction";c.weekStartDay=0;c.isShowYearNavigation=false;c.displayType="date";c.disabledWeekDays=new Object();c.disabledDatesExpression="";c.yearSelectStartOffset=2;c.currentDate=null;c.todayText=window.UserConfig_Text_Today||"Today";c.cssPrefix="";c.isShowNavigationDropdowns=false;c.isShowYearNavigationInput=false;window.CP_calendarObject=null;window.CP_targetInput=null;window.CP_dateFormat="MM/dd/yyyy";c.copyMonthNamesToWindow=CP_copyMonthNamesToWindow;c.setReturnFunction=CP_setReturnFunction;c.setReturnMonthFunction=CP_setReturnMonthFunction;c.setReturnQuarterFunction=CP_setReturnQuarterFunction;c.setReturnYearFunction=CP_setReturnYearFunction;c.setMonthNames=CP_setMonthNames;c.setMonthAbbreviations=CP_setMonthAbbreviations;c.setDayHeaders=CP_setDayHeaders;c.setWeekStartDay=CP_setWeekStartDay;c.setDisplayType=CP_setDisplayType;c.setDisabledWeekDays=CP_setDisabledWeekDays;c.addDisabledDates=CP_addDisabledDates;c.setYearSelectStartOffset=CP_setYearSelectStartOffset;c.setTodayText=CP_setTodayText;c.showYearNavigation=CP_showYearNavigation;c.showCalendar=CP_showCalendar;c.hideCalendar=CP_hideCalendar;c.getStyles=getCalendarStyles;c.refreshCalendar=CP_refreshCalendar;c.getCalendar=CP_getCalendar;c.select=CP_select;c.setCssPrefix=CP_setCssPrefix;c.showNavigationDropdowns=CP_showNavigationDropdowns;c.showYearNavigationInput=CP_showYearNavigationInput;c.copyMonthNamesToWindow();return c;}
function CP_copyMonthNamesToWindow(){if(typeof(window.MONTH_NAMES)!="undefined"&&window.MONTH_NAMES!=null){window.MONTH_NAMES=new Array();for(var i=0;i<this.monthNames.length;i++){window.MONTH_NAMES[window.MONTH_NAMES.length]=this.monthNames[i];}
for(var i=0;i<this.monthAbbreviations.length;i++){window.MONTH_NAMES[window.MONTH_NAMES.length]=this.monthAbbreviations[i];}}}
function CP_tmpReturnFunction(y,m,d){if(window.CP_targetInput!=null){var dt=new Date(y,m-1,d,0,0,0);if(window.CP_calendarObject!=null){window.CP_calendarObject.copyMonthNamesToWindow();}
window.CP_targetInput.value=formatDate(dt,window.CP_dateFormat);}
else{alert('Use setReturnFunction() to define which function will get the clicked results!');}}
function CP_tmpReturnMonthFunction(y,m){alert('Use setReturnMonthFunction() to define which function will get the clicked results!\nYou clicked: year='+y+' , month='+m);}
function CP_tmpReturnQuarterFunction(y,q){alert('Use setReturnQuarterFunction() to define which function will get the clicked results!\nYou clicked: year='+y+' , quarter='+q);}
function CP_tmpReturnYearFunction(y){alert('Use setReturnYearFunction() to define which function will get the clicked results!\nYou clicked: year='+y);}
function CP_setReturnFunction(name){this.returnFunction=name;}
function CP_setReturnMonthFunction(name){this.returnMonthFunction=name;}
function CP_setReturnQuarterFunction(name){this.returnQuarterFunction=name;}
function CP_setReturnYearFunction(name){this.returnYearFunction=name;}
function CP_setMonthNames(){for(var i=0;i<arguments.length;i++){this.monthNames[i]=arguments[i];}
this.copyMonthNamesToWindow();}
function CP_setMonthAbbreviations(){for(var i=0;i<arguments.length;i++){this.monthAbbreviations[i]=arguments[i];}
this.copyMonthNamesToWindow();}
function CP_setDayHeaders(){for(var i=0;i<arguments.length;i++){this.dayHeaders[i]=arguments[i];}}
function CP_setWeekStartDay(day){this.weekStartDay=day;}
function CP_showYearNavigation(){this.isShowYearNavigation=(arguments.length>0)?arguments[0]:true;}
function CP_setDisplayType(type){if(type!="date"&&type!="week-end"&&type!="month"&&type!="quarter"&&type!="year"){alert("Invalid display type! Must be one of: date,week-end,month,quarter,year");return false;}
this.displayType=type;}
function CP_setYearSelectStartOffset(num){this.yearSelectStartOffset=num;}
function CP_setDisabledWeekDays(){this.disabledWeekDays=new Object();for(var i=0;i<arguments.length;i++){this.disabledWeekDays[arguments[i]]=true;}}
function CP_addDisabledDates(start,end){if(arguments.length==1){end=start;}
if(start==null&&end==null){return;}
if(this.disabledDatesExpression!=""){this.disabledDatesExpression+="||";}
if(start!=null){start=parseDate(start);start=""+start.getFullYear()+LZ(start.getMonth()+1)+LZ(start.getDate());}
if(end!=null){end=parseDate(end);end=""+end.getFullYear()+LZ(end.getMonth()+1)+LZ(end.getDate());}
if(start==null){this.disabledDatesExpression+="(ds<="+end+")";}
else if(end==null){this.disabledDatesExpression+="(ds>="+start+")";}
else{this.disabledDatesExpression+="(ds>="+start+"&&ds<="+end+")";}}
function CP_setTodayText(text){this.todayText=text;}
function CP_setCssPrefix(val){this.cssPrefix=val;}
function CP_showNavigationDropdowns(){this.isShowNavigationDropdowns=(arguments.length>0)?arguments[0]:true;}
function CP_showYearNavigationInput(){this.isShowYearNavigationInput=(arguments.length>0)?arguments[0]:true;}
function CP_hideCalendar(){if(arguments.length>0){window.popupWindowObjects[arguments[0]].hidePopup();}
else{this.hidePopup();}}
function CP_refreshCalendar(index){var calObject=window.popupWindowObjects[index];if(arguments.length>1){calObject.populate(calObject.getCalendar(arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]));}
else{calObject.populate(calObject.getCalendar());}
calObject.refresh();}
function CP_showCalendar(anchorname){if(arguments.length>1){if(arguments[1]==null||arguments[1]==""){this.currentDate=new Date();}
else{this.currentDate=new Date(parseDate(arguments[1]));}}
this.populate(this.getCalendar());this.showPopup(anchorname);}
function CP_select(inputobj,linkname,format){var selectedDate=(arguments.length>3)?arguments[3]:null;if(!window.getDateFromFormat){alert("calendar.select: To use this method you must also include 'date.js' for date formatting");return;}
if(this.displayType!="date"&&this.displayType!="week-end"){alert("calendar.select: This function can only be used with displayType 'date' or 'week-end'");return;}
if(inputobj.type!="text"&&inputobj.type!="hidden"&&inputobj.type!="textarea"){alert("calendar.select: Input object passed is not a valid form input object");window.CP_targetInput=null;return;}
if(inputobj.disabled){return;}
window.CP_targetInput=inputobj;window.CP_calendarObject=this;this.currentDate=null;var time=0;if(selectedDate!=null){time=getDateFromFormat(selectedDate,format)}
else if(inputobj.value!=""){time=getDateFromFormat(inputobj.value,format);}
if(selectedDate!=null||inputobj.value!=""){if(time==0){this.currentDate=null;}
else{this.currentDate=new Date(time);}}
window.CP_dateFormat=format;this.showCalendar(linkname);}
function getCalendarStyles(){var result="";var p="";if(this!=null&&typeof(this.cssPrefix)!="undefined"&&this.cssPrefix!=null&&this.cssPrefix!=""){p=this.cssPrefix;}
result+="<STYLE>\n";result+="."+p+"cpYearNavigation,."+p+"cpMonthNavigation { background-color:#C0C0C0; text-align:center; vertical-align:center; text-decoration:none; color:#000000; font-weight:bold; }\n";result+="."+p+"cpDayColumnHeader, ."+p+"cpYearNavigation,."+p+"cpMonthNavigation,."+p+"cpCurrentMonthDate,."+p+"cpCurrentMonthDateDisabled,."+p+"cpOtherMonthDate,."+p+"cpOtherMonthDateDisabled,."+p+"cpCurrentDate,."+p+"cpCurrentDateDisabled,."+p+"cpTodayText,."+p+"cpTodayTextDisabled,."+p+"cpText { font-family:arial; font-size:8pt; }\n";result+="TD."+p+"cpDayColumnHeader { text-align:right; border:solid thin #C0C0C0;border-width:0px 0px 1px 0px; }\n";result+="."+p+"cpCurrentMonthDate, ."+p+"cpOtherMonthDate, ."+p+"cpCurrentDate  { text-align:right; text-decoration:none; }\n";result+="."+p+"cpCurrentMonthDateDisabled, ."+p+"cpOtherMonthDateDisabled, ."+p+"cpCurrentDateDisabled { color:#D0D0D0; text-align:right; text-decoration:line-through; }\n";result+="."+p+"cpCurrentMonthDate, .cpCurrentDate { color:#000000; }\n";result+="."+p+"cpOtherMonthDate { color:#808080; }\n";result+="TD."+p+"cpCurrentDate { color:white; background-color: #C0C0C0; border-width:1px; border:solid thin #800000; }\n";result+="TD."+p+"cpCurrentDateDisabled { border-width:1px; border:solid thin #FFAAAA; }\n";result+="TD."+p+"cpTodayText, TD."+p+"cpTodayTextDisabled { border:solid thin #C0C0C0; border-width:1px 0px 0px 0px;}\n";result+="A."+p+"cpTodayText, SPAN."+p+"cpTodayTextDisabled { height:20px; }\n";result+="A."+p+"cpTodayText { color:black; }\n";result+="."+p+"cpTodayTextDisabled { color:#D0D0D0; }\n";result+="."+p+"cpBorder { border:solid thin #808080; }\n";result+="</STYLE>\n";return result;}
function CP_getCalendar(){var now=new Date();if(this.type=="WINDOW"){var windowref="window.opener.";}
else{var windowref="";}
var result="";if(this.type=="WINDOW"){result+="<HTML><HEAD><TITLE>Calendar</TITLE>"+this.getStyles()+"</HEAD><BODY MARGINWIDTH=0 MARGINHEIGHT=0 TOPMARGIN=0 RIGHTMARGIN=0 LEFTMARGIN=0>\n";result+='<CENTER><TABLE WIDTH=100% BORDER=0 BORDERWIDTH=0 CELLSPACING=0 CELLPADDING=0>\n';}
else{result+='<TABLE CLASS="'+this.cssPrefix+'cpBorder" WIDTH=144 CELLSPACING=0 CELLPADDING=1>\n';result+='<TR><TD ALIGN=CENTER>\n';result+='<CENTER>\n';}
if(this.displayType=="date"||this.displayType=="week-end"){if(this.currentDate==null){this.currentDate=now;}
if(arguments.length>0){var month=arguments[0];}
else{var month=this.currentDate.getMonth()+1;}
if(arguments.length>1&&arguments[1]>0&&arguments[1]-0==arguments[1]){var year=arguments[1];}
else{var year=this.currentDate.getFullYear();}
var daysinmonth=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);if(((year%4==0)&&(year%100!=0))||(year%400==0)){daysinmonth[2]=29;}
var current_month=new Date(year,month-1,1);var display_year=year;var display_month=month;var display_date=1;var weekday=current_month.getDay();var offset=0;offset=(weekday>=this.weekStartDay)?weekday-this.weekStartDay:7-this.weekStartDay+weekday;if(offset>0){display_month--;if(display_month<1){display_month=12;display_year--;}
display_date=daysinmonth[display_month]-offset+1;}
var next_month=month+1;var next_month_year=year;if(next_month>12){next_month=1;next_month_year++;}
var last_month=month-1;var last_month_year=year;if(last_month<1){last_month=12;last_month_year--;}
var date_class;if(this.type!="WINDOW"){result+="<TABLE WIDTH=144 BORDER=0 BORDERWIDTH=0 CELLSPACING=0 CELLPADDING=0>";}
result+='<TR>\n';var refresh=windowref+'CP_refreshCalendar';var refreshLink='javascript:'+refresh;if(this.isShowNavigationDropdowns){result+='<TD CLASS="'+this.cssPrefix+'cpMonthNavigation" WIDTH="78" COLSPAN="3"><select CLASS="'+this.cssPrefix+'cpMonthNavigation" name="cpMonth" onChange="'+refresh+'('+this.index+',this.options[this.selectedIndex].value-0,'+(year-0)+');">';for(var monthCounter=1;monthCounter<=12;monthCounter++){var selected=(monthCounter==month)?'SELECTED':'';result+='<option value="'+monthCounter+'" '+selected+'>'+this.monthNames[monthCounter-1]+'</option>';}
result+='</select></TD>';result+='<TD CLASS="'+this.cssPrefix+'cpMonthNavigation" WIDTH="10">&nbsp;</TD>';result+='<TD CLASS="'+this.cssPrefix+'cpYearNavigation" WIDTH="56" COLSPAN="3"><select CLASS="'+this.cssPrefix+'cpYearNavigation" name="cpYear" onChange="'+refresh+'('+this.index+','+month+',this.options[this.selectedIndex].value-0);">';for(var yearCounter=year-this.yearSelectStartOffset;yearCounter<=year+this.yearSelectStartOffset;yearCounter++){var selected=(yearCounter==year)?'SELECTED':'';result+='<option value="'+yearCounter+'" '+selected+'>'+yearCounter+'</option>';}
result+='</select></TD>';}
else{if(this.isShowYearNavigation){result+='<TD CLASS="'+this.cssPrefix+'cpMonthNavigation" WIDTH="10"><A CLASS="'+this.cssPrefix+'cpMonthNavigation" HREF="'+refreshLink+'('+this.index+','+last_month+','+last_month_year+');">&lt;</A></TD>';result+='<TD CLASS="'+this.cssPrefix+'cpMonthNavigation" WIDTH="58"><SPAN CLASS="'+this.cssPrefix+'cpMonthNavigation">'+this.monthNames[month-1]+'</SPAN></TD>';result+='<TD CLASS="'+this.cssPrefix+'cpMonthNavigation" WIDTH="10"><A CLASS="'+this.cssPrefix+'cpMonthNavigation" HREF="'+refreshLink+'('+this.index+','+next_month+','+next_month_year+');">&gt;</A></TD>';result+='<TD CLASS="'+this.cssPrefix+'cpMonthNavigation" WIDTH="10">&nbsp;</TD>';result+='<TD CLASS="'+this.cssPrefix+'cpYearNavigation" WIDTH="10"><A CLASS="'+this.cssPrefix+'cpYearNavigation" HREF="'+refreshLink+'('+this.index+','+month+','+(year-1)+');">&lt;</A></TD>';if(this.isShowYearNavigationInput){result+='<TD CLASS="'+this.cssPrefix+'cpYearNavigation" WIDTH="36"><INPUT NAME="cpYear" CLASS="'+this.cssPrefix+'cpYearNavigation" SIZE="4" MAXLENGTH="4" VALUE="'+year+'" onBlur="'+refresh+'('+this.index+','+month+',this.value-0);"></TD>';}
else{result+='<TD CLASS="'+this.cssPrefix+'cpYearNavigation" WIDTH="36"><SPAN CLASS="'+this.cssPrefix+'cpYearNavigation">'+year+'</SPAN></TD>';}
result+='<TD CLASS="'+this.cssPrefix+'cpYearNavigation" WIDTH="10"><A CLASS="'+this.cssPrefix+'cpYearNavigation" HREF="'+refreshLink+'('+this.index+','+month+','+(year+1)+');">&gt;</A></TD>';}
else{result+='<TD CLASS="'+this.cssPrefix+'cpMonthNavigation" WIDTH="22"><A CLASS="'+this.cssPrefix+'cpMonthNavigation" HREF="'+refreshLink+'('+this.index+','+last_month+','+last_month_year+');">&lt;&lt;</A></TD>\n';result+='<TD CLASS="'+this.cssPrefix+'cpMonthNavigation" WIDTH="100"><SPAN CLASS="'+this.cssPrefix+'cpMonthNavigation">'+this.monthNames[month-1]+' '+year+'</SPAN></TD>\n';result+='<TD CLASS="'+this.cssPrefix+'cpMonthNavigation" WIDTH="22"><A CLASS="'+this.cssPrefix+'cpMonthNavigation" HREF="'+refreshLink+'('+this.index+','+next_month+','+next_month_year+');">&gt;&gt;</A></TD>\n';}}
result+='</TR></TABLE>\n';result+='<TABLE WIDTH=120 BORDER=0 CELLSPACING=0 CELLPADDING=1 ALIGN=CENTER>\n';result+='<TR>\n';for(var j=0;j<7;j++){result+='<TD CLASS="'+this.cssPrefix+'cpDayColumnHeader" WIDTH="14%"><SPAN CLASS="'+this.cssPrefix+'cpDayColumnHeader">'+this.dayHeaders[(this.weekStartDay+j)%7]+'</TD>\n';}
result+='</TR>\n';for(var row=1;row<=6;row++){result+='<TR>\n';for(var col=1;col<=7;col++){var disabled=false;if(this.disabledDatesExpression!=""){var ds=""+display_year+LZ(display_month)+LZ(display_date);eval("disabled=("+this.disabledDatesExpression+")");}
var dateClass="";if((display_month==this.currentDate.getMonth()+1)&&(display_date==this.currentDate.getDate())&&(display_year==this.currentDate.getFullYear())){dateClass="cpCurrentDate";}
else if(display_month==month){dateClass="cpCurrentMonthDate";}
else{dateClass="cpOtherMonthDate";}
if(disabled||this.disabledWeekDays[col-1]){result+=' <TD CLASS="'+this.cssPrefix+dateClass+'"><SPAN CLASS="'+this.cssPrefix+dateClass+'Disabled">'+display_date+'</SPAN></TD>\n';}
else{var selected_date=display_date;var selected_month=display_month;var selected_year=display_year;if(this.displayType=="week-end"){var d=new Date(selected_year,selected_month-1,selected_date,0,0,0,0);d.setDate(d.getDate()+(7-col));selected_year=d.getYear();if(selected_year<1000){selected_year+=1900;}
selected_month=d.getMonth()+1;selected_date=d.getDate();}
result+=' <TD CLASS="'+this.cssPrefix+dateClass+'"><A HREF="javascript:'+windowref+this.returnFunction+'('+selected_year+','+selected_month+','+selected_date+');'+windowref+'CP_hideCalendar(\''+this.index+'\');" CLASS="'+this.cssPrefix+dateClass+'">'+display_date+'</A></TD>\n';}
display_date++;if(display_date>daysinmonth[display_month]){display_date=1;display_month++;}
if(display_month>12){display_month=1;display_year++;}}
result+='</TR>';}
var current_weekday=now.getDay()-this.weekStartDay;if(current_weekday<0){current_weekday+=7;}
result+='<TR>\n';result+=' <TD COLSPAN=7 ALIGN=CENTER CLASS="'+this.cssPrefix+'cpTodayText">\n';if(this.disabledDatesExpression!=""){var ds=""+now.getFullYear()+LZ(now.getMonth()+1)+LZ(now.getDate());eval("disabled=("+this.disabledDatesExpression+")");}
if(disabled||this.disabledWeekDays[current_weekday+1]){result+='  <SPAN CLASS="'+this.cssPrefix+'cpTodayTextDisabled">'+this.todayText+'</SPAN>\n';}
else{result+='  <A CLASS="'+this.cssPrefix+'cpTodayText" HREF="javascript:'+windowref+this.returnFunction+'(\''+now.getFullYear()+'\',\''+(now.getMonth()+1)+'\',\''+now.getDate()+'\');'+windowref+'CP_hideCalendar(\''+this.index+'\');">'+this.todayText+'</A>\n';}
result+='  <BR>\n';result+=' </TD></TR></TABLE></CENTER></TD></TR></TABLE>\n';}
if(this.displayType=="month"||this.displayType=="quarter"||this.displayType=="year"){if(arguments.length>0){var year=arguments[0];}
else{if(this.displayType=="year"){var year=now.getFullYear()-this.yearSelectStartOffset;}
else{var year=now.getFullYear();}}
if(this.displayType!="year"&&this.isShowYearNavigation){result+="<TABLE WIDTH=144 BORDER=0 BORDERWIDTH=0 CELLSPACING=0 CELLPADDING=0>";result+='<TR>\n';result+=' <TD CLASS="'+this.cssPrefix+'cpYearNavigation" WIDTH="22"><A CLASS="'+this.cssPrefix+'cpYearNavigation" HREF="javascript:'+windowref+'CP_refreshCalendar('+this.index+','+(year-1)+');">&lt;&lt;</A></TD>\n';result+=' <TD CLASS="'+this.cssPrefix+'cpYearNavigation" WIDTH="100">'+year+'</TD>\n';result+=' <TD CLASS="'+this.cssPrefix+'cpYearNavigation" WIDTH="22"><A CLASS="'+this.cssPrefix+'cpYearNavigation" HREF="javascript:'+windowref+'CP_refreshCalendar('+this.index+','+(year+1)+');">&gt;&gt;</A></TD>\n';result+='</TR></TABLE>\n';}}
if(this.displayType=="month"){result+='<TABLE WIDTH=120 BORDER=0 CELLSPACING=1 CELLPADDING=0 ALIGN=CENTER>\n';for(var i=0;i<4;i++){result+='<TR>';for(var j=0;j<3;j++){var monthindex=((i*3)+j);result+='<TD WIDTH=33% ALIGN=CENTER><A CLASS="'+this.cssPrefix+'cpText" HREF="javascript:'+windowref+this.returnMonthFunction+'('+year+','+(monthindex+1)+');'+windowref+'CP_hideCalendar(\''+this.index+'\');" CLASS="'+date_class+'">'+this.monthAbbreviations[monthindex]+'</A></TD>';}
result+='</TR>';}
result+='</TABLE></CENTER></TD></TR></TABLE>\n';}
if(this.displayType=="quarter"){result+='<BR><TABLE WIDTH=120 BORDER=1 CELLSPACING=0 CELLPADDING=0 ALIGN=CENTER>\n';for(var i=0;i<2;i++){result+='<TR>';for(var j=0;j<2;j++){var quarter=((i*2)+j+1);result+='<TD WIDTH=50% ALIGN=CENTER><BR><A CLASS="'+this.cssPrefix+'cpText" HREF="javascript:'+windowref+this.returnQuarterFunction+'('+year+','+quarter+');'+windowref+'CP_hideCalendar(\''+this.index+'\');" CLASS="'+date_class+'">Q'+quarter+'</A><BR><BR></TD>';}
result+='</TR>';}
result+='</TABLE></CENTER></TD></TR></TABLE>\n';}
if(this.displayType=="year"){var yearColumnSize=4;result+="<TABLE WIDTH=144 BORDER=0 BORDERWIDTH=0 CELLSPACING=0 CELLPADDING=0>";result+='<TR>\n';result+=' <TD CLASS="'+this.cssPrefix+'cpYearNavigation" WIDTH="50%"><A CLASS="'+this.cssPrefix+'cpYearNavigation" HREF="javascript:'+windowref+'CP_refreshCalendar('+this.index+','+(year-(yearColumnSize*2))+');">&lt;&lt;</A></TD>\n';result+=' <TD CLASS="'+this.cssPrefix+'cpYearNavigation" WIDTH="50%"><A CLASS="'+this.cssPrefix+'cpYearNavigation" HREF="javascript:'+windowref+'CP_refreshCalendar('+this.index+','+(year+(yearColumnSize*2))+');">&gt;&gt;</A></TD>\n';result+='</TR></TABLE>\n';result+='<TABLE WIDTH=120 BORDER=0 CELLSPACING=1 CELLPADDING=0 ALIGN=CENTER>\n';for(var i=0;i<yearColumnSize;i++){for(var j=0;j<2;j++){var currentyear=year+(j*yearColumnSize)+i;result+='<TD WIDTH=50% ALIGN=CENTER><A CLASS="'+this.cssPrefix+'cpText" HREF="javascript:'+windowref+this.returnYearFunction+'('+currentyear+');'+windowref+'CP_hideCalendar(\''+this.index+'\');" CLASS="'+date_class+'">'+currentyear+'</A></TD>';}
result+='</TR>';}
result+='</TABLE></CENTER></TD></TR></TABLE>\n';}
if(this.type=="WINDOW"){result+="</BODY></HTML>\n";}
return result;}
var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat');function LZ(x){return(x<0||x>9?"":"0")+x}
function isDate(val,format){var date=getDateFromFormat(val,format);if(date==0){return false;}
return true;}
function compareDates(date1,dateformat1,date2,dateformat2){var d1=getDateFromFormat(date1,dateformat1);var d2=getDateFromFormat(date2,dateformat2);if(d1==0||d2==0){return-1;}
else if(d1>d2){return 1;}
return 0;}
function formatDate(date,format){format=format+"";var result="";var i_format=0;var c="";var token="";var y=date.getYear()+"";var M=date.getMonth()+1;var d=date.getDate();var E=date.getDay();var H=date.getHours();var m=date.getMinutes();var s=date.getSeconds();var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;var value=new Object();if(y.length<4){y=""+(y-0+1900);}
value["y"]=""+y;value["yyyy"]=y;value["yy"]=y.substring(2,4);value["M"]=M;value["MM"]=LZ(M);value["MMM"]=MONTH_NAMES[M-1];value["NNN"]=MONTH_NAMES[M+11];value["d"]=d;value["dd"]=LZ(d);value["E"]=DAY_NAMES[E+7];value["EE"]=DAY_NAMES[E];value["H"]=H;value["HH"]=LZ(H);if(H==0){value["h"]=12;}
else if(H>12){value["h"]=H-12;}
else{value["h"]=H;}
value["hh"]=LZ(value["h"]);if(H>11){value["K"]=H-12;}else{value["K"]=H;}
value["k"]=H+1;value["KK"]=LZ(value["K"]);value["kk"]=LZ(value["k"]);if(H>11){value["a"]="PM";}
else{value["a"]="AM";}
value["m"]=m;value["mm"]=LZ(m);value["s"]=s;value["ss"]=LZ(s);while(i_format<format.length){c=format.charAt(i_format);token="";while((format.charAt(i_format)==c)&&(i_format<format.length)){token+=format.charAt(i_format++);}
if(value[token]!=null){result=result+value[token];}
else{result=result+token;}}
return result;}
function _isInteger(val){var digits="1234567890";for(var i=0;i<val.length;i++){if(digits.indexOf(val.charAt(i))==-1){return false;}}
return true;}
function _getInt(str,i,minlength,maxlength){for(var x=maxlength;x>=minlength;x--){var token=str.substring(i,i+x);if(token.length<minlength){return null;}
if(_isInteger(token)){return token;}}
return null;}
function getDateFromFormat(val,format){val=val+"";format=format+"";var i_val=0;var i_format=0;var c="";var token="";var token2="";var x,y;var now=new Date();var year=now.getYear();var month=now.getMonth()+1;var date=1;var hh=now.getHours();var mm=now.getMinutes();var ss=now.getSeconds();var ampm="";var twoDigitThresh=30;while(i_format<format.length){c=format.charAt(i_format);token="";while((format.charAt(i_format)==c)&&(i_format<format.length)){token+=format.charAt(i_format++);}
if(token=="yyyy"||token=="yy"||token=="y"){if(token=="yyyy"){x=4;y=4;}
if(token=="yy"){x=2;y=2;}
if(token=="y"){x=2;y=4;}
year=_getInt(val,i_val,x,y);if(year==null){return 0;}
i_val+=year.length;if(year.length==2){if(year>twoDigitThresh){year=1900+(year-0);}
else{year=2000+(year-0);}}}
else if(token=="MMM"||token=="NNN"){month=0;for(var i=0;i<MONTH_NAMES.length;i++){var month_name=MONTH_NAMES[i];if(val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()){if(token=="MMM"||(token=="NNN"&&i>11)){month=i+1;if(month>12){month-=12;}
i_val+=month_name.length;break;}}}
if((month<1)||(month>12)){return 0;}}
else if(token=="EE"||token=="E"){for(var i=0;i<DAY_NAMES.length;i++){var day_name=DAY_NAMES[i];if(val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()){i_val+=day_name.length;break;}}}
else if(token=="MM"||token=="M"){month=_getInt(val,i_val,token.length,2);if(month==null||(month<1)||(month>12)){return 0;}
i_val+=month.length;}
else if(token=="dd"||token=="d"){date=_getInt(val,i_val,token.length,2);if(date==null||(date<1)||(date>31)){return 0;}
i_val+=date.length;}
else if(token=="hh"||token=="h"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<1)||(hh>12)){return 0;}
i_val+=hh.length;}
else if(token=="HH"||token=="H"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<0)||(hh>23)){return 0;}
i_val+=hh.length;}
else if(token=="KK"||token=="K"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<0)||(hh>11)){return 0;}
i_val+=hh.length;}
else if(token=="kk"||token=="k"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<1)||(hh>24)){return 0;}
i_val+=hh.length;hh--;}
else if(token=="mm"||token=="m"){mm=_getInt(val,i_val,token.length,2);if(mm==null||(mm<0)||(mm>59)){return 0;}
i_val+=mm.length;}
else if(token=="ss"||token=="s"){ss=_getInt(val,i_val,token.length,2);if(ss==null||(ss<0)||(ss>59)){return 0;}
i_val+=ss.length;}
else if(token=="a"){if(val.substring(i_val,i_val+2).toLowerCase()=="am"){ampm="AM";}
else if(val.substring(i_val,i_val+2).toLowerCase()=="pm"){ampm="PM";}
else{return 0;}
i_val+=2;}
else{if(val.substring(i_val,i_val+token.length)!=token){return 0;}
else{i_val+=token.length;}}}
if(i_val!=val.length){return 0;}
if(month==2){if(((year%4==0)&&(year%100!=0))||(year%400==0)){if(date>29){return 0;}}
else{if(date>28){return 0;}}}
if((month==4)||(month==6)||(month==9)||(month==11)){if(date>30){return 0;}}
if(hh<12&&ampm=="PM"){hh=hh-0+12;}
else if(hh>11&&ampm=="AM"){hh-=12;}
var newdate=new Date(year,month-1,date,hh,mm,ss);return newdate.getTime();}
function parseDate(val){var preferEuro=(arguments.length==2)?arguments[1]:false;generalFormats=new Array('y-M-d','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d');monthFirst=new Array('M/d/y','M-d-y','M.d.y','MMM-d','M/d','M-d');dateFirst=new Array('d/M/y','d-M-y','d.M.y','d-MMM','d/M','d-M');var checkList=new Array('generalFormats',preferEuro?'dateFirst':'monthFirst',preferEuro?'monthFirst':'dateFirst');var d=null;for(var i=0;i<checkList.length;i++){var l=window[checkList[i]];for(var j=0;j<l.length;j++){d=getDateFromFormat(val,l[j]);if(d!=0){return new Date(d);}}}
return null;}
function DS_timeselect_writeStamp(ele){ele=ele.id.startsWith('time_')?$(ele.id.sub('time_','')):$(ele);var hidden=$('hidden_'+ele.id);var time=$('time_'+ele.id);if(!hidden||!time)return;var format=ele.readAttribute('dateformat');var stamp=getDateFromFormat(ele.value,format);if(stamp==0){hidden.value='';return;}
var hour=time.value.split(':',2);var min=parseInt(parseFloat(hour[1]));hour=parseInt(parseFloat(hour[0]));var dt=new Date(stamp);var dt1=new Date(dt.getFullYear(),dt.getMonth(),dt.getDate(),hour,min,0,0);hidden.value=dt1.getTime()/1000;}
function DS_dateTimeInit(root){var writeStamp=function(ele){DS_timeselect_writeStamp(ele);}
var init=function(input){if(hasClassName(input,'patched'))return;input=$(input);var id=input.id.sub('time_','');var DS=$(id);var hidden=$('hidden_'+id);DS.writeAttribute('onkeyup','').observe('keyup',function(){writeStamp(DS);});input.observe('click',function(){DS_showtimeselect(input,input.value);}).observe('blur',function(){DS_hide_timeselect();DS_check_time(input);writeStamp(DS);}).observe('keyup',function(){DS_showtimeselect(input,input.value);});writeStamp(DS);input.addClassName('patched');}
root=$(root);var all=(root==document.body||root==document||!root)?$$('input.LinkORB_timeselect'):$(root).select('input.LinkORB_timeselect');all.each(init);}
var DS_timeselect_returnobj=null;var DS_usingtimeselect=0;function DS_showtimeselect(obj,myTime){var dv=$('div_dateselect_time');var unitHeight=dv.firstDescendant().getHeight();var mytimeArr=myTime.split(':');var factor=parseInt(parseFloat(mytimeArr[0]));dv.scrollTop=factor*unitHeight*2;dv.clonePosition(obj,{setHeight:0,offsetTop:(obj.getHeight())}).show();DS_timeselect_returnobj=obj;}
function DS_hide_timeselect(){if(DS_usingtimeselect==0)document.getElementById('div_dateselect_time').style.display='none';}
function DS_check_time(obj){var arr=obj.value.split(':');var h=Math.abs(parseInt(parseFloat(arr[0])));var m=Math.abs(parseInt(parseFloat(arr[1])));if(h>23||isNaN(h))h=0;if(m>59||isNaN(m))m=0;var hr='';var min='';hr=(h<10)?'0'+h:h;min=(m<10)?'0'+m:m;obj.value=hr+':'+min;}
function DS_time_init(){var dv=document.createElement('div');dv.id="div_dateselect";dv.onmouseup=function(){document.onmouseup='';document.onmouseup=PopupWindow_hidePopupWindows;}
var firstChild=document.body.firstChild;document.body.insertBefore(dv,firstChild);dv=document.createElement('div');dv.id="div_dateselect_time";dv.onmouseover=function(){DS_usingtimeselect=1;}
dv.onmouseout=function(){DS_usingtimeselect=0;}
dv.style.display="none";document.body.insertBefore(dv,firstChild);var addHoverClass=function(){this.addClassName('active');}
var removeHoverClass=function(){this.removeClassName('active');}
var select=function(){var ipt=$(DS_timeselect_returnobj);var v=this.getElementsByTagName('span')[0].innerHTML;ipt.value=v;this.removeClassName('active');this.parentNode.style.display='none';DS_timeselect_writeStamp(ipt);LiveSave(ipt);}
var addSlot=function(tmeIndex){var h=leadingZero(Math.floor(tmeIndex/2));var m=((tmeIndex%2)==1)?"30":"00";var timeDiv=new Element('div');timeDiv.observe('mouseover',addHoverClass).observe('mouseout',removeHoverClass).observe('mouseup',select).update(" <span>"+h+":"+m+"</span>  <span />");dv.appendChild(timeDiv);}
for(var i=0;i<48;i++)addSlot(i);}
function LinkORB_DSReturn(y,m,d){var hour=0;var min=0;var target=$(window.CP_targetInput);var time=$('time_'+target.id);if(time){hour=time.value.split(':');min=parseInt(parseFloat(hour[1]))||0;hour=parseInt(parseFloat(hour[0]))||0;}
var dt=new Date(y,m-1,d,hour,min,0);if(window.CP_calendarObject!=null){window.CP_calendarObject.copyMonthNamesToWindow();}
target.value=formatDate(dt,window.CP_dateFormat);var hidden=$('hidden_'+target.id);if(hidden){hidden.value=(dt.getTime())/1000;if(target.readAttribute('l:check'))Checker_CheckField(target);LiveSave(hidden);}
var onreturn=target.readAttribute('onreturn');if(onreturn)eval(onreturn)($(target.id));var onupdate=target.readAttribute('l:onupdate');if(onupdate)eval(onupdate)(target);}
function LinkORB_DSValue2Date(event,formatInput){var element=Event.element(event);if(!formatInput){var key=event.which||event.keyCode;if(key==Event.KEY_RETURN)formatInput=true;}
var format=element.getAttribute('dateformat');var inputFormat=element.readAttribute('l:inputformat');var stamp=getDateFromFormat(element.value,format);if(stamp==0&&inputFormat){stamp=getDateFromFormat(element.value,inputFormat);if(stamp==0){var tmpFormat='';var i=0;while(i<inputFormat.length){if(i>0)
if(inputFormat.charAt(i)!=inputFormat.charAt(i-1))tmpFormat+='-';tmpFormat+=inputFormat.charAt(i++);}
stamp=getDateFromFormat(element.value.replace(/[^0-9]/g,'-'),tmpFormat);}}
if(stamp==0){if(formatInput)element.value='';$('hidden_'+element.id).value='';}
else{var dt=new Date(stamp);var dt1=new Date(dt.getFullYear(),dt.getMonth(),dt.getDate(),0,0,0);$('hidden_'+element.id).value=dt1.getTime()/1000;if(formatInput)element.value=formatDate(dt,format);}
var onupdate=element.readAttribute('l:onupdate');if(onupdate)eval(onupdate)(element);}
function LinkORB_DS_SetDate(input,stamp){var hidden=$('hidden_'+input.id);if(hidden)hidden.value=stamp;var dt=new Date();dt.setTime(stamp*1000);input.value=formatDate(dt,input.getAttribute('dateformat'));}
Event.observe(document,'dom:loaded',DS_time_init);function PopupWindow_getXYPosition(anchorname){var coordinates;if(this.type=="WINDOW"){coordinates=getAnchorWindowPosition(anchorname);}
else{coordinates=getAnchorPosition(anchorname);}
this.x=coordinates.x;this.y=coordinates.y;}
function PopupWindow_setSize(width,height){this.width=width;this.height=height;}
function PopupWindow_populate(contents){this.contents=contents;this.populated=false;}
function PopupWindow_setUrl(url){this.url=url;}
function PopupWindow_setWindowProperties(props){this.windowProperties=props;}
function PopupWindow_refresh(){if(this.divName!=null){if(this.use_gebi){document.getElementById(this.divName).innerHTML=this.contents;}
else if(this.use_css){document.all[this.divName].innerHTML=this.contents;}
else if(this.use_layers){var d=document.layers[this.divName];d.document.open();d.document.writeln(this.contents);d.document.close();}}
else{if(this.popupWindow!=null&&!this.popupWindow.closed){if(this.url!=""){this.popupWindow.location.href=this.url;}
else{this.popupWindow.document.open();this.popupWindow.document.writeln(this.contents);this.popupWindow.document.close();}
this.popupWindow.focus();}}}
function PopupWindow_showPopup(anchorname){this.getXYPosition(anchorname);this.x+=this.offsetX;this.y+=this.offsetY;if(!this.populated&&(this.contents!="")){this.populated=true;this.refresh();}
if(this.divName!=null){var pp_div=document.getElementById(this.divName);var pp_anchor=document.getElementById(anchorname);this.x=findPosX(pp_anchor);this.y=findPosY(pp_anchor);if(pp_div.offsetParent){this.x-=findPosX(pp_div.offsetParent);this.y-=findPosY(pp_div.offsetParent);}
this.y+=pp_anchor.offsetHeight;while(pp_anchor!=document.body){if(pp_anchor.scrollTop)this.y-=pp_anchor.scrollTop;if(pp_anchor.scrollLeft)this.x-=pp_anchor.scrollLeft;pp_anchor=pp_anchor.parentNode;}
if(this.use_gebi){document.getElementById(this.divName).style.left=this.x+"px";document.getElementById(this.divName).style.top=this.y+"px";document.getElementById(this.divName).style.visibility="visible";}
else if(this.use_css){document.all[this.divName].style.left=this.x;document.all[this.divName].style.top=this.y;document.all[this.divName].style.visibility="visible";}
else if(this.use_layers){document.layers[this.divName].left=this.x;document.layers[this.divName].top=this.y;document.layers[this.divName].visibility="visible";}}
else{if(this.popupWindow==null||this.popupWindow.closed){if(this.x<0){this.x=0;}
if(this.y<0){this.y=0;}
if(screen&&screen.availHeight){if((this.y+this.height)>screen.availHeight){this.y=screen.availHeight-this.height;}}
if(screen&&screen.availWidth){if((this.x+this.width)>screen.availWidth){this.x=screen.availWidth-this.width;}}
var avoidAboutBlank=window.opera||(document.layers&&!navigator.mimeTypes['*'])||navigator.vendor=='KDE'||(document.childNodes&&!document.all&&!navigator.taintEnabled);this.popupWindow=window.open(avoidAboutBlank?"":"about:blank","window_"+anchorname,this.windowProperties+",width="+this.width+",height="+this.height+",screenX="+this.x+",left="+this.x+",screenY="+this.y+",top="+this.y+"");}
this.refresh();}}
function PopupWindow_hidePopup(){if(this.divName!=null){if(this.use_gebi){if(document.getElementById(this.divName))
document.getElementById(this.divName).style.visibility="hidden";}
else if(this.use_css){document.all[this.divName].style.visibility="hidden";}
else if(this.use_layers){document.layers[this.divName].visibility="hidden";}}
else{if(this.popupWindow&&!this.popupWindow.closed){this.popupWindow.close();this.popupWindow=null;}}}
function PopupWindow_isClicked(e){if(this.divName!=null){if(this.use_layers){var clickX=e.pageX;var clickY=e.pageY;var t=document.layers[this.divName];if((clickX>t.left)&&(clickX<t.left+t.clip.width)&&(clickY>t.top)&&(clickY<t.top+t.clip.height)){return true;}
else{return false;}}
else if(document.all){var t=window.event.srcElement;while(t.parentElement!=null){if(t.id==this.divName){return true;}
t=t.parentElement;}
return false;}
else if(this.use_gebi&&e){var t=e.explicitOriginalTarget;while(t.parentNode!=null){if(t.id==this.divName){return true;}
t=t.parentNode;}
return false;}
return false;}
return false;}
function PopupWindow_hideIfNotClicked(e){if(this.autoHideEnabled&&!this.isClicked(e)){this.hidePopup();}}
function PopupWindow_autoHide(){this.autoHideEnabled=true;}
function PopupWindow_hidePopupWindows(e){for(var i=0;i<popupWindowObjects.length;i++){if(popupWindowObjects[i]!=null){var p=popupWindowObjects[i];p.hideIfNotClicked(e);}}}
function PopupWindow_attachListener(){if(document.layers){document.captureEvents(Event.MOUSEUP);}
window.popupWindowOldEventListener=document.onmouseup;if(window.popupWindowOldEventListener!=null){document.onmouseup=new Function("window.popupWindowOldEventListener(); PopupWindow_hidePopupWindows();");}
else{document.onmouseup=PopupWindow_hidePopupWindows;}}
function PopupWindow(){if(!window.popupWindowIndex){window.popupWindowIndex=0;}
if(!window.popupWindowObjects){window.popupWindowObjects=new Array();}
if(!window.listenerAttached){window.listenerAttached=true;PopupWindow_attachListener();}
this.index=popupWindowIndex++;popupWindowObjects[this.index]=this;this.divName=null;this.popupWindow=null;this.width=0;this.height=0;this.populated=false;this.visible=false;this.autoHideEnabled=false;this.contents="";this.url="";this.windowProperties="toolbar=no,location=no,status=no,menubar=no,scrollbars=auto,resizable,alwaysRaised,dependent,titlebar=no";if(arguments.length>0){this.type="DIV";this.divName=arguments[0];}
else{this.type="WINDOW";}
this.use_gebi=false;this.use_css=false;this.use_layers=false;if(document.getElementById){this.use_gebi=true;}
else if(document.all){this.use_css=true;}
else if(document.layers){this.use_layers=true;}
else{this.type="WINDOW";}
this.offsetX=0;this.offsetY=0;this.getXYPosition=PopupWindow_getXYPosition;this.populate=PopupWindow_populate;this.setUrl=PopupWindow_setUrl;this.setWindowProperties=PopupWindow_setWindowProperties;this.refresh=PopupWindow_refresh;this.showPopup=PopupWindow_showPopup;this.hidePopup=PopupWindow_hidePopup;this.setSize=PopupWindow_setSize;this.isClicked=PopupWindow_isClicked;this.autoHide=PopupWindow_autoHide;this.hideIfNotClicked=PopupWindow_hideIfNotClicked;}
var maxWidth=50;var borderBox=false;var horizontal=new Array();var menuTop=new Array();var menuHeight=new Array();var menuLeft=new Array();var menuWidth=new Array();function loadMenu(){if(!document.getElementById)return;var i=0,j,root,submenus,node,li,link,division;while(true){root=document.getElementById("menuList"+(i+1));if(root==null)
break;submenus=root.getElementsByTagName("ul");division=root.parentNode;if(document.createElement){for(j=0;j<submenus.length;j++){node=submenus.item(j);if(node.className=="menu"&&node.getElementsByTagName("ul").length==0){li=document.createElement("li");node.appendChild(li);li.style.position="absolute";li.style.visibility="hidden";}}
if(i==0){li.style.display="block";li.style.padding="0";li.style.width="2px";li.style.border="1px solid";if(li.offsetWidth==2)
borderBox=true;}}
initializeMenu(root,division,i);for(j=0;j<submenus.length;j++){node=submenus.item(j);if(node.className=="menu"){link=node.previousSibling;while(link!=null){if(link.className=="actuator"){initializeSubmenu(node,link,root,division);node.set();break;}
link=link.previousSibling;}}}
i++;}}
function initializeMenu(root,div,index){horizontal[index]=menuIsHorizontal(root);menuTop[index]=div.offsetTop;menuHeight[index]=div.offsetHeight;menuLeft[index]=div.offsetLeft;menuWidth[index]=div.offsetWidth;div.horizontal=function(){return horizontal[index];}
div.checkMove=function(){if(this.hasMoved())this.resetMenu();}
div.hasMoved=function(){if(menuTop[index]==this.offsetTop&&menuHeight[index]==this.offsetHeight&&menuLeft[index]==this.offsetLeft&&menuWidth[index]==this.offsetWidth)
return false;return true;}
div.resetMenu=function(){horizontal[index]=menuIsHorizontal(root);menuTop[index]=this.offsetTop;menuHeight[index]=this.offsetHeight;menuLeft[index]=this.offsetLeft;menuWidth[index]=this.offsetWidth;var submenus=root.getElementsByTagName("ul");for(var j=0;j<submenus.length;j++){var node=submenus.item(j);if(node.className=="menu"){node.style.right="";node.style.left="";if(!window.opera)
node.style.width="";node.set();}}}}
function menuIsHorizontal(root){var first=firstElement(root,"LI");if(first!=null){var second=first.nextSibling;while(second!=null){if(second.tagName=="LI"){first=firstElement(first,"A");second=firstElement(second,"A");if(first!=null&&second!=null)
if(first.offsetLeft==second.offsetLeft)
return false;return true;}
second=second.nextSibling;}}
return true;}
function initializeSubmenu(menu,actuator,root,div){var parent=menu.parentNode;parent.onmouseover=function(){div.checkMove();menu.style.visibility="visible";}
actuator.onfocus=function(){div.checkMove();menu.style.visibility="visible";}
parent.onmouseout=function(){menu.style.visibility="";}
var tags=menu.getElementsByTagName("a");var link=tags.item(tags.length-1);if(!link.onblur)
link.onblur=function(){var node=link.parentNode.parentNode;while(node!=menu){node.style.visibility="";node=node.parentNode.parentNode;}
menu.style.visibility="";}
if(parent.parentNode==root){menu.set=function(){setLocation1(this,actuator,root,div);}}else{menu.set=function(){setLocation2(this,actuator,div);}}}
function setLocation1(menu,actuator,root,div){var first=firstElement(menu,"LI");if(first!=null)
if(first.offsetParent==menu)
setWidth(menu);if(div.horizontal()){if(actuator.offsetParent==menu.offsetParent){menu.style.left=actuator.offsetLeft+"px";menu.style.top=actuator.offsetTop+actuator.offsetHeight+"px";}else{var parent=actuator.offsetParent;var top=0;var left=0;while(parent!=menu.offsetParent&&parent!=null){top=top+parent.offsetTop;left=left+parent.offsetLeft;parent=parent.offsetParent;}
menu.style.left=left+actuator.offsetLeft+"px";menu.style.top=top+actuator.offsetTop+actuator.offsetHeight+"px";}}else{menu.style.top=actuator.offsetTop+"px";menu.style.left=(div.offsetWidth+actuator.offsetWidth)/2+"px";}}
function setLocation2(menu,actuator,div){if(menu.offsetParent!=document.body)
setWidth(menu);menu.style.top=actuator.offsetTop+"px";menu.style.left=actuator.offsetWidth+"px";}
function setWidth(menu){menu.style.right=-maxWidth+"em";var width=0;var height=0;var items=menu.getElementsByTagName("a");for(var i=0;i<items.length;i++){var link=items.item(i);if(link.parentNode.parentNode==menu){height=height+link.offsetHeight;if(link.offsetWidth>width)
width=link.offsetWidth;}}
if(borderBox)
width=width+(menu.offsetHeight-height);menu.style.width=width+"px";}
function firstElement(node,name){var first=node.firstChild;while(first!=null){if(first.tagName==name)
return first;first=first.nextSibling;}
return null;}
function eform_check(field,type,nr){var checkflag="FALSE";switch(type){case"address":checkflag="TRUE";for(var i=0;i<nr;i++){if($(field+i).value==""){checkflag="FALSE";break;}}
break;case"checkbox":for(var i=0;i<nr;i++){if($(field+i).checked){checkflag="TRUE";break;}}
break;case"date":if($(field+"[Year]").value)checkflag="TRUE";break;default:if($(field).value!="")checkflag="TRUE";break;}
var img=$(field+"_img");if(img){if(checkflag=="TRUE"){img.removeClassName('icon-no-16');img.addClassName('icon-yes-16');}else{img.removeClassName('icon-yes-16');img.addClassName('icon-no-16');}}}
function eform_submit(){var fm=$('form_eform');var oke=true;fm.select('div.icon').each(function(dv){if($(dv).hasClassName('icon-no-16'))oke=false;});if(!oke)alert($("fill_all").value);return oke;}
Event.observe(window,'load',help_init);var helpWinID=null;var helpCache=[];var currentHelpCacheIndex=0;function help_init(){var html="<div id='help_search'>";html+="<form onsubmit=\"return false;\">";html+="<input type='text' name='EDIT_keyword'/><input type='submit' value='Search' onclick=\"help_search(this.form);return false;\"/>";html+="<form></div>";html+="<fieldset><legend onclick=\"Effect.toggle('help_result','blind')\" style=\"cursor:pointer\">Result</legend><div id='help_result'></div></fieldset>";html+="<div><button id=\"help_back\" onclick=\"LHelpBack()\" disabled=\"disabled\">back</button></div><div id='help_content'></div>";var dv=document.createElement("div");dv.innerHTML=html;dv.style.display='none';dv.id='div_help_content';document.body.appendChild(dv);}
function help_close(){$("window_"+helpWinID+"_container").style.display='none';}
function help_search(fm){loadajaxscript('&page=help&action=search&EDIT_keyword='+fm.EDIT_keyword.value);$('help_result').innerHTML='Searching ...';$('help_content').innerHTML='';return false;}
function ShowHelpWindow(reset){if(!helpWinID){helpWinID=WindowMgr_CreateWindow(450,500,"Online help");Window_SetClose(helpWinID,help_close);$('window_'+helpWinID+'_content').innerHTML=$('div_help_content').innerHTML;}
Effect.Appear($("window_"+helpWinID+"_container"));if(reset){var kwd=$("help_search").getElementsByTagName('form')[0].EDIT_keyword;kwd.value='';kwd.focus();$("help_result").innerHTML='';$('help_content').innerHTML='';}else{$('help_content').innerHTML='Loading ...';Effect.BlindUp('help_result');}}
function LHelpBack(){if(currentHelpCacheIndex>1){currentHelpCacheIndex-=2;LHelp(helpCache[currentHelpCacheIndex]);}}
function LHelp(plugintopic){ShowHelpWindow();$("help_content").innerHTML="Loading...";loadajaxscript('&page=help&action=showtopic&plugintopic='+plugintopic);if(currentHelpCacheIndex>10){helpCache.each(function(e,i){helpCache[i]=helpCache[i+1];});currentHelpCacheIndex--;}
helpCache[currentHelpCacheIndex++]=plugintopic;$('help_back').disabled=(currentHelpCacheIndex>1)?false:true;}
function LHelpReturn(){new Effect.Highlight('help_content');var a=getElementsByClass($('help_content'),'crosslink','a');for(var i=0;i<a.length;i++){a[i].href="javascript:LHelp('"+a[i].getAttribute('helpplugin')+","+a[i].getAttribute('topic')+"')";}}
function letter_CheckUnsub(ele){for(i=0;i<ele.form.SentTo.length;i++){if(ele.form.SentTo[i].checked){emailunsub=ele.form.SentTo[i].value;if(ele.form.SentTo[i].value=='Other'){emailunsub=ele.form.NEW_Email.value;}}}
if((emailunsub!='')&&Check_Email(emailunsub)){var uri="&page=letter&action=checkunsub&winid="+FindParentWindowID(ele);var postdata="&emailunsub="+emailunsub;loadajaxscript(uri,null,postdata);}else{alert("Please enter a valid email address.");ele.form.NEW_Email.focus();}
return false;}
function letter_fillEmail(ele){var emailtype=ele.value;if(emailtype=='USER'){$('EDIT_senderid').style.display='';}
else{$('EDIT_senderid').style.display='none';}
if(emailtype=='SYSTEM'){var uri="&page=letter&action=fillemail";uri+="&sendertype="+emailtype;loadajaxscript(uri);}}
function letter_fillEmailById(ele){var senderid=ele.value;if(senderid){var uri="&page=letter&action=fillemail";uri+="&senderid="+senderid;loadajaxscript(uri);}
else{$('EDIT_sendername').value="";$('EDIT_senderemail').value="";}}
function letter_check4vars(uid){var lettercode=$F('SELECT_Template');if(lettercode){loadajaxscript("&page=letter&action=check4vars&lettercode="+lettercode+"&uid="+uid);}}
function letter_sendletter(lettercode,userid,variable,returl){if(!userid)return;var winid=WindowMgr_CreateWindow(375,250,"Select email address","");var containerid="window_"+winid+"_container";loadajaxscript("&page=letter&action=selectemail&lettercode="+lettercode+"&uid="+userid+"&variable="+variable+"&returl="+returl+"&winid="+winid);}
function letter_prepareletter(lettercode,userid,variable,returl){if(!userid)return;var winid=WindowMgr_CreateWindow(400,385,"Prepare email","");var containerid="window_"+winid+"_container";loadajaxscript("&page=letter&action=prepareletter&lettercode="+lettercode+"&uid="+userid+"&variable="+variable+"&returl="+returl+"&winid="+winid);}
function LinkORBHTML_ResizeButtons(){var buttons=$A(document.getElementsByTagName("button"));buttons.each(function(e){e=$(e);if(e.hasClassName("enhanced")){LinkORBHTML_ResizeButton(e.childNodes[0]);}});}
function LinkORBHTML_ResizeButton(img){var button=img.parentNode;button.style.width=$(img).getWidth()+3+"px";button.style.height="26px";}
function LinkORBHTML_SetButtonState(b,state){b.state=state;b.removeClassName("state_disabled");b.removeClassName("state_active");b.removeClassName("state_default");b.removeClassName("state_hover");b.addClassName("state_"+state);if(b.imagebutton){b.imgDisabled.style.display="none";b.imgActive.style.display="none";b.imgDefault.style.display="none";b.imgHover.style.display="none";}
switch(b.state){case"default":b.style.cursor="";if(b.imagebutton)b.imgDefault.style.display="block";break;case"hover":if(b.imagebutton)b.imgHover.style.display="block";break;case"disabled":b.style.cursor="not-allowed";if(b.imagebutton)b.imgDisabled.style.display="block";break;case"active":b.style.cursor="";if(b.imagebutton)b.imgActive.style.display="block";break;}}
function LinkORBHTML_InitImageButton(b){var type=b.innerHTML;var path=baseUrl+"data/site/"+siteID+"/imagebutton/"
var content="";content+="<img class=\"active\" src=\""+path+type+"_active.png\" />";content+="<img class=\"disabled\" src=\""+path+type+"_disabled.png\" />";content+="<img class=\"default\" src=\""+path+type+".png\" onload=\"LinkORBHTML_ResizeButton(this)\" />";content+="<img class=\"hover\" src=\""+path+type+"_hover.png\" />";b.innerHTML=content;var imgs=b.getElementsByTagName("img");b.imgActive=$(imgs[0]);b.imgDisabled=$(imgs[1]);b.imgDefault=$(imgs[2]);b.imgHover=$(imgs[3]);b.imagebutton=true;if(b.state=="disabled"){LinkORBHTML_SetButtonState(b,"disabled");}else{LinkORBHTML_SetButtonState(b,"default");}}
function LinkORBHTML_InitButton(b){b=$(b);var selectorid=b.readAttribute("l:selector");var selector=$(selectorid)||null;var icon=b.readAttribute("l:icon")||"";if(icon!=""){icon='<div class="icon icon-'+icon+'-16"></div>';b.addClassName("withicon");}
if(b.readAttribute("l:enhance")!="false"){b.update('<div class="button">'+icon+'<span>'+b.innerHTML+'</span></div>');}else{b.update(icon+b.innerHTML);b.addClassName('noenhance');}
Event.observe(b,'mouseover',function(event){if(b.state=="disabled")return;LinkORBHTML_SetButtonState(b,"hover");});Event.observe(b,'mouseout',function(event){if(b.state=="disabled")return;LinkORBHTML_SetButtonState(b,"default");});Event.observe(b,'mousedown',function(){if(b.state=="disabled")return;LinkORBHTML_SetButtonState(b,"active");});Event.observe(b,'mouseup',function(){if(b.state=="disabled")return;LinkORBHTML_SetButtonState(b,"default");});Event.observe(b,'click',function(event){if(b.state=="disabled")return;var cfm=b.readAttribute("l:confirm");if(cfm){if(!confirm(cfm)){event.stop();return false;}}
if((b.type.toLowerCase()=='submit')&&(globalLiveSaveAJAXCount>0)){lastRedirect=b;event.stop();return false;}
var link=b.readAttribute("l:link");if(link){if(selector){var key=selector.readAttribute("l:key");link=link.replace(/\[selector.key\]/,key);}
SetIndicator(true);if(b.readAttribute("l:target")=='_blank'){switch(link.substring(0,1)){case"/":link=baseUrl+link.substring(1);break;case"?":link=baseUrl+link;break;}
window.open(link.replace(/&amp;/g,"&"));event.stop();return false;}
else
redirect(link);event.stop();}});b.observe('focus',function(){if(b.state=="disabled")return;LinkORBHTML_SetButtonState(b,"hover");}).observe('blur',function(){if(b.state=="disabled")return;LinkORBHTML_SetButtonState(b,"default");});if(b.disabled){LinkORBHTML_SetButtonState(b,"disabled");b.disabled=false;}
else
LinkORBHTML_SetButtonState(b,"default");if(selector){Event.observe(selector,'l:keyselected',function(event){LinkORBHTML_SetButtonState(b,"default");});Event.observe(selector,'l:keyunselected',function(event){LinkORBHTML_SetButtonState(b,"disabled");});}
if(selectorid)LinkORBHTML_SetButtonState(b,"disabled");}
function LinkORBHTML_InitButtons(root){var buttons=root.getElementsByTagName("button");$A(buttons).each(function(b){LinkORBHTML_InitButton(b);});}
function LinkORBHTML_InitForms(root){var elements=root.getElementsByTagName("form");$A(elements).each(function(e){e=$(e);Element.addMethods({prepareautosave:function(e){$A(e.elements).each(function(w){if(w.name==''){if(w.id.startsWith('real_'))w.name=w.id.substr(5);else w.name=w.id;}});var autosavelist="";$A(e.elements).each(function(w){if(!Element.readAttribute(w,'l:noautosave'))
autosavelist+=w.name+"|";});e.autosavelist=autosavelist;if(autosavelist){var wle=new Element('input',{'type':'hidden','name':'AutoSaveList',value:autosavelist});e.appendChild(wle);}
var postredir=e.readAttribute("l:postredir");if(postredir){var pre=new Element('input',{'type':'hidden','name':'postredir',value:postredir});e.appendChild(pre);}},autosaveform:function(e){var autosave=e.readAttribute("l:autosave");if(autosave){Element.prepareautosave(e);if(autosave=="ajax"){Element.autosaveformajax(e);}}},autosaveformajax:function(e){loadajaxscript(e.readAttribute("l:link"),uncoverElement,e.serialize());event.stop();return false;}});if(!e.method)e.method='post';if(e.action)return;var llink=e.readAttribute("l:link");if(!llink)return;e.action=baseUrl+llink.substr(1);Event.observe(e,'submit',function(event){Element.autosaveform(e);});});}
function LinkORB_Format(source,type,customParameter){if(!source)return;var element=(typeof(source)=='object')?$(source):null;var string='';if(element){if(element.hasClassName('dateselect'))string=$('hidden_'+element.id).value;else string=element.value;}else{string=(typeof(source)=='string')?source:'';}
if(!type&&element){type=element.readAttribute('l:format');}
if(!type)return;var val=string;var warning=false;var re=new RegExp(/\((.*)\)/);var m=re.exec(type);var params=null;if(m!=null){if(m.length){params=m[1].split(",");type=type.substring(0,m.index);}}
type.toLowerCase().split(";").each(function(c){switch(c){case'notempty':if(val.strip()=='')warning=true;break;case'range':if(params){var valFloat=parseFloat(val)||0;if(params[0])
if(valFloat<(parseFloat(params[0])||0))warning=true;if(params[1])
if(valFloat>(parseFloat(params[1])||0))warning=true;}
break;default:var func=eval('window.Format_'+c);if(Object.isFunction(func)){var tmp=func(val,customParameter);if(tmp===false)warning=true;else val=tmp;}
break;}});if(element){if(val!=string)element.value=val;}
return val;}
function Format_autocase(string){var l=[];l['af']=1;l['aan']=1;l['bij']=1;l['de']=1;l['den']=1;l['der']=1;l["d'"]=1;l['het']=1;l["'t"]=1;l['in']=1;l['onder']=1;l['op']=1;l['over']=1;l["'s"]=1;l['te']=1;l['ten']=1;l['ter']=1;l['tot']=1;l['uit']=1;l['uijt']=1;l['van']=1;l['von']=1;l['vanden']=1;l['ver']=1;l['voor']=1;var val="";var s=string.split(" ");for(var i=0;i<s.length;i++){if(i>0)val+=" ";var sl=s[i].toLowerCase();switch(sl){case"b.v.":case"bv":val+='B.V.';break;case"linkorb":val+='LinkORB';break;case"v":val+='van';break;case"d":val+='de';break;case"vd":case"v.d.":case"v.d":case"vd.":val+='van de';break;default:if(sl.include('.')){if(sl=='th.'){val+='Th.';break;}
if(!sl.endsWith('.')){sl=sl+'.';}
val+=sl.toUpperCase();break;}
if(l[sl]==1&&(s[i+1]&&s[i+1]!='')){val+=sl;}else{val+=s[i].capitalize();}
break;}}
return val;}
function Format_price(string,customParameter){var info=customParameter?customParameter.toArray():UserConfig_NumberFormat.toArray();var mode=UserConfig_NumberFormatterMode;var dlth=parseInt(UserConfig_PriceDecimalDigits);var amount=[];if(mode=='strict'){amount=string.split(info[1]);}else{string=string.replace(/,/g,'.');var pos=string.lastIndexOf('.');amount[1]=(pos==-1)?'':string.slice(pos+1);amount[0]=(pos==-1)?string:string.slice(0,pos).replace(/\./g,'');}
amount[0]=parseFloat(amount[0].replace(/[^0-9\-]/g,''))||'0';amount[1]=(amount[1]||'').replace(/[^0-9]/g,'');var diff=dlth-amount[1].length;amount[1]=(diff>=0)?amount[1]+'0'.times(diff):amount[1].truncate(dlth,'');var val=amount[0]+info[1]+amount[1];return val;}
function Format_phone(string){var val=string.strip().replace(/\+/g,'00');if(val=='')return'';val=val.replace(/[^0-9]/g,'');if(val.startsWith('000')||val.length>30||val.length<4)return false;return val;}
function Format_phonenumber(string){return Format_phone(string);}
function Format_lowercase(string){return string.toLowerCase();}
function Format_uppercase(string){return string.toUpperCase();}
function FindLabelForID(id){var labels=document.getElementsByTagName("label");var l=null;$A(labels).each(function(e){e=$(e);if(e.readAttribute("for")==id){l=e;}});return l;}
function LinkORBHTML_InitInputs(root){var init=function(e,index){if(e.nodeName.toLowerCase()=="input"){addClassName(e,"type_"+e.readAttribute("type"));}
Event.observe(e,'focus',function(event){e.addClassName("focus");e.dbvalue=e.value;e.removeClassName("checkerror");var id=e.readAttribute("id");if(id){var l=FindLabelForID(id);if(l){l.addClassName("focus");var p=$(l.parentNode);if(p.hasClassName("formitem")){p.addClassName("focus");}}}});Event.observe(e,'change',function(event){if(!livesave)return;if(e.hasClassName("type_checkbox")){if(e.readAttribute("l:nolivesave")=="true")return;var onupdate=e.readAttribute("l:onupdate");if(onupdate)eval(onupdate)(e,event);e.value=e.checked?1:0;LiveSave(e);}});Event.observe(e,'blur',function(event){e.removeClassName("focus");if(e.readAttribute('l:format'))LinkORB_Format(e);if(e.readAttribute('l:check'))Checker_CheckField(e);var id=e.readAttribute("id");if(id){var l=FindLabelForID(id);if(l){var p=$(l.parentNode);if(p.hasClassName("formitem")){p.removeClassName("focus");}
l.removeClassName("focus");}
if(e.value!=e.dbvalue){LiveSave(e);}}});if(window.LinkORB_enableContextMenu){var isObjectWidget=e.hasClassName('LinkORB_Object_Widget');if(isObjectWidget){if(e.type!='checkbox')
e.observe('contextmenu',showContext);}}
if(e.readAttribute('l:check'))Checker_CheckField(e);}
var showContext=function(event){var element=this;var menu=getContextMenuDiv().show();var x=event.pointerX();var diff=menu.getWidth()||0;if((x+diff)>Element.getWidth(document.body))x-=diff;menu.setStyle({left:(x+'px'),top:(event.pointerY()+'px')});var func=function(){element.dbvalue=element.value;}
$(widgetContextContentID).update("Loading ...");if(widgetContextAJAXHandle)widgetContextAJAXHandle.Cancel();var nameString=element.id;var valueString=element.value;var realElement=$(element.readAttribute('l:realelement'));if(realElement){nameString=realElement.name;valueString=realElement.value;}
else if(element.l_real){valueString=element.l_real.value;}
valueString=encodeValue(valueString);widgetContextAJAXHandle=loadajaxscript('/linkorbhtml/contextmenu/'+nameString,func,'&elementvalue='+valueString);event.stop();return false;}
var hideContext=function(event,force){if(!force){var ele=event.element();if(ele.id==widgetContextContainerID||ele.up('#'+widgetContextContainerID))
return false;}
if(widgetContextAJAXHandle)widgetContextAJAXHandle.Cancel();getContextMenuDiv().hide();}
var getContextMenuDiv=function(){if(!$(widgetContextContainerID)){var content=new Element('div',{'id':widgetContextContentID});var container=new Element('div',{'id':widgetContextContainerID}).insert({top:content});document.body.appendChild(container);}
return $(widgetContextContainerID);}
if(window.LinkORB_enableContextMenu){Event.stopObserving(document.body,'click',hideContext);Event.observe(document.body,'click',hideContext);var widgetContextContainerID='LinkORB_Object_Widget_ContextMenu_Container';var widgetContextContentID='LinkORB_Object_Widget_ContextMenu_Content';var widgetContextAJAXHandle=null;}
root=$(root);var all=(root==document.body||root==document||!root)?$$('input','textarea','select','button'):$(root).select('input','textarea','select','button');all.each(init);}
function LinkORBHTML_InitTabIndex(root){var focusNext=function(element,reverse){if(!element)return;var arr=element.l_tabIndexArr;var idx=element.l_tabIndex;var focused=false;var i=0;while(i<arr.length){idx=reverse?(idx-1):(idx+1);if(!arr[idx])idx=reverse?(arr.length-1):0;if(!arr[idx])continue;if(Visible(arr[idx])&&!arr[idx].disabled&&arr[idx].state!="disabled"){arr[idx].focus();break;}
i++;}}
var init=function(e,index){e.l_tabIndexArr=all;e.l_tabIndex=index;var efm=e.form;Event.observe(e,'keydown',function(event){var code=event.which||event.keyCode;switch(code){case Event.KEY_RETURN:var buttonType=e.type.toLowerCase();if(buttonType=='submit'||buttonType=='reset'||e.tagName.toLowerCase()=='textarea')break;if(hasClassName(e,'autocompleter'))break;if(efm){Event.stop(event);break;}
case Event.KEY_TAB:focusNext(e,event.shiftKey);Event.stop(event);break;case Event.KEY_ESC:focusNext(e,true);Event.stop(event);break;}});if(efm){Event.observe(e,'keyup',function(event){var code=event.which||event.keyCode;switch(code){case Event.KEY_RETURN:var buttonType=e.type.toLowerCase();if(buttonType=='submit'||buttonType=='reset'||e.tagName.toLowerCase()=='textarea')break;if(hasClassName(e,'autocompleter'))break;focusNext(e,false);break;}});}}
root=$(root)||document.body;var classSelector='indexedInputElement';var all=(root==document.body||root==document)?$$('input','textarea','select','button'):$(root).select('input','textarea','select','button');all.each(function(ele){if(!ele.hasClassName("skipfocus")&&!ele.hasClassName("tableinput")&&!ele.hasClassName("LinkORB_postit"))ele.addClassName(classSelector);});all=(root==document.body||root==document)?$$('.'+classSelector):$(root).select('.'+classSelector);all.each(init);root.l_tabIndexArr=all;}
function LinkORBHTML_InitTabIndexes(root){var root=$(root)||document.body;var all=(root==document.body||root==document)?$$('.tabIndexContainer'):root.select('.tabIndexContainer');if(hasClassName(root,'tabIndexContainer'))all.unshift(root);all.each(LinkORBHTML_InitTabIndex);}
function focusFirst(root){var classSelector='indexedInputElement';var root=$(root)||$(document.body);var all=root.l_tabIndexArr||((root==document.body||root==document)?$$('.'+classSelector):$(root).select('.'+classSelector));for(var i=0;i<all.length;i++){if(Visible(all[i])&&!all[i].disabled&&all[i].state!="disabled"){all[i].focus();break;}}}
function FocusNext(current){var root=$('content');var inputs=$A(root.getElementsByTagName("input"));var textareas=$A(root.getElementsByTagName("textarea"));var all=inputs.concat(textareas);var foundme=false;var allset=false;all.each(function(e){if(!allset){if(foundme){if(e.visible()){if(e.type!="hidden"){if(!e.hasClassName('nofocus')){e.focus();allset=true;}}}}
if(e==current){foundme=true;}}});}
var livesave=false;var globalLiveSaveAJAXCount=0;function LiveSave(e){if(!window.livesave)return;if(!livesave)return;if(e.readAttribute("l:nolivesave")=="true")return;var oriE=e;oriE.addClassName("saving");var afterSave=function(){globalLiveSaveAJAXCount--;LiveSaveComplete(oriE.removeClassName('saving'));if(globalLiveSaveAJAXCount==0&&lastRedirect){lastRedirect=null;if(typeof(lastRedirect)=="string")redirect(lastRedirect);else lastRedirect.click();}
var af=null;var afe=null;if(e.id.substr(0,5)=="real_"){af=$(e.id.substr(5));if(af)af=af.readAttribute('l:aftersave');afe=e;}
else if(e.id.substr(0,7)=="hidden_"){afe=$(e.id.substr(7));if(afe)af=afe.readAttribute('l:aftersave');}
else{afe=e;af=e.readAttribute('l:aftersave');}
if(af)eval(af)(afe);}
var eid=e.readAttribute("id");if(eid.substr(0,5)=="real_")eid=eid.substr(5);else if(eid.substr(0,7)=="hidden_"){eid=e.name;}
else if(hasClassName(e,'dateselect')||hasClassName(e,'LinkORB_timeselect')){e=$(e.readAttribute('l:realelement'));eid=e.name;}
var uri="&elementid="+eid;uri="&page=linkorbhtml&action=livesave"+uri;loadajaxscript(uri,afterSave,'&elementvalue='+encodeValue(e.value));globalLiveSaveAJAXCount++;}
function LiveSaveComplete(e){}
function encodeValue(val,base64){var val=encodeURIComponent(val);var base64=!(base64===false);if(base64)val=base64_encode(val);return val;}
function LinkORBHTML_InitHoverables(root){profiler.start("get_hover_elements");var lis=$A(root.getElementsByTagName("li"));var divs=$A(root.getElementsByTagName("div"));var all=divs.concat(lis);profiler.end("get_hover_elements");all.each(function(e){if(e.getAttribute("l:hoverable")){e=$(e);Event.observe(e,'mouseover',function(event){e.addClassName("hover");});Event.observe(e,'mouseout',function(event){e.removeClassName("hover");});Event.observe(e,'click',function(event){var link=e.readAttribute("l:link");if(link){SetIndicator(true);redirect(link);event.stop();}});}});}
function AutoFocus(root){var all=$A(root.getElementsByTagName("input"));all.each(function(e){if(hasClassName(e,"autofocus")){e.focus();}});}
function LinkORBHTML_Init(root){profiler.start("LinkORBHTML_Init");profiler.start("InitPatches");LinkORBHTML_PatchURLs(root);LinkORBHTML_PatchTables(root);LinkORBHTML_PatchTdAligns(root);profiler.end("InitPatches");profiler.start("DateTimeSelect");if(window.DS_dateTimeInit)DS_dateTimeInit(root);profiler.end("DateTimeSelect");profiler.start("InitTabs");LinkORBHTML_InitTabs(root);profiler.end("InitTabs");profiler.start("InitPanels");LinkORBHTML_InitPanels(root);profiler.end("InitPanels");profiler.start("InitInfoTables");LinkORBHTML_InitInfoTables(root);profiler.end("InitInfoTables");profiler.start("InitButtons");LinkORBHTML_InitButtons(root);profiler.end("InitButtons");profiler.start("InitInputs");LinkORBHTML_InitInputs(root);profiler.end("InitInputs");profiler.start("InitHoverables");LinkORBHTML_InitHoverables(root);profiler.end("InitHoverables");profiler.start("InitForms");LinkORBHTML_InitForms(root);profiler.end("InitForms");profiler.start("InitPhones");LinkORBHTML_InitPhones(root);profiler.end("InitPhones");profiler.start("Tab_Index");LinkORBHTML_InitTabIndexes(root);profiler.end("Tab_Index");profiler.start("QuickSelect");if(window.LinkORB_quickSelectInit)LinkORB_quickSelectInit(root);profiler.end("QuickSelect");profiler.start("Preview");if(window.LinkORB_Preview_Init)LinkORB_Preview_Init(root);profiler.end("Preview");profiler.end("LinkORBHTML_Init");AutoFocus(root);}
Event.observe(document,"dom:loaded",function(){LinkORBHTML_Init(document);});Event.observe(document,"keydown",function(event){if(!event)var event=window.event;if(event.keyCode)code=event.keyCode;else if(event.which)code=event.which;var character=String.fromCharCode(code);switch(code){case 65:break;case 113:var e=$("autosearchbox");if(e)e.focus();Event.stop(event);break;}});Event.observe(document,'mousedownXXXXXXXXX',function(event){var e=Event.element(event);if(e.type=="text")return true;if(e.type=="textarea")return true;if(e.type=="checkbox")return true;Event.stop(event);});function LinkORBHTML_InitPanel(panel){panel=$(panel);var classIdentifier='LinkORBPanel';var title=panel.readAttribute('l:title');var h=panel.getElementsByTagName("h1");if(h){if(h[0]){title=h[0].innerHTML;$(h[0]).remove();}}
var footer=panel.readAttribute('l:footer');if(!title)title='&#160;';if(!footer)footer='&#160;';var wrapper="<table class=\"panel\"><tbody>";wrapper+="<tr>";wrapper+="<td class=\"tl\" width=1></td>";wrapper+="<td class=\"t\">";wrapper+="<h1>"+title+"</h1></td>";wrapper+="<td class=\"tr\" width=1></td>";wrapper+="</tr>";wrapper+="<tr>";wrapper+="<td class=\"l\"></td>";wrapper+="<td class=\"content\"></td>";wrapper+="<td class=\"r\"></td>";wrapper+="</tr>";wrapper+="<tr>";wrapper+="<td class=\"bl\"></td>";wrapper+="<td class=\"b\">"+footer+"</td>";wrapper+="<td class=\"br\"></td>";wrapper+="</tr>";wrapper+="</tbody></table>";panel.removeClassName(classIdentifier);panel.addClassName(classIdentifier+'_original');var dv=new Element('div').addClassName(classIdentifier+'_patched').update(wrapper);panel.parentNode.insertBefore(dv,panel);var pos=dv.select('td.content')[0];pos.appendChild(panel);}
function LinkORBHTML_InitPanels(root){var myclass=".LinkORBPanel, div.panel";var a=(root==document)?$$(myclass):$(root).select(myclass);a.each(function(panel){LinkORBHTML_InitPanel(panel);});}
function LinkORBHTML_PatchURLs(root){if(!prospact){var ele=root.getElementsByTagName("a");var url="";for(var i=0;i<ele.length;i++){url=ele[i].getAttribute("href",2);if(!url)continue;if(url.charAt(0)=="?"){ele[i].setAttribute("href",(baseUrl+url));ele[i].className+=" patchedurl";}}
ele=root.getElementsByTagName("form");for(var i=0;i<ele.length;i++){url=ele[i].getAttribute("action");if(!url)continue;if(url.charAt(0)=="?"){ele[i].setAttribute("action",(baseUrl+url));ele[i].className+=" patchedurl";}}}}
var patchLog="patchlog:\n";function LinkORBHTML_PatchLog(text){patchLog+=text+"\n";}
function LinkORBHTML_PatchInfoTable(t){if(!t)return;t=$(t);var orientation="vertical";if((!t.hasClassName("horizontal"))&&(!t.hasClassName("vertical"))){var trs=t.getElementsByTagName("tr");if(trs.length>1){var ths=trs[1].getElementsByTagName("th");if(ths.length>0){orientation="horizontal";}}
t.addClassName(orientation);t.addClassName("patched");LinkORBHTML_PatchLog("infotable was not in horizontal or vertical class. Assumed vertical.");}
if(orientation=="vertical"){if(!isIE)t.hide();if(t.hasClassName("fixed")&&!t.hasClassName("patched")){var width=parseInt(t.style.width||t.readAttribute('width'));var widthcss=(width>0)?('width:'+width+'px;'):'';var headT=new Element('table',{'style':widthcss}).addClassName('infotable vertical fixed patched');headT.appendChild(t.select('thead')[0]);t.insert({before:headT});var height=parseInt(t.style.height||t.readAttribute('height'))-headT.offsetHeight;var heightcss=(height>0)?('height:'+height+'px;'):'';t.removeAttribute('height');var dv=new Element('div',{'style':(heightcss+widthcss)}).addClassName('div_fixed_infotable_wraper');t.wrap(dv);if(width)t.style.width=width+'px';t.addClassName('patched');t.l_widthArray=[];headT.select('th').each(function(th){if(th.style.width)
var w=parseInt(th.style.width)||0;else{var w=parseInt(th.readAttribute('width'))||0;if(w>0)th.style.width=w+'px';else th.style.width='100%';}
t.l_widthArray.push(w);});var trs=t.getElementsByTagName('tr');if(trs[0])LinkORBHTML_ApplyWidthOnTR(t,trs[0]);t.l_headTable=headT;headT.l_dataTable=t;}
else if(t.getElementsByTagName("thead").length==0){var thead=new Element('thead');var tbody=t.getElementsByTagName("tbody")[0];if(tbody){t.insert({top:thead});var toptr=tbody.getElementsByTagName("tr")[0];if(toptr)
if(toptr.getElementsByTagName("th").length>0)thead.insert({top:toptr});}
LinkORBHTML_PatchLog("infotable did not use tbody and thead tags correctly.");}
if(!isIE)t.show();}}
function LinkORBHTML_PatchTables(root){var t=getElementsByClass(root,"infotable","table");for(var i=0;i<t.length;i++){LinkORBHTML_PatchInfoTable(t[i]);}}
function LinkORBHTML_PatchTdAligns(root){var td=root.getElementsByTagName("td");var align='';for(var i=0;i<td.length;i++){align=td[i].getAttribute("align");switch(align){case"right":td[i].className+=" align-right";break;case"center":td[i].className+=" align-center";break;default:break;}}}
function LinkORBHTML_InitPhones(root){var myclass=".mobilenumber";var a=(root==document||root==document.body)?$$(myclass):$(root).select(myclass);a.each(function(ele){Event.observe(ele,'click',function(){var to=ele.readAttribute('l:phonenumber')||ele.innerHTML;smsWindow(to);});});var smsWindow=function(to){var func=function(){var fm=$('window_'+winid+'_content').select('form')[0];fm.observe('submit',function(){loadajaxscript('/sms/ajaxsend/',null,fm.serialize());Window_Close(winid);});}
var winid=WindowMgr_CreateWindow(370,210,"SMS");loadajaxscript('/sms/ajaxsmsui/?to='+to+'&elementid=window_'+winid+'_content',func);}
if(!window.LinkORB_userDefaultPhone)return;var myclass=".phonenumber";var a=(root==document||root==document.body)?$$(myclass):$(root).select(myclass);a.each(function(ele){Event.observe(ele,'click',function(){var to=ele.readAttribute('l:phonenumber')||ele.innerHTML;var link=ele.readAttribute('l:link')||null;if(confirm('Wilt u het volgende nummer bellen '+to+'?'))
pbxclient_dial(to,ele.readAttribute('l:fromnumber'),null,link);});});}
var LinkORB_Tabs=[];var LinkORB_TabBox=Class.create({classIdentifier:'LinkORBTabBox',initialize:function(box){this.box=$(box);this.focusIndex=parseInt(box.readAttribute('l:focustab'));if(isNaN(this.focusIndex))this.focusIndex=0;this.position=box.readAttribute('l:tabposition');this.tabWrapper=new Element('div').addClassName('tabstrip').update("<ul></ul>");this.box.removeClassName(this.classIdentifier);this.className=this.box.className;this.box.className='';this.wrapper=new Element('div',{'l:title':box.readAttribute('l:title'),'l:footer':box.readAttribute('l:footer')}).addClassName(this.className);this.kid=[];this.handle=[];LinkORB_Tabs[this.box.id]=this;},render:function(){var tab_wrapper=this.tabWrapper.firstDescendant();var kids=this.box.childElements();this.kid=kids;for(var i=0;i<kids.length;i++){var kid=kids[i];var title=kid.readAttribute('l:title');kid.addClassName('tabcontent');var active=(i==this.focusIndex)?true:false;if(active){this.activeKid=kid;}else{kid.hide();}
var li=this.generateTab(title,kid,active);tab_wrapper.appendChild(li);this.handle[i]=li;this.wrapper.appendChild(kid);kid.setAttribute('l:tabindex',i);}
this.box.appendChild(this.wrapper);if(this.position=='bottom')
this.box.appendChild(this.tabWrapper);else
this.box.insertBefore(this.tabWrapper,this.wrapper);this.box.addClassName(this.classIdentifier+'_patched');},generateTab:function(title,kid,active){var li=new Element('li').addClassName(active?'tab hover':'tab');var sub=new Element('div').addClassName('sub');var span=new Element('span').addClassName('text').update(title);var obj=this;if(active)obj.activeTab=li;li.observe('mouseover',function(){if(li==obj.activeTab)return;li.addClassName('hover');});li.observe('mouseout',function(){if(li==obj.activeTab)return;li.removeClassName('hover');});li.observe('click',function(){obj.activateTab(null,li,kid);});return span.wrap(sub).wrap(li);},activateTab:function(index,handle,akid){if(index!=null){index=parseInt(index);handle=this.handle[index];akid=this.kid[index];}
if(!handle){alert('wrong tab box index');return;}
if(handle==this.activeTab)return;if(this.activeKid)
this.activeKid.hide();if(this.activeTab)
this.activeTab.removeClassName('hover');handle.addClassName('hover');this.activeTab=handle;this.activeKid=akid;this.focusIndex=parseInt(akid.readAttribute('l:tabindex'));akid.show();}});function LinkORBHTML_InitTabs(root){var myclass=".LinkORBTabBox";profiler.start("scanning for tabs");var a=(root==document)?$$(myclass):$(root).select(myclass);profiler.end("scanning for tabs");a.each(function(box){var b=new LinkORB_TabBox(box);b.render();});}
function LinkORBHTML_UnselectInfoTables(){var trs=$$('table.infotable tr.selected');for(var i=0;i<trs.length;i++){$(trs[i]).removeClassName('selected').up('table').fire('l:keyunselected');}}
function LinkORBHTML_UnselectInfoTable(t){var trs=t.getElementsByTagName("tr");for(var i=0;i<trs.length;i++){removeClassName(trs[i],'selected');}
t.fire("l:keyunselected");}
function LinkORBHTML_InfoTableTREvents(event,type,tr){if(!tr){var tr=Event.element(event);if(tr.tagName!='TR')tr=tr.up('tr');}
switch(type){case'mouseover':addClassName(tr,'hover');if(!tr.l_hoverinfo){var infocontent=$(tr.readAttribute('l:hoverinfo'));if(infocontent){tr.l_hoverinfo=new Element('div').update(infocontent.innerHTML).addClassName('hoverinfo');Element.insert(tr.up('table'),{after:tr.l_hoverinfo});tr.l_hoverinfo.style.top=(Event.pointerY(event)+20)+"px";tr.l_hoverinfo.style.left=(Event.pointerX(event)+20)+"px";}}
break;case'mouseout':removeClassName(tr,'hover');if(tr.l_hoverinfo){tr.l_hoverinfo.remove();tr.l_hoverinfo=null;}
break;case'dblclick':case'enter':if(!tr.getAttribute('l:noselect')){var t=$(tr).up('table');var url=tr.getAttribute("l:link");if(!url){var func=t.readAttribute("l:dbclick");if(func)eval(func)(event,tr);if(!t.hasAttribute("l:key"))break;var key=t.readAttribute("l:key");url=t.readAttribute("l:link");}
if(url){url=url.replace(/&amp;/g,"&");url=url.replace(/\[selector.key\]/g,key);if(t.readAttribute("l:target")=='_blank'){switch(url.substring(0,1)){case"/":url=baseUrl+url.substring(1);break;case"?":url=baseUrl+url;break;}
window.open(url);}
else
redirect(url);}}
break;case'click':if(!tr.getAttribute('l:noselect')){var t=$(tr.up('table'));if(event.ctrlKey&&t.readAttribute('l:multi')){}else{LinkORBHTML_UnselectInfoTables();}
if(hasClassName(tr,"selected"))
removeClassName(tr,'selected');addClassName(tr,'selected');for(var i=0;i<t.activeTRs.length;i++)
if(t.activeTRs[i]==tr)t.currenttr=i;if(tr.hasAttribute("l:key")){t.setAttribute("l:key",tr.getAttribute("l:key"));t.setAttribute("l:displayName",tr.getAttribute("l:displayName"));t.fire("l:keyselected");}
else t.removeAttribute("l:key");LinkORBHTML_adjustGhostInput(t.ghostInput,tr);}
break;}}
function LinkORBHTML_adjustGhostInput(iptEle,trEle){iptEle=$(iptEle);if(isIE){iptEle.style.top=(findPosY(trEle)-findPosY(iptEle.getOffsetParent()))+"px";}else{iptEle.clonePosition(trEle,{setLeft:false,setWidth:false,setHeight:false});}
iptEle.focus();}
function LinkORBHTML_InitInfoTable(t){if(hasClassName(t,"horizontal"))return;var tbodies=t.getElementsByTagName("tbody");if(tbodies.length==0)return;t=$(t);var id=t.id||null;var noselect=t.readAttribute("l:noselect");var nohover=t.readAttribute("l:nohover");var tbody=$(tbodies[0]);var trs=tbody.getElementsByTagName("tr");var oddEven=true;t.maxtri=0;t.ghostInput=null;var data=[];t.l_trs=[];if(!nohover){tbody.observe('mouseover',function(event){LinkORBHTML_InfoTableTREvents(event,'mouseover');});tbody.observe('mouseout',function(event){LinkORBHTML_InfoTableTREvents(event,'mouseout');});}
if(!noselect){tbody.observe('dblclick',function(event){LinkORBHTML_InfoTableTREvents(event,'dblclick');});tbody.observe('click',function(event){LinkORBHTML_InfoTableTREvents(event,'click');});}
Event.observe(t,'l:keyselected',function(event){var eventHandler=t.readAttribute("l:onselect");if(eventHandler&&eventHandler!="")eval(eventHandler+'($("'+t.id+'"), "'+t.readAttribute("l:key")+'" )');});for(var i=0;i<trs.length;i++){oddEven=LinkORBHTML_FlipInfoTRClass(trs[i],oddEven);trs[i].setAttribute("l:index",i);tds=trs[i].getElementsByTagName("td");if(!t.l_data){data[i]={};for(var j=0;j<tds.length;j++){data[i]['col_'+j]=tds[j].innerHTML;data[i]['val_'+j]=tds[j].getAttribute('l:value')||null;}}
t.l_trs[i]=trs[i];}
t.activeTRs=t.l_trs;if(!t.l_data)t.l_data=data;t.maxtri=i;t.currenttr=0;var input=new Element("input",{'id':("tableinput_"+id),'style':'margin-left:-5000px;'}).addClassName("tableinput");input.observe('keyup',function(event){input.value='';}).observe('keydown',function(event){var code=event.which||event.keyCode;if(code>=96&&code<=105)
code=code-48;switch(code){case Event.KEY_UP:if(!event.shiftKey)LinkORBHTML_UnselectInfoTables();var c_tr=t.currenttr;if(t.currenttr>0)t.currenttr--;var tr=t.activeTRs[t.currenttr];if(hasClassName(tr,"selected"))
removeClassName(t.activeTRs[c_tr],"selected");addClassName(tr,"selected");t.setAttribute("l:key",tr.getAttribute("l:key"));t.setAttribute("l:displayName",tr.getAttribute("l:displayName"));t.fire("l:keyselected");LinkORBHTML_adjustGhostInput(input,tr);Event.stop(event);break;case Event.KEY_DOWN:if(!event.shiftKey)LinkORBHTML_UnselectInfoTables();var c_tr=t.currenttr;if(t.currenttr<(t.activeTRs.length-1))t.currenttr++;var tr=t.activeTRs[t.currenttr];if(hasClassName(tr,"selected"))
removeClassName(t.activeTRs[c_tr],"selected");addClassName(tr,"selected");t.setAttribute("l:key",tr.getAttribute("l:key"));t.setAttribute("l:displayName",tr.getAttribute("l:displayName"));t.fire("l:keyselected");LinkORBHTML_adjustGhostInput(input,tr);Event.stop(event);break;case Event.KEY_RETURN:var tr=t.activeTRs[t.currenttr];LinkORBHTML_InfoTableTREvents(event,'enter',tr);Event.stop(event);break;case Event.KEY_ESC:LinkORBHTML_UnselectInfoTable(t);t.monitor.innerHTML='';LinkORBHTML_FilterInfoTable(t);Event.stop(event);break;case Event.KEY_BACKSPACE:t.monitor.innerHTML=t.monitor.innerHTML.slice(0,-1);LinkORBHTML_FilterInfoTable(t);break;case Event.KEY_TAB:Event.stop(event);break;default:if(code>47&&code<91)
t.monitor.innerHTML+=String.fromCharCode(code);LinkORBHTML_FilterInfoTable(t);break;}});t.insert({after:input});t.ghostInput=input;t.monitor=new Element("div",{'id':("tablefilter_monitor_"+id),'style':'display:none;'}).addClassName('tablefilter_monitor');if(t.hasClassName('fixed')){var dv=$(t.parentNode);t.monitor.style.width=dv.insert({after:t.monitor}).style.width;var height=(parseInt(dv.style.height)||0)-(parseInt(t.monitor.getStyle('height'))||0);if(height>0)dv.style.height=height+'px';}
else
t.insert({after:t.monitor});if(!t.readAttribute('l:nosort')){var thead=t.hasClassName('fixed')?$(t.l_headTable.getElementsByTagName("thead")[0]):$(t.getElementsByTagName("thead")[0]);if(thead){thead.observe('click',LinkORBHTML_SortInfoTable).select('th').each(function(th,i){if(th.getAttribute('l_dataindex'))return;var set=false;if(t.l_data[0]){if(t.l_data[0]['val_'+i]!==null){th.setAttribute('l_dataindex',('val_'+i));set=true;}}
if(!set)th.setAttribute('l_dataindex',('col_'+i));});}}}
function LinkORBHTML_SortInfoTable(event){profiler.reset();profiler.start('sorting');var th=Event.element(event);if(th.tagName!='TH')th=th.up('th');if(!th)return;var colIndex=th.getAttribute('l_dataindex');th.siblings().each(function(sb){sb.removeClassName('sorting').removeClassName('ASC').removeClassName('DESC');});var sortDesc=th.hasClassName('ASC')?true:false;th.removeClassName('ASC').removeClassName('DESC');th.addClassName('sorting').addClassName(sortDesc?'DESC':'ASC');var t=th.up('table');if(t.l_dataTable)t=t.l_dataTable;var tbody=t.getElementsByTagName('tbody')[0];var arr=[];if(!isIE)t.hide();for(var i=0;i<t.l_data.length;i++){arr[i]=[];arr[i]['index']=i;arr[i]['data']=t.l_data[i][colIndex];}
arr.sort(function(a,b){var x=a['data'];var y=b['data'];if(sortDesc)
return((x<y)?1:((x>y)?-1:0));else
return((x<y)?-1:((x>y)?1:0));});t.activeTRs=[];var oddEven=true;var widthPatched=false;for(var i=0;i<arr.length;i++){var tr=t.l_trs[arr[i]['index']];tbody.appendChild(tr);if(tr.style.display!='none'){t.activeTRs.push(tr);oddEven=LinkORBHTML_FlipInfoTRClass(tr,oddEven);if(!widthPatched){LinkORBHTML_ApplyWidthOnTR(t,tr);widthPatched=true;}}}
LinkORBHTML_UnselectInfoTable(t);t.currenttr=0;t.ghostInput.focus();profiler.end('sorting');profiler.dump(1);if(!isIE)t.show();}
function LinkORBHTML_FilterInfoTable(t){profiler.reset();profiler.start('filerting');if(!isIE)t.style.display='none';t.activeTRs=[];t.currenttr=0;var val=t.monitor.innerHTML;t.monitor.style.display=(val=='')?'none':'';var oddEven=true;if(val==''){var trs=t.getElementsByTagName("tbody")[0].getElementsByTagName("tr");for(var i=0;i<trs.length;i++){oddEven=LinkORBHTML_FlipInfoTRClass(trs[i],oddEven);t.activeTRs.push(trs[i]);trs[i].style.display='';}}
else{var trs=t.l_trs;for(var i=0;i<trs.length;i++){var display='none';for(var j in t.l_data[i]){if(!t.l_data[i][j])continue;if(t.l_data[i][j].toUpperCase().include(val)){display='';break;}}
trs[i].style.display=display;}
var widthPatched=false;trs=t.getElementsByTagName("tbody")[0].getElementsByTagName("tr");for(var i=0;i<trs.length;i++){if(trs[i].style.display!='none'){t.activeTRs.push(trs[i]);oddEven=LinkORBHTML_FlipInfoTRClass(trs[i],oddEven);if(!widthPatched){LinkORBHTML_ApplyWidthOnTR(t,trs[i]);widthPatched=true;}}}}
if(!isIE)t.style.display='';profiler.end('filerting');profiler.dump(true);}
function LinkORBHTML_ApplyWidthOnTR(t,tr){if(!t.l_widthArray)return;tds=tr.getElementsByTagName('td');for(var i=0;i<tds.length;i++){if(t.l_widthArray[i]>0)tds[i].style.width=t.l_widthArray[i]+'px';}}
function LinkORBHTML_FlipInfoTRClass(tr,flag){removeClassName(tr,(flag?'even':'odd'));flag=!flag;addClassName(tr,(flag?'even':'odd'));return flag;}
function ObjectField_Select(t,key){alert("ObjectField_Select"+t+"="+key);}
function LinkORBHTML_InitInfoTables(root){var tables=root.getElementsByTagName("table");for(var i=0;i<tables.length;i++){if(hasClassName(tables[i],"infotable"))LinkORBHTML_InitInfoTable(tables[i]);}}
function LinkORBHTML_WrapInfoTable(table){var tbodywrapper=new Element('div').addClassName('tbody-wrapper');var theadwrapper=new Element('div').addClassName('thead-wrapper');var tablewrapper=new Element('div').addClassName('table-wrapper');tbodywrapper.style.height=table.readAttribute("l:height");table.wrap(tbodywrapper);tbodywrapper.wrap(tablewrapper);var theadtr=table.getElementsByTagName("tr")[0];var e=$(theadtr).remove();var tablecopy=new Element('table',{'width':'100%'}).addClassName('infotable');$(tablecopy).insert(theadtr);tablecopy.wrap(theadwrapper);tablewrapper.insert({top:theadwrapper.innerHTML});}
function LinkORBUIResize(){return;divheader=top.document.getElementById("header");divfooter=document.getElementById("footer");divtoolbar=document.getElementById("toolbar");divcontent=document.getElementById("content");divmenu=document.getElementById("menu");h=window.innerHeight;w=window.innerWidth;if(!h)h=document.body.clientHeight;if(!w)w=document.body.clientWidth;w-=20;h-=20;if(h<100)h=100;if(w<100)w=100;divheader.style.top=10;divheader.style.left=10;divheader.style.width=w;divmenu.style.top=parseInt(divheader.style.top)+divheader.offsetHeight+4;divmenu.style.left=10;divmenu.style.width=w;divfooter.style.left=10;divfooter.style.width=w;divfooter.style.top=h-divfooter.offsetHeight;divtoolbar.style.left=10;divtoolbar.style.top=divheader.offsetHeight+10+divmenu.offsetHeight+8;divtoolbar.style.height=h-divfooter.offsetHeight-divheader.offsetHeight-divmenu.offsetHeight-8;divcontent.style.left=divtoolbar.offsetWidth+10;divcontent.style.top=divtoolbar.style.top;divcontent.style.height=divtoolbar.offsetHeight;divcontent.style.width=w-divtoolbar.offsetWidth;}
function findPosY(obj)
{var curtop=0;if(obj.offsetParent)
{while(obj.offsetParent)
{curtop+=obj.offsetTop
obj=obj.offsetParent;}}
else if(obj.y)
curtop+=obj.y;return curtop;}
function findPosX(obj)
{var curleft=0;if(obj.offsetParent)
{while(obj.offsetParent)
{curleft+=obj.offsetLeft
obj=obj.offsetParent;}}
else if(obj.x)
curleft+=obj.x;return curleft;}
function CreateLinkORBUITableShadow(i){}
function LinkORBUIOnLoad(){LinkORBUIResize();LinkORBUIResize();}
window.onresize=function(){LinkORBUIResize();}
var inputWidgets=new Array;function FocusNextInput(current){i=0;while(i<inputWidgets.length){if(inputWidgets[i]==current){if(i<(inputWidgets.length-1))inputWidgets[i+1].focus();}
i++;}}
function FocusPreviousInput(current){i=0;while(i<inputWidgets.length){if(inputWidgets[i]==current){if(i>0)inputWidgets[i-1].focus();}
i++;}}
function ScanLiveFields(n){var el=n.childNodes;var i=0;while(i<el.length){var tagName=el[i].tagName;if(tagName){switch(tagName.toUpperCase()){case"INPUT":var widget=el[i].getAttribute("widget");if(widget!="selectorcode"){inputWidgets[inputWidgets.length]=el[i];el[i].setAttribute("servervalue",el[i].value);}
break;default:break;}
ScanLiveFields(el[i]);}
i++;}}
function LinkLiveFields(){field=document.body.getElementsByTagName("input");var i=0;while(i<field.length){if(field[i].className.indexOf("livefield")>=0){if((!field[i].onblur)&&(!field[i].onfocus)){field[i].onblur=LiveInputBlur;field[i].onfocus=LiveInputFocus;}
if(!field[i].onkeydown){field[i].onkeydown=LiveInputKeyDown;}}
i++;}
ScanLiveFields(document);if(inputWidgets[0])try{inputWidgets[0].focus();}catch(e){}}
function LiveInputKeyDown(ev){var ev=ev||window.event;var e=(ev.target)?ev.target:((ev.srcElement)?ev.srcElement:null);var code=ev.keyCode;if(!code)code=ev.which;var widget=e.getAttribute("widget");if(widget=="selectionbox_input"){if((code==13)&&(e.type=="text")){return false;}
if((code==27)&&(e.type=="text")){w=FindParentWindow(e);var callerid=w.getAttribute("callerid");c=document.getElementById(callerid+"_text");if(c)c.focus();Window_Close(w.id.replace("window_",""));return false;}
if(code==38){}
if(code==40){var w=FindParentWindow(e);var wid=w.id;LiveTableNavigateDown("selectiontable_"+wid);return false;}}
if((code==13)&&(e.type=="text")){FocusNextInput(e);return false;}
if((code==27)&&(e.type=="text")){FocusPreviousInput(e);return false;}
if(widget=="selectortext"){if(code==32){SelectBoxOpen(e.id.replace("_text",""));}
return false;}}
function LiveInputFocus(ev){if(!ev){var ev=window.event;}
var e=(ev.target)?ev.target:((ev.srcElement)?ev.srcElement:null);var table=e.getAttribute('livetable');var recorduuid=e.getAttribute('recorduuid');var recordid=e.getAttribute('recordid');var field=e.getAttribute('livefield');var labelid=e.id+"_label";var widget=e.getAttribute("widget");if(widget=="selectortext"){labelid=labelid.replace("_text","");}
l=document.getElementById(labelid);if(l){l.className=l.className+" focus";}
e.className=e.className+" focus";}
function LiveCheck_uppercase(e){e.value=e.value.toUpperCase();}
function LiveCheck_lowercase(e){e.value=e.value.toLowerCase();}
function LiveCheck_postcode(e){var postcode=e.value;postcode=postcode.replace(/ /g,'').toUpperCase();if(postcode.match(/^[1-9]\d{3}[A-Z]{2}$/)){postcode=postcode.substr(0,4)+" "+postcode.substr(4);e.value=postcode;}else{};}
function LiveCheck_autocase(e){var inval=e.value;var outval="";var words=inval.split(" ");var i=0;while(i<words.length){var word=words[i];word=word.charAt(0).toUpperCase()+word.substr(1).toLowerCase();if(word=="V")word="Van";if(word=="Vd")word="van de";if(word=="Van")word="van";if(word=="Der")word="der";if(word=="De")word="de";if(word=="Bv")word="B.V.";if(word=="B.v.")word="B.V.";if(word=="Linkorb")word="LinkORB";outval+=word+" ";i++;}
e.value=outval;}
function LiveCheck_warnempty(e){var inval=e.value;if(inval=="")e.value="NOT EMPTY";}
function LiveInputBlur(ev){if(!ev){var ev=window.event;}
var e=(ev.target)?ev.target:((ev.srcElement)?ev.srcElement:null);e.className=e.className.replace(/focus/g,"");var widget=e.getAttribute("widget");if(widget=="selectortext"){var id=e.id.replace("_text","");e=document.getElementById(id);}
var labelid=e.id+"_label";l=document.getElementById(labelid);if(l){l.className=l.className.replace(/focus/g,"");}
if(e.getAttribute("livefield")){LiveInputSave(e);}}
function LiveInputSave(e){var servervalue=e.getAttribute("servervalue");var checkfailed=e.getAttribute("checkfailed");if(e.value==servervalue&&checkfailed!="failed")return;var checklist=e.getAttribute("checklist");if(checklist){var check=checklist.split(";");var i=0;while(i<check.length){if(check[i]!=""){var checkFunction="LiveCheck_"+check[i];if(checkFunction){eval(checkFunction+"(e)");}}
i++;}}
var livevalue=e.value;livevalue=livevalue.replace(/^\s+|\s+$/g,'');e.value=livevalue;var table=e.getAttribute('livetable');var recorduuid=e.getAttribute('recorduuid');var recordid=e.getAttribute('recordid');var field=e.getAttribute('livefield');var elementid=e.id;if(!table){return"livetable not specified...";}
var uri="&livetable="+table+"&livefield="+field;if(recorduuid)uri+="&recorduuid="+recorduuid;if(recordid!="")uri+="&recordid="+recordid;uri+="&elementid="+elementid;uri+="&livevalue="+livevalue;uri="&page=livefield&action=savefield"+uri;icon=document.getElementById("livefieldsave");if(icon)icon.style.display="";if(typeof(window.SetIndicator)=="function")SetIndicator(true);loadajaxscript(uri,LiveFieldSaveComplete);}
function LiveFieldSaveComplete(){icon=document.getElementById("livefieldsave");if(icon)icon.style.display="none";if(typeof(window.SetIndicator)=="function")SetIndicator(false);}
function SelectBoxOpen(id){var e=document.getElementById(id);var winid=WindowMgr_CreateWindow(420,400,"Hello world!");var win=document.getElementById("window_"+winid);win.setAttribute("callerid",id);var uri="&livetable="+e.getAttribute("livetable");uri+="&livefield="+e.getAttribute("livefield");uri+="&codetable="+e.getAttribute("codetable");uri+="&codefield="+e.getAttribute("codefield");uri+="&textfield="+e.getAttribute("textfield");uri+="&winid="+winid;uri="&page=livefield&action=loadselectbox&"+uri;loadajaxscript(uri);}
function LiveTableGetSingleSelected(table){var trs=table.getElementsByTagName('tr');var i=0;while(i<trs.length){if(trs[i].className=="selected"){return trs[i];}
i++;}
return null;}
function LiveSelectBoxCancel(e){var win=FindParentWindow(e);winid=win.id.replace("window_","");Window_Close(winid);}
function LiveSelectBoxOK(tableid){var table=document.getElementById(tableid);var selected=LiveTableGetSingleSelected(table);var win=FindParentWindow(table);var callerid=win.getAttribute("callerid");if(selected){var dataindex=selected.getAttribute('dataindex');var livetableindex=table.getAttribute('livetableindex');var e=document.getElementById(callerid);e.value=liveTable[livetableindex][dataindex][0];LiveInputSave(e);var e=document.getElementById(callerid+"_text");e.value=liveTable[livetableindex][dataindex][1];var winid=win.id.replace("window_","");Window_Close(winid);}}
function InitSelectionBox(winid){ScanLiveFields(document);LinkLiveFields(document);makeLiveTables();var win=document.getElementById("window_"+winid+"_container");inputs=win.getElementsByTagName("input");if(inputs.length>0)inputs[0].focus();}
function SelectBoxEnter(tableid){var outer=document.getElementById(tableid+"_outer");var l=LiveTableArray[tableid];if(l.currentrow<0)return;var code=l.showdata[l.lookup[l.currentrow]['rowindex']-1][0];var text=l.showdata[l.lookup[l.currentrow]['rowindex']-1][1];var win=FindParentWindow(outer);var callerid=win.getAttribute("callerid");var e=document.getElementById(callerid);e.value=code;LiveInputSave(e);var e=document.getElementById(callerid+"_text");e.value=text;e.focus();var winid=win.id.replace("window_","");Window_Close(winid);}
function SelectBoxEsc(tableid){var outer=document.getElementById(tableid+"_outer");var win=FindParentWindow(outer);var callerid=win.getAttribute("callerid");var e=document.getElementById(callerid+"_text");e.focus();var winid=win.id.replace("window_","");Window_Close(winid);}
function Mail_Dashlet_Notifier_Refresh(accountuuid){loadajaxscript("&page=mail&action=ajaxrefreshfolders&accountuuid="+accountuuid+"&operation=updatedashlets");}
var LinkORB_Mail_AjaxHandle=null;function Mail_PreviewMessage(accountuuid,folder,messageid,element){var preview=$('div_mailpreview');if(preview)preview.update('<div class="info">Loading message ...</div>');var readingpane=$('mail_setting_readingpane');if(readingpane)
if(readingpane.value=="FLIP")Mail_FlipMessageAndList(element,'preview');if(LinkORB_Mail_AjaxHandle)LinkORB_Mail_AjaxHandle.Cancel();if($('mail_curtain'))$('mail_curtain').hide();folder=folder.gsub('&','%26');LinkORB_Mail_AjaxHandle=loadajaxscript("&page=mail&action=ajaxpreview&accountuuid="+accountuuid+"&folder="+folder+"&messageid="+messageid);if(element){removeClassName(element,"unseen");}}
function Mail_initMailiFrame(iframe){var doc=iframe.contentWindow||iframe.contentDocument;if(doc.document)doc=doc.document;var a=doc.body.getElementsByTagName('a');for(var i=0;i<a.length;i++){a[i].target="_blank";}
var bt=$('button_viewmail_print');if(bt)LinkORBHTML_SetButtonState(bt,'default');iframe.style.height=(doc.body.offsetHeight+50)+'px';}
function Mail_getUserMailMessagesWithOffset(uid,element){element=$(element);var offset=element.value;var container=$(element.up('.maillist_container'));var error='Can not get mails because there is nowhere I can put them.';if(!container){alert(error);return;}
if(!container.id){alert(error);return;}
container.update('<div class="info">Loading ...</div>');loadajaxscript("&page=mail&action=ajaxgetcontactmessages&uid="+uid+"&offset="+offset+"&returnelementid="+container.id);}
function Mail_FlipMessageAndList(element,w){var preview=$("div_mailpreview_container");element=$(element);var list=element.hasClassName('mail_messagelist_container')?element:element.up('.mail_messagelist_container');if(!preview||!list)return false;if(w=='list'){list.show();preview.hide();}else{list.hide();preview.show();}}
function Mail_print(key){var f=window.frames['mailframe'];if(f){f.focus();f.print();}}
function LoadMilestoneEditor(mid,projectid){var m="";if(mid){if($('form_milestone_'+mid))return;m="&mid="+mid;}
var project=(projectid)?("&projectid="+projectid):"";var winid=WindowMgr_CreateWindow(450,300,((mid)?"Edit":"New")+" milestone","");var uri="&page=milestone&action=milestoneeditor"+m+project+"&winid="+winid;loadajaxscript(uri);}
function milestone_getList(){var dv=$('div_milestonelist');var projectid=dv.getAttribute("projectid");if(projectid=="")
dv.innerHTML="";else{loadajaxscript('&page=milestone&action=getmilestones&projectid='+projectid);dv.update('<div class="info">Loading ...</div>');}}
function milestone_save(fm){var pd=$(fm).serialize();var winid=FindParentWindowID(fm);loadajaxscript(fm.getAttribute("ajaxuri"),milestone_getList,pd);Window_Close(winid);}
function milestone_delete(mid){if(!mid)return;if(confirm('Are you sure to delete this milestone?')){loadajaxscript("&page=milestone&action=deletemilestone&mid="+mid,milestone_getList);}}
var nav_hmenu_dir_X="right";var nav_hmenu_tophoberable=0;function nav_showdiv(nodeid){var target=document.getElementById("navnode_"+nodeid);var optiondiv=document.getElementById("navoption_"+nodeid);var hmenudiv=document.getElementById('nav_hmenu');hmenudiv.zIndex=599;nav_hideSibling(optiondiv.parentNode);nav_setOptionBGColor(optiondiv,"#ffffff");nav_setOptionColor(optiondiv,"#000000");nav_hmenu_timeout=0;if(target){var pos_x=findPosX(optiondiv);var pos_y=findPosY(optiondiv);if((pos_x+optiondiv.offsetWidth+target.offsetWidth+100)>document.body.clientWidth)nav_hmenu_dir_X="left";if(pos_x<100||optiondiv.className=="navoption horizontal")nav_hmenu_dir_X="right";if(navigator.appName=="Microsoft Internet Explorer")target.style.width="1px";target.style.position="absolute";target.zIndex=600;target.style.visibility='visible';target.style.display="";nav_correct_width(target);var leftextra=0;if(nav_hmenu_dir_X=="left")leftextra=0-target.offsetWidth;if(nav_hmenu_dir_X=="right")leftextra=optiondiv.parentNode.offsetWidth;if(optiondiv.className=="navoption horizontal"){target.style.top=(pos_y-findPosY(target.parentNode))+optiondiv.offsetHeight+"px";target.style.left=(pos_x-findPosX(target.parentNode))+"px";}else{target.style.top=(pos_y-findPosY(target.parentNode))+"px";target.style.left=leftextra+"px";}
hmenudiv.style.height=pos_y-findPosY(hmenudiv)+target.offsetHeight+50+"px";}else{if(optiondiv.className=="navoption horizontal")hmenudiv.style.height="auto";}}
function nav_hideSibling(parentnodee){var nodes=parentnodee.getElementsByTagName("div");for(i=0;i<nodes.length;i++){if(nodes[i].className=='navnode'){nodes[i].style.display="none";}}
var nh=document.getElementById('nav_hmenu');if(nh==parentnodee)nav_hmenu_tophoberable=0;}
function nav_correct_width(target){var targetwidth=target.offsetWidth;var nodes=target.childNodes;for(i=0;i<nodes.length;i++){if(nodes[i].className=='navoption'&&nodes[i].style.width<targetwidth)nodes[i].style.width=targetwidth;}}
function nav_setOptionColor(optiondiv,color){var optiondiv_a=optiondiv.getElementsByTagName('a')[0];if(optiondiv_a)optiondiv_a.style.color=color;var optiondiv_t=optiondiv.getElementsByTagName('td')[1];if(optiondiv_t)optiondiv_t.style.color=color;optiondiv.style.color=color;}
function nav_setOptionBGColor(optiondiv,color){var optiondiv_a=optiondiv.getElementsByTagName('a')[0];if(optiondiv_a)optiondiv_a.style.backgroundColor=color;optiondiv.style.backgroundColor=color;optiondiv.style.borderColor=color;}
function nav_hmenu_hideall(event){var nh=document.getElementById('nav_hmenu');if(event.clientY>=(findPosY(nh)+nh.offsetHeight)||event.clientY<=findPosY(nh)){nav_hideSibling(nh);nh.style.height='auto';}}
function LinkORB_NavMenu_CloseMenu(){var root=$("nav_root");var elements=root.getElementsByTagName("ul");$A(elements).each(function(e){e.style.visibility="hidden";});}
var currentMenu="";function LinkORB_NavMenu_Init(){var root=$("nav_root");if(!root)return;var c=0;var bg=$("menu-background");Event.observe(bg,'click',function(event){bg.style.display="none";LinkORB_NavMenu_CloseMenu();});var elements=root.getElementsByTagName("li");$A(elements).each(function(e){e=$(e);Event.observe(e,'mouseover',function(event){e.addClassName("hover");var hint=e.readAttribute('l:hint');if(e.hasClassName("menu-icon")){var ot=e.getHeight();$("menuhint").update(e.readAttribute("l:hint")||'').clonePosition(e,{offsetTop:(-20-ot),setWidth:false,setHeight:false});$("menuhint_bg").update(e.readAttribute("l:hint")||'').clonePosition(e,{offsetTop:(-20-ot),setWidth:false,setHeight:false});currentMenu=$(e).id;}
Event.stop(event);});Event.observe(e,'mouseout',function(event){e.removeClassName("hover");if(e.hasClassName("menu-icon")){$("menuhint").innerHTML="";$("menuhint_bg").innerHTML="";}
Event.stop(event);});if(e.hasClassName("menu-icon")){var picon=null;if(isIE){picon=e.select('div.menuicon-text');if(picon[0])picon[0].style.position='absolute';}
if(e.previous()){picon=$(e.previous()).select('div.icon');picon=$(picon[0]);var width=picon.getWidth();picon=isIE?picon.select('div.menuicon-text'):picon.select('div.menuicon-text span');if(picon[0])width+=$(picon[0]).getWidth();e.clonePosition(e.previous(),{offsetLeft:(width),setWidth:false,setHeight:false});}
c++;}
Event.observe(e,'click',function(event){bg.clonePosition(document.body);bg.setOpacity(0.0);bg.style.display="block";var llink=e.readAttribute("l:link");if(llink){LinkORB_NavMenu_CloseMenu();redirect(llink);return;}
var c=$(e.id+"_children");if(c){LinkORB_NavMenu_CloseMenu();while(c.id!="nav_root"){if(c.tagName=="UL"){var pul=$(c.parentNode);if(c.parentNode.hasClassName("menu-icon"))
c.clonePosition(pul,{offsetTop:(pul.getHeight()),setWidth:false,setHeight:false});else
c.clonePosition(pul,{offsetLeft:(pul.getWidth()),setWidth:false,setHeight:false});c.style.visibility="visible";}
c=c.parentNode;}}
Event.stop(event);});});root.style.zIndex='100';}
Event.observe(window,'load',LinkORB_NavMenu_Init);function pbxclient_getHistory(type,event){switch(type){case"ajax":$('pbxclient_downloadreport').value='';loadajaxscript('&page=pbxclient&action=gethistory','',$('pbxclient_filterform').serialize());$('pbxclient_history').update('Loading...');if($('activecalls'))$('activecalls').update('Loading...');return false;break;case"report":$('pbxclient_downloadreport').value='';break;case"download":$('pbxclient_downloadreport').value='1';break;}}
function pbxclient_dashlet_updatecall(notificationid){var c=$(notificationid);if(!c)return;var dv=c.next();var newkid=new Element('div').addClassName('dashlet_pbxclient_callmsg').update(c.innerHTML);dv.appendChild(newkid);var kids=dv.childElements();if(kids.length>3)kids[0].remove();new Effect.Highlight(newkid,{duration:5});}
function pbxclient_switchLineStatus(lineid){loadajaxscript("&page=pbxclientphone&action=changelinestatus&lineid="+lineid);}
function pbxclient_dialpadClick(event){Event.stop(event);var ele=Event.element(event);var val=ele.readAttribute('l:value');var fm=ele.up("form");var dest=fm.destination;dest.focus();switch(val){case"<":val=dest.value;var length=val.length;if(length>1){dest.value=val.truncate(val.length-1,'');break;}
case"<<":dest.value="";break;case"go":pbxclient_dial(dest.value,fm.phone.value,fm.next().id);break;default:dest.value+=val;break;}
return false;}
function pbxclient_dial(to,from,statusid,url){if(to.length<1)return;to=to.replace(/#/g,'jing');if(!from)var from='';var uri="&page=myphones&action=dial&dialto="+to+"&dialfrom="+from;if($(statusid)){$(statusid).update("Please pickup the phone you selected.");new Effect.Highlight($(statusid));uri+="&statusid="+statusid;}
var func=function(){if(url)redirect(url);}
loadajaxscript(uri,func);}
var preview_autohide=true;function LinkORB_Preview_Init(root){if(skinname=="unipartners")return;root=$(root);var all=(root==document.body||root==document||!root)?$$('.LinkORB_Object'):$(root).select('.LinkORB_Object');all.each(function(e){var object=e.readAttribute("l:object");var part=object.split(":");var myclass=part[0];e.addClassName(myclass);e.observe('mouseover',function(ev){e.addClassName("LinkORB_Object_Hover");});e.observe('contextmenu',function(ev){$("previewcontent").innerHTML="<h1 style='width: 200px;'>Loading...</h1><img src='"+metaurl+"images/linkorblogo-iconanim.gif' />";$("previewcontent").style.display="block";$("previewdiv").style.marginLeft=ev.pointerX()+"px";$("previewdiv").style.marginTop=ev.pointerY()+"px";var uri="&preview="+object;uri="&page=preview&action=loadpreview"+uri;loadajaxscript(uri,LinkORB_Preview_Loaded);Event.stop(ev);});e.observe('mouseout',function(){e.removeClassName("LinkORB_Object_Hover");});$('body').observe('click',function(){$("previewcontent").style.display="none";e.removeClassName("LinkORB_Object_Hover");});e.observe('mousedown',function(ev){preview_autohide=false;Event.stop(ev);});e.observe('mousemove',function(ev){});});var d=document.getElementById("previewdiv",{'offsetLeft':'20','setWidth':'false','setHeight':false});if(!d){var d=this.window.document.createElement("div");var c=this.window.document.createElement("div");d.id="previewdiv";c.id="previewcontent";d.appendChild(c);this.window.document.body.appendChild(d);}}
function LinkORB_Preview_Loaded(){preview_autohide=true;}
function initLinkORBQuicksearch(){var minChar=2;var limit=10;var delay=0.1;var ajaxHandle=null;var requestNr=0;var widget=null;var keywordcache='';var selected=null;var DefaultText="Search";var FullSearch=true;var canvas=$('div_quicksearch_canvas');if(!canvas){var canvas=new Element('div',{'id':'div_quicksearch_canvas','style':'display:none;'}).addClassName('div_quicksearch_canvas');document.body.appendChild(canvas);}
var x=function(event,nr,ipt){if(requestNr>nr)return;if(ajaxHandle)ajaxHandle.Cancel();var keyword=ipt.value.strip();if(minChar>keyword.length)return;if(keyword==keywordcache){showCanvas();return;}
else keywordcache=keyword;hideCanvas();ajaxHandle=loadajaxscript("&page=quicksearch&action=fetch&limit="+limit,render,("&keyword="+keyword));}
var render=function(){showCanvas();activateLI();}
var activateLI=function(){$(canvas).select('li').each(function(li){Event.observe(li,'click',function(event){event.stop();zou();});Event.observe(li,'mouseover',function(event){setSelected(li);});Event.observe(li,'mouseout',function(event){setSelected(null);});});}
var showCanvas=function(){var BoxAlign=$(widget).readAttribute("l:boxalign")||"left";var left=0;if(BoxAlign=="right"){left=widget.getWidth()-canvas.getWidth();}
canvas.clonePosition(widget,{setWidth:false,setHeight:false,offsetTop:(widget.getHeight()),offsetLeft:left});canvas.show();setSelected(null);}
var hideCanvas=function(){canvas.hide();setSelected(null);}
var setSelected=function(ele){var lis=$(canvas).select('li');for(var i=0;i<lis.length;i++)removeClassName(lis[i],'hover');if(ele)addClassName(ele,'hover');selected=ele?ele:null;}
var zou=function(){if(!selected)return;var link=readAttribute(selected,'l:link');if(!link)return;redirect(link+readAttribute(selected,'updatevalue'));}
$$('div.div_quicksearch input').each(function(input){input.value=DefaultText;input.observe('keydown',function(event){switch(event.keyCode){case Event.KEY_ESC:hideCanvas();break;case Event.KEY_RETURN:if(input.value!=keywordcache)hideCanvas();if(selected)zou();else{if(FullSearch)redirect('/quicksearch/?keyword='+input.value);else x(event,++requestNr,input);}
break;case Event.KEY_UP:if(!selected)break;var pre=$(selected).previous();if(!pre)break;if(hasClassName(pre,'informal'))pre=$(pre).previous();if(!pre)break;setSelected(pre);break;case Event.KEY_DOWN:if(!$(canvas).visible())break;if(!selected){$(canvas).select('li').each(function(li){if(!hasClassName(li,'informal')){setSelected(li);throw $break;}});break;};var next=$(selected).next();if(!next)break;if(hasClassName(next,'informal'))next=$(next).next();if(!next)break;setSelected(next);break;default:if(input.value!=keywordcache)hideCanvas();x.delay(delay,event,++requestNr,input);break;}
DefaultText=null;});input.observe('focus',function(){widget=input;if(DefaultText)input.value="";});input.observe('blur',function(){if(DefaultText)input.value=DefaultText;});});Event.observe(document,'click',hideCanvas);}
Event.observe(window,'load',initLinkORBQuicksearch);var QuickSelectObject=[];function LinkORB_quickSelectInit(root){var eleSelector='.LinkORB_QuickSelect';var buttonSelector='button.QuickSelectButton';var windowH=300;var windowW=300;var focusHandler=function(event){var element=event.findElement('input');if(element.value==''&&!element.l_allowEmpty&&!Event.isRightClick(event))popup(element);return element;}
var keydownHandler=function(event){var element=event.findElement('input');var val=element.value;var code=event.which||event.keyCode;switch(code){case Event.KEY_TAB:case Event.KEY_RETURN:case Event.KEY_ESC:case 16:break;case Event.KEY_BACKSPACE:case Event.KEY_DELETE:element.value='';if(element.l_real)element.l_real.value='';if(element.l_onupdate)eval(element.l_onupdate)(element);Event.stop(event);break;default:popup(element);element.value=val;break;}
return element;}
var dblclickHandler=function(event){var element=event.findElement('input');popup(element);return element;}
var clear=function(element){element.stopObserving('focus',focusHandler);element.stopObserving('keydown',keydownHandler);element.stopObserving('dblclick',dblclickHandler);if(element.l_window)element.l_window.remove();element.l_winid=null;if(element.l_button)element.l_button.stopObserving('click');}
var init=function(element,index){clear(element);if(!element.id)element.id='LinkORB_QuickSelectElement_'+index;element.l_real=$('real_'+element.id)||null;element.l_button=$('button_'+element.id)||null;element.observe('click',focusHandler).observe('keyup',focusHandler).observe('keydown',keydownHandler).observe('dblclick',dblclickHandler);if(element.l_button){element.l_button.observe('click',function(event){if(element.l_button.state=="disabled")return false;popup(element);Event.stop(event);return false;});}
element.l_disable=function(){element.disabled=true;if(element.l_button)LinkORBHTML_SetButtonState(element.l_button,"disabled");Window_Close(element.l_winid);return element;}
element.l_enable=function(){element.disabled=false;if(element.l_button)LinkORBHTML_SetButtonState(element.l_button,"default");return element;}}
var popup=function(element){initWindow(element);element.l_window.show();element.l_window.clonePosition(element,{setWidth:false,setHeight:false,offsetTop:(-100)});Window_SetSelected(element.l_winid);element.l_table.l_element=element;element.l_table.ghostInput.focus();}
var initWindow=function(element){if(element.l_winid)return;var objName="LinkORB_"+element.readAttribute('l:datasource');eval("var obj="+objName);eval("var objMeta=window."+objName+'_meta || null;');element.l_quickselectObj=obj;element.l_quickselectObjMeta=objMeta;element.l_onupdate=element.readAttribute('l:onupdate')||null;var lTable=$('QuickSelectTable_'+objName);if(lTable){element.l_table=lTable;element.l_winid=FindParentWindowID(element.l_table);element.l_window=$('window_'+element.l_winid+'_container');Window_SetCaption(element.l_winid,element.readAttribute('l:windowtitle'),false);initGhostInput(element);return;}
QuickSelectObject[objName]=obj;profiler.reset();profiler.start('build html string');var heads=null;var tmp='';var width=objMeta.width?objMeta.width:windowW;var height=objMeta.height?objMeta.height:windowH;heads=[];var o=appendString('<table id="QuickSelectTable_'+objName+'" class="infotable vertical fixed" width="'+(width-5)+'" height="'+(height-25)+'" l:dbclick="LinkORB_quickSelectUpdate" l:element="'+element.id+'"><thead><tr>');for(var i=0;i<objMeta.column.length;i++){if(objMeta.column[i].title){o=appendString('<th width="'+(objMeta.column[i].width||'')+'" l_dataindex="'+(objMeta.column[i].sort?objMeta.column[i].sort:objMeta.column[i].name)+'">'+objMeta.column[i].title+'</th>',o);heads.push(objMeta.column[i].name);}}
o=appendString('</tr></thead><tbody>',o);for(var i=0;i<obj.length;i++){tmp=(objMeta.key)?('<tr l:objectIndex="'+i+'">'):'<tr>';for(var j=0;j<heads.length;j++)
tmp+='<td>'+obj[i][heads[j]]+'</td>';o=appendString(tmp+'</tr>',o);}
o=appendString('</tbody></table>',o,true);profiler.end('build html string');profiler.start('attach into window');element.l_winid=WindowMgr_CreateWindow(width,height,(element.readAttribute('l:windowtitle')||''),'hide');element.l_window=$('window_'+element.l_winid+'_container').hide();element.l_table=$('window_'+element.l_winid+'_content').setStyle({overflow:'hidden'}).update(o).firstChild;element.l_table.l_element=element;element.l_table.l_data=obj;element.l_real=$('real_'+element.id)||null;QuickSelectObject[objName].l_winid=element.l_winid;profiler.end('attach into window');profiler.start('patch table');LinkORBHTML_PatchInfoTable(element.l_table);profiler.end('patch table');profiler.start('init table');LinkORBHTML_InitInfoTable(element.l_table);profiler.end('init table');profiler.dump();initGhostInput(element);}
var appendString=function(str,ori,finish){if(true){if(!ori)var ori=[];ori.push(str);if(finish)ori=ori.join('');return ori;}
else{if(!ori)var ori='';return(ori+str);}}
var initGhostInput=function(element){var ipt=$(element.l_table.ghostInput);ipt.observe('keyup',function(event){var code=event.which||event.keyCode;switch(code){case Event.KEY_ESC:if(element.value=='')element.l_allowEmpty=true;case Event.KEY_RETURN:Window_Close(element.l_winid);element.focus();break;}});}
root=$(root)||$(document.body);var widgets=(root==document.body||root==document)?$$(eleSelector):root.select(eleSelector);widgets.each(init);}
function LinkORB_quickSelectUpdate(event,tr){var t=$(tr.up('table'));var input=t.l_element;var obj=input.l_quickselectObj;var objMeta=input.l_quickselectObjMeta;var index=parseInt(tr.getAttribute('l:objectIndex'));if(input.l_real){input.l_real.value=obj[index][objMeta.key];input.l_real.fire("l:update");var inputval=objMeta.display.gsub(/\[(.*?)\]/,function(match){return obj[index][match[0].replace('[','').replace(']','')];});}else{var inputval=obj[index][objMeta.key];}
input.value=unescapeXML(inputval);LiveSave(input.l_real);Window_Close(FindParentWindowID(t));input.focus();if(input.l_onupdate)eval(input.l_onupdate)(input,obj[index],event);}
function LinkORB_quickSelect_GetJSON(datasource,stamp,root){var root=root?$(root).id:'';loadajaxscript('/quickselect/getjson/'+datasource+'/'+stamp+'/&fromajax=1&elementid='+root);}
function LinkORB_hideQquickSelectWindow(datasource){if(datasource){var prefix='LinkORB_';if(!datasource.startsWith(prefix))datasource=prefix+datasource;if(QuickSelectObject[datasource])Window_Close(QuickSelectObject[datasource].l_winid);return;}
for(var i in QuickSelectObject){if(QuickSelectObject[i].l_winid)Window_Close(QuickSelectObject[i].l_winid);}}
function NewTaskWindow(){var wid=WindowMgr_CreateWindow(300,50,"Create new task");var c=$('window_'+wid+'_content');var tpl=$('newtask_tpl');if(tpl)
c.update(tpl.innerHTML);else{tpl='<form onsubmit="return false;" style="text-align:center;margin:0;">';tpl+='<input type="text" name="EDIT_title"/>';tpl+='<button type="submit" onclick="NewTask(this.form)" l:icon="add">Create</button></form>';c.update(tpl);LinkORBHTML_InitButton($(c.getElementsByTagName('button')[0]));}
c.getElementsByTagName('input')[0].focus();}
function NewTask(fm){var t=fm.EDIT_title;if(t.value.replace(/ /g,'')==''){alert('Title can not be empty');t.focus();return;}
var pd=$(fm).serialize();loadajaxscript('&page=task&action=newtask','',pd);var wid=FindParentWindowID(fm);$('window_'+wid+'_container').remove();return false;}
function LoadTaskEditor(taskid,linkfunc,linkid){if(taskid){if($('table_task_'+taskid))return;}
var winid=WindowMgr_CreateWindow(570,450,((taskid)?"Edit":"New")+" task","");var containerid="window_"+winid+"_container";if(taskid)
$('window_'+winid+'_content').innerHTML+="<p id='table_task_"+taskid+"'></p>";Element.hide(containerid);var uri="&page=task&action=loadtaskeditor";uri+="&containerid="+"window_"+winid+"_content";uri+="&winid="+winid;if(taskid)
uri+="&taskid="+taskid;if(linkfunc)
uri+="&linkfunc="+linkfunc+"&linkid="+linkid;loadajaxscript(uri);Effect.Appear(containerid);}
function task_saveTask(fm){fm.containerid.value=fm.containerid.value.replace("_content","_container");var PD=$(fm).serialize();var uri="&page=task&action=savetask";if(fm.taskid.value)
uri+="&taskid="+fm.taskid.value;loadajaxscript(uri,"",PD);new Effect.Fade(fm.containerid.value);return false;}
function task_getTaskList(fm,keepContent){if(!keepContent)
$('div_tasklist').update('<div class="info"><div class="icon-filter-16"></div> Filtering ...</div>');var pd=$(fm).serialize();loadajaxscript("&page=task&action=filtertasklist",task_TaskListOnLoad,pd);}
function task_TaskListOnLoad(){LinkORB_makeSortables();task_initOrdering();}
function task_toggleOptions(ele){var tb=ele.parentNode.parentNode.getElementsByTagName('table')[1];Effect.toggle(tb.parentNode,'blind',{duration:0.8});}
function task_toggleLog(ele,taskid){Effect.toggle(('tasklog_'+taskid),'blind');var span=ele.getElementsByTagName('span')[0];if(span)span.innerHTML=(span.innerHTML=='Hide log')?'Show log':'Hide log';}
function task_fillMilestoneOptions(ele,targetid,mselectName){if(ele.value=="")
$(targetid).getElementsByTagName("select")[0].innerHTML="<option value=''> - N/A - </option>";else
loadajaxscript("&page=task&action=fillmilestoneoptions&projectid="+ele.value+"&targetid="+targetid+"&mselectname="+mselectName);}
function task_fillUserOptions(ele,targetid,selectName){if(!$(targetid))return;var projectselectid=ele.id;var func="$('"+projectselectid+"').disabled=false";var uri="&page=task&action=filluseroptions";uri+="&projectid="+ele.value;uri+="&targetid="+targetid;uri+="&selectname="+selectName;loadajaxscript(uri,func);ele.disabled=true;}
function task_reOrder(containerid){var uri="&page=task&action=reorder";uri+="&sortingid="+Sortable.sortingIdentifier;uri+="&targetid="+Sortable.targetIdentifier;uri+="&direction="+Sortable.sortingDirection;var fm=$('form_task_filter');if(fm)
var pd=fm.serialize();else{var prefilter=$(containerid).getAttribute('prefilter');if(prefilter){var pd=prefilter;}}
loadajaxscript(uri,LinkORB_makeSortables,pd);}
function LoadTaskSubscribers(taskid){if(!taskid)return;if($('subscriberstable_'+taskid)){var func="Window_SetSelected(FindParentWindowID($('subscriberstable_"+taskid+"')))";setTimeout(func,100);return;}
var winid=WindowMgr_CreateWindow(500,300,"Subscribers list","");var containerid="window_"+winid+"_container";var func="Window_SetSelected('"+winid+"')";setTimeout(func,100);Element.hide(containerid);var uri="&page=task&action=showsubscribers&taskid="+taskid+"&winid="+winid;loadajaxscript(uri);Effect.Appear(containerid);}
function UserSubscribeTask(taskid,ele,userid,winid){if(!taskid)return;var uri="&page=task&action=subscribe&taskid="+taskid;uri+=userid?"&subscriberid="+userid:"";uri+="&s="+(ele.checked?1:0);if(winid){uri+="&winid="+winid;}
loadajaxscript(uri);}
var TaskArray=[];function task_initOrdering(){TaskArray.clear();$$('img.img_movetask').each(function(l){Event.observe(l,'mousedown',function(event){task_showMoveWindow(event);Event.stop(event);});l.style.cursor='pointer';l.style.verticalAlign='middle';TaskArray.push(l);});if($('select_movetask'))Window_Close(FindParentWindowID($('select_movetask')));}
function task_showMoveWindow(event){if(TaskArray.length<2){return(alert('nowhere to move'));}
var ele=Event.element(event);var lid=ele.getAttribute('recordid');if(!lid)return;var title=ele.parentNode.innerHTML.stripTags().strip();if($('select_movetask'))Window_Close(FindParentWindowID($('select_movetask')));var wid=WindowMgr_CreateWindow(300,200,"Move task");var container=$('window_'+wid+'_container');container.style.left=(Event.pointerX(event)+100)+'px';container.style.top=(Event.pointerY(event)-100)+'px';var c='Move task<div style="border:solid 1px #cdcdcd;margin-top:5px;margin-bottom:5px;padding:2px" id="movetask_title">"'+title+'"</div>';c+='<div style="margin-bottom:10px">Before <select id="select_movetask" style="width:100%">';for(var i=0;i<TaskArray.length;i++){if(TaskArray[i]==ele){i++;continue;}
var rid=TaskArray[i].getAttribute('recordid');c+='<option value="'+rid+'">';c+='['+TaskArray[i].getAttribute('eststart')+'] ';c+=TaskArray[i].parentNode.innerHTML.stripTags().strip();c+='</option>';}
if(ele!=TaskArray[TaskArray.length-1])
c+='<option value="bottom">-- bottom --</option>';c+='</select></div>';c+='<button onclick="task_moveTask(\''+lid+'\',this)" l:icon="save">Go</button>';c+='<button onclick="Window_Close(FindParentWindowID(this))" l:icon="back">Cancel</button>';LinkORBHTML_InitButtons($('window_'+wid+'_content').update(c));new Effect.Highlight($('movetask_title'));}
function task_moveTask(sortingid,ele){dir='before';var targetid=$('select_movetask').value;if(targetid=='bottom'){dir='after';targetid=TaskArray[TaskArray.length-1].getAttribute('recordid');}
var uri="&page=task&action=reorder&ignorefilter=1";uri+="&sortingid="+sortingid;uri+="&targetid="+targetid;uri+="&direction="+dir;loadajaxscript(uri);Window_Close(FindParentWindowID(ele));}
function task_printTaskList(){var c="<html><head><title>Task list</title></head><body>";c+=$('div_tasklist').innerHTML+"</body></html>";var win=window.open();win.document.write(c.stripScripts());if(isIE)win.location.reload(true);win.document.close();}
function CreateTicket(returl){var winid=WindowMgr_CreateWindow(370,275,"Support Ticket",'uncoverElement()');var containerid="window_"+winid+"_container";$(containerid).hide();var uri="&page=mytickets&action=createticket&winid="+winid+"&returl="+returl;loadajaxscript(uri);Effect.Appear(containerid,{duration:0.3});coverElement(document.body);$('div_LinkORB_mask_element').style.zIndex=++topWindowZ;$("window_"+winid+"_container").style.zIndex=++topWindowZ;}
function ticket_save(fm,winid){var uri="&page=mytickets&action=addnewticket";var subject=$(fm).ADD_Subject.value;if(subject==""){alert("Er is nog geen 'Onderwerp' ingevuld voor uw ticket, dit is een verplicht veld.");}else{var pd=$(fm).serialize();loadajaxscript(uri,null,pd);Window_Close(winid);}}
function reply(messageid){var r=document.getElementById("reply_"+messageid);var v=document.getElementById("view_"+messageid);if(r.style.display=="none"){r.style.display="";v.style.display="none";}
else{v.style.display="";r.style.display="none";}}
function mopen(messageid){var v=document.getElementById("view_"+messageid);if(v.style.display=="none"){v.style.display="";}
else{v.style.display="none";}}
function ticket_ShowTask(ticketuuid){var uri="&page=ticket_controle&action=maketask&ticketuuid="+ticketuuid;loadajaxscript(uri);}
function renderFunctions(func){var trs=document.getElementsByTagName("tr");for(i=0;i<trs.length;i++){if(trs[i].className=="details"){trs[i].style.display="none";}}
document.getElementById("tr_"+func).style.display="";document.getElementById("funcinsert").value=func;document.getElementById("detailpanel").style.display="";}
function constructinsert(){var checksuccess=true;var funcname=document.getElementById("funcinsert").value;if(!funcname||funcname==""){checksuccess=false;}
var funcstring=document.getElementsByName(funcname+"_string");var argstring="";for(i=0;i<funcstring.length;i++){valuearray=funcstring[i].value.split("=");if(!valuearray[1]||valuearray[1]==""){alert("value of '"+valuearray[0]+"' cannot be empty!");var checksuccess=false;}else{argstring+=" "+funcstring[i].value;}}
if(checksuccess){document.getElementById("funcinsert").value=funcname+argstring;insertFunction(funcname);}}
var tinyMCE_EditorIDs=new Array();function findAndRemoveTinyMCE(){for(var i=0;i<tinyMCE_EditorIDs.length;i++){tinyMCE.execCommand('mceRemoveControl',false,tinyMCE_EditorIDs[i]);}
tinyMCE_EditorIDs.length=0;}
function findAndLoadTinyMCE(){var arr;arr=getElementsByClass(document.body,"OnlineEditor","textarea");ActivateTinyMCEs(arr,TinyMCESettings['normal']);arr=getElementsByClass(document.body,"AdvancedOnlineEditor","textarea");ActivateTinyMCEs(arr,TinyMCESettings['advanced']);var x=document.getElementById("XHTML2PDFEditor");if(x){delete arr;var arr=new Array();arr[0]=x;ActivateTinyMCEs(arr,TinyMCESettings['xhtml2pdf']);}}
function ActivateTinyMCEs(arr,settings){if(arr.length<=0)return;tinyMCE.settings=settings;var id;for(var i=0;i<arr.length;i++){id=arr[i].getAttribute("id");if(!id)id="tinyMCE_"+i;arr[i].setAttribute("id",id);tinyMCE.execCommand('mceAddControl',false,id);tinyMCE_EditorIDs[i]=id;}}
var highlightedUser=0;function ajax_searchuser(){var uref=document.getElementById('ajax_usersearch_ref').value;loadajaxscript("&page=usermgr&action=ajaxsearchuser&ref="+base64_encode(uref));}
function ajax_usersearch_insert(id,name){var returnid=document.getElementById('id_toreturnid').value;if(returnid)var idele=document.getElementById(returnid);var returnname=document.getElementById('id_toreturnname').value;if(returnname)var nameele=document.getElementById(returnname);document.getElementById('ajax_usersearchbox').style.display='none';highlightedUser=0;document.getElementById('ajax_usersearch_result').innerHTML='';if(idele)idele.value=id;if(nameele)nameele.value=name;var returnfocus=document.getElementById('id_toreturnfocus').value;if(returnfocus)document.getElementById(returnfocus).focus();}
function ajax_usersearch_keys(e){var divs=document.getElementById('ajax_usersearch_result').getElementsByTagName('div');if(divs.length>0){var lineHeight=0;if(divs.length>1)lineHeight=findPosY(divs[1])-findPosY(divs[0]);if(!e){e=window.event;}if(!e){return;}
if(e.which){var Key=e.which;}
else if(e.keyCode){var Key=e.keyCode;}
if(Key==13&&highlightedUser>0){ajax_usersearch_insert(divs[highlightedUser-1].getElementsByTagName('span')[0].innerHTML,divs[highlightedUser-1].getElementsByTagName('span')[1].innerHTML);}
if(Key==40&&highlightedUser<divs.length){if(highlightedUser>0)divs[highlightedUser-1].style.backgroundColor='';highlightedUser++;divs[highlightedUser-1].style.backgroundColor='#dddddd';document.getElementById('ajax_usersearch_result').scrollTop=lineHeight*(highlightedUser-1);}
if(Key==38&&highlightedUser>1){divs[highlightedUser-1].style.backgroundColor='';highlightedUser--;divs[highlightedUser-1].style.backgroundColor='#dddddd';document.getElementById('ajax_usersearch_result').scrollTop=lineHeight*(highlightedUser-1);}}}
function ToggleAddAddress(){$('addAddress').toggle();$('ButtonAddAddress').toggle();if($('EDIT_AddressLine1_New').disabled){$$('#addAddress input, #addAddress select').invoke('enable');}
else{$$('#addAddress input, #addAddress select').invoke('disable');}}
function ToggleAddPhone(){$('addPhone').toggle();$('ButtonAddPhone').toggle();if($('EDIT_PhoneNumber_New').disabled){$$('#addPhone input, #addPhone select').invoke('enable');}
else{$$('#addPhone input, #addPhone select').invoke('disable');}}
function ToggleAddEmail(){$('addEmail').toggle();$('ButtonAddEmail').toggle();if($('EDIT_EmailAddress_New').disabled){$$('#addEmail input, #addEmail select').invoke('enable');}
else{$$('#addEmail input, #addEmail select').invoke('disable');}}
function UserMgr_MakeName(){var firstname=$F('EDIT_firstname');var lastname=$F('EDIT_lastname');var middlename=$F('EDIT_middlename');var initials=$F('EDIT_initials');var name='';if(!firstname&&initials){firstname=initials;}
if(middlename&&lastname){lastname=middlename+" "+lastname;}
if(firstname&&lastname){name=firstname+" "+lastname;}
else if(lastname){name=lastname;}
else if(firstname){name=firstname;}
$('EDIT_fullname').value=name;LinkORB_Format($('EDIT_fullname'));}
function UserMgr_CopyOrganization(uid){var parentuuid=$F('EDIT_parentuuid');var uri="&page=usermgr&action=copyorganization2user";uri+="&uid="+uid+"&org="+parentuuid;loadajaxscript(uri);}
function wysiwyg_sync(source,target){var s=$(source);var t=$(target);var val=(s.tagName.toLowerCase=="textarea")?s.value:s.innerHTML;if(val.stripTags().strip().empty())val='';if(t.tagName.toLowerCase()=="textarea")
t.value=val;else
t.innerHTML=val;var callback=t.readAttribute('l:wysiwyg_updateCallback');if(callback){eval(callback)(t);}}