var Prototype={Version:'1.5.0_rc0',ScriptFragment:'(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',emptyFunction:function(){},K:function(x){return x}}
var Class={create:function(){return function(){this.initialize.apply(this,arguments);}}}
var Abstract=new Object();Object.extend=function(destination,source){for(var property in source){destination[property]=source[property];}
return destination;}
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;}}
Function.prototype.bind=function(){var __method=this,args=$A(arguments),object=args.shift();return function(){return __method.apply(object,args.concat($A(arguments)));}}
Function.prototype.bindAsEventListener=function(object){var __method=this;return function(event){return __method.call(object,event||window.event);}}
Object.extend(Number.prototype,{toColorPart:function(){var digits=this.toString(16);if(this<16)return'0'+digits;return digits;},succ:function(){return this+1;},times:function(iterator){$R(0,this,true).each(iterator);return this;}});var Try={these:function(){var returnValue;for(var i=0;i<arguments.length;i++){var lambda=arguments[i];try{returnValue=lambda();break;}catch(e){}}
return returnValue;}}
var PeriodicalExecuter=Class.create();PeriodicalExecuter.prototype={initialize:function(callback,frequency){this.callback=callback;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback();},registerCallback:function(){setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.callback();}finally{this.currentlyExecuting=false;}}}}
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+=(replacement(match)||'').toString();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 this;},truncate:function(length,truncation){length=length||30;truncation=truncation===undefined?'...':truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation: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 div=document.createElement('div');var text=document.createTextNode(this);div.appendChild(text);return div.innerHTML;},unescapeHTML:function(){var div=document.createElement('div');div.innerHTML=this.stripTags();return div.childNodes[0]?div.childNodes[0].nodeValue:'';},toQueryParams:function(){var pairs=this.match(/^\??(.*)$/)[1].split('&');return pairs.inject({},function(params,pairString){var pair=pairString.split('=');params[pair[0]]=pair[1];return params;});},toArray:function(){return this.split('');},camelize:function(){var oStringList=this.split('-');if(oStringList.length==1)return oStringList[0];var camelizedString=this.indexOf('-')==0?oStringList[0].charAt(0).toUpperCase()+oStringList[0].substring(1):oStringList[0];for(var i=1,len=oStringList.length;i<len;i++){var s=oStringList[i];camelizedString+=s.charAt(0).toUpperCase()+s.substring(1);}
return camelizedString;},inspect:function(){return"'"+this.replace(/\\/g,'\\\\').replace(/'/g,'\\\'')+"'";}});String.prototype.gsub.prepareReplacement=function(replacement){if(typeof replacement=='function')return replacement;var template=new Template(replacement);return function(match){return template.evaluate(match)};}
String.prototype.parseQuery=String.prototype.toQueryParams;var Template=Class.create();Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;Template.prototype={initialize:function(template,pattern){this.template=template.toString();this.pattern=pattern||Template.Pattern;},evaluate:function(object){return this.template.gsub(this.pattern,function(match){var before=match[1];if(before=='\\')return match[2];return before+(object[match[3]]||'').toString();});}}
var $break=new Object();var $continue=new Object();var Enumerable={each:function(iterator){var index=0;try{this._each(function(value){try{iterator(value,index++);}catch(e){if(e!=$continue)throw e;}});}catch(e){if(e!=$break)throw e;}},all:function(iterator){var result=true;this.each(function(value,index){result=result&&!!(iterator||Prototype.K)(value,index);if(!result)throw $break;});return result;},any:function(iterator){var result=true;this.each(function(value,index){if(result=!!(iterator||Prototype.K)(value,index))
throw $break;});return result;},collect:function(iterator){var results=[];this.each(function(value,index){results.push(iterator(value,index));});return results;},detect:function(iterator){var result;this.each(function(value,index){if(iterator(value,index)){result=value;throw $break;}});return result;},findAll:function(iterator){var results=[];this.each(function(value,index){if(iterator(value,index))
results.push(value);});return results;},grep:function(pattern,iterator){var results=[];this.each(function(value,index){var stringValue=value.toString();if(stringValue.match(pattern))
results.push((iterator||Prototype.K)(value,index));})
return results;},include:function(object){var found=false;this.each(function(value){if(value==object){found=true;throw $break;}});return found;},inject:function(memo,iterator){this.each(function(value,index){memo=iterator(memo,value,index);});return memo;},invoke:function(method){var args=$A(arguments).slice(1);return this.collect(function(value){return value[method].apply(value,args);});},max:function(iterator){var result;this.each(function(value,index){value=(iterator||Prototype.K)(value,index);if(result==undefined||value>=result)
result=value;});return result;},min:function(iterator){var result;this.each(function(value,index){value=(iterator||Prototype.K)(value,index);if(result==undefined||value<result)
result=value;});return result;},partition:function(iterator){var trues=[],falses=[];this.each(function(value,index){((iterator||Prototype.K)(value,index)?trues:falses).push(value);});return[trues,falses];},pluck:function(property){var results=[];this.each(function(value,index){results.push(value[property]);});return results;},reject:function(iterator){var results=[];this.each(function(value,index){if(!iterator(value,index))
results.push(value);});return results;},sortBy:function(iterator){return this.collect(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.collect(Prototype.K);},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(typeof args.last()=='function')
iterator=args.pop();var collections=[this].concat(args).map($A);return this.map(function(value,index){return iterator(collections.pluck(index));});},inspect:function(){return'#<Enumerable:'+this.toArray().inspect()+'>';}}
Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray});var $A=Array.from=function(iterable){if(!iterable)return[];if(iterable.toArray){return iterable.toArray();}else{var results=[];for(var i=0;i<iterable.length;i++)
results.push(iterable[i]);return results;}}
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;i<this.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!=undefined||value!=null;});},flatten:function(){return this.inject([],function(array,value){return array.concat(value&&value.constructor==Array?value.flatten():[value]);});},without:function(){var values=$A(arguments);return this.select(function(value){return!values.include(value);});},indexOf:function(object){for(var i=0;i<this.length;i++)
if(this[i]==object)return i;return-1;},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse();},inspect:function(){return'['+this.map(Object.inspect).join(', ')+']';}});var Hash={_each:function(iterator){for(var key in this){var value=this[key];if(typeof value=='function')continue;var pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}},keys:function(){return this.pluck('key');},values:function(){return this.pluck('value');},merge:function(hash){return $H(hash).inject($H(this),function(mergedHash,pair){mergedHash[pair.key]=pair.value;return mergedHash;});},toQueryString:function(){return this.map(function(pair){return pair.map(encodeURIComponent).join('=');}).join('&');},inspect:function(){return'#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ');}).join(', ')+'}>';}}
function $H(object){var hash=Object.extend({},object||{});Object.extend(hash,Enumerable);Object.extend(hash,Hash);return hash;}
ObjectRange=Class.create();Object.extend(ObjectRange.prototype,Enumerable);Object.extend(ObjectRange.prototype,{initialize:function(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive;},_each:function(iterator){var value=this.start;do{iterator(value);value=value.succ();}while(this.include(value));},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(responderToAdd){if(!this.include(responderToAdd))
this.responders.push(responderToAdd);},unregister:function(responderToRemove){this.responders=this.responders.without(responderToRemove);},dispatch:function(callback,request,transport,json){this.each(function(responder){if(responder[callback]&&typeof responder[callback]=='function'){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=function(){};Ajax.Base.prototype={setOptions:function(options){this.options={method:'post',asynchronous:true,contentType:'application/x-www-form-urlencoded',parameters:''}
Object.extend(this.options,options||{});},responseIsSuccess:function(){return this.transport.status==undefined||this.transport.status==0||(this.transport.status>=200&&this.transport.status<300);},responseIsFailure:function(){return!this.responseIsSuccess();}}
Ajax.Request=Class.create();Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Request.prototype=Object.extend(new Ajax.Base(),{initialize:function(url,options){this.transport=Ajax.getTransport();this.setOptions(options);this.request(url);},request:function(url){var parameters=this.options.parameters||'';if(parameters.length>0)parameters+='&_=';try{this.url=url;if(this.options.method=='get'&&parameters.length>0)
this.url+=(this.url.match(/\?/)?'&':'?')+parameters;Ajax.Responders.dispatch('onCreate',this,this.transport);this.transport.open(this.options.method,this.url,this.options.asynchronous);if(this.options.asynchronous){this.transport.onreadystatechange=this.onStateChange.bind(this);setTimeout((function(){this.respondToReadyState(1)}).bind(this),10);}
this.setRequestHeaders();var body=this.options.postBody?this.options.postBody:parameters;this.transport.send(this.options.method=='post'?body:null);}catch(e){this.dispatchException(e);}},setRequestHeaders:function(){var requestHeaders=['X-Requested-With','XMLHttpRequest','X-Prototype-Version',Prototype.Version,'Accept','text/javascript, text/html, application/xml, text/xml, */*'];if(this.options.method=='post'){requestHeaders.push('Content-type',this.options.contentType);if(this.transport.overrideMimeType)
requestHeaders.push('Connection','close');}
if(this.options.requestHeaders)
requestHeaders.push.apply(requestHeaders,this.options.requestHeaders);for(var i=0;i<requestHeaders.length;i+=2)
this.transport.setRequestHeader(requestHeaders[i],requestHeaders[i+1]);},onStateChange:function(){var readyState=this.transport.readyState;if(readyState!=1)
this.respondToReadyState(this.transport.readyState);},header:function(name){try{return this.transport.getResponseHeader(name);}catch(e){}},evalJSON:function(){try{return eval('('+this.header('X-JSON')+')');}catch(e){}},evalResponse:function(){try{return eval(this.transport.responseText);}catch(e){this.dispatchException(e);}},respondToReadyState:function(readyState){var event=Ajax.Request.Events[readyState];var transport=this.transport,json=this.evalJSON();if(event=='Complete'){try{(this.options['on'+this.transport.status]||this.options['on'+(this.responseIsSuccess()?'Success':'Failure')]||Prototype.emptyFunction)(transport,json);}catch(e){this.dispatchException(e);}
if((this.header('Content-type')||'').match(/^text\/javascript/i))
this.evalResponse();}
try{(this.options['on'+event]||Prototype.emptyFunction)(transport,json);Ajax.Responders.dispatch('on'+event,this,transport,json);}catch(e){this.dispatchException(e);}
if(event=='Complete')
this.transport.onreadystatechange=Prototype.emptyFunction;},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch('onException',this,exception);}});Ajax.Updater=Class.create();Object.extend(Object.extend(Ajax.Updater.prototype,Ajax.Request.prototype),{initialize:function(container,url,options){this.containers={success:container.success?$(container.success):$(container),failure:container.failure?$(container.failure):(container.success?null:$(container))}
this.transport=Ajax.getTransport();this.setOptions(options);var onComplete=this.options.onComplete||Prototype.emptyFunction;this.options.onComplete=(function(transport,object){this.updateContent();onComplete(transport,object);}).bind(this);this.request(url);},updateContent:function(){var receiver=this.responseIsSuccess()?this.containers.success:this.containers.failure;var response=this.transport.responseText;if(!this.options.evalScripts)
response=response.stripScripts();if(receiver){if(this.options.insertion){new this.options.insertion(receiver,response);}else{Element.update(receiver,response);}}
if(this.responseIsSuccess()){if(this.onComplete)
setTimeout(this.onComplete.bind(this),10);}}});Ajax.PeriodicalUpdater=Class.create();Ajax.PeriodicalUpdater.prototype=Object.extend(new Ajax.Base(),{initialize:function(container,url,options){this.setOptions(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=container;this.url=url;this.start();},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent();},stop:function(){this.updater.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments);},updateComplete:function(request){if(this.options.decay){this.decay=(request.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=request.responseText;}
this.timer=setTimeout(this.onTimerEvent.bind(this),this.decay*this.frequency*1000);},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options);}});function $(){var results=[],element;for(var i=0;i<arguments.length;i++){element=arguments[i];if(typeof element=='string')
element=document.getElementById(element);results.push(Element.extend(element));}
return results.length<2?results[0]:results;}
document.getElementsByClassName=function(className,parentElement){var children=($(parentElement)||document.body).getElementsByTagName('*');return $A(children).inject([],function(elements,child){if(child.className.match(new RegExp("(^|\\s)"+className+"(\\s|$)")))
elements.push(Element.extend(child));return elements;});}
if(!window.Element)
var Element=new Object();Element.extend=function(element){if(!element)return;if(_nativeExtensions)return element;if(!element._extended&&element.tagName&&element!=window){var methods=Element.Methods,cache=Element.extend.cache;for(property in methods){var value=methods[property];if(typeof value=='function')
element[property]=cache.findOrStore(value);}}
element._extended=true;return element;}
Element.extend.cache={findOrStore:function(value){return this[value]=this[value]||function(){return value.apply(null,[this].concat($A(arguments)));}}}
Element.Methods={visible:function(element){return $(element).style.display!='none';},toggle:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);Element[Element.visible(element)?'hide':'show'](element);}},hide:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);element.style.display='none';}},show:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);element.style.display='';}},remove:function(element){element=$(element);element.parentNode.removeChild(element);},update:function(element,html){$(element).innerHTML=html.stripScripts();setTimeout(function(){html.evalScripts()},10);},replace:function(element,html){element=$(element);if(element.outerHTML){element.outerHTML=html.stripScripts();}else{var range=element.ownerDocument.createRange();range.selectNodeContents(element);element.parentNode.replaceChild(range.createContextualFragment(html.stripScripts()),element);}
setTimeout(function(){html.evalScripts()},10);},getHeight:function(element){element=$(element);return element.offsetHeight;},classNames:function(element){return new Element.ClassNames(element);},hasClassName:function(element,className){if(!(element=$(element)))return;return Element.classNames(element).include(className);},addClassName:function(element,className){if(!(element=$(element)))return;return Element.classNames(element).add(className);},removeClassName:function(element,className){if(!(element=$(element)))return;return Element.classNames(element).remove(className);},cleanWhitespace:function(element){element=$(element);for(var i=0;i<element.childNodes.length;i++){var node=element.childNodes[i];if(node.nodeType==3&&!/\S/.test(node.nodeValue))
Element.remove(node);}},empty:function(element){return $(element).innerHTML.match(/^\s*$/);},childOf:function(element,ancestor){element=$(element),ancestor=$(ancestor);while(element=element.parentNode)
if(element==ancestor)return true;return false;},scrollTo:function(element){element=$(element);var x=element.x?element.x:element.offsetLeft,y=element.y?element.y:element.offsetTop;window.scrollTo(x,y);},getStyle:function(element,style){element=$(element);var value=element.style[style.camelize()];if(!value){if(document.defaultView&&document.defaultView.getComputedStyle){var css=document.defaultView.getComputedStyle(element,null);value=css?css.getPropertyValue(style):null;}else if(element.currentStyle){value=element.currentStyle[style.camelize()];}}
if(window.opera&&['left','top','right','bottom'].include(style))
if(Element.getStyle(element,'position')=='static')value='auto';return value=='auto'?null:value;},setStyle:function(element,style){element=$(element);for(var name in style)
element.style[name.camelize()]=style[name];},getDimensions:function(element){element=$(element);if(Element.getStyle(element,'display')!='none')
return{width:element.offsetWidth,height:element.offsetHeight};var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;els.visibility='hidden';els.position='absolute';els.display='';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display='none';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;}}},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='';}},makeClipping:function(element){element=$(element);if(element._overflow)return;element._overflow=element.style.overflow;if((Element.getStyle(element,'overflow')||'visible')!='hidden')
element.style.overflow='hidden';},undoClipping:function(element){element=$(element);if(element._overflow)return;element.style.overflow=element._overflow;element._overflow=undefined;}}
Object.extend(Element,Element.Methods);var _nativeExtensions=false;if(!HTMLElement&&/Konqueror|Safari|KHTML/.test(navigator.userAgent)){var HTMLElement={}
HTMLElement.prototype=document.createElement('div').__proto__;}
Element.addMethods=function(methods){Object.extend(Element.Methods,methods||{});if(typeof HTMLElement!='undefined'){var methods=Element.Methods,cache=Element.extend.cache;for(property in methods){var value=methods[property];if(typeof value=='function')
HTMLElement.prototype[property]=cache.findOrStore(value);}
_nativeExtensions=true;}}
Element.addMethods();var Toggle=new Object();Toggle.display=Element.toggle;Abstract.Insertion=function(adjacency){this.adjacency=adjacency;}
Abstract.Insertion.prototype={initialize:function(element,content){this.element=$(element);this.content=content.stripScripts();if(this.adjacency&&this.element.insertAdjacentHTML){try{this.element.insertAdjacentHTML(this.adjacency,this.content);}catch(e){var tagName=this.element.tagName.toLowerCase();if(tagName=='tbody'||tagName=='tr'){this.insertContent(this.contentFromAnonymousTable());}else{throw e;}}}else{this.range=this.element.ownerDocument.createRange();if(this.initializeRange)this.initializeRange();this.insertContent([this.range.createContextualFragment(this.content)]);}
setTimeout(function(){content.evalScripts()},10);},contentFromAnonymousTable:function(){var div=document.createElement('div');div.innerHTML='<table><tbody>'+this.content+'</tbody></table>';return $A(div.childNodes[0].childNodes[0].childNodes);}}
var Insertion=new Object();Insertion.Before=Class.create();Insertion.Before.prototype=Object.extend(new Abstract.Insertion('beforeBegin'),{initializeRange:function(){this.range.setStartBefore(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.parentNode.insertBefore(fragment,this.element);}).bind(this));}});Insertion.Top=Class.create();Insertion.Top.prototype=Object.extend(new Abstract.Insertion('afterBegin'),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(true);},insertContent:function(fragments){fragments.reverse(false).each((function(fragment){this.element.insertBefore(fragment,this.element.firstChild);}).bind(this));}});Insertion.Bottom=Class.create();Insertion.Bottom.prototype=Object.extend(new Abstract.Insertion('beforeEnd'),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.appendChild(fragment);}).bind(this));}});Insertion.After=Class.create();Insertion.After.prototype=Object.extend(new Abstract.Insertion('afterEnd'),{initializeRange:function(){this.range.setStartAfter(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.parentNode.insertBefore(fragment,this.element.nextSibling);}).bind(this));}});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(this.toArray().concat(classNameToAdd).join(' '));},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set(this.select(function(className){return className!=classNameToRemove;}).join(' '));},toString:function(){return this.toArray().join(' ');}}
Object.extend(Element.ClassNames.prototype,Enumerable);var Selector=Class.create();Selector.prototype={initialize:function(expression){this.params={classNames:[]};this.expression=expression.toString().strip();this.parseExpression();this.compileMatcher();},parseExpression:function(){function abort(message){throw'Parse error in selector: '+message;}
if(this.expression=='')abort('empty expression');var params=this.params,expr=this.expression,match,modifier,clause,rest;while(match=expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)){params.attributes=params.attributes||[];params.attributes.push({name:match[2],operator:match[3],value:match[4]||match[5]||''});expr=match[1];}
if(expr=='*')return this.params.wildcard=true;while(match=expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+)(.*)/i)){modifier=match[1],clause=match[2],rest=match[3];switch(modifier){case'#':params.id=clause;break;case'.':params.classNames.push(clause);break;case'':case undefined:params.tagName=clause.toUpperCase();break;default:abort(expr.inspect());}
expr=rest;}
if(expr.length>0)abort(expr.inspect());},buildMatchExpression:function(){var params=this.params,conditions=[],clause;if(params.wildcard)
conditions.push('true');if(clause=params.id)
conditions.push('element.id == '+clause.inspect());if(clause=params.tagName)
conditions.push('element.tagName.toUpperCase() == '+clause.inspect());if((clause=params.classNames).length>0)
for(var i=0;i<clause.length;i++)
conditions.push('Element.hasClassName(element, '+clause[i].inspect()+')');if(clause=params.attributes){clause.each(function(attribute){var value='element.getAttribute('+attribute.name.inspect()+')';var splitValueBy=function(delimiter){return value+' && '+value+'.split('+delimiter.inspect()+')';}
switch(attribute.operator){case'=':conditions.push(value+' == '+attribute.value.inspect());break;case'~=':conditions.push(splitValueBy(' ')+'.include('+attribute.value.inspect()+')');break;case'|=':conditions.push(splitValueBy('-')+'.first().toUpperCase() == '+attribute.value.toUpperCase().inspect());break;case'!=':conditions.push(value+' != '+attribute.value.inspect());break;case'':case undefined:conditions.push(value+' != null');break;default:throw'Unknown operator '+attribute.operator+' in selector';}});}
return conditions.join(' && ');},compileMatcher:function(){this.match=new Function('element','if (!element.tagName) return false; \
      return '+this.buildMatchExpression());},findElements:function(scope){var element;if(element=$(this.params.id))
if(this.match(element))
if(!scope||Element.childOf(element,scope))
return[element];scope=(scope||document).getElementsByTagName(this.params.tagName||'*');var results=[];for(var i=0;i<scope.length;i++)
if(this.match(element=scope[i]))
results.push(Element.extend(element));return results;},toString:function(){return this.expression;}}
function $$(){return $A(arguments).map(function(expression){return expression.strip().split(/\s+/).inject([null],function(results,expr){var selector=new Selector(expr);return results.map(selector.findElements.bind(selector)).flatten();});}).flatten();}
var Field={clear:function(){for(var i=0;i<arguments.length;i++)
$(arguments[i]).value='';},focus:function(element){$(element).focus();},present:function(){for(var i=0;i<arguments.length;i++)
if($(arguments[i]).value=='')return false;return true;},select:function(element){$(element).select();},activate:function(element){element=$(element);element.focus();if(element.select)
element.select();}}
var Form={serialize:function(form){var elements=Form.getElements($(form));var queryComponents=new Array();for(var i=0;i<elements.length;i++){var queryComponent=Form.Element.serialize(elements[i]);if(queryComponent)
queryComponents.push(queryComponent);}
return queryComponents.join('&');},getElements:function(form){form=$(form);var elements=new Array();for(var tagName in Form.Element.Serializers){var tagElements=form.getElementsByTagName(tagName);for(var j=0;j<tagElements.length;j++)
elements.push(tagElements[j]);}
return elements;},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)
return inputs;var matchingInputs=new Array();for(var i=0;i<inputs.length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))
continue;matchingInputs.push(input);}
return matchingInputs;},disable:function(form){var elements=Form.getElements(form);for(var i=0;i<elements.length;i++){var element=elements[i];element.blur();element.disabled='true';}},enable:function(form){var elements=Form.getElements(form);for(var i=0;i<elements.length;i++){var element=elements[i];element.disabled='';}},findFirstElement:function(form){return Form.getElements(form).find(function(element){return element.type!='hidden'&&!element.disabled&&['input','select','textarea'].include(element.tagName.toLowerCase());});},focusFirstElement:function(form){Field.activate(Form.findFirstElement(form));},reset:function(form){$(form).reset();}}
Form.Element={serialize:function(element){element=$(element);var method=element.tagName.toLowerCase();var parameter=Form.Element.Serializers[method](element);if(parameter){var key=encodeURIComponent(parameter[0]);if(key.length==0)return;if(parameter[1].constructor!=Array)
parameter[1]=[parameter[1]];return parameter[1].map(function(value){return key+'='+encodeURIComponent(value);}).join('&');}},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();var parameter=Form.Element.Serializers[method](element);if(parameter)
return parameter[1];}}
Form.Element.Serializers={input:function(element){switch(element.type.toLowerCase()){case'submit':case'hidden':case'password':case'text':return Form.Element.Serializers.textarea(element);case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element);}
return false;},inputSelector:function(element){if(element.checked)
return[element.name,element.value];},textarea:function(element){return[element.name,element.value];},select:function(element){return Form.Element.Serializers[element.type=='select-one'?'selectOne':'selectMany'](element);},selectOne:function(element){var value='',opt,index=element.selectedIndex;if(index>=0){opt=element.options[index];value=opt.value||opt.text;}
return[element.name,value];},selectMany:function(element){var value=[];for(var i=0;i<element.length;i++){var opt=element.options[i];if(opt.selected)
value.push(opt.value||opt.text);}
return[element.name,value];}}
var $F=Form.Element.getValue;Abstract.TimedObserver=function(){}
Abstract.TimedObserver.prototype={initialize:function(element,frequency,callback){this.frequency=frequency;this.element=$(element);this.callback=callback;this.lastValue=this.getValue();this.registerCallback();},registerCallback:function(){setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},onTimerEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value;}}}
Form.Element.Observer=Class.create();Form.Element.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){return Form.Element.getValue(this.element);}});Form.Observer=Class.create();Form.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){return Form.serialize(this.element);}});Abstract.EventObserver=function(){}
Abstract.EventObserver.prototype={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(){var elements=Form.getElements(this.element);for(var i=0;i<elements.length;i++)
this.registerCallback(elements[i]);},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case'checkbox':case'radio':Event.observe(element,'click',this.onElementEvent.bind(this));break;case'password':case'text':case'textarea':case'select-one':case'select-multiple':Event.observe(element,'change',this.onElementEvent.bind(this));break;}}}}
Form.Element.EventObserver=Class.create();Form.Element.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){return Form.Element.getValue(this.element);}});Form.EventObserver=Class.create();Form.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){return Form.serialize(this.element);}});if(!window.Event){var Event=new Object();}
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,element:function(event){return event.target||event.srcElement;},isLeftClick:function(event){return(((event.which)&&(event.which==1))||((event.button)&&(event.button==1)));},pointerX:function(event){return event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft));},pointerY:function(event){return event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop));},stop:function(event){if(event.preventDefault){event.preventDefault();event.stopPropagation();}else{event.returnValue=false;event.cancelBubble=true;}},findElement:function(event,tagName){var element=Event.element(event);while(element.parentNode&&(!element.tagName||(element.tagName.toUpperCase()!=tagName.toUpperCase())))
element=element.parentNode;return element;},observers:false,_observeAndCache:function(element,name,observer,useCapture){if(!this.observers)this.observers=[];if(element.addEventListener){this.observers.push([element,name,observer,useCapture]);element.addEventListener(name,observer,useCapture);}else if(element.attachEvent){this.observers.push([element,name,observer,useCapture]);element.attachEvent('on'+name,observer);}},unloadCache:function(){if(!Event.observers)return;for(var i=0;i<Event.observers.length;i++){Event.stopObserving.apply(this,Event.observers[i]);Event.observers[i][0]=null;}
Event.observers=false;},observe:function(element,name,observer,useCapture){var element=$(element);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.attachEvent))
name='keydown';this._observeAndCache(element,name,observer,useCapture);},stopObserving:function(element,name,observer,useCapture){var element=$(element);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.detachEvent))
name='keydown';if(element.removeEventListener){element.removeEventListener(name,observer,useCapture);}else if(element.detachEvent){element.detachEvent('on'+name,observer);}}});if(navigator.appVersion.match(/\bMSIE\b/))
Event.observe(window,'unload',Event.unloadCache,false);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;},realOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode;}while(element);return[valueL,valueT];},cumulativeOffset:function(element,debug){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);return[valueL,valueT];},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){p=Element.getStyle(element,'position');if(p=='relative'||p=='absolute')break;}}while(element);return[valueL,valueT];},offsetParent: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;},within:function(element,x,y){if(this.includeScrollOffsets)
return this.withinIncludingScrolloffsets(element,x,y);this.xcomp=x;this.ycomp=y;this.offset=this.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=this.realOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=this.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;},clone:function(source,target){source=$(source);target=$(target);target.style.position='absolute';var offsets=this.cumulativeOffset(source);target.style.top=offsets[1]+'px';target.style.left=offsets[0]+'px';target.style.width=source.offsetWidth+'px';target.style.height=source.offsetHeight+'px';},page:function(forElement){var valueT=0,valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;}while(element=element.offsetParent);element=forElement;do{valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0;}while(element=element.parentNode);return[valueL,valueT];},clone:function(source,target){var options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{})
source=$(source);var p=Position.page(source);target=$(target);var delta=[0,0];var parent=null;if(Element.getStyle(target,'position')=='absolute'){parent=Position.offsetParent(target);delta=Position.page(parent);}
if(parent==document.body){delta[0]-=document.body.offsetLeft;delta[1]-=document.body.offsetTop;}
if(options.setLeft)target.style.left=(p[0]-delta[0]+options.offsetLeft)+'px';if(options.setTop)target.style.top=(p[1]-delta[1]+options.offsetTop)+'px';if(options.setWidth)target.style.width=source.offsetWidth+'px';if(options.setHeight)target.style.height=source.offsetHeight+'px';},absolutize:function(element){element=$(element);if(element.style.position=='absolute')return;Position.prepare();var offsets=Position.positionedOffset(element);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';;},relativize:function(element){element=$(element);if(element.style.position=='relative')return;Position.prepare();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;}}
if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){Position.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[valueL,valueT];}}
var Scriptaculous={Version:'1.6.1',require:function(libraryName){document.write('<script type="text/javascript" src="'+libraryName+'"></script>');},load:function(){if((typeof Prototype=='undefined')||(typeof Element=='undefined')||(typeof Element.Methods=='undefined')||parseFloat(Prototype.Version.split(".")[0]+"."+
Prototype.Version.split(".")[1])<1.5)
throw("script.aculo.us requires the Prototype JavaScript framework >= 1.5.0");$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').split(',').each(function(include){Scriptaculous.require(path+include+'.js')});});}}
Scriptaculous.load();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(element,{fontSize:(percent/100)+'em'});if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);}
Element.getOpacity=function(element){var opacity;if(opacity=Element.getStyle(element,'opacity'))
return parseFloat(opacity);if(opacity=(Element.getStyle(element,'filter')||'').match(/alpha\(opacity=(.*)\)/))
if(opacity[1])return parseFloat(opacity[1])/100;return 1.0;}
Element.setOpacity=function(element,value){element=$(element);if(value==1){Element.setStyle(element,{opacity:(/Gecko/.test(navigator.userAgent)&&!/Konqueror|Safari|KHTML/.test(navigator.userAgent))?0.999999:null});if(/MSIE/.test(navigator.userAgent))
Element.setStyle(element,{filter:Element.getStyle(element,'filter').replace(/alpha\([^\)]*\)/gi,'')});}else{if(value<0.00001)value=0;Element.setStyle(element,{opacity:value});if(/MSIE/.test(navigator.userAgent))
Element.setStyle(element,{filter:Element.getStyle(element,'filter').replace(/alpha\([^\)]*\)/gi,'')+'alpha(opacity='+value*100+')'});}}
Element.getInlineOpacity=function(element){return $(element).style.opacity||'';}
Element.childrenWithClassName=function(element,className,findFirst){var classNameRegExp=new RegExp("(^|\\s)"+className+"(\\s|$)");var results=$A($(element).getElementsByTagName('*'))[findFirst?'detect':'select'](function(c){return(c.className&&c.className.match(classNameRegExp));});if(!results)results=[];return results;}
Element.forceRerendering=function(element){try{element=$(element);var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n);}catch(e){}};Array.prototype.call=function(){var args=arguments;this.each(function(f){f.apply(this,args)});}
var Effect={tagifyText:function(element){var tagifyStyle='position:relative';if(/MSIE/.test(navigator.userAgent))tagifyStyle+=';zoom:1';element=$(element);$A(element.childNodes).each(function(child){if(child.nodeType==3){child.nodeValue.toArray().each(function(character){element.insertBefore(Builder.node('span',{style:tagifyStyle},character==' '?String.fromCharCode(160):character),child);});Element.remove(child);}});},multiple:function(element,effect){var elements;if(((typeof element=='object')||(typeof element=='function'))&&(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);}};var Effect2=Effect;Effect.Transitions={}
Effect.Transitions.linear=function(pos){return pos;}
Effect.Transitions.sinoidal=function(pos){return(-Math.cos(pos*Math.PI)/2)+0.5;}
Effect.Transitions.reverse=function(pos){return 1-pos;}
Effect.Transitions.flicker=function(pos){return((-Math.cos(pos*Math.PI)/4)+0.75)+Math.random()/4;}
Effect.Transitions.wobble=function(pos){return(-Math.cos(pos*Math.PI*(9*pos))/2)+0.5;}
Effect.Transitions.pulse=function(pos){return(Math.floor(pos*10)%2==0?(pos*10-Math.floor(pos*10)):1-(pos*10-Math.floor(pos*10)));}
Effect.Transitions.none=function(pos){return 0;}
Effect.Transitions.full=function(pos){return 1;}
Effect.ScopedQueue=Class.create();Object.extend(Object.extend(Effect.ScopedQueue.prototype,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=(typeof effect.options.queue=='string')?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'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),40);},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();this.effects.invoke('loop',timePos);}});Effect.Queues={instances:$H(),get:function(queueName){if(typeof queueName!='string')return queueName;if(!this.instances[queueName])
this.instances[queueName]=new Effect.ScopedQueue();return this.instances[queueName];}}
Effect.Queue=Effect.Queues.get('global');Effect.DefaultOptions={transition:Effect.Transitions.sinoidal,duration:1.0,fps:25.0,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'}
Effect.Base=function(){};Effect.Base.prototype={position:null,start:function(options){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.event('beforeStart');if(!this.options.sync)
Effect.Queues.get(typeof this.options.queue=='string'?'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.finishOn-this.startOn);var frame=Math.round(pos*this.options.fps*this.options.duration);if(frame>this.currentFrame){this.render(pos);this.currentFrame=frame;}}},render:function(pos){if(this.state=='idle'){this.state='running';this.event('beforeSetup');if(this.setup)this.setup();this.event('afterSetup');}
if(this.state=='running'){if(this.options.transition)pos=this.options.transition(pos);pos*=(this.options.to-this.options.from);pos+=this.options.from;this.position=pos;this.event('beforeUpdate');if(this.update)this.update(pos);this.event('afterUpdate');}},cancel:function(){if(!this.options.sync)
Effect.Queues.get(typeof this.options.queue=='string'?'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(){return'#<Effect:'+$H(this).inspect()+',options:'+$H(this.options).inspect()+'>';}}
Effect.Parallel=Class.create();Object.extend(Object.extend(Effect.Parallel.prototype,Effect.Base.prototype),{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.Opacity=Class.create();Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(/MSIE/.test(navigator.userAgent)&&(!this.element.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();Object.extend(Object.extend(Effect.Move.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);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+'px',top:this.options.y*position+this.originalTop+'px'});}});Effect.MoveBy=function(element,toTop,toLeft){return new Effect.Move(element,Object.extend({x:toLeft,y:toTop},arguments[3]||{}));};Effect.Scale=Class.create();Object.extend(Object.extend(Effect.Scale.prototype,Effect.Base.prototype),{initialize:function(element,percent){this.element=$(element)
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','%'].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+'px';if(this.options.scaleY)d.height=height+'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();Object.extend(Object.extend(Effect.Highlight.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);var options=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(options);},setup:function(){if(this.element.getStyle('display')=='none'){this.cancel();return;}
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+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart());}.bind(this))});},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}));}});Effect.ScrollTo=Class.create();Object.extend(Object.extend(Effect.ScrollTo.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);this.start(arguments[1]||{});},setup:function(){Position.prepare();var offsets=Position.cumulativeOffset(this.element);if(this.options.offset)offsets[1]+=this.options.offset;var max=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-
(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);this.scrollStart=Position.deltaY;this.delta=(offsets[1]>max?max:offsets[1])-this.scrollStart;},update:function(position){Position.prepare();window.scrollTo(Position.deltaX,this.scrollStart+(position*this.delta));}});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();effect.element.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);effect.element.show();}},arguments[1]||{});return new Effect.Opacity(element,options);}
Effect.Puff=function(element){element=$(element);var oldStyle={opacity:element.getInlineOpacity(),position:element.getStyle('position')};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){effect.effects[0].element.setStyle({position:'absolute'});},afterFinishInternal:function(effect){effect.effects[0].element.hide();effect.effects[0].element.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();effect.element.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();effect.element.setStyle({height:'0px'});effect.element.show();},afterFinishInternal:function(effect){effect.element.undoClipping();}},arguments[1]||{}));}
Effect.SwitchOff=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();return new Effect.Appear(element,{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();effect.element.makeClipping();},afterFinishInternal:function(effect){effect.element.hide();effect.element.undoClipping();effect.element.undoPositioned();effect.element.setStyle({opacity:oldOpacity});}})}});}
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();effect.effects[0].element.undoPositioned();effect.effects[0].element.setStyle(oldStyle);}},arguments[1]||{}));}
Effect.Shake=function(element){element=$(element);var oldStyle={top:element.getStyle('top'),left:element.getStyle('left')};return new Effect.Move(element,{x:20,y:0,duration:0.05,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-20,y:0,duration:0.05,afterFinishInternal:function(effect){effect.element.undoPositioned();effect.element.setStyle(oldStyle);}})}})}})}})}})}});}
Effect.SlideDown=function(element){element=$(element);element.cleanWhitespace();var oldInnerBottom=$(element.firstChild).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.firstChild.makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping();effect.element.setStyle({height:'0px'});effect.element.show();},afterUpdateInternal:function(effect){effect.element.firstChild.setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.undoClipping();if(/MSIE/.test(navigator.userAgent)){effect.element.undoPositioned();effect.element.firstChild.undoPositioned();}else{effect.element.firstChild.undoPositioned();effect.element.undoPositioned();}
effect.element.firstChild.setStyle({bottom:oldInnerBottom});}},arguments[1]||{}));}
Effect.SlideUp=function(element){element=$(element);element.cleanWhitespace();var oldInnerBottom=$(element.firstChild).getStyle('bottom');return new Effect.Scale(element,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(effect){effect.element.makePositioned();effect.element.firstChild.makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping();effect.element.show();},afterUpdateInternal:function(effect){effect.element.firstChild.setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.hide();effect.element.undoClipping();effect.element.firstChild.undoPositioned();effect.element.undoPositioned();effect.element.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(effect.element);},afterFinishInternal:function(effect){effect.element.hide(effect.element);effect.element.undoClipping(effect.element);}});}
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();effect.element.makeClipping();effect.element.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'});effect.effects[0].element.show();},afterFinishInternal:function(effect){effect.effects[0].element.undoClipping();effect.effects[0].element.undoPositioned();effect.effects[0].element.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();effect.effects[0].element.makeClipping();},afterFinishInternal:function(effect){effect.effects[0].element.hide();effect.effects[0].element.undoClipping();effect.effects[0].element.undoPositioned();effect.effects[0].element.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))};reverser.bind(transition);return new Effect.Opacity(element,Object.extend(Object.extend({duration:3.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(element);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();effect.element.undoClipping();effect.element.setStyle(oldStyle);}});}},arguments[1]||{}));};['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom','collectTextNodes','collectTextNodesIgnoreClass','childrenWithClassName'].each(function(f){Element.Methods[f]=Element[f];});Element.Methods.visualEffect=function(element,effect,options){s=effect.gsub(/_/,'-').camelize();effect_class=s.charAt(0).toUpperCase()+s.substring(1);new Effect[effect_class](element,options);return $(element);};Element.addMethods();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((typeof containment=='object')&&(containment.constructor==Array)){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 affected=[];if(this.last_active)this.deactivate(this.last_active);this.drops.each(function(drop){if(Droppables.isAffected(point,element,drop))
affected.push(drop);});if(affected.length>0){drop=Droppables.findDeepestChild(affected);Position.within(drop.element,point[0],point[1]);if(drop.onHover)
drop.onHover(element,drop.element,Position.overlap(drop.overlap,drop.element));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);},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){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.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);});},_cacheObserverCallbacks:function(){['onStart','onEnd','onDrag'].each(function(eventName){Draggables[eventName+'Count']=Draggables.observers.select(function(o){return o[eventName];}).length;});}}
var Draggable=Class.create();Draggable.prototype={initialize:function(element){var options=Object.extend({handle:false,starteffect:function(element){element._opacity=Element.getOpacity(element);new Effect.Opacity(element,{duration:0.2,from:element._opacity,to:0.7});},reverteffect:function(element,top_offset,left_offset){var dur=Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;element._revert=new Effect.Move(element,{x:-left_offset,y:-top_offset,duration:dur});},endeffect:function(element){var toOpacity=typeof element._opacity=='number'?element._opacity:1.0
new Effect.Opacity(element,{duration:0.2,from:0.7,to:toOpacity});},zindex:1000,revert:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false},arguments[1]||{});this.element=$(element);if(options.handle&&(typeof options.handle=='string')){var h=Element.childrenWithClassName(this.element,options.handle,true);if(h.length>0)this.handle=h[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);Element.makePositioned(this.element);this.delta=this.currentDelta();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(Event.isLeftClick(event)){var src=Event.element(event);if(src.tagName&&(src.tagName=='INPUT'||src.tagName=='SELECT'||src.tagName=='OPTION'||src.tagName=='BUTTON'||src.tagName=='TEXTAREA'))return;if(this.element._revert){this.element._revert.cancel();this.element._revert=null;}
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.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);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);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;p[1]+=this.options.scroll.scrollTop;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(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);Event.stop(event);},finishDrag:function(event,success){this.dragging=false;if(this.options.ghosting){Position.relativize(this.element);Element.remove(this._clone);this._clone=null;}
if(success)Droppables.fire(event,this.element);Draggables.notify('onEnd',this,event);var revert=this.options.revert;if(revert&&typeof revert=='function')revert=revert(this.element);var d=this.currentDelta();if(revert&&this.options.reverteffect){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);var d=this.currentDelta();pos[0]-=d[0];pos[1]-=d[1];if(this.options.scroll&&(this.options.scroll!=window)){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(typeof this.options.snap=='function'){p=this.options.snap(p[0],p[1],this);}else{if(this.options.snap instanceof Array){p=p.map(function(v,i){return Math.round(v/this.options.snap[i])*this.options.snap[i]}.bind(this))}else{p=p.map(function(v){return Math.round(v/this.options.snap)*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){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);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};}}
var SortableObserver=Class.create();SortableObserver.prototype={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={sortables:{},_findRootElement:function(element){while(element.tagName!="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,hoverclass:null,ghosting:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:/^[^_]*_(.*)$/,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(element);var options_for_draggable={revert:true,scroll:options.scroll,scrollSpeed:options.scrollSpeed,scrollSensitivity:options.scrollSensitivity,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);}
(this.findElements(element,options)||[]).each(function(e){var handle=options.handle?Element.childrenWithClassName(e,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});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)Element.hide(Sortable._marker);},mark:function(dropon,position){var sortable=Sortable.options(dropon.parentNode);if(sortable&&!sortable.ghosting)return;if(!Sortable._marker){Sortable._marker=$('dropmarker')||document.createElement('DIV');Element.hide(Sortable._marker);Element.addClassName(Sortable._marker,'dropmarker');Sortable._marker.style.position='absolute';document.getElementsByTagName("body").item(0).appendChild(Sortable._marker);}
var offsets=Position.cumulativeOffset(dropon);Sortable._marker.style.left=offsets[0]+'px';Sortable._marker.style.top=offsets[1]+'px';if(position=='after')
if(sortable.overlap=='horizontal')
Sortable._marker.style.left=(offsets[0]+dropon.clientWidth)+'px';else
Sortable._marker.style.top=(offsets[1]+dropon.clientHeight)+'px';Element.show(Sortable._marker);},_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:new Array,position:parent.children.length,container:Sortable._findChildrenElement(children[i],options.treeTag.toUpperCase())}
if(child.container)
this._tree(child.container,options,child)
parent.children.push(child);}
return parent;},_findChildrenElement:function(element,containerTag){if(element&&element.hasChildNodes)
for(var i=0;i<element.childNodes.length;++i)
if(element.childNodes[i].tagName==containerTag)
return element.childNodes[i];return null;},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:new Array,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)+"="+
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){if(type=='vertical'||type=='height')
return element.offsetHeight;else
return element.offsetWidth;}
var Autocompleter={}
Autocompleter.Base=function(){};Autocompleter.Base.prototype={baseInitialize:function(element,update,options){this.element=$(element);this.update=$(update);this.hasFocus=false;this.changed=false;this.active=false;this.index=0;this.entryCount=0;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);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&&(navigator.appVersion.indexOf('MSIE')>0)&&(navigator.userAgent.indexOf('Opera')<0)&&(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);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(navigator.appVersion.indexOf('AppleWebKit')>0)Event.stop(event);return;case Event.KEY_DOWN:this.markNext();this.render();if(navigator.appVersion.indexOf('AppleWebKit')>0)Event.stop(event);return;}
else
if(event.keyCode==Event.KEY_TAB||event.keyCode==Event.KEY_RETURN||(navigator.appVersion.indexOf('AppleWebKit')>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;},markNext:function(){if(this.index<this.entryCount-1)this.index++
else this.index=0;},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=document.getElementsByClassName(this.options.select,selectedElement)||[];if(nodes.length>0)value=Element.collectTextNodes(nodes[0],this.options.select);}else
value=Element.collectTextNodesIgnoreClass(selectedElement,'informal');var lastTokenPos=this.findLastToken();if(lastTokenPos!=-1){var newValue=this.element.value.substr(0,lastTokenPos+1);var whitespace=this.element.value.substr(lastTokenPos+1).match(/^\s+/);if(whitespace)
newValue+=whitespace[0];this.element.value=newValue+value;}else{this.element.value=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.firstChild);if(this.update.firstChild&&this.update.firstChild.childNodes){this.entryCount=this.update.firstChild.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;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;if(this.getToken().length>=this.options.minChars){this.startIndicator();this.getUpdatedChoices();}else{this.active=false;this.hide();}},getToken:function(){var tokenPos=this.findLastToken();if(tokenPos!=-1)
var ret=this.element.value.substr(tokenPos+1).replace(/^\s+/,'').replace(/\s+$/,'');else
var ret=this.element.value;return/\n/.test(ret)?'':ret;},findLastToken:function(){var lastTokenPos=-1;for(var i=0;i<this.options.tokens.length;i++){var thisTokenPos=this.element.value.lastIndexOf(this.options.tokens[i]);if(thisTokenPos>lastTokenPos)
lastTokenPos=thisTokenPos;}
return lastTokenPos;}}
Ajax.Autocompleter=Class.create();Object.extend(Object.extend(Ajax.Autocompleter.prototype,Autocompleter.Base.prototype),{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(){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.Local.prototype=Object.extend(new 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();Ajax.InPlaceEditor.defaultHighlightColor="#FFFF99";Ajax.InPlaceEditor.prototype={initialize:function(element,url,options){this.url=url;this.element=$(element);this.options=Object.extend({okButton:true,okText:"ok",cancelLink:true,cancelText:"cancel",savingText:"Saving...",clickToEditText:"Click to edit",okText:"ok",rows:1,onComplete:function(transport,element){new Effect.Highlight(element,{startcolor:this.options.highlightcolor});},onFailure:function(transport){alert("Error communicating with the server: "+transport.responseText.stripTags());},callback:function(form){return Form.serialize(form);},handleLineBreaks:true,loadingText:'Loading...',savingClassName:'inplaceeditor-saving',loadingClassName:'inplaceeditor-loading',formClassName:'inplaceeditor-form',highlightcolor:Ajax.InPlaceEditor.defaultHighlightColor,highlightendcolor:"#FFFFFF",externalControl:null,submitOnBlur:false,ajaxOptions:{},evalScripts:false},options||{});if(!this.options.formId&&this.element.id){this.options.formId=this.element.id+"-inplaceeditor";if($(this.options.formId)){this.options.formId=null;}}
if(this.options.externalControl){this.options.externalControl=$(this.options.externalControl);}
this.originalBackground=Element.getStyle(this.element,'background-color');if(!this.originalBackground){this.originalBackground="transparent";}
this.element.title=this.options.clickToEditText;this.onclickListener=this.enterEditMode.bindAsEventListener(this);this.mouseoverListener=this.enterHover.bindAsEventListener(this);this.mouseoutListener=this.leaveHover.bindAsEventListener(this);Event.observe(this.element,'click',this.onclickListener);Event.observe(this.element,'mouseover',this.mouseoverListener);Event.observe(this.element,'mouseout',this.mouseoutListener);if(this.options.externalControl){Event.observe(this.options.externalControl,'click',this.onclickListener);Event.observe(this.options.externalControl,'mouseover',this.mouseoverListener);Event.observe(this.options.externalControl,'mouseout',this.mouseoutListener);}},enterEditMode:function(evt){if(this.saving)return;if(this.editing)return;this.editing=true;this.onEnterEditMode();if(this.options.externalControl){Element.hide(this.options.externalControl);}
Element.hide(this.element);this.createForm();this.element.parentNode.insertBefore(this.form,this.element);Field.scrollFreeActivate(this.editField);if(evt){Event.stop(evt);}
return false;},createForm:function(){this.form=document.createElement("form");this.form.id=this.options.formId;Element.addClassName(this.form,this.options.formClassName)
this.form.onsubmit=this.onSubmit.bind(this);this.createEditField();if(this.options.textarea){var br=document.createElement("br");this.form.appendChild(br);}
if(this.options.okButton){okButton=document.createElement("input");okButton.type="submit";okButton.value=this.options.okText;okButton.className='editor_ok_button';this.form.appendChild(okButton);}
if(this.options.cancelLink){cancelLink=document.createElement("a");cancelLink.href="#";cancelLink.appendChild(document.createTextNode(this.options.cancelText));cancelLink.onclick=this.onclickCancel.bind(this);cancelLink.className='editor_cancel';this.form.appendChild(cancelLink);}},hasHTMLLineBreaks:function(string){if(!this.options.handleLineBreaks)return false;return string.match(/<br/i)||string.match(/<p>/i);},convertHTMLLineBreaks:function(string){return string.replace(/<br>/gi,"\n").replace(/<br\/>/gi,"\n").replace(/<\/p>/gi,"\n").replace(/<p>/gi,"");},createEditField:function(){var text;if(this.options.loadTextURL){text=this.options.loadingText;}else{text=this.getText();}
var obj=this;if(this.options.rows==1&&!this.hasHTMLLineBreaks(text)){this.options.textarea=false;var textField=document.createElement("input");textField.obj=this;textField.type="text";textField.name="value";textField.value=text;textField.style.backgroundColor=this.options.highlightcolor;textField.className='editor_field';var size=this.options.size||this.options.cols||0;if(size!=0)textField.size=size;if(this.options.submitOnBlur)
textField.onblur=this.onSubmit.bind(this);this.editField=textField;}else{this.options.textarea=true;var textArea=document.createElement("textarea");textArea.obj=this;textArea.name="value";textArea.value=this.convertHTMLLineBreaks(text);textArea.rows=this.options.rows;textArea.cols=this.options.cols||40;textArea.className='editor_field';if(this.options.submitOnBlur)
textArea.onblur=this.onSubmit.bind(this);this.editField=textArea;}
if(this.options.loadTextURL){this.loadExternalText();}
this.form.appendChild(this.editField);},getText:function(){return this.element.innerHTML;},loadExternalText:function(){Element.addClassName(this.form,this.options.loadingClassName);this.editField.disabled=true;new Ajax.Request(this.options.loadTextURL,Object.extend({asynchronous:true,onComplete:this.onLoadedExternalText.bind(this)},this.options.ajaxOptions));},onLoadedExternalText:function(transport){Element.removeClassName(this.form,this.options.loadingClassName);this.editField.disabled=false;this.editField.value=transport.responseText.stripTags();},onclickCancel:function(){this.onComplete();this.leaveEditMode();return false;},onFailure:function(transport){this.options.onFailure(transport);if(this.oldInnerHTML){this.element.innerHTML=this.oldInnerHTML;this.oldInnerHTML=null;}
return false;},onSubmit:function(){var form=this.form;var value=this.editField.value;this.onLoading();if(this.options.evalScripts){new Ajax.Request(this.url,Object.extend({parameters:this.options.callback(form,value),onComplete:this.onComplete.bind(this),onFailure:this.onFailure.bind(this),asynchronous:true,evalScripts:true},this.options.ajaxOptions));}else{new Ajax.Updater({success:this.element,failure:null},this.url,Object.extend({parameters:this.options.callback(form,value),onComplete:this.onComplete.bind(this),onFailure:this.onFailure.bind(this)},this.options.ajaxOptions));}
if(arguments.length>1){Event.stop(arguments[0]);}
return false;},onLoading:function(){this.saving=true;this.removeForm();this.leaveHover();this.showSaving();},showSaving:function(){this.oldInnerHTML=this.element.innerHTML;this.element.innerHTML=this.options.savingText;Element.addClassName(this.element,this.options.savingClassName);this.element.style.backgroundColor=this.originalBackground;Element.show(this.element);},removeForm:function(){if(this.form){if(this.form.parentNode)Element.remove(this.form);this.form=null;}},enterHover:function(){if(this.saving)return;this.element.style.backgroundColor=this.options.highlightcolor;if(this.effect){this.effect.cancel();}
Element.addClassName(this.element,this.options.hoverClassName)},leaveHover:function(){if(this.options.backgroundColor){this.element.style.backgroundColor=this.oldBackground;}
Element.removeClassName(this.element,this.options.hoverClassName)
if(this.saving)return;this.effect=new Effect.Highlight(this.element,{startcolor:this.options.highlightcolor,endcolor:this.options.highlightendcolor,restorecolor:this.originalBackground});},leaveEditMode:function(){Element.removeClassName(this.element,this.options.savingClassName);this.removeForm();this.leaveHover();this.element.style.backgroundColor=this.originalBackground;Element.show(this.element);if(this.options.externalControl){Element.show(this.options.externalControl);}
this.editing=false;this.saving=false;this.oldInnerHTML=null;this.onLeaveEditMode();},onComplete:function(transport){this.leaveEditMode();this.options.onComplete.bind(this)(transport,this.element);},onEnterEditMode:function(){},onLeaveEditMode:function(){},dispose:function(){if(this.oldInnerHTML){this.element.innerHTML=this.oldInnerHTML;}
this.leaveEditMode();Event.stopObserving(this.element,'click',this.onclickListener);Event.stopObserving(this.element,'mouseover',this.mouseoverListener);Event.stopObserving(this.element,'mouseout',this.mouseoutListener);if(this.options.externalControl){Event.stopObserving(this.options.externalControl,'click',this.onclickListener);Event.stopObserving(this.options.externalControl,'mouseover',this.mouseoverListener);Event.stopObserving(this.options.externalControl,'mouseout',this.mouseoutListener);}}};Ajax.InPlaceCollectionEditor=Class.create();Object.extend(Ajax.InPlaceCollectionEditor.prototype,Ajax.InPlaceEditor.prototype);Object.extend(Ajax.InPlaceCollectionEditor.prototype,{createEditField:function(){if(!this.cached_selectTag){var selectTag=document.createElement("select");var collection=this.options.collection||[];var optionTag;collection.each(function(e,i){optionTag=document.createElement("option");optionTag.value=(e instanceof Array)?e[0]:e;if(this.options.value==optionTag.value)optionTag.selected=true;optionTag.appendChild(document.createTextNode((e instanceof Array)?e[1]:e));selectTag.appendChild(optionTag);}.bind(this));this.cached_selectTag=selectTag;}
this.editField=this.cached_selectTag;if(this.options.loadTextURL)this.loadExternalText();this.form.appendChild(this.editField);this.options.callback=function(form,value){return"value="+encodeURIComponent(value);}}});Form.Element.DelayedObserver=Class.create();Form.Element.DelayedObserver.prototype={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));}};Date.prototype.format=function(f)
{if(!this.valueOf())
return'&nbsp;';var d=this;return f.replace(/(yyyy|mmmm|mmm|mm|dddd|ddd|dd|hh|nn|ss|a\/p)/gi,function($1)
{switch($1.toLowerCase())
{case'yyyy':return d.getFullYear();case'mmmm':return famundoDateUtil.longMonthName[d.getMonth()];case'mmm':return famundoDateUtil.shortMonthName[d.getMonth()];case'mm':return(d.getMonth()+1).zTrail(2);case'dddd':return famundoDateUtil.longDayName[d.getDay()];case'ddd':return famundoDateUtil.longDayName[d.getDay()].substr(0,3);case'dd':return d.getDate().zTrail(2);case'hh':return((h=d.getHours()%12)?h:12).zTrail(2);case'nn':return d.getMinutes().zTrail(2);case'ss':return d.getSeconds().zTrail(2);case'AM/PM':return(d.getHours()<12)?famundoDateUtil.getTextAM():famundoDateUtil.getTextPM();}});};Date.prototype.strftime=function(f)
{if(!this.valueOf())
return'';function replaceProc(d,formatCode)
{switch(formatCode.charAt(1))
{case'a':return famundoDateUtil.shortDayName[d.getDay()];case'A':return famundoDateUtil.longDayName[d.getDay()];case'b':return famundoDateUtil.shortMonthName[d.getMonth()]
case'B':return famundoDateUtil.longMonthName[d.getMonth()]
case'd':return d.getDate().zTrail(2);case'H':return d.getHours().zTrail(2);case'I':{var h=d.getHours()%12;return((h==0)?12:h).zTrail(2);}
case'I':return(d.getMonth()+1).zTrail(2);case'm':return(d.getMonth()+1).zTrail(2);case'M':return d.getMinutes().zTrail(2);case'p':return(d.getHours()<12)?famundoDateUtil.getTextAM():famundoDateUtil.getTextPM();case'S':return d.getSeconds().zTrail(2);case'w':return(''+d.getDay());case'y':return(''+d.getFullYear()).substr(2,2);case'Y':return(''+d.getFullYear());case'%':return'%';default:return'';}}
var dt=this;return f.replace(/(%a|%A|%b|%B|%d|%H|%I|%m|%M|%p|%S|%w|%y|%Y|%%)/gi,function($1){return replaceProc(dt,$1);});};Number.prototype.zTrail=function(n,left)
{if(left==null)
left=true;var result=this.valueOf();for(var i=result.toString().length;i<n;i++)
{if(left)
result='0'+result;else
result+='0';}
return result;};String.prototype.ltrim=function()
{var result=this.valueOf();return result.replace(/^[ ]+/,'');};String.prototype.rtrim=function()
{var result=this.valueOf();return result.replace(/[ ]+$/,'');};String.prototype.trim=function()
{var result=this.valueOf();result=result.replace(/^[ ]+/,'');return result.replace(/[ ]+$/,'');};String.prototype.replaceSubstring=function(fromStr,toStr)
{var inputString=this.valueOf();var temp=inputString;if(fromStr=="")
{return inputString;}
if(toStr.indexOf(fromStr)==-1)
{while(temp.indexOf(fromStr)!=-1)
{var toTheLeft=temp.substring(0,temp.indexOf(fromStr));var toTheRight=temp.substring(temp.indexOf(fromStr)+fromStr.length,temp.length);temp=toTheLeft+toStr+toTheRight;}}
else
{var midStrings=new Array("~","`","_","^","#");var midStringLen=1;var midString="";while(midString=="")
{for(var i=0;i<midStrings.length;i++)
{var tempMidString="";for(var j=0;j<midStringLen;j++)
{tempMidString+=midStrings[i];}
if(fromStr.indexOf(tempMidString)==-1)
{midString=tempMidString;i=midStrings.length+1;}}}
while(temp.indexOf(fromStr)!=-1)
{var toTheLeft=temp.substring(0,temp.indexOf(fromStr));var toTheRight=temp.substring(temp.indexOf(fromStr)+fromStr.length,temp.length);temp=toTheLeft+midString+toTheRight;}
while(temp.indexOf(midString)!=-1)
{var toTheLeft=temp.substring(0,temp.indexOf(midString));var toTheRight=temp.substring(temp.indexOf(midString)+midString.length,temp.length);temp=toTheLeft+toStr+toTheRight;}}
return temp;};Object.extend(Event,{observeMultiple:function(elements,name,observer,useCapture)
{for(var i=0;i<elements.length;i++)
{Event.observe(elements[i],name,observer,useCapture);}}});Object.extend(Array.prototype,{unique:function()
{var x=new Object();for(var i=0;i<this.length;i++)
{if(x[this[i]])
{this.splice(i,1);i--;}
else
x[this[i]]=true;}
return this;}});var famundoUtils={isIE:(!window.opera&&navigator.userAgent.indexOf('MSIE')!=-1),isSafari:(/Konqueror|Safari|KHTML/.test(navigator.userAgent)),addEvent:function(obj,evType,fn,useCapture)
{if(obj.addEventListener)
{obj.addEventListener(evType,fn,useCapture);return true;}
else if(obj.attachEvent)
{var r=obj.attachEvent('on'+evType,fn);return r;}
else
{obj['on'+evType]=fn;}},removeEvent:function(obj,evType,fn,useCapture)
{if(obj.removeEventListener)
{obj.removeEventListener(evType,fn,useCapture);return true;}
else if(obj.detachEvent)
{var r=obj.detachEvent('on'+evType,fn);return r;}
else
{obj['on'+evType]=null;}},isOfClass:function(elm,clsName)
{if((typeof clsName).toLowerCase()=='string')
return(elm&&elm.className&&(' '+elm.className+' ').indexOf(' '+clsName+' ')!=-1)
else if((typeof clsName).toLowerCase()=='object')
{for(var i=0;i<clsName.length;i++)
if(elm&&elm.className&&(' '+elm.className+' ').indexOf(' '+clsName[i]+' ')!=-1)
return true;}
return false;},addClass:function(elm,clsName)
{if(elm&&!famundoUtils.isOfClass(elm,clsName))
elm.className+=' '+clsName;},removeClass:function(elm,clsName)
{if(famundoUtils.isOfClass(elm,clsName))
{var re=new RegExp('\\b ?'+clsName+'\\b');elm.className=elm.className.replace(re,'');}},replaceClass:function(elm,search,replace)
{famundoUtils.removeClass(elm,search);famundoUtils.addClass(elm,replace);},removeAllChildren:function(elm)
{while(elm.childNodes.length>0)
elm.removeChild(elm.childNodes[0]);},getClassProperty:function(elm,prop)
{if(elm.currentStyle)
return elm.currentStyle[prop];else if(window.getComputedStyle)
{return document.defaultView.getComputedStyle(elm,null).getPropertyValue(prop);}},removeAllChildreNodesOfType:function(elm,nodeName)
{var toDelete=new Array();var iCount=0;for(var i=0;i<elm.childNodes.length;i++)
{if(nodeName==elm.childNodes[i].nodeName.toLowerCase())
{toDelete[iCount]=elm.childNodes[i];iCount++;}}
for(var i=0;i<iCount;i++)
{elm.removeChild(toDelete[i]);}},appendChildElm:function(elm,tagName,clsName,elm_type)
{var childElm=document.createElement(tagName);if(clsName)
childElm.className=clsName;if(elm_type)
childElm.setAttribute('type',elm_type);return elm.appendChild(childElm);},appendChildTextElm:function(elm,txt)
{var childElm=document.createTextNode(txt);elm.appendChild(childElm);return childElm;},ascendDOM:function(e,target)
{while(e.nodeName.toLowerCase()!=target&&e.nodeName.toLowerCase()!='html')
e=e.parentNode;return(e.nodeName.toLowerCase()=='html')?null:e;},ascendDOMtoClass:function(elm,targetClsName)
{if(!elm.parentNode)
return false;while(elm&&!famundoUtils.isOfClass(elm,targetClsName)&&(elm.nodeName.toLowerCase()!='html'))
elm=elm.parentNode;return famundoUtils.isOfClass(elm,targetClsName)?elm:null;},ascendDOMtoAttr:function(e,targetAttrName)
{while(!e.getAttribute(targetAttrName)&&(e.nodeName.toLowerCase()!='html'))
e=e.parentNode;return e.getAttribute(targetAttrName)?e:null;},getChildOfClass:function(elm,clsName)
{for(var i=0;i<elm.childNodes.length;i++)
{if(famundoUtils.isOfClass(elm.childNodes[i],clsName))
return elm.childNodes[i];}
return null;},getAllChildsOfNodeName:function(elm,target)
{var res=new Array();var j=0;for(var i=0;i<elm.childNodes.length;i++)
{if(elm.childNodes[i].nodeName.toLowerCase()==target)
{res[j]=elm.childNodes[i];j++;}}
return res;},getNextSiblingOfNodeName:function(elm,target)
{elm=elm.nextSibling;while((elm!=null)&&(elm.nodeName.toLowerCase()!=target))
{elm=elm.nextSibling;}
return(elm.nodeName.toLowerCase()==target)?elm:null;},getNextSiblingOfClassName:function(elm,class_name)
{elm=elm.nextSibling;while((elm!=null)&&!famundoUtils.isOfClass(elm,class_name))
{elm=elm.nextSibling;}
return elm;},getPreviousSiblingOfNodeName:function(elm,target)
{elm=elm.previousSibling;while((elm!=null)&&(elm.nodeName.toLowerCase()!=target))
{elm=elm.previousSibling;}
return(elm.nodeName.toLowerCase()==target)?elm:null;},getPreviousSiblingOfClassName:function(elm,class_name)
{elm=elm.previousSibling;while((elm!=null)&&!famundoUtils.isOfClass(elm,class_name))
{elm=elm.previousSibling;}
return elm;},getAllSiblingsOfNodeName:function(elm,target)
{var res=new Array();var j=0;var childs=famundoUtils.getAllChildsOfNodeName(elm.parentNode,target);for(var i=0;i<childs.length;i++)
{alert(childs[i].nodeName);if(childs[i]!=elm)
{res[j]=childs[i];j++;}}
return res;},getEventElement:function(e,nodeName)
{var el;if(window.event&&window.event.srcElement)
el=window.event.srcElement;if(e&&e.target)
el=e.target;if(!el)
return null;el=famundoUtils.ascendDOM(el,nodeName);return el;},getScrollType:function(e)
{var el;if(window.event&&window.event.srcElement)
el=window.event.srcElement;if(e&&e.target)
el=e.target;if(!el)
return false;if(el&&el.orient)
{if(el.orient=='horizontal')
return'horizontal';else
return'vertical';}
return false;},getEventElementAccendText:function(e)
{var el;if(window.event&&window.event.srcElement)
el=window.event.srcElement;if(e&&e.target)
el=e.target;if(!el)
return null;if(el.nodeName.toLowerCase()=="#text")
el=el.parentNode;return el;},findPosX:function(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;},findPosY:function(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;},get_object:function(element,doc)
{if(!element)
return element;if(typeof(element)=='object')
return element;if(typeof(element)=='string'){if(!doc)
doc=document;return doc.getElementById(element);}
return element;},inArray:function(arr,val)
{if(this.isArray==false)
return false;for(var i=0;i<arr.length;i++)
{if(arr[i]==val)
return i;}
return(-1);},isArray:function(argum)
{if(typeof(argum)=='object'&&argum[0])
return true;else
return false;},stopPropagation:function(e)
{if(window.event)
window.event.cancelBubble=true;if(e&&e.stopPropagation)
e.stopPropagation();},preventDefault:function(e)
{if(window.event)
window.event.returnValue=false;if(e&&e.preventDefault)
e.preventDefault();},findStyle:function(selectorText,cssFile)
{for(var i=0;i<document.styleSheets.length;++i)
{var ss=document.styleSheets[i];if((!cssFile)||(cssFile&&ss.href.indexOf(cssFile)!=-1))
{var cssRules=ss.cssRules?ss.cssRules:ss.rules;for(var j=0;j<cssRules.length;++j)
{var styleElm=cssRules[j];if(styleElm.selectorText.toLowerCase()==selectorText.toLowerCase())
return styleElm.style;}}}
return null;},generateId:function()
{return new Date().getTime();},openModalWindow:function(url,width,height,title)
{if(window.showModalDialog)
{window.showModalDialog(url,title,"dialogWidth:"+width+"px;dialogHeight:"+height+"px");}
else
{window.open(url,title,'height='+height+',width='+width+',toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,modal=yes');}},loadZoneEvent:function(object,ev,arr)
{if(!$(object))
return;var a=object.id;var me=this;var b=arr;this.addEvent(object,ev,function(e,object,arr){me.loadZone(e,a,b);},false);},loadZone:function(e,object,arr)
{if(!$(object).type)
{var val=$(object).getAttribute('value');}
else if($(object).type.toLowerCase()=='checkbox')
{var val=$(object).checked;}
else
{var val=$(object).value;}
for(var i=0;i<arr.length;i++)
{for(var j=0;j<arr[i][0].length;j++)
{if((arr[i][0][j]).toString()==(val).toString())
{for(var k=0;k<arr[i][1].length;k++)
{Element.removeClassName(arr[i][1][k],'form_zone');Element.addClassName(arr[i][1][k],'form_zone_h');}
for(var k=0;k<arr[i][2].length;k++)
{Element.removeClassName(arr[i][2][k],'form_zone_h');Element.addClassName(arr[i][2][k],'form_zone');}
break;}}}
if($('lbContent'))
{drawShadows(e);}
famundoApplication.updateModalWindowSize2();},togleBoolValue:function(obj,dest)
{Element.remove(obj.firstChild);if(obj.getAttribute('value')=='false')
{obj.setAttribute('value','true');var txt='Cancel '+obj.getAttribute('txt');this.replaceClass(obj,'form_link_hoover','form_link_cancel_hoover');if(dest&&dest!='null')
{obj.setAttribute('zone',famundoUtils.ascendDOM(obj,'div').id);var a=famundoUtils.ascendDOM(obj,'div');$(dest).appendChild(obj);Element.toggle(a);new Effect.Highlight($(dest),{startcolor:'#beffad',restorecolor:true});this.replaceClass($(dest),'form_zone_h','form_zone');};}
else
{obj.setAttribute('value','false');var txt=obj.getAttribute('txt');this.replaceClass(obj,'form_link_cancel_hoover','form_link_hoover');if(dest&&dest!='null')
{var zona=obj.getAttribute('zone');Element.toggle($(zona));$(zona).appendChild(obj);this.replaceClass($(dest),'form_zone','form_zone_h');};}
this.appendChildTextElm(obj,txt);},checkAll:function(container,checked)
{var items=container.getElementsByTagName('input');for(var i=0;i<items.length;i++)
{if(items[i].type.toLowerCase()=='checkbox')
{items[i].checked=checked;}}},trim:function(s)
{while(s.substring(0,1)==' ')
{s=s.substring(1,s.length);}
while(s.substring(s.length-1,s.length)==' ')
{s=s.substring(0,s.length-1);}
return s;},getDocumentSize:function()
{var doc=new Object();doc.width=0;doc.height=0;if(typeof(window.innerHeight)=='number')
{doc.width=window.innerWidth;doc.height=window.innerHeight;}
else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight))
{doc.width=document.documentElement.clientWidth;doc.height=document.documentElement.clientHeight;}
else if(document.body&&(document.body.clientWidth||document.body.clientHeight))
{doc.width=document.body.clientWidth;doc.height=document.body.clientHeight;}
return doc;}};var FamundoDOMUtils={addEvent:function(obj,evType,fn,useCapture)
{if(obj.addEventListener)
{obj.addEventListener(evType,fn,useCapture);return true;}
else if(obj.attachEvent)
{var r=obj.attachEvent('on'+evType,fn);return r;}
else
{obj['on'+evType]=fn;}},removeEvent:function(obj,evType,fn,useCapture)
{if(obj.removeEventListener)
{obj.removeEventListener(evType,fn,useCapture);return true;}
else if(obj.detachEvent)
{var r=obj.detachEvent('on'+evType,fn);return r;}
else
{obj['on'+evType]=null;}},isOfClass:function(elm,clsName)
{if(elm&&elm.className&&(' '+elm.className+' ').indexOf(' '+clsName+' ')!=-1)
return true;else
return false;},addClass:function(elm,clsName)
{if(!famundoDOMUtils.isOfClass(elm,clsName))
elm.className+=' '+clsName;},removeClass:function(elm,clsName)
{if(famundoDOMUtils.isOfClass(elm,clsName))
{var re=new RegExp('\\b ?'+clsName+'\\b');elm.className=elm.className.replace(re,'');}},replaceClass:function(elm,search,replace)
{famundoDOMUtils.removeClass(elm,search);famundoDOMUtils.addClass(elm,replace);},removeAllChildren:function(elm)
{while(elm.childNodes.length>0)
elm.removeChild(elm.childNodes[0]);},getClassProperty:function(elm,prop)
{if(elm.currentStyle)
return elm.currentStyle[prop];else if(window.getComputedStyle)
{return document.defaultView.getComputedStyle(elm,null).getPropertyValue(prop);}},removeAllChildreNodesOfType:function(elm,nodeName)
{var toDelete=new Array();var iCount=0;for(var i=0;i<elm.childNodes.length;i++)
{if(nodeName==elm.childNodes[i].nodeName.toLowerCase())
{toDelete[iCount]=elm.childNodes[i];iCount++;}}
for(var i=0;i<iCount;i++)
{elm.removeChild(toDelete[i]);}},appendChildElm:function(elm,tagName,clsName,elm_type)
{var childElm=document.createElement(tagName);if(clsName)
childElm.className=clsName;if(elm_type)
childElm.setAttribute('type',elm_type);return elm.appendChild(childElm);},appendChildTextElm:function(elm,txt)
{var childElm=document.createTextNode(txt);elm.appendChild(childElm);return childElm;},ascendDOM:function(e,target)
{while(e.nodeName.toLowerCase()!=target&&e.nodeName.toLowerCase()!='html')
e=e.parentNode;return(e.nodeName.toLowerCase()=='html')?null:e;},ascendDOMtoClass:function(elm,targetClsName)
{if(!elm.parentNode)
return false;while(elm&&!famundoUtils.isOfClass(elm,targetClsName)&&(elm.nodeName.toLowerCase()!='html'))
elm=elm.parentNode;return famundoUtils.isOfClass(elm,targetClsName)?elm:null;},ascendDOMtoAttr:function(e,targetAttrName)
{while(!e.getAttribute(targetAttrName)&&(e.nodeName.toLowerCase()!='html'))
e=e.parentNode;return e.getAttribute(targetAttrName)?e:null;},getChildOfClass:function(elm,clsName)
{for(var i=0;i<elm.childNodes.length;i++)
{if(famundoDOMUtils.isOfClass(elm.childNodes[i],clsName))
return elm.childNodes[i];}
return null;},getAllChildsOfNodeName:function(elm,target)
{var res=new Array();var j=0;for(var i=0;i<elm.childNodes.length;i++)
{if(elm.childNodes[i].nodeName.toLowerCase()==target)
{res[j]=elm.childNodes[i];j++;}}
return res;},getNextSiblingOfNodeName:function(elm,target)
{elm=elm.nextSibling;while((elm!=null)&&(elm.nodeName.toLowerCase()!=target))
{elm=elm.nextSibling;}
return(elm.nodeName.toLowerCase()==target)?elm:null;},getNextSiblingOfClassName:function(elm,class_name)
{elm=elm.nextSibling;while((elm!=null)&&!famundoDOMUtils.isOfClass(elm,class_name))
{elm=elm.nextSibling;}
return elm;},getPreviousSiblingOfNodeName:function(elm,target)
{elm=elm.previousSibling;while((elm!=null)&&(elm.nodeName.toLowerCase()!=target))
{elm=elm.previousSibling;}
return(elm.nodeName.toLowerCase()==target)?elm:null;},getPreviousSiblingOfClassName:function(elm,class_name)
{elm=elm.previousSibling;while((elm!=null)&&!famundoDOMUtils.isOfClass(elm,class_name))
{elm=elm.previousSibling;}
return elm;},getAllSiblingsOfNodeName:function(elm,target)
{var res=new Array();var j=0;var childs=famundoDOMUtils.getAllChildsOfNodeName(elm.parentNode,target);for(var i=0;i<childs.length;i++)
{alert(childs[i].nodeName);if(childs[i]!=elm)
{res[j]=childs[i];j++;}}
return res;},extractFormElements:function(obj)
{var res=new Array();var j=0;var el=obj.getElementsByTagName('*');var k=0;for(var i=0;i<el.length;i++)
{if(FamundoMainUtils.inArray(['textarea','input','select'],el[i].nodeName.toLowerCase())!='-1')
{res[k]=el[i];k++;}}
return res;},getEventElement:function(e,nodeName)
{var el;if(window.event&&window.event.srcElement)
el=window.event.srcElement;if(e&&e.target)
el=e.target;if(!el)
return null;el=FamundoDOMUtils.ascendDOM(el,nodeName);return el;},getEventElementAccendText:function(e)
{var el;if(window.event&&window.event.srcElement)
el=window.event.srcElement;if(e&&e.target)
el=e.target;if(!el)
return null;if(el.nodeName.toLowerCase()=="#text")
el=el.parentNode;return el;},get_object:function(element,doc)
{if(!element)
return element;if(typeof(element)=='object')
return element;if(typeof(element)=='string'){if(!doc)
doc=document;return doc.getElementById(element);}
return element;},stopPropagation:function(e)
{if(window.event)
window.event.cancelBubble=true;if(e&&e.stopPropagation)
e.stopPropagation();},preventDefault:function(e)
{if(window.event)
window.event.returnValue=false;if(e&&e.preventDefault)
e.preventDefault();},toglePosition:function(obj,to_absolute,container)
{if(!$(container))
container=document.body;Position.prepare();if(to_absolute)
{var offsets=Position.cumulativeOffset(obj);var pos='absolute';var top=offsets[1];var left=offsets[0];var width=obj.clientWidth+'px';var height=obj.clientHeight+'px';var clona=obj.cloneNode(true);clona.id=obj.id+'_hidden';clona.style.visibility='hidden';obj.parentNode.appendChild(clona);}
else
{var top=0;var left=0;var height=null;var width=null;var pos='relative';var clona=$(obj.id+'_hidden');if(clona)
Element.remove(clona);}
obj.style.position=pos;obj.style.top=top+'px';obj.style.left=left+'px';obj.style.width=width;obj.style.height=height;$(container).appendChild(obj);},findStyle:function(selectorText)
{for(var i=0;i<document.styleSheets.length;++i)
{var ss=document.styleSheets[i];if(ss.title=='local')
{var cssRules=ss.cssRules?ss.cssRules:ss.rules;for(var j=0;j<cssRules.length;++j)
{var styleElm=cssRules[j];if(styleElm.selectorText==selectorText)
return styleElm.style;}}}
return null;}};var famundoObjUtil={findAllArrayObj:function(obj,fieldName,subFieldName,subFieldNameValue)
{if(!obj[fieldName])
return null;var a=obj[fieldName];var ret=null;var count=0;for(var i=0;i<a.length;++i)
{var av=a[i];if(av[subFieldName]&&(av[subFieldName]==subFieldNameValue))
{if(ret==null)
ret=new Array();ret[count]=av;++count;}}
return ret;},findAllArrayValue:function(obj,fieldName,subFieldName,subFieldNameValue,valueField)
{var ret=null;var a=famundoObjUtil.findAllArrayObj(obj,fieldName,subFieldName,subFieldNameValue);if(a)
{for(var i=0;i<a.length;++i)
{var av=a[i];if(av[valueField]&&av[valueField]!="")
{if(ret==null)
ret=av[valueField];else
ret+='\r\n'+av[valueField];}}}
return ret;},findFirstArrayObj:function(obj,fieldName,subFieldName,subFieldNameValue)
{if(!obj[fieldName])
return null;var a=obj[fieldName];for(var i=0;i<a.length;++i)
{var av=a[i];if(av[subFieldName]&&(av[subFieldName]==subFieldNameValue))
return av;}
return null;},findFirstArrayValue:function(obj,fieldName,subFieldName,subFieldNameValue,valueField)
{var retObj=famundoObjUtil.findFirstArrayObj(obj,fieldName,subFieldName,subFieldNameValue);if(retObj&&retObj[valueField])
return retObj[valueField];return null;},getValue:function(obj,field)
{var reFindValue=/^(\w+)\[(\w+):(\w+)=(\w+)\].(\w+)$/;var reFind=/^(\w+)\[(\w+):(\w+)=(\w+)\]$/;var reField=/^\w+$/;var result=field.match(reFindValue);if(result!=null)
{switch(result[2])
{case'first':return famundoObjUtil.findFirstArrayValue(obj,result[1],result[3],result[4],result[5]);case'all':return famundoObjUtil.findAllArrayValue(obj,result[1],result[3],result[4],result[5]);}}
else if((result=field.match(reFind))!=null)
{switch(result[2])
{case'first':return famundoObjUtil.findFirstArrayObj(obj,result[1],result[3],result[4]);case'all':return famundoObjUtil.findAllArrayObj(obj,result[1],result[3],result[4]);}}
else if((result=field.match(reField))!=null)
{return obj[field];}
return null;},getTxtValue:function(obj,field)
{var ret=famundoObjUtil.getValue(obj,field);if(ret==null)
ret='';return''+ret;}};var time_cost=new Date();var start_page=new Date();var abort_flag=false;function getTimeCost(dt)
{var current=new Date();if(!dt)
dt=time_cost;var dif=current.getTime()-dt.getTime();time_cost=current;return dif/1000;}
var FamundoMainUtils={isIE:(!window.opera&&navigator.userAgent.indexOf('MSIE')!=-1),protectIframe:null,stripSlashes:function(str,substitute,kind)
{if(!substitute)
substitute="/__/";if(!kind)
kind="'";var reg=new RegExp(substitute,'g')
return str.replace(reg,kind);},escape_javascript:function(js)
{if(!js)
return;var x=js.replace(/'/g,"\\'");x=x.replace(/"/g,'\\&quot;');return x;},unescape_javascript:function(js)
{var x=js.replace(/\\&quot;/g,'"').replace(/\\'/g,"'").replace(/\\"/g,'"');return x;},getHiddenContent:function(element_id)
{if(!$(element_id))
return false;var content=$(element_id).innerHTML;content=content.replace(/idid=/g,'id=');return content;},inArray:function(arr,val)
{if(this.isArray==false)
return false;for(var i=0;i<arr.length;i++)
{if(arr[i]==val)
return i;}
return(-1);},isArray:function(argum)
{if(typeof(argum)=='object'&&argum[0])
return true;else
return false;},generateId:function()
{return new Date().getTime();},buildPopupTT:function(e,selElm,caption,content)
{if(selElm.value==-1)
{content=this.stripSlashes(content);var obj=this.activateTT(famundoUtils.ascendDOM(selElm,'select'),caption,content,'','popup');var id=selElm.getAttribute('id');var container_id='multiples_'+id;this.getPopupListChecks(container_id,id);}},buildHtmlPopupTT:function(e,selElm,caption,content)
{Event.element(e).setAttribute('stiky',1);content=this.stripSlashes(content);var obj=this.activateTT(e,caption,content,'','popup',null,null,null,false);var cont=document.getElementsByClassName('contents',$(famundoStickyElement.id));if(cont[0])
cont[0].style.height=Element.getDimensions($(selElm)).height+'px';},generateHelpTT:function(obj,caption,content)
{var nid=this.generateId()+'_span';var buff='<span class="help_TT" id="'+nid+'">';buff+='<img src="/famundo/images/blank.gif" alt="" id='+nid+'_transp style="width:17px;height:17px" class="transp">';buff+='</span>';$(obj).innerHTML=buff;this.buildTT($(nid),caption,content);},buildTT_menu:function(e,menu,lbon,cclass,pos,id,clearmouse,queue_options,url_params)
{if(!e.nodeName)
var elm=Event.element(e);else
var elm=e;if(cclass)
cclass=" "+cclass;else
cclass='';if(!clearmouse)
clearmouse=true;else
clearmouse=false;var content=this.buildContent_menu(menu,lbon,cclass,id,queue_options,url_params);var domTT_styleClass='domTTOverlib';var domTT_oneOnly=true;if(!pos)
{var offset_x=0;var offset_y=0;if(this.isIE)
{if(!$('calendar_grid_content'))
var offset_x=-35;else
var offset_x=-11;var offset_y=3;}
if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
offset_y=-4;var yPos=Position.cumulativeOffset(elm)[1]+offset_y;var xPos=Position.cumulativeOffset(elm,true)[0]+offset_x;}
else
{var yPos=pos.Y;var xPos=pos.X;}
var el_id=id;var id=domTT_activate(elm,e,'caption',false,'id',el_id,'content',content,'trail',false,'fade','neither','type','sticky','styleClass','domTTContext','delay',50,'inframe',true,'clearMouse',clearmouse,'closeAction','destroy','x',xPos,'y',yPos);if($(el_id))
$(el_id).style.zIndex=10001;domTT_flag=elm;Event.stop(e);return id;},buildContent_menu:function(menu,lbon,cclass,id,queue_options,url_params)
{var url_params=url_params||'';var vcontent='<div class="'+cclass+'" id="div_menu_'+id+'" onScroll="abort_flag=true;"><table class="TT_content" cellspacing=\'0\' id="table_menu_'+id+'">';var vcontent_end='</table></div>';for(var i=0;i<menu.length;i++)
{if(lbon&&!menu[i].dbox)
{if(!menu[i].nowindow)
{var title='';if(menu[i].window_title)
title=menu[i].window_title;var click="new Ajax.Updater(famundoApplication.openModalWindow(false,false,false,true).getContent(),'"+FamundoMainUtils.escape_javascript(menu[i].action)+"',{parameters:\'"+url_params+"\', evalScripts:true,method:'get', onComplete:function() {Windows.getWindow('famundoModalWindow').setTitle('"+title+"'); Windows.getWindow('famundoModalWindow').showCenter(true);famundoApplication.setOverlayOpacity(); setTimeout(function() {famundoApplication.updateModalWindowSize2();},1) } })";if(queue_options)
{click="famundoActions.add({func:function() { "+click+" }, action_type:'ajax', limit:1, action_id:'"+queue_options+"', limit_type:'restrict' }) ";}}
else
{var click="new Ajax.Request('"+FamundoMainUtils.escape_javascript(menu[i].action)+"',{evalScripts:true,method:'get'})";}}
else
{var click=menu[i].action;}
if(menu[i].item_id)
var item_id=' id='+menu[i].item_id;else
var item_id='';if(menu[i].css)
var td_class=menu[i].css;else
var td_class="TT_td_menu";stil='';if(menu[i].separator&&menu[i].separator=='both')
{stil="border-top: 1px dashed gray; border-bottom: 1px dashed gray;";}
else if(menu[i].separator&&menu[i].separator=='top')
{stil="border-top: 1px dashed gray; ";}
else if(menu[i].separator&&menu[i].separator=='bottom')
{stil="border-bottom: 1px dashed gray; ";}
else
stil='';vcontent+="<tr onmouseover=FamundoMainUtils.makeHoverRow(this,'"+td_class+"'); onmouseout='FamundoMainUtils.restoreRow(this)'><td class='"+td_class+"'"+item_id+" valign='middle' style='"+stil+"' onclick=\""+click+"\">"+menu[i].label+"</td></tr>";}
return(vcontent+vcontent_end);},makeHoverRow:function(obj,cclass)
{var selected=document.getElementsByClassName('TT_td_menu_hover',obj.parentNode);for(var i=0;i<selected.length;i++)
Element.removeClassName(selected[i],'TT_td_menu_hover');var hrefObj=famundoUtils.getChildOfClass(obj,cclass);if(hrefObj)
Element.addClassName(hrefObj,'TT_td_menu_hover');},restoreRow:function(obj,cclass)
{var hrefObj=famundoUtils.getChildOfClass(obj,'TT_td_menu_hover');if(hrefObj)
Element.removeClassName(hrefObj,'TT_td_menu_hover');},buildTT:function(elm,caption,content,menu,propagate_event,event_type,close_button,pos,inframe)
{var me=this;if(!elm.id)
elm.id='TT_'+this.generateId();var proc=function(e,capt,cont,men){me.activateTT(e,caption,content,menu,close_button||null,propagate_event,null,pos,inframe);}
Event.observe(elm,event_type||'mouseover',proc,false);},buildIconsTT:function(container,icon_class,message)
{var icons=document.getElementsByClassName(icon_class,$(container));for(var i=0;i<icons.length;i++)
{this.buildTT(icons[i],'',message,null,true);}},activateTT:function(e,caption,content,menu,popup,propagate_event,parent_object,pos,inframe)
{if(inframe!==false)
inframe=true;if(!e.nodeName)
var object=Event.element(e);else
var object=e;var mouseleft=(pos)?pos.x:Event.pointerX(e);var mousetop=(pos)?pos.y:Event.pointerY(e);var yPos=mousetop;var xPos=mouseleft+10;if(caption!=''&&caption!=null)
{var vcaption='<table class="TT_caption" cellspacing="0"><tr><td class="TT_simple_cell_title">'+caption+'</td><td>';var vend_caption='</td></tr></table>';}
else
{var vcaption='';var vend_caption='';}
var vmenu='';var type='greasy';if(menu!=null)
{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
var yPos=Position.cumulativeOffset(object)[1]-20;else
var yPos=Position.cumulativeOffset(object)[1]+5;type='velcro';vmenu='<table class="TT_caption"  cellspacing="0"><tr><td class="TT_cell_menu">';var separator='';for(var k=0;k<menu.length;k++)
{if(menu[k].lbOn)
{vmenu+=separator+'<A   href="'+menu[k].action+'" class="lbOn" id="menu_'+this.generateId()+'">'+menu[k].label+'</A> | ';}
else if(menu[k].dialogBox)
{vmenu+=separator+'<A  href="#" value="true" txt="'+menu[k].label+'" onClick="'+menu[k].dialogBox.showBox($('a'))+'">'+menu[k].label+'</A>';}
else
{vmenu+=separator+'<A  href="#" value="true" txt="'+menu[k].label+'" onClick="'+menu[k].action+'">'+menu[k].label+'</A>';}
separator=' | ';}
vmenu+='</td></tr></table>';}
var closeLink='';var tt_id='TT_'+this.generateId();if(popup!=null)
{var type='sticky';var scrl=getScrollXY();var yPos=0;var xPos=0;if(parent_object)
{yPos=Position.cumulativeOffset(parent_object)[1]+20;xPos=Position.cumulativeOffset(parent_object)[0]+200;}
else
{yPos=Position.cumulativeOffset(object)[1];xPos=Position.cumulativeOffset(object)[0];}
closeLink="<div class='cancel_icon float_right' id='closeLink'></div>";}
var domTT_styleClass='domTTOverlib';var domTT_oneOnly=true;var id=domTT_activate(object,e,'caption',vcaption+vmenu+vend_caption,'content',content,'trail',true,'fade','neither','type',type,'styleClass','domTT','delay',50,'inframe',inframe,'closeAction','destroy','closeLink',closeLink,'x',xPos,'y',yPos,'id',tt_id);domTT_flag=object;if(popup!=null)
{domTT_flag.setAttribute('popup',true);}
if(!e.nodeName&&!propagate_event)
Event.stop(e);famundoStickyElement={id:tt_id,pid:object.id};return id;},setDefaultPopupChecks:function(dest,val_list)
{var sel=$(dest).options;var txt=new Array();var val=new Array();var str='';var sindex=0;for(var i=0;i<sel.length;i++)
{txt[i]=sel[i].text;val[i]=sel[i].value;if(sel[i].value)
sindex=i;}
for(var i=0;i<val_list.length;i++)
{$(dest+'_hidden_'+val_list[i]).value=val_list[i];pos=this.inArray(val,val_list[i]);if(pos!=-1)
if(str!='')
str+=', '+txt[pos];else
str=txt[pos];}
sel[sindex].text=str;$(dest).selectedIndex=sindex;},getPopupListChecks:function(source,dest)
{var a=$(source);var checks=document.getElementsByClassName('form_multiples',a);for(var i=0;i<checks.length;i++)
{if($(dest+'_hidden_'+checks[i].value).value!=null&&$(dest+'_hidden_'+checks[i].value).value!='')
{checks[i].checked=true;}}},setPopupListChecks:function(source,dest)
{var a=$(source);var checks=document.getElementsByClassName('form_multiples',a);var val=new Array();var txt=new Array();var j=0;for(var i=0;i<checks.length;i++)
{if(eval(checks[i].checked)==eval(true))
{txt[j]=famundoUtils.getNextSiblingOfNodeName(checks[i],'#text').nodeValue.replace(/^\s+/g,"").replace(/\s+$/g,"");val[j]=checks[i].value;j++;}}
var sel=$(dest).options;var val2=new Array();for(var i=0;i<sel.length;i++)
{val2[sel[i].value]=sel[i].text;if($(dest+'_hidden_'+sel[i].value))
{$(dest+'_hidden_'+sel[i].value).value='';}}
var opt="";var sep1="";for(var i=0;i<val.length;i++)
{$(dest+'_hidden_'+val[i]).value=val[i];opt+=sep1+txt[i];sep1=', ';}
if(opt=='')
{opt='multiple selection';sel[$(dest).selectedIndex].text=opt;$(dest).selectedIndex=0;}
else
{sel[$(dest).selectedIndex].text=opt;}
val=null;},buildDropTT:function(e,obj,caption,content)
{content=this.stripSlashes(content);this.activateTT(e,caption,content,'','popup');this.getTimeZone(obj);},buildGeneralPopup:function(e,caption,content)
{content=this.stripSlashes(content);this.activateTT(e,caption,content,'','popup',null,$('form_content'));this.generateModalMask();},generateModalMask:function()
{if($('overlay_modal')&&Element.visible($('overlay_modal')))
{$('overlay_modal').setAttribute('old_zIndex',$('overlay_modal').style.zIndex);$('overlay_modal').style.zIndex=10000;}
else
{WindowUtilities.disableScreen('overlay_mac_os_x','overlay_modal');}
if($('closeLink'))
{var me=this;Event.observe($('closeLink'),'click',function(){me.restoreModalMask()});}},restoreModalMask:function()
{if($('overlay_modal'))
{if($('overlay_modal').getAttribute('old_zIndex'))
$('overlay_modal').style.zIndex=$('overlay_modal').getAttribute('old_zIndex');else
{$('overlay_modal').style.zIndex=null;WindowUtilities.enableScreen();}}},stopTT_menu:function(e)
{var TTs=document.getElementsByClassName("domTTContext");for(var i=0;i<TTs.length;i++)
{domTT_close(TTs[i]);}},stopTT:function(e)
{if(abort_flag)
{abort_flag=false;return false;}
if(domTT_flag&&!domTT_flag.getAttribute('popup'))
{if(!famundoUtils.isIE&&!famundoUtils.isSafari&&e&&!Event.isLeftClick(e))
return false;domTT_close(domTT_flag);domTT_flag=false;}},addStopTTListner:function()
{var me=this;Event.observe(document,'click',function(e){me.stopTT(e);},false);},removeStopTTListner:function()
{var me=this;Event.stopObserving(document,'click',function(e){me.stopTT(e);});},getTimeZone:function(obj)
{var id=$(obj).getAttribute('id');var val=$(id+'_hidden').value;var pos=famundoObjUtil.findFirstArrayObj($(obj),'options','value',val);if(pos!=null)
$(obj).selectedIndex=pos.index;var val_end=$(id+'_hidden_end').value;if(val_end==val)
{$(id+'_check_end').checked=true;if(pos!=null)
$(obj).selectedIndex=pos.index;$(id+'_div_end').className='form_zone_h';}
else
{$(id+'_check_end').checked=false;$(id+'_div_end').className='form_zone';var obj_end=$(id+'_end');var pos=famundoObjUtil.findFirstArrayObj($(obj_end),'options','value',val_end);if(pos!=null)
$(obj_end).selectedIndex=pos.index;}
famundoUtils.loadZoneEvent($(id+'_check_end'),'click',[[[false],[],[$(id+'_div_end')]],[[true],[$(id+'_div_end')],[]]]);},setTimeZone:function(obj)
{var id=$(obj).getAttribute('id');$(id+'_hidden').value=$(id).options[$(id).selectedIndex].value;if(!$(id+'_check_end').checked)
$(id+'_hidden_end').value=$(id+'_end').options[$(id+'_end').selectedIndex].value;else
$(id+'_hidden_end').value=$(id).options[$(id).selectedIndex].value;domTT_close($(id+'_tz'));},protectForms:function(obj,hideIframe)
{if(!this.isIE)
return false;if(hideIframe)
{if(this.protectIframe)
Element.remove(this.protectIframe);this.protectIframe=null;return true;}
if(!this.protectIframe)
{this.protectIframe=document.createElement('iframe');this.protectIframe.src="javascript:false;";document.getElementsByTagName('body')[0].appendChild(this.protectIframe);this.protectIframe.className='protect_iframe';}
Position.clone(obj,this.protectIframe);this.protectIframe.style.display='block';},getUsersColor:function(sufix,nUsers)
{var result=new Array();if(!nUsers)
nUsers=30;if(!sufix)
sufix='.bg_color_user';for(var i=1;i<=nUsers;i++)
{var styl=FamundoDOMUtils.findStyle(sufix+i)
if(styl&&styl.backgroundColor)
result[i-1]={'index':i,'color':styl.backgroundColor};}
return result;},getStyle:function(element,style)
{element=$(element);if(!element)
return false;var value=element.style[style.camelize()];if(!value)
{if(document.defaultView&&document.defaultView.getComputedStyle)
{var css=document.defaultView.getComputedStyle(element,null);value=css?css.getPropertyValue(style):null;}
else if(element.currentStyle)
{value=element.currentStyle[style.camelize()];}}
if(window.opera&&['left','top','right','bottom'].include(style))
if(Element.getStyle(element,'position')=='static')value='auto';return value;},getOS:function()
{var info=navigator.userAgent.toLowerCase();if(info.indexOf('linux')!=-1)return"Linux";else if(info.indexOf('x11')!=-1)return"Unix";else if(info.indexOf('mac')!=-1)return"Mac"
else if(info.indexOf('win')!=-1)return"Windows"
else return"an unknown operating system";},isHTML:function(s)
{if(s.match(/(<([a-zA-Z]+)(.*?)>(.*)<\/\2>)|(<[a-zA-Z]+ \/>)/))
return true;return false;},makeClickableLinks:function(text)
{var text=text.replace(/(\b)((((https?:\/\/)|(ftp:\/\/)|(www\.))([\.\w?=&;+]+)))(\b)/g,function(url){return"<a href='"+url+">"+url+"</a>";});return text;},setSelectValue:function(select,value)
{var select=$(select);var opt=select.options;for(var i=0;i<opt.length;i++)
{if(opt[i].value==value)
{select.selectedIndex=i;break;}}}};var FamundoAlarmCenter=Class.create();FamundoAlarmCenter.prototype={initialize:function(autostart)
{this.alarmOn=true;this.delay=60;this.ttid=new Array();this.alarmItems=new Array();this.cnt=0;this.currentId=null;if(autostart)
this.startAlarm();},serverCall:function()
{if(($('div_header_alarms'))&&(!$('alarms_detail')||$('alarms_detail').style.display!=''||!$('alarm_list')))
{var myAjax=new Ajax.Request(famundoAlarmsUrl.get_alarms_url,{method:'get',parameters:"notspin=true&notnotify=true"});}},startAlarm:function(delay)
{if(delay)
this.delay=delay;this.incr=0;this.callN=new PeriodicalExecuter(this.serverCall,this.delay);},addAlarm:function(alarms,len,cid)
{$('div_header_alarms').innerHTML=alarms;if(alarms!='')
{this.cnt=len;$('div_header_alarms').style.display='';Effect.Pulsate('div_header_alarms',{duration:3});if(len==1)
{this.currentId=cid;var cdiv='alarms_detail_'+cid;$(cdiv).style.display='';this.addButtonsAction();var me=this;var cselect='alarm_select_'+cid;Event.observe($(cselect),'change',function(){me.setSnoozeHref();});}}
else
{$('div_header_alarms').style.display='none';}},addDetail:function(cid)
{this.currentId=null;if(cid)
{this.currentId=cid;var cdiv='alarms_detail_'+cid;$('alarm_list').style.display='none';$('alarms_detail').style.display='';$('alarm_back').style.display='';$('alarm_close').style.display='none';$(cdiv).style.display='';this.addButtonsAction();this.setSnoozeHref();var me=this;var cselect='alarm_select_'+cid;Event.observe($(cselect),'change',function(){me.setSnoozeHref();});}},addButtonsAction:function()
{var cdiv='alarms_detail_'+this.currentId;},setSnoozeHref:function()
{var cbut='alarm_snooze_button_'+this.currentId;var cselect='alarm_select_'+this.currentId;var theclck=$(cbut).getAttribute('onclick');var re=/duration=[0-9]+/;var dur='duration='+$(cselect).value;var newclck=theclck.toString().replace(re,dur);$(cbut).setAttribute('onclick',newclck);},backToList:function()
{var cdiv='alarms_detail_'+this.currentId;$('alarm_list').style.display='';$('alarms_detail').style.display='none';$(cdiv).style.display='none';$('alarm_back').style.display='none';$('alarm_close').style.display='';},closeAlarmWindow:function(force)
{$('div_header_alarms').style.display='none';if($('alarms_detail'))
{$('alarms_detail').style.display='none';if(this.currentId)
$('alarms_detail_'+this.currentId).style.display='none';}}};var mainAlarms=new FamundoAlarmCenter(true);var hms;var famundo_hms={fixed_items:1,init:function(menu_id,n)
{var menu_id='div_header_fmembers';var num_tabs=6;hms=$(menu_id);if(!hms)
{return false;}
var root=document.getElementById(menu_id);var items=root.getElementsByTagName('LI');if(items.length>num_tabs)
{for(i=(items.length-1);i>=num_tabs;i--)
{if(famundoUtils.isOfClass(items[i],'hms_selected'))
{var selected=i;}
famundoUtils.addClass(items[i],'display_none');}
var scroll_left=document.createElement('li');famundoUtils.addClass(scroll_left,'hms_lscroll');famundoUtils.addClass(scroll_left,'display_none');famundoUtils.addEvent(scroll_left,'click',famundo_hms.scrollLeft,false);var scroll_right=document.createElement('li');scroll_right.id='scroll_right';famundoUtils.addClass(scroll_right,'hms_rscroll');famundoUtils.addEvent(scroll_right,'click',famundo_hms.scrollRight,false);root.insertBefore(scroll_left,items[0]);root.appendChild(scroll_right);if(selected)
{for(var j=num_tabs;j<=selected;j++)
{famundo_hms.scrollRight();}}}
famundo_hms.setListeners();},scrollLeft:function(e)
{var items=famundo_hms.getItems(e);var move=false;for(i=(items.length-2);i>=famundo_hms.fixed_items+1;i--)
{if(move===false&&(!famundoUtils.isOfClass(items[i],'display_none')))
{move=true;var idx=i;}
if(move===true&&famundoUtils.isOfClass(items[i],'display_none'))
{famundoUtils.replaceClass(items[idx],'display_block','display_none');famundoUtils.replaceClass(items[i],'display_none','display_block');famundoUtils.replaceClass(items[items.length-1],'display_none','display_block');if(i==famundo_hms.fixed_items+1)
{famundoUtils.replaceClass(items[0],'display_block','display_none');}
break;}}},scrollRight:function(e)
{var items=famundo_hms.getItems(e);var move=false;for(i=famundo_hms.fixed_items+1;i<(items.length-1);i++)
{if(move===false&&(!famundoUtils.isOfClass(items[i],'display_none')))
{move=true;var idx=i;}
if(move===true&&famundoUtils.isOfClass(items[i],'display_none'))
{famundoUtils.replaceClass(items[idx],'display_block','display_none');famundoUtils.replaceClass(items[i],'display_none','display_block');famundoUtils.replaceClass(items[0],'display_none','display_block');if(i==(items.length-2))
{famundoUtils.replaceClass(items[i+1],'display_block','display_none');}
break;}}},getItems:function(e)
{return(e)?famundoUtils.getEventElement(e,'li').parentNode.getElementsByTagName('LI'):hms.getElementsByTagName('LI');},setListeners:function(e)
{var items=famundo_hms.getItems();for(var i=0;i<items.length;i++)
{if(!items[i].className.match(/hms_.scroll/))
{famundoUtils.addEvent(items[i],'click',famundo_hms.setSelectedItem,false);famundoUtils.addEvent(items[i],'focus',famundo_hms.lostFocus,false);}}},setSelectedItem:function(e)
{var items=famundo_hms.getItems();var item=famundoUtils.getEventElement(e,'li');var class_pattern=/li_fm_[\w]+[on|off]/;var pattern=/li_fm_[\w]+_/;for(var i=0;i<items.length;i++)
{if(!items[i].className.match(/hms_.scroll/))
{famundoUtils.replaceClass(items[i],items[i].className.match(class_pattern)[0],items[i].className.match(pattern)[0]+'off');famundoUtils.removeClass(items[i],'hms_selected');}}
famundoUtils.replaceClass(item,item.className.match(class_pattern)[0],item.className.match(pattern)[0]+'on');famundoUtils.addClass(item,'hms_selected');famundoHeaderUserList.callCallback(item.getAttribute('user_id'));},lostFocus:function(e)
{Event.element(e).blur();}};var FamundoColorPicker=Class.create();FamundoColorPicker.prototype={initialize:function(colors)
{this.arrColors=new Array();if(colors)
this.arrColors=colors;else
this.arrColors=FamundoMainUtils.getUsersColor();this.ncolumns=5;this.buffer='';this.selectedCell=null;this.selectedIndex=null;this.isPopup=false;},setNColumns:function(n)
{this.ncolumns=n;},setSelectedIndex:function(n)
{this.selectedIndex=n;if(this.isPopup)
{this.isPopup.cell.setAttribute('index',n);this.isPopup.hidden.value=n;}},getCellByIndex:function(ix)
{var row=this.table.rows;for(var i=0;i<row.length;i++)
{var cell=row[i].cells;for(var j=0;j<cell.length;j++)
{var index=cell[j].getAttribute('index');if(index==ix)
return cell[j]}}
return false;},createPopup:function(obj,trigger)
{if(!trigger)
trigger='click';var me=this;var proc=function(e,caption,content,menu,popup){FamundoMainUtils.activateTT(e,"Pick a color","<div id='TT_cpicker' class='famundoPopupFormContent'></div>",null,true);me.build($('TT_cpicker'));};Event.observe(obj.cell,trigger,proc,false);this.isPopup=obj;},getHTML:function()
{if(this.buffer=='')
this.build();return this.buffer;},build:function(obj)
{this.mainDiv=document.createElement('div');Element.addClassName(this.mainDiv,"div_cpicker");this.table=document.createElement('table');this.table.setAttribute('cellspacing','2');this.table.setAttribute('align','center');Element.addClassName(this.table,"table_cpicker");this.mainDiv.appendChild(this.table);var j=0;var k=0;var row=new Array();for(var i=0;i<this.arrColors.length;i++)
{row[j]=this.arrColors[i];if(j==(this.ncolumns-1)||i==(this.arrColors.length-1))
{this.addRow(row,k);j=0;k++;var row=new Array();}
else
j++;}
this.buffer=this.mainDiv.innerHTML;if(obj)
obj.appendChild(this.mainDiv);if(!this.selectedIndex&&this.isPopup)
{this.selectedIndex=this.isPopup.cell.getAttribute('index');}
if(this.selectedIndex)
{var selCell=this.getCellByIndex(this.selectedIndex);if(selCell)
this.setSelected(selCell);}},addRow:function(data,k)
{var rowi=this.table.insertRow(k);Element.addClassName(rowi,"tr_cpicker");for(var i=0;i<this.ncolumns;i++)
{var cell=rowi.insertCell(i);if(i<data.length)
{cell.setAttribute("unselectable","on");cell.setAttribute("index",data[i].index);Element.addClassName(cell,"td_cpicker");Element.addClassName(cell,"cursor_hand");cell.style.backgroundColor=data[i].color;if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
{cell.style.border='1px solid white';}
else
{Element.addClassName(cell,"add_border");}
var me=this;var over=function(e){me.markOver(e);}
Event.observe(cell,'mouseover',over,false);var out=function(e){me.markOut(e);}
Event.observe(cell,'mouseout',out,false);var sel=function(e){me.markSel(e);}
Event.observe(cell,'click',sel,false);}}},markOver:function(e)
{var obj=Event.element(e);if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
{obj.style.border='1px solid black';}
else
{Element.removeClassName(obj,'add_border');Element.addClassName(obj,'add_border_selected');}},markOut:function(e)
{var obj=Event.element(e);if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
{obj.style.border='1px solid white';}
else
{Element.removeClassName(obj,'add_border_selected');Element.addClassName(obj,'add_border');}},markSel:function(e)
{var obj=Event.element(e);this.setSelected(obj);this.closePopup();},setSelected:function(obj)
{if(this.selectedCell)
Element.removeClassName(this.selectedCell,'td_cpicker_select');Element.addClassName(obj,'td_cpicker_select');this.selectedCell=obj;this.setSelectedIndex(obj.getAttribute('index'));var curColor=obj.style.backgroundColor;this.mainDiv.style.border="1px solid "+curColor;if(this.isPopup)
{this.isPopup.cell.style.backgroundColor=curColor;}},closePopup:function()
{domTT_close(this.mainDiv);}}
var famundoActions={queues:new Object(),add:function(action_obj,queue_name)
{var q=this._createQueue(queue_name);this._addAction(q.name,action_obj);if(this.queues[q.name]['status']==0)
{this.queues[q.name]['status']=1;this._exec(q.name);}},_createQueue:function(queue_name)
{queue_name=queue_name||'famundo';if(!this.queues[queue_name])
{this.queues[queue_name]=new Object();this.queues[queue_name]['name']=queue_name;this.queues[queue_name]['actions']=new Array();this.queues[queue_name]['status']=0;this.queues[queue_name]['op_status']=0;}
return this.queues[queue_name];},_addAction:function(queue_name,action_obj)
{this.queues[queue_name]['op_status']=1;action_obj['action_type']=action_obj['action_type']||'secvential';action_obj['status']=0;switch(action_obj['action_type'])
{case'custom':switch(action_obj['custom_type'])
{case'display_calendar':this._addDisplayCalendar(queue_name,action_obj);break;case'display_user':this._addDisplayUser(queue_name,action_obj);break;case'calendar_next_month':this._addNavigationCalendar(queue_name,action_obj,'calendar_next_month');break;case'calendar_previous_month':this._addNavigationCalendar(queue_name,action_obj,'calendar_previous_month');break;case'calendar_drop_date':this._addCalendarDropDate(queue_name,action_obj);break;}
break;default:if(!action_obj['limit'])
{this.queues[queue_name].actions.push(action_obj);}
else
{if(!action_obj['action_id'])
alert("DEV ERROR!You must set an action id!");switch(action_obj['limit_type'])
{case'restrict':this._addActionLimitRestrict(queue_name,action_obj);break;case'replace':this._addActionLimitReplace(queue_name,action_obj);break;case'remove':this._addActionLimitRemove(queue_name,action_obj);break;default:this._addActionLimitRestrict(queue_name,action_obj);break;}}
break;}
this.queues[queue_name]['op_status']=0;},_exec:function(queue_name)
{if(this.queues[queue_name]['status']==1)
{this.queues[queue_name]['status']=2;var action_obj=this.queues[queue_name].actions[0];var me=this;switch(action_obj['action_type'])
{case'secvential':setTimeout(function(){me.queues[queue_name].actions[0]['status']=1;var action_obj=me.queues[queue_name].actions[0];action_obj.func();me.queues[queue_name].actions.shift();me._execNext(queue_name);},action_obj['delay']||0);break;case'ajax':setTimeout(function()
{me.queues[queue_name].actions[0]['status']=1;var action_obj=me.queues[queue_name].actions[0];var ajx=action_obj.func();var i=setInterval(function()
{if(me.queues[queue_name]['op_status']==0&&Ajax.activeRequestCount==0)
{clearInterval(i);me.queues[queue_name].actions.shift();me._execNext(queue_name);}},100);},action_obj['delay']||0);break;case'parallel':this.queues[queue_name].actions[0]['status']=1;action_obj.func();var me=this;setTimeout(function(){me.queues[queue_name].actions.shift();me._execNext(queue_name);},action_obj['duration']||1000);break;}}},_execNext:function(queue_name)
{if(this.queues[queue_name].actions.length>0)
{this.queues[queue_name]['status']=1;this._exec(queue_name);}
else
{this.queues[queue_name]['status']=0;}},_addActionLimitRestrict:function(queue_name,action_obj)
{if(this._checkLimit(queue_name,action_obj))
this.queues[queue_name].actions.push(action_obj);},_addActionLimitReplace:function(queue_name,action_obj)
{var actions=this.queues[queue_name].actions;if(actions.length==0)
{this.queues[queue_name].actions.push(action_obj);return;}
var count=0;var last=0;for(var i=0;i<actions.length;i++)
{if(actions[i]['action_id']&&actions[i]['action_id']==action_obj['action_id'])
{count++;var last=i;}}
if(action_obj['limit']>count)
{this.queues[queue_name].actions.push(action_obj);}
else if(this.queues[queue_name].actions[last].status==0)
{this.queues[queue_name].actions[last]=action_obj;}},_addActionLimitRemove:function(queue_name,action_obj)
{var actions=this.queues[queue_name].actions;if(actions.length==0)
{this.queues[queue_name].actions.push(action_obj);return;}
var count=0;var last=0;for(var i=0;i<actions.length;i++)
{if(actions[i]['action_id']&&actions[i]['action_id']==action_obj['action_id'])
{count++;var last=i;}}
if(action_obj['limit']>count)
{this.queues[queue_name].actions.push(action_obj);}
else if(this.queues[queue_name].actions[last].status==0)
{this.queues[queue_name].actions.splice(last,1);this.queues[queue_name].actions.push(action_obj);}},_checkLimit:function(queue_name,action_obj)
{if(!action_obj['limit'])
return true;action_obj['limit_type']=action_obj['limit_type']||'restrict';var count=0;var actions=this.queues[queue_name].actions;for(var i=0;i<actions.length;i++)
{if(actions[i]['action_id']&&actions[i]['action_id']==action_obj['action_id'])
{count++;}}
return action_obj['limit']>count;},_addDisplayCalendar:function(queue_name,action_obj)
{if(!this._checkLimit(queue_name,action_obj))
return false;var actions=this.queues[queue_name].actions;var vb=false;var me=this;for(var i=0;i<actions.length;i++)
{if(actions[i]['custom_type']&&actions[i]['custom_type']=='display_calendar'&&actions[i]['status']==0)
{for(var j=0;j<action_obj['func'].length;j++)
actions[i][action_obj['func'][j][1]+'_ids'].push(action_obj['func'][j][0]);var url=this.getDisplayCalendarUrl(actions[i]['checked_ids'].unique(),actions[i]['unchecked_ids'].unique());actions[i]['func']=function(){return new Ajax.Request(url,{asynchronous:true,method:'get'});}
vb=true;}}
if(!vb)
{action_obj['checked_ids']=new Array();action_obj['unchecked_ids']=new Array();for(var j=0;j<action_obj['func'].length;j++)
action_obj[action_obj['func'][j][1]+'_ids'].push(action_obj['func'][j][0]);var url=this.getDisplayCalendarUrl(action_obj['checked_ids'].unique(),action_obj['unchecked_ids'].unique());action_obj['func']=function(){return new Ajax.Request(url,{asynchronous:true,method:'get'});}
action_obj['action_type']='ajax';this.queues[queue_name].actions.push(action_obj);}},getDisplayCalendarUrl:function(checked_ids,unchecked_ids)
{separator='|';var params=new Array();var str=famundoCalendarUrl.get_refresh_url+'?';if(checked_ids&&checked_ids.length>0)
params.push('selected_calendar_checked='+checked_ids.join(separator))
if(unchecked_ids&&unchecked_ids.length>0)
params.push('selected_calendar_unchecked='+unchecked_ids.join(separator));return str+params.join('&');},_addDisplayUser:function(queue_name,action_obj)
{if(!this._checkLimit(queue_name,action_obj))
return false;var actions=this.queues[queue_name].actions;var vb=false;var me=this;for(var i=0;i<actions.length;i++)
{if(actions[i]['custom_type']&&actions[i]['custom_type']=='display_user'&&actions[i]['status']==0)
{for(var j=0;j<action_obj['func'].length;j++)
actions[i][action_obj['func'][j][1]+'_ids'].push(action_obj['func'][j][0]);var url=this.getDisplayUserUrl(actions[i]['checked_ids'].unique(),actions[i]['unchecked_ids'].unique());actions[i]['func']=function(){return new Ajax.Request(url,{asynchronous:true,method:'get'});}
vb=true;}}
if(!vb)
{action_obj['checked_ids']=new Array();action_obj['unchecked_ids']=new Array();for(var j=0;j<action_obj['func'].length;j++)
action_obj[action_obj['func'][j][1]+'_ids'].push(action_obj['func'][j][0]);var url=this.getDisplayUserUrl(action_obj['checked_ids'].unique(),action_obj['unchecked_ids'].unique());action_obj['func']=function(){return new Ajax.Request(url,{asynchronous:true,method:'get'});}
action_obj['action_type']='ajax';this.queues[queue_name].actions.push(action_obj);}},getDisplayUserUrl:function(checked_ids,unchecked_ids)
{separator='|';var params=new Array();var str=famundoCalendarUrl.get_refresh_url+'?';if(checked_ids&&checked_ids.length>0)
params.push('selected_user_checked='+checked_ids.join(separator))
if(unchecked_ids&&unchecked_ids.length>0)
params.push('selected_user_unchecked='+unchecked_ids.join(separator));return str+params.join('&');},_addNavigationCalendar:function(queue_name,action_obj,navigation_type)
{var actions=this.queues[queue_name].actions;var vb=false;var me=this;for(var i=0;i<actions.length;i++)
{if(actions[i]['custom_type']&&actions[i]['custom_type']==navigation_type&&actions[i]['status']==0)
{actions[i]['count']+=1;var url=this._getNavigationCalendarUrl(actions[i]);actions[i]['func']=function(){return new Ajax.Request(url,{asynchronous:true,method:'get'});}
vb=true;}}
if(!vb)
{action_obj['count']=1;action_obj['func']=function(){return new Ajax.Request(me._getNavigationCalendarUrl(action_obj),{asynchronous:true,method:'get'});};action_obj['action_type']='ajax';this.queues[queue_name].actions.push(action_obj);}},_getNavigationCalendarUrl:function(action_obj)
{var param='';if(action_obj['count']>1)
{param=(action_obj['custom_type']=='calendar_next_month')?'count='+action_obj['count']:'count=-'+action_obj['count'];}
if(action_obj['current_date'])
{if(param!='')
param='&'+param;return famundoCalendarUrl.get_refresh_url+'?current_date='+action_obj['current_date']+param;}
else
{if(action_obj['custom_type']=='calendar_next_month')
{return famundoCalendarUrl.get_go_next_url+'?'+param;}
else
{return famundoCalendarUrl.get_go_prev_url+'?'+param;}}},_addCalendarDropDate:function(queue_name,action_obj)
{var actions=this.queues[queue_name].actions;var vb=false;var me=this;for(var i=0;i<actions.length;i++)
{if(actions[i]['custom_type']&&actions[i]['custom_type']=='calendar_drop_date')
{if(actions[i]['status']==0)
{vb=true;if(actions[i]['action_id']!=action_obj['action_id'])
{action_obj['action_type']='ajax';this.queues[queue_name].actions[i]=action_obj;}
else
break;}
else
{if(actions[i]['action_id']==action_obj['action_id'])
vb=true;}}}
if(!vb)
{action_obj['action_type']='ajax';this.queues[queue_name].actions.push(action_obj);}}}
var famundoDropDates={elements:[],opened:null,add:function(dd_obj)
{if(this.elements.length>0)
for(var i=0;i<this.elements.length;i++)
if(this.elements[i].id==dd_obj.id)
return false;this.elements.push(dd_obj);},find:function(id)
{var drop_date=false;this.elements.each(function(item){if(id==item.id)
drop_date=item;})
return drop_date;},remove:function(id)
{for(var i=0;i<this.elements.length;i++)
{if(!id||this.elements[i].id==id)
{this.removeFromDOM(this.elements[i].id);this.elements.splice(i,1);i=i-1;}}},removeFromDOM:function(id)
{if($(id))
Element.remove($(id));if($(id+'_tblWraper'))
Element.remove($(id+'_tblWraper'));if($(id+'_iframe'))
Element.remove($(id+'_iframe'));},destroyDropDatesOf:function(container)
{var elms=document.getElementsByClassName("date_drop",$(container));for(var i=0;i<elms.length;i++)
this.remove(elms[i].id);},destroyAll:function()
{this.remove();},clear:function()
{this.elements=[];},setOpened:function(dd_obj)
{this.opened=dd_obj;},getOpened:function()
{return this.opened;}}
var famundoDropDate={getCurrentDate:function(id)
{var dropDateElm=$(id);var dt=dropDateElm.dateObj;if(dt==null)
return null;else
return new Date(dt.getFullYear(),dt.getMonth(),dt.getDate(),dt.getHours(),dt.getMinutes(),0);},setCurrentDate:function(id,dt)
{var dropDateElm=$(id);dt=dt||new Date();famundoDropDate.setDate(dropDateElm,dt);},setDateSelectionHandler:function(id,func)
{$(id).selectionHandler=func;},addTimeDisplay:function(id,hour,min,noHandler)
{var dropDateElm=$(id);famundoDayPicker.addTimeDisplay(dropDateElm.dayPickElm,hour,min,true);dropDateElm.pickTime=true;dropDateElm.dateObj.setHours(hour);dropDateElm.dateObj.setMinutes(min);famundoDropDate.displayDate(dropDateElm);famundoDropDate.updateHiddenInput(dropDateElm,noHandler);},removeTimeDisplay:function(id,noHandler)
{var dropDateElm=$(id);famundoDayPicker.removeTimeDisplay(dropDateElm.dayPickElm);dropDateElm.pickTime=false;dropDateElm.dateObj.setHours(0);dropDateElm.dateObj.setMinutes(0);famundoDropDate.displayDate(dropDateElm);famundoDropDate.updateHiddenInput(dropDateElm,noHandler);},markMonthDays:function(id,days2mark)
{var dropDateElm=$(id);famundoDayPicker.setDateAndSelectedDate(dropDateElm.dayPickElm,dropDateElm.dateObj);famundoDayPicker.markMonthDays(dropDateElm.dayPickElm,days2mark);},setStartDropDateElement:function(id,idStartElement)
{var dropDateElm=$(id);if(idStartElement)
{dropDateElm.startDateTimeProc=function(){return famundoDropDate.getCurrentDate(idStartElement);};}
else
{dropDateElm.startDateTimeProc=null;}},showDropDatePicker:function(dropDateElm)
{famundoDropDates.elements.each(function(elem){famundoDropDate.hideDropDatePicker(elem);});this.positionDropDatePicker(dropDateElm);var dt=dropDateElm.dateObj;if(null==dt)
dt=new Date;famundoDayPicker.setDateAndSelectedDate(dropDateElm.dayPickElm,dt);Element.removeClassName(dropDateElm.tblWraperElm,'date_drop_table_wraper_hide');Element.addClassName(dropDateElm.tblWraperElm,'date_drop_table_wraper_show');if(FamundoMainUtils.isIE)
{Position.clone(dropDateElm.tblWraperElm,dropDateElm.iframe);dropDateElm.iframe.style.display='block';}
famundoDropDates.setOpened(dropDateElm);Event.observe(document.getElementsByTagName('body')[0],'mousedown',dropDateElm.onBodyMouseDown,false);},positionDropDatePicker:function(dropDateElm)
{var scrl=getScrollXY();if(famundoUtils.isIE||famundoUtils.isSafari)
{var yPos=Position.cumulativeOffset(dropDateElm)[1]+dropDateElm.offsetHeight+1;}
else
{var yPos=Position.cumulativeOffset(dropDateElm)[1]+dropDateElm.offsetHeight+3;}
var xPos=Position.cumulativeOffset(dropDateElm)[0];dropDateElm.tblWraperElm.style.top=yPos+'px';dropDateElm.tblWraperElm.style.left=xPos+'px';if(FamundoMainUtils.isIE)
{dropDateElm.iframe.style.top=yPos+'px';dropDateElm.iframe.style.left=xPos+'px';}},hideDropDatePicker:function(dropDateElm)
{Event.stopObserving(document.getElementsByTagName('body')[0],'mousedown',dropDateElm.onBodyMouseDown,false);if(FamundoMainUtils.isIE)
{dropDateElm.iframe.style.display='none';}
Element.addClassName(dropDateElm.tblWraperElm,'date_drop_table_wraper_hide');Element.removeClassName(dropDateElm,'date_drop_show');},isClosed:function(dropDateElm)
{return famundoUtils.isOfClass(dropDateElm.tblWraperElm,'date_drop_table_wraper_hide');},clearParseTimer:function(dropDateElm)
{if(dropDateElm.parseTimerID)
{clearTimeout(dropDateElm.parseTimerID);dropDateElm.parseTimerID=null;}},parseInput:function(dropDateElm)
{famundoDropDate.clearParseTimer(dropDateElm);if(dropDateElm.alowNullDate&&(dropDateElm.inputElm.value==null||/^\s*$/.test(dropDateElm.inputElm.value)))
{dropDateElm.dateObj=null;famundoDropDate.updateHiddenInput(dropDateElm);Element.removeClassName(dropDateElm.inputElm,'date_drop_format_error');return true;}
var dt=famundoDateUtil.parseDate(dropDateElm.inputElm.value,dropDateElm.pickTime,dropDateElm.startDateTimeProc);if(dt)
{dropDateElm.dateObj=dt;famundoDropDate.updateHiddenInput(dropDateElm);Element.removeClassName(dropDateElm.inputElm,'date_drop_format_error');return true;}
else
{Element.addClassName(dropDateElm.inputElm,'date_drop_format_error');return false;}},onInputBlur:function(e)
{var el=famundoUtils.getEventElement(e,'input');if(el==null)return;var dropDateElm=famundoUtils.ascendDOMtoClass(el,'date_drop');if(dropDateElm==null)return;famundoDropDate.parseInput(dropDateElm);famundoDropDate.displayDate(dropDateElm);},onInputChange:function(e)
{var el=famundoUtils.getEventElement(e,'input');if(el==null)return;var dropDateElm=famundoUtils.ascendDOMtoClass(el,'date_drop');if(dropDateElm==null)return;famundoDropDate.clearParseTimer(dropDateElm);famundoDropDate.parseInput(dropDateElm);famundoDropDate.displayDate(dropDateElm);},onInputKeydown:function(e)
{var el=famundoUtils.getEventElement(e,'input');if(el==null)return;var dropDateElm=famundoUtils.ascendDOMtoClass(el,'date_drop');if(dropDateElm==null)return;famundoDropDate.clearParseTimer(dropDateElm);famundoDropDate.parseTimerID=setTimeout(function(){famundoDropDate.parseInput(dropDateElm);},500);},onMouseDownDropImg:function(e)
{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
{var el=famundoUtils.getEventElement(e,'button');}
else
{var el=famundoUtils.getEventElement(e,'input');}
if(el==null)return;if(el==null)return;var dropDateElm=famundoUtils.ascendDOMtoClass(el,'date_drop');if(dropDateElm==null)return;if(famundoUtils.isOfClass(dropDateElm.tblWraperElm,'date_drop_table_wraper_hide'))
famundoDropDate.showDropDatePicker(dropDateElm);else
famundoDropDate.hideDropDatePicker(dropDateElm);Event.stop(e);},onMouseOverDropImg:function(e)
{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
{var el=famundoUtils.getEventElement(e,'button');}
else
{var el=famundoUtils.getEventElement(e,'input');}
if(el==null)return;Element.addClassName(el,'date_drop_drop_button_hover');},onMouseOutDropImg:function(e)
{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
{var el=famundoUtils.getEventElement(e,'button');}
else
{var el=famundoUtils.getEventElement(e,'input');}
if(el==null)return;Element.removeClassName(el,'date_drop_drop_button_hover');},onMouseDownAnywere:function(e,dropDateElm)
{var el=famundoUtils.getEventElementAccendText(e);if(el==null)return;if(famundoDropDate.isClosed(dropDateElm))
return;if(dropDateElm.tblWraperElm==famundoUtils.ascendDOMtoClass(el,'date_drop_table_wraper'))
return;if(dropDateElm.dropImgElm==famundoUtils.ascendDOMtoClass(el,'date_drop_img'))
return;famundoDropDate.hideDropDatePicker(dropDateElm);},onDaySelected:function(dayPicElm,selectedDate)
{var dropDateElm=dayPicElm.drop_instance;if(dropDateElm==null)return;if(dropDateElm.pickTime)
{famundoDayPicker.setDateAndSelectedDate(dropDateElm.dayPickElm,selectedDate);}
else
{famundoDropDate.onOK(dayPicElm,selectedDate);}},onOK:function(dayPicElm,selectedDate)
{var dropDateElm=dayPicElm.drop_instance;if(dropDateElm==null)return;famundoDropDate.hideDropDatePicker(dropDateElm);famundoDropDate.setDate(dropDateElm,selectedDate);},updateHiddenInput:function(id,noHandler)
{var dropDateElm=$(id);if(dropDateElm.hiddenInputElm)
{if(dropDateElm.dateObj==null)
dropDateElm.hiddenInputElm.value="";else
dropDateElm.hiddenInputElm.value=famundoDateUtil.formatDate2ISO(dropDateElm.dateObj,dropDateElm.pickTime);}
if(dropDateElm.selectionHandler&&!noHandler)
{dropDateElm.selectionHandler(dropDateElm,famundoDropDate.getCurrentDate(dropDateElm));}},setDate:function(dropDateElm,dt)
{dropDateElm.dateObj=dt;famundoDropDate.updateHiddenInput(dropDateElm);famundoDropDate.displayDate(dropDateElm);},getDate:function(dropDateElm)
{return dropDateElm.dateObj;},formatDate:function(dt,withTime)
{if(dt==null)
return'';return dt.strftime(famundoDateTimeFormats.short_date+(withTime?(' '+famundoDateTimeFormats.time_format):''));},displayDate:function(dropDateElm)
{var new_val=famundoDropDate.formatDate(dropDateElm.dateObj,dropDateElm.pickTime);if(dropDateElm.inputElm.value!=new_val)
{dropDateElm.inputElm.value=new_val;}},createElements:function(dropDateElm)
{var dateElm=famundoUtils.appendChildElm(dropDateElm,'span','date_drop_date');Element.addClassName(dateElm,famundoDropDate.prototype.container_class);dropDateElm.inputElm=famundoUtils.appendChildElm(dateElm,'input',dropDateElm.getAttribute('input_class'),'text');Element.addClassName(dropDateElm.inputElm,famundoDropDate.prototype.input_class);if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
{dropDateElm.dropImgElm=famundoUtils.appendChildElm(dateElm,'button','date_drop_drop_button famundoPopupButton','button');dropDateElm.dropImgElm.style.height='9pt';dropDateElm.dropImgElm.style.width='8pt';dropDateElm.dropImgElm.style.position='relative';dropDateElm.dropImgElm.style.top='3px';}
else
{dropDateElm.dropImgElm=famundoUtils.appendChildElm(dateElm,'input','date_drop_drop_button famundoPopupButton','button');}
var hidden_input_name=dropDateElm.getAttribute('hidden_input_name');if(hidden_input_name)
{dropDateElm.hiddenInputElm=famundoUtils.appendChildElm(dateElm,'input','','hidden');dropDateElm.hiddenInputElm.name=hidden_input_name;dropDateElm.hiddenInputElm.style.display="none";}
var f_create=function(){dropDateElm.tblWraperElm=famundoUtils.appendChildElm(document.getElementsByTagName('body')[0],'span','date_drop_table_wraper date_drop_table_wraper_hide');dropDateElm.tblWraperElm.id=dropDateElm.id+'_tblWraper';if(FamundoMainUtils.isIE)
{dropDateElm.iframe=document.createElement('iframe');dropDateElm.iframe.id=dropDateElm.id+'_iframe';dropDateElm.iframe.src="javascript:false;";document.getElementsByTagName('body')[0].appendChild(dropDateElm.iframe);dropDateElm.iframe.className='calendar_iframe';}
dropDateElm.container=famundoUtils.appendChildElm(dropDateElm.tblWraperElm,'div','day_pick_container');dropDateElm.dayPickElm=famundoUtils.appendChildElm(dropDateElm.container,'table','day_pick');var dateAttrib=dropDateElm.getAttribute('selected_date');dropDateElm.dayPickElm.setAttribute('date',dateAttrib);dropDateElm.dayPickElm.setAttribute('parent_drop_id',dropDateElm.id);dropDateElm.dayPickElm.setAttribute('selected_date',dateAttrib);dropDateElm.dayPickElm.setAttribute('hide_extra_row',"1");['selected_date','time','no_year_nav'].each(function(attrName)
{var val=dropDateElm.getAttribute(attrName);if(val)
dropDateElm.dayPickElm.setAttribute(attrName,val);});dropDateElm.dayPickElm.setAttribute("with_buttons","1");var selDateAttrib=dropDateElm.getAttribute('selected_date');if((selDateAttrib==null)||selDateAttrib.match(/^\s*$/))
{var dateStr=famundoDateUtil.formatDate2ISO(new Date,false);dropDateElm.dayPickElm.setAttribute('selected_date',dateStr);}
var selTimeAttrib=dropDateElm.getAttribute('time');if((selTimeAttrib!=null)&&selTimeAttrib.match(/^\s*$/))
{var timeStr=(new Date).strftime("%H:%M");dropDateElm.dayPickElm.setAttribute('time',timeStr);}
var tabIndex=dropDateElm.getAttribute('tabindex');if(tabIndex!=null)
{dropDateElm.inputElm.tabIndex=tabIndex;dropDateElm.dropImgElm.tabIndex=tabIndex;dropDateElm.removeAttribute('tabindex',false);}};f_create();},initDateDropElemant:function(id_or_element)
{var dropDateElm=$(id_or_element);dropDateElm.startDateTimeProc=null;if(!dropDateElm)
{return false;}
if(!dropDateElm.id)
dropDateElm.id=FamundoMainUtils.generateId();else
{dropDateElm.id=dropDateElm.id+'_'+FamundoMainUtils.generateId();}
var timeStr=dropDateElm.getAttribute('time');if(timeStr!=null)
{dropDateElm.pickTime=true;}
dropDateElm.alowNullDate=false;var alowNullDate=dropDateElm.getAttribute('alow_null_date');if(alowNullDate&&(parseInt(alowNullDate,10)!=0))
{dropDateElm.alowNullDate=true;}
famundoDropDate.createElements(dropDateElm);famundoDayPicker.initTable(dropDateElm.dayPickElm,dropDateElm);dropDateElm.onBodyMouseDown=function(e){famundoDropDate.onMouseDownAnywere(e,dropDateElm);};var selDateAttrib=dropDateElm.getAttribute('selected_date');if((selDateAttrib==null)||selDateAttrib.match(/^\s*$/))
famundoDropDate.setDate(dropDateElm,null);else
famundoDropDate.setDate(dropDateElm,famundoDayPicker.getSelectedDate(dropDateElm.dayPickElm));famundoDropDate.updateHiddenInput(dropDateElm);Event.observe(dropDateElm.dropImgElm,'mousedown',famundoDropDate.onMouseDownDropImg,false);Event.observe(dropDateElm.dropImgElm,'mouseover',famundoDropDate.onMouseOverDropImg,false);Event.observe(dropDateElm.dropImgElm,'mouseout',famundoDropDate.onMouseOutDropImg,false);Event.observe(dropDateElm.inputElm,'change',famundoDropDate.onInputChange,false);Event.observe(dropDateElm.inputElm,'keydown',famundoDropDate.onInputKeydown,false);famundoDayPicker.setDateSelectionHandler(dropDateElm.dayPickElm,famundoDropDate.onDaySelected);famundoDayPicker.setOkHandler(dropDateElm.dayPickElm,famundoDropDate.onOK);famundoDayPicker.setCancelHandler(dropDateElm.dayPickElm,function(dayPickElm){famundoDropDate.hideDropDatePicker(dropDateElm);});famundoDropDates.add(dropDateElm);return dropDateElm;},initAll:function()
{if(!document.getElementsByTagName||!document.getElementById)
return;var elements=document.getElementsByTagName('span');for(var i=0;i<elements.length;i++)
{var el=elements[i];if(famundoUtils.isOfClass(el,"date_drop"))
{famundoDropDate.initDateDropElemant(el);}}}};famundoDropDate.prototype={container_class:'famundoDropDate',input_class:'famundoDropDateInput',isFamundoDropDate:function(elem)
{return Element.hasClassName(elem,famundoDropDate.prototype.container_class);},isFamundoDropDateInput:function(elem)
{return Element.hasClassName(elem,famundoDropDate.prototype.input_class);},getFamundoDropDate:function(elem)
{return famundoUtils.ascendDOMtoClass(elem,famundoDropDate.prototype.container_class);}};var startDropDate=null;var endDropDate=null;var until_date=null;var custom_month_date=null;var custom_year_date=null;var difDropDate=0;var dayTimeSemafor=false;var sdate_old_value=null;var edate_old_value=null;function toggle_time(add_mode)
{if($('event_all_day')&&$('event_all_day').checked)
{if(startDropDate)
famundoDropDate.removeTimeDisplay(startDropDate,true);if(endDropDate)
famundoDropDate.removeTimeDisplay(endDropDate,true);}
else if((($('event_all_day')&&!$('event_all_day').checked)||(!$('event_all_day')))&&add_mode)
{var current_date=new Date();var next_hour=famundoDateUtil.addMinutes(current_date,60);if(startDropDate)
{famundoDropDate.addTimeDisplay(startDropDate,next_hour.getHours(),0,true,true);sdate_old_value=famundoDropDate.getCurrentDate(startDropDate);}
if(endDropDate)
{timeOffset=famundoUserSettings.calendar.settings.default_duration?famundoUserSettings.calendar.settings.default_duration:30;famundoDropDate.addTimeDisplay(endDropDate,next_hour.getHours(),timeOffset,true,true);}}}
function datesListener()
{var tmp_dd=famundoDropDates.find(startDropDate.id);if(tmp_dd)
{famundoDayPicker.setDateSelectionHandler(tmp_dd,updateEndDate);if(startDropDate&&endDropDate)
difDropDate=famundoDayPicker.getSelectedDate($(endDropDate).dayPickElm).valueOf()-famundoDayPicker.getSelectedDate($(startDropDate).dayPickElm).valueOf();}
tmp_dd=famundoDropDates.find(endDropDate.id);if(tmp_dd)
{famundoDayPicker.setDateSelectionHandler(tmp_dd,setDiffForEnd);}}
function setDiffForEnd(dayPickerElement,selectedDate)
{var eDate=selectedDate;if(startDropDate&&endDropDate)
{difDropDate=eDate.valueOf()-famundoDayPicker.getSelectedDate($(startDropDate).dayPickElm).valueOf();}}
function checkDates(start_date)
{var current_date=new Date();var bWarn=false;if(start_date<current_date)
{famundoUtils.replaceClass($('form_error_log'),'display_none','display_block');Element.update('form_error_text',famundoCalendarText.pastStartDate);famundoApplication.updateModalWindowSize2();bWarn=true;}
else if($('extra_reminder_offset')&&$('event_reminder')&&$('event_reminder').checked)
{var reminder_time=famundoDateUtil.addMinutes(start_date,(-1)*$('extra_reminder_offset').value);if(reminder_time<current_date)
{famundoUtils.replaceClass($('form_error_log'),'display_none','display_block');Element.update('form_error_text',famundoCalendarText.invalidReminderTime);famundoApplication.updateModalWindowSize2();bWarn=true;}}
if(!bWarn)
{Element.update('form_error_text','');famundoUtils.replaceClass($('form_error_log'),'display_block','display_none');famundoApplication.updateModalWindowSize2();}
return bWarn;}
function updateEndDate(dayPickerElement,selectedDate)
{if(selectedDate.valueOf()&&sdate_old_value.valueOf()&&selectedDate.valueOf()==sdate_old_value.valueOf())
return;sdate_old_value=selectedDate;var start_date=selectedDate;var end_date=new Date(start_date.valueOf()+difDropDate);famundoDropDate.setDate($(endDropDate),end_date)
difDropDate=end_date.valueOf()-start_date.valueOf();updateRecurFields(start_date);var bWarned=checkDates(start_date);var all_day=false;all_day=$('event_all_day')&&$('event_all_day').checked;par='start_date='+famundoDateUtil.formatDate2ISO(start_date,!all_day)+"&end_date="+famundoDateUtil.formatDate2ISO(end_date,!all_day)+"&timed="+(all_day?"0":"1");if($("extra_calendar_id"))
{par+='&cal_id='+$('extra_calendar_id').value;}
if($("extra_user_id")&&$('extra_calendar_id').value=='0')
{par+='&user_id='+$('extra_user_id').value;}
if(bWarned)
par+="&warned=1";new Ajax.Request(famundoCalendarUrl.get_chkconfict_url+'?'+par,{asynchronous:true,method:'get',parameters:"notspin=true"});}
function updateRecurFields(start_date)
{var month=start_date.getMonth()+1;var monthDay=start_date.getDate();var dow=start_date.getDay();var daysShort=new Array('SU','MO','TU','WE','TH','FR','SA');if($('custom_year_month'))
{$('custom_year_month').value=month;$('custom_year_month2').value=month;$('custom_year_bymonthday').value=monthDay;$('custom_year_wday').value=daysShort[dow];}
if($('custom_month_wday'))
{$('custom_month_bymonthday').value=monthDay;$('custom_month_wday').value=daysShort[dow];}
if($('custom_week[SU]'))
{for(i=0;i<7;i++){current_check=$("custom_week["+daysShort[i]+"]");current_check.value='0';current_check.checked=false;}
current_check=$("custom_week["+daysShort[dow]+"]");current_check.value='1';current_check.checked=true;}}
function checkAllDayEvent(dayPickerElement,selectedDate)
{dayTimeSemafor=true;if($('event_all_day')&&$('event_all_day').checked)
return false;var sDate=famundoDropDate.getDate($(startDropDate));var eDate=selectedDate;if(((famundoDateUtil.addDays(sDate,1)<=eDate)&&(sDate.getDate()!=eDate.getDate()||sDate.getFullYear()!=eDate.getFullYear()||sDate.getMonth()!=eDate.getMonth()))||((sDate.getDate()!=eDate.getDate())&&(famundoDateUtil.addDays(sDate,1)>eDate)&&((eDate.getHours()+eDate.getMinutes())!=0)))
{if($('event_all_day'))
$('event_all_day').checked=true;if(startDropDate&&endDropDate)
{famundoDropDate.removeTimeDisplay(startDropDate,true);famundoDropDate.removeTimeDisplay(endDropDate);difDropDate=famundoDropDate.getDate($(endDropDate)).valueOf()-famundoDropDate.getDate($(startDropDate)).valueOf();}}}
function validateEvent(event)
{if(!submit_famundo_form('notes'))
{return false;}
var start_date,end_date,reminder;if(startDropDate)
start_date=famundoDropDate.getDate($(startDropDate));if(endDropDate)
end_date=famundoDropDate.getDate($(endDropDate));if(end_date<start_date)
{famundoUtils.replaceClass($('form_error_log'),'display_none','display_block');Element.update('form_error_text',famundoCalendarText.invalidStartDate);famundoApplication.updateModalWindowSize2();famundoFormSubmitReady=true;return false;}
var day_duration=24*60*60*1000
if($('event_all_day')&&$('event_all_day').checked)
day_duration=day_duration-1
if((end_date-start_date)>(day_duration)&&$('recurrence_freq')&&$('recurrence_freq').value=='DAILY')
{famundoUtils.replaceClass($('form_error_log'),'display_none','display_block');Element.update('form_error_text',famundoCalendarText.invalidRecurrence);famundoApplication.updateModalWindowSize2();famundoFormSubmitReady=true;return false;}
return true;}
function event_action(url,title,text,id,win_options,extra_params)
{var extra_params=extra_params||'';var ajx_options={parameters:"id="+id+extra_params,evalScripts:true,method:'post',onComplete:function(){famundoApplication.closeAllModalWindows();famundoApplication.fixCursorFlicker('after');}};var win_options=Object.extend({ok_action:function(){new Ajax.Request(url,ajx_options);},ok_label:famundoGenText.yes,cancel_label:famundoGenText.no,minHeight:80},win_options);var win=famundoApplication.openConfirmWindow(title,text,win_options);}
function deleteEvent(id,summary)
{event_action(famundoCalendarUrl.get_delete_event,famundoCalendarText.deleteEvent+' "'+summary+'"',famundoCalendarText.deleteEventTxt,id,{id:'delete_event_'+id});}
function completeEvent(id,summary)
{event_action(famundoCalendarUrl.get_complete_url,famundoCalendarText.completeEventTitle+' "'+summary+'"',famundoCalendarText.completeEventTxt,id,{id:'complete_event_'+id});}
function deleteTodoItem(id)
{event_action(famundoMessageUrl.get_delete_todo,famundoMessageText.deleteTodoTitle,famundoMessageText.deleteTodo,id,{id:'delete_todo_'+id},"&delete_from=calendar");}
function createCalRec(no_refresh)
{var ext='';if(no_refresh)
ext='&norefr=true';new Ajax.Request(famundoCalendarUrl.get_quick_cal_save+'?cal_name='+escape($('calendar_new_name').value)+ext,{asynchronous:true,method:'post'});}
function hideGridDrawDiv()
{var divs=document.getElementsByClassName('grid_draw_div');for(var i=0;i<divs.length;i++)
divs[i].style.display='none';}
function buildDragDivContextMenu(e,grid_obj,day_grid_obj,lnks,cursorPos)
{var pos=false;if(cursorPos)
{pos={X:Event.pointerX(e),Y:Event.pointerY(e)};}
else if(grid_obj)
{var coord=Position.cumulativeOffset(Event.element(e));pos={X:coord[0],Y:coord[1]-grid_obj.bodyDiv.scrollTop};}
if(lnks)
grid_obj.event_actions=lnks;else if(day_grid_obj&&day_grid_obj.currentMenu)
grid_obj.event_actions=day_grid_obj.currentMenu;else if(grid_obj&&grid_obj.currentDragBox[8])
grid_obj.event_actions=grid_obj.currentDragBox[8]['menu'];var menu=new Array();var event_menu=grid_obj.event_actions;for(var i=0;i<=event_menu.length-1;i++)
{event_menu[i].dbox=true;menu.push(event_menu[i]);}
menu[menu.length-1]['separator']='bottom';for(var i=0;i<schedule_menu_items.length;i++)
{menu.push(schedule_menu_items[i]);}
params=null;if(day_grid_obj)
params='start_date='+day_grid_obj.getDateForContextMenu(e);FamundoMainUtils.buildTT_menu(e,menu,true,false,pos,false,false,false,params);}
function buildAgendaContextMenu(e,grid_obj,lnks,cursorPos)
{var pos=false;if(cursorPos)
{pos={X:Event.pointerX(e),Y:Event.pointerY(e)};}
else if(grid_obj)
{var coord=Position.cumulativeOffset(Event.element(e));pos={X:coord[0],Y:coord[1]-grid_obj.scrollTop};}
if(lnks)
grid_obj.event_actions=lnks;var menu=new Array();for(var i=0;i<=lnks.length-1;i++)
{lnks[i].dbox=true;menu.push(lnks[i]);}
menu[menu.length-1]['separator']='bottom';for(var i=0;i<schedule_menu_items.length;i++)
{menu.push(schedule_menu_items[i]);}
FamundoMainUtils.buildTT_menu(e,menu,true,false,pos,false,false,false,null);}
function buildScheduleMenu(e,grid_obj,day_grid_obj,cursorPos,other_params)
{var pos=false;if(cursorPos)
{pos={X:Event.pointerX(e),Y:Event.pointerY(e)};}
else if(grid_obj)
{var coord=Position.cumulativeOffset(Event.element(e));pos={X:coord[0],Y:coord[1]-grid_obj.bodyDiv.scrollTop};}
var my_menu=new Array();for(var i=0;i<schedule_menu_items.length;i++)
{my_menu[i]=schedule_menu_items[i];}
if(!day_grid_obj)
var params=false;else
var params='start_date='+day_grid_obj.getDateForContextMenu(e);if(other_params)
{var params='';var separ='';for(a in other_params)
{if(other_params[a].type.toLowerCase()!='checkbox'&&other_params[a].value)
params+=separ+a+'='+other_params[a].value;else if(other_params[a].type.toLowerCase()=='checkbox'&&other_params[a].checked)
params+=separ+a+'=1';separ='&';}}
FamundoMainUtils.buildTT_menu(e,my_menu,true,false,pos,false,false,'calendar_action',params);}
function callOthers(e,other_params,hasDefault)
{if(other_params)
{var params='';var separ='';for(a in other_params)
{if(other_params[a].type.toLowerCase()!='checkbox'&&other_params[a].value)
params+=separ+a+'='+other_params[a].value;else if(other_params[a].type.toLowerCase()=='checkbox'&&other_params[a].checked)
params+=separ+a+'=1';separ='&';}}
var othr_item=false
for(var i=0;i<schedule_menu_items.length;i++)
if(schedule_menu_items[i].label==famundoCalendarText.menuOther)
{othr_item=schedule_menu_items[i].action;break;}
if(!othr_item&&schedule_menu_items.length==0&&hasDefault)
othr_item=famundoCalendarUrl.get_edit_event+'?kind=event';if(othr_item)
new Ajax.Updater(famundoApplication.openModalWindow(false,false,false,true,false,true).getContent(),FamundoMainUtils.escape_javascript(othr_item),{parameters:params,evalScripts:true,method:'get',onComplete:function(){Windows.getWindow('famundoModalWindow').showCenter(true);famundoApplication.setOverlayOpacity();setTimeout(function(){famundoApplication.updateModalWindowSize2();},1)}});}
var PromotionsSet=Class.create();PromotionsSet.prototype={initialize:function(container,promos,options)
{this.thread_id=null;this.container=container;this.playing=false;this.options=Object.extend({duration:60,current:0,effect_duration:3,onPlay:function(){}},options);this.elems=[];this.current_index=0;if(promos)
{for(var i=0;i<promos.length;i++)
this.elems.push(promos[i]);this.current_index=1;}},add:function(id)
{this.elems.push(id);if(this.current_index==0)
this.current_index=1;},remove:function(id)
{for(var i=0;i<this.elems.length;i++)
if(this.elems[i]==id)
{this.elems.splice(i,1);break;}},clear:function()
{this.elems=[];},show:function(elem)
{var me=this;Element.show($(elem));},hide:function(elem)
{var me=this;Element.hide($(elem));},play:function(index)
{if(this.elems.length==0)return;if(index&&(index==0||index>this.elems.length))return;var me=this;if(!this.playing&&this.options.duration)
{this.playing=true;this.current_index=index||1;this.elems.each(function(elem){Element.hide(elem);});this.show($(this.getElementAt(this.current_index)));if(this.elems.length>1)
this.thread_id=window.setInterval(function(){me.play();},this.options.duration*1000);}
else
{this.hide(this.getElementAt(this.current_index));this.current_index=index||this.getNext();this.show(this.getElementAt(this.current_index));}
this.onPlay();},stop:function()
{this.playing=false;if(this.thread_id)
window.clearInterval(this.thread_id);this.thread_id=null;},next:function()
{this.stop();this.play(this.getNext());},first:function()
{return this.getElementAt(1);},getNext:function()
{var next=((this.current_index+1)>this.elems.length)?1:this.current_index+1;return next;},previous:function()
{this.stop();this.play(this.getPrevious());},getPrevious:function()
{var prev=((this.current_index-1)==0)?this.elems.length:this.current_index-1;return prev;},now_playing:function()
{return this.getElementAt(this.current_index);},setDuration:function(seconds)
{this.duration=seconds;},getIndexOf:function(id)
{for(var i=0;i<this.elems.length;i++)
if(this.elems[i]==id)
return(i+1);},getElementAt:function(position,obj)
{var obj=obj||this;return obj.elems[position-1];},onPlay:function()
{if(this.options['onPlay'])
this.options['onPlay'](this);}}
function setHeaderPromotionHeight(obj)
{return;var elem=$(obj.now_playing());if(Element.getHeight(elem)>14)
{elem.style.height='14px';}}
function positionMenuForTips(obj)
{if(!obj)return;var p=$(obj.now_playing());if(!p)return;var c=p.getElementsByTagName('p')[0].getElementsByTagName('span')[0];if(!c)
{p.parentNode.style.display='none';return;}
var next=document.getElementsByClassName('next',p)[0];var nextw=(next)?Element.getDimensions(next).width:-10;var pw=Element.getDimensions(p).width;var cw=Element.getDimensions(c).width;if(cw<pw)
{$('famundo_tips').style.paddingRight='0px';var lm=cw/2+(pw-75)/2+50;if($('hide_tips'))
{$('hide_tips').style.right='auto';$('hide_tips').style.left=lm+nextw+5+'px';}
if(next)
{next.style.right='auto';next.style.left=lm+'px';}}
else
{$('famundo_tips').style.paddingRight='75px';if(next)
{next.style.left='auto';next.style.right='40px';}
if($('hide_tips'))
{$('hide_tips').style.left='auto';$('hide_tips').style.right='5px';}}}
var FamundoUIGroups={all:[],add:function(group_obj)
{if(this.find(group_obj.name))
return;this.all.push(group_obj.name);this[group_obj.name]=group_obj;},remove:function(group_name)
{this.find(group_name,true);},find:function(group_name,remove)
{for(var i=0;i<this.all.length;i++)
if(this.all[i]==group_name)
if(!remove)
{return this[this.all[i]];}
else
{this[group_name]=null;this.all.splice(i,1);}
return false;},removeElement:function(elem,remove_from_dom)
{for(var i=0;i<this.all.length;i++)
this[this.all[i]].find(elem,true);if(remove_from_dom)
Element.remove(item);}}
var FamundoUIGroup=Class.create();FamundoUIGroup.prototype={initialize:function(group_name,options)
{if(!group_name)
return;this.options=Object.extend({},options);this.properties=new Object();this.items=[];this.name=group_name;FamundoUIGroups.add(this);},add:function(item)
{var item=$(item);if(this.find(item))
return;this.items.push(item);for(var p in this.properties)
this.properties[p](item,true);if(this.options['onAdd'])
this.options.onAdd(this);if(this.options['onChange'])
this.options.onChange(this);},find:function(item,remove)
{var item=$(item);for(var i=0;i<this.items.length;i++)
{if(item.id==$(this.items[i]).id)
if(!remove)
{return item;}
else
{this.items.splice(i,1);}}
return false;},remove:function(item,remove_from_dom)
{this.find(item,true);if(remove_from_dom)
Element.remove(item);if(this.options['onRemove'])
this.options.onRemove(this);if(this.options['onChange'])
this.options.onChange(this);},set:function(name,f,skip_exec)
{this.properties[name]=function(item,call){if(call)f(item);};if(!skip_exec)
for(var i=0;i<this.items.length;i++)
if($(this.items[i]))
this.properties[name](this.items[i],true);}}
var domLib_userAgent=navigator.userAgent.toLowerCase();var domLib_isMac=navigator.appVersion.indexOf('Mac')!=-1;var domLib_isWin=domLib_userAgent.indexOf('windows')!=-1;var domLib_isOpera=domLib_userAgent.indexOf('opera')!=-1;var domLib_isOpera7up=domLib_userAgent.match(/opera.(7|8)/i);var domLib_isSafari=domLib_userAgent.indexOf('safari')!=-1;var domLib_isKonq=domLib_userAgent.indexOf('konqueror')!=-1;var domLib_isKHTML=(domLib_isKonq||domLib_isSafari||domLib_userAgent.indexOf('khtml')!=-1);var domLib_isIE=(!domLib_isKHTML&&!domLib_isOpera&&(domLib_userAgent.indexOf('msie 5')!=-1||domLib_userAgent.indexOf('msie 6')!=-1||domLib_userAgent.indexOf('msie 7')!=-1));var domLib_isIE5up=domLib_isIE;var domLib_isIE50=(domLib_isIE&&domLib_userAgent.indexOf('msie 5.0')!=-1);var domLib_isIE55=(domLib_isIE&&domLib_userAgent.indexOf('msie 5.5')!=-1);var domLib_isIE7=(domLib_isIE&&domLib_userAgent.indexOf('msie 7')!=-1);var domLib_isIE5=(domLib_isIE50||domLib_isIE55);var domLib_isGecko=domLib_userAgent.indexOf('gecko/')!=-1;var domLib_isMacIE=(domLib_isIE&&domLib_isMac);var domLib_isIE55up=domLib_isIE5up&&!domLib_isIE50&&!domLib_isMacIE;var domLib_isIE6up=domLib_isIE55up&&!domLib_isIE55;var domLib_standardsMode=(document.compatMode&&document.compatMode=='CSS1Compat');var domLib_useLibrary=(domLib_isOpera7up||domLib_isKHTML||domLib_isIE5up||domLib_isGecko||domLib_isMacIE||document.defaultView);var domLib_hasBrokenTimeout=(domLib_isMacIE||(domLib_isKonq&&domLib_userAgent.match(/konqueror\/3.([2-9])/)==null));var domLib_canFade=(domLib_isGecko||domLib_isIE||domLib_isSafari||domLib_isOpera);var domLib_canDrawOverSelect=(domLib_isMac||domLib_isOpera||domLib_isGecko);var domLib_canDrawOverFlash=(domLib_isMac||domLib_isWin);var domLib_eventTarget=domLib_isIE?'srcElement':'currentTarget';var domLib_eventButton=domLib_isIE?'button':'which';var domLib_eventTo=domLib_isIE?'toElement':'relatedTarget';var domLib_stylePointer=domLib_isIE?'hand':'pointer';var domLib_styleNoMaxWidth=domLib_isOpera?'10000px':'none';var domLib_hidePosition='-1000px';var domLib_scrollbarWidth=14;var domLib_autoId=1;var domLib_zIndex=100;var domLib_collisionElements;var domLib_collisionsCached=false;var domLib_timeoutStateId=0;if(!document.ELEMENT_NODE)
{document.ELEMENT_NODE=1;document.ATTRIBUTE_NODE=2;document.TEXT_NODE=3;document.DOCUMENT_NODE=9;document.DOCUMENT_FRAGMENT_NODE=11;}
function domLib_clone(obj)
{var copy={};for(var i in obj)
{var value=obj[i];try
{if(value!=null&&typeof(value)=='object'&&value!=window&&!value.nodeType)
{copy[i]=domLib_clone(value);}
else
{copy[i]=value;}}
catch(e)
{copy[i]=value;}}
return copy;}
var Hash=function()
{this.length=0;this.numericLength=0;this.elementData=[];for(var i=0;i<arguments.length;i+=2)
{if(typeof(arguments[i+1])!='undefined')
{this.elementData[arguments[i]]=arguments[i+1];this.length++;if(arguments[i]==parseInt(arguments[i]))
{this.numericLength++;}}}}
Hash.prototype.get=function(in_key)
{return this.elementData[in_key];}
Hash.prototype.set=function(in_key,in_value)
{if(typeof(in_value)!='undefined')
{if(typeof(this.elementData[in_key])=='undefined')
{this.length++;if(in_key==parseInt(in_key))
{this.numericLength++;}}
return this.elementData[in_key]=in_value;}
return false;}
Hash.prototype.remove=function(in_key)
{var tmp_value;if(typeof(this.elementData[in_key])!='undefined')
{this.length--;if(in_key==parseInt(in_key))
{this.numericLength--;}
tmp_value=this.elementData[in_key];delete this.elementData[in_key];}
return tmp_value;}
Hash.prototype.size=function()
{return this.length;}
Hash.prototype.has=function(in_key)
{return typeof(this.elementData[in_key])!='undefined';}
Hash.prototype.find=function(in_obj)
{for(var tmp_key in this.elementData)
{if(this.elementData[tmp_key]==in_obj)
{return tmp_key;}}
return null;}
Hash.prototype.merge=function(in_hash)
{for(var tmp_key in in_hash.elementData)
{if(typeof(this.elementData[tmp_key])=='undefined')
{this.length++;if(tmp_key==parseInt(tmp_key))
{this.numericLength++;}}
this.elementData[tmp_key]=in_hash.elementData[tmp_key];}}
Hash.prototype.compare=function(in_hash)
{if(this.length!=in_hash.length)
{return false;}
for(var tmp_key in this.elementData)
{if(this.elementData[tmp_key]!=in_hash.elementData[tmp_key])
{return false;}}
return true;}
var domLib_timeoutStates=new Hash();function domLib_isDescendantOf(in_object,in_ancestor)
{if(in_object==in_ancestor)
{return true;}
while(in_object!=document.documentElement)
{try
{if((tmp_object=in_object.offsetParent)&&tmp_object==in_ancestor)
{return true;}
else if((tmp_object=in_object.parentNode)==in_ancestor)
{return true;}
else
{in_object=tmp_object;}}
catch(e)
{return true;}}
return false;}
function domLib_detectCollisions(in_object,in_recover,in_useCache)
{if(!domLib_collisionsCached)
{var tags=[];if(!domLib_canDrawOverFlash)
{tags[tags.length]='object';}
if(!domLib_canDrawOverSelect)
{tags[tags.length]='select';}
domLib_collisionElements=domLib_getElementsByTagNames(tags,true);domLib_collisionsCached=in_useCache;}
if(in_recover)
{for(var cnt=0;cnt<domLib_collisionElements.length;cnt++)
{var thisElement=domLib_collisionElements[cnt];if(!thisElement.hideList)
{thisElement.hideList=new Hash();}
thisElement.hideList.remove(in_object.id);if(!thisElement.hideList.length)
{domLib_collisionElements[cnt].style.visibility='visible';if(domLib_isKonq)
{domLib_collisionElements[cnt].style.display='';}}}
return;}
else if(domLib_collisionElements.length==0)
{return;}
var objectOffsets=domLib_getOffsets(in_object);for(var cnt=0;cnt<domLib_collisionElements.length;cnt++)
{var thisElement=domLib_collisionElements[cnt];if(domLib_isDescendantOf(thisElement,in_object))
{continue;}
if(domLib_isKonq&&thisElement.tagName=='SELECT'&&(thisElement.size<=1&&!thisElement.multiple))
{continue;}
if(!thisElement.hideList)
{thisElement.hideList=new Hash();}
var selectOffsets=domLib_getOffsets(thisElement);var center2centerDistance=Math.sqrt(Math.pow(selectOffsets.get('leftCenter')-objectOffsets.get('leftCenter'),2)+Math.pow(selectOffsets.get('topCenter')-objectOffsets.get('topCenter'),2));var radiusSum=selectOffsets.get('radius')+objectOffsets.get('radius');if(center2centerDistance<radiusSum)
{if((objectOffsets.get('leftCenter')<=selectOffsets.get('leftCenter')&&objectOffsets.get('right')<selectOffsets.get('left'))||(objectOffsets.get('leftCenter')>selectOffsets.get('leftCenter')&&objectOffsets.get('left')>selectOffsets.get('right'))||(objectOffsets.get('topCenter')<=selectOffsets.get('topCenter')&&objectOffsets.get('bottom')<selectOffsets.get('top'))||(objectOffsets.get('topCenter')>selectOffsets.get('topCenter')&&objectOffsets.get('top')>selectOffsets.get('bottom')))
{thisElement.hideList.remove(in_object.id);if(!thisElement.hideList.length)
{thisElement.style.visibility='visible';if(domLib_isKonq)
{thisElement.style.display='';}}}
else
{thisElement.hideList.set(in_object.id,true);thisElement.style.visibility='hidden';if(domLib_isKonq)
{thisElement.style.display='none';}}}}}
function domLib_getOffsets(in_object)
{var originalObject=in_object;var originalWidth=in_object.offsetWidth;var originalHeight=in_object.offsetHeight;var offsetLeft=0;var offsetTop=0;while(in_object)
{offsetLeft+=in_object.offsetLeft;offsetTop+=in_object.offsetTop;in_object=in_object.offsetParent;if(in_object)
{offsetLeft-=in_object.scrollLeft;offsetTop-=in_object.scrollTop;}}
if(domLib_isMacIE){offsetLeft+=10;offsetTop+=10;}
return new Hash('left',offsetLeft,'top',offsetTop,'right',offsetLeft+originalWidth,'bottom',offsetTop+originalHeight,'leftCenter',offsetLeft+originalWidth/2,'topCenter',offsetTop+originalHeight/2,'radius',Math.max(originalWidth,originalHeight));}
function domLib_setTimeout(in_function,in_timeout,in_args)
{if(typeof(in_args)=='undefined')
{in_args=[];}
if(in_timeout==-1)
{return 0;}
else if(in_timeout==0)
{in_function(in_args);return 0;}
var args=domLib_clone(in_args);if(!domLib_hasBrokenTimeout)
{return setTimeout(function(){in_function(args);},in_timeout);}
else
{var id=domLib_timeoutStateId++;var data=new Hash();data.set('function',in_function);data.set('args',args);domLib_timeoutStates.set(id,data);data.set('timeoutId',setTimeout('domLib_timeoutStates.get('+id+').get(\'function\')(domLib_timeoutStates.get('+id+').get(\'args\')); domLib_timeoutStates.remove('+id+');',in_timeout));return id;}}
function domLib_clearTimeout(in_id)
{if(!domLib_hasBrokenTimeout)
{if(in_id>0){clearTimeout(in_id);}}
else
{if(domLib_timeoutStates.has(in_id))
{clearTimeout(domLib_timeoutStates.get(in_id).get('timeoutId'))
domLib_timeoutStates.remove(in_id);}}}
function domLib_getEventPosition(in_eventObj)
{var eventPosition=new Hash('x',0,'y',0,'scrollX',0,'scrollY',0);if(domLib_isIE)
{var doc=(domLib_standardsMode?document.documentElement:document.body);if(doc)
{eventPosition.set('x',in_eventObj.clientX+doc.scrollLeft);eventPosition.set('y',in_eventObj.clientY+doc.scrollTop);eventPosition.set('scrollX',doc.scrollLeft);eventPosition.set('scrollY',doc.scrollTop);}}
else
{eventPosition.set('x',in_eventObj.pageX);eventPosition.set('y',in_eventObj.pageY);eventPosition.set('scrollX',in_eventObj.pageX-in_eventObj.clientX);eventPosition.set('scrollY',in_eventObj.pageY-in_eventObj.clientY);}
return eventPosition;}
function domLib_cancelBubble(in_event)
{var eventObj=in_event?in_event:window.event;eventObj.cancelBubble=true;}
function domLib_getIFrameReference(in_frame)
{if(domLib_isGecko||domLib_isIE)
{return in_frame.frameElement;}
else
{var name=in_frame.name;if(!name||!in_frame.parent)
{return null;}
var candidates=in_frame.parent.document.getElementsByTagName('iframe');for(var i=0;i<candidates.length;i++)
{if(candidates[i].name==name)
{return candidates[i];}}
return null;}}
function domLib_getElementsByClass(in_class)
{var elements=domLib_isIE5?document.all:document.getElementsByTagName('*');var matches=[];var cnt=0;for(var i=0;i<elements.length;i++)
{if((" "+elements[i].className+" ").indexOf(" "+in_class+" ")!=-1)
{matches[cnt++]=elements[i];}}
return matches;}
function domLib_getElementsByTagNames(in_list,in_excludeHidden)
{var elements=[];for(var i=0;i<in_list.length;i++)
{var matches=document.getElementsByTagName(in_list[i]);for(var j=0;j<matches.length;j++)
{if(matches[j].tagName=='OBJECT'&&domLib_isGecko)
{var kids=matches[j].childNodes;var skip=false;for(var k=0;k<kids.length;k++)
{if(kids[k].tagName=='EMBED')
{skip=true;break;}}
if(skip)continue;}
if(in_excludeHidden&&domLib_getComputedStyle(matches[j],'visibility')=='hidden')
{continue;}
elements[elements.length]=matches[j];}}
return elements;}
function domLib_getComputedStyle(in_obj,in_property)
{if(domLib_isIE)
{var humpBackProp=in_property.replace(/-(.)/,function(a,b){return b.toUpperCase();});return eval('in_obj.currentStyle.'+humpBackProp);}
else if(domLib_isKonq)
{var humpBackProp=in_property.replace(/-(.)/,function(a,b){return b.toUpperCase();});return eval('in_obj.style.'+in_property);}
else
{return document.defaultView.getComputedStyle(in_obj,null).getPropertyValue(in_property);}}
function makeTrue()
{return true;}
function makeFalse()
{return false;}
var domTT_offsetX=(domLib_isIE?-2:0);var domTT_offsetY=(domLib_isIE?4:2);var domTT_direction='southeast';var domTT_mouseHeight=domLib_isIE?13:19;var domTT_closeLink='X';var domTT_closeAction='hide';var domTT_activateDelay=500;var domTT_maxWidth=false;var domTT_styleClass='domTT';var domTT_fade='both';var domTT_lifetime=0;var domTT_grid=0;var domTT_trailDelay=200;var domTT_useGlobalMousePosition=true;var domTT_screenEdgeDetection=true;var domTT_screenEdgePadding=4;var domTT_oneOnly=true;var domTT_draggable=false;var domTT_cloneNodes=false;var domTT_flag=false;if(typeof(domTT_dragEnabled)=='undefined')
{domTT_dragEnabled=false;}
var domTT_predefined=new Hash();var domTT_tooltips=new Hash();var domTT_lastOpened=0;if(domLib_useLibrary&&domTT_useGlobalMousePosition)
{var domTT_mousePosition=new Hash();document.onmousemove=function(in_event)
{if(typeof(in_event)=='undefined')
{in_event=event;}
domTT_mousePosition=domLib_getEventPosition(in_event);if(domTT_dragEnabled&&domTT_dragMouseDown)
{domTT_dragUpdate(in_event);}}}
function domTT_activate(in_this,in_event)
{if(!domLib_useLibrary){return false;}
domTT_flag=in_this;if(typeof(in_event)=='undefined')
{in_event=window.event;}
var owner=document.body;if(in_event.type.match(/key|mouse|click|contextmenu/i))
{if(in_this.nodeType&&in_this.nodeType!=document.DOCUMENT_NODE)
{var owner=in_this;}}
else
{if(typeof(in_this)!='object'&&!(owner=domTT_tooltips.get(in_this)))
{var embryo=document.createElement('div');owner=document.body.appendChild(embryo);owner.style.display='none';owner.id=in_this;}}
if(!owner.id)
{owner.id='__autoId'+domLib_autoId++;}
if(domTT_oneOnly&&domTT_lastOpened&&$(domTT_lastOpened)&&!$(domTT_lastOpened).getAttribute('stiky'))
{domTT_deactivate(domTT_lastOpened);}
domTT_lastOpened=owner.id;var tooltip=domTT_tooltips.get(owner.id);if(tooltip)
{if(tooltip.get('eventType')!=in_event.type)
{if(tooltip.get('type')=='greasy')
{tooltip.set('closeAction','destroy');domTT_deactivate(owner.id);}
else if(tooltip.get('status')!='inactive')
{return owner.id;}}
else
{if(tooltip.get('status')=='inactive')
{tooltip.set('status','pending');tooltip.set('activateTimeout',domLib_setTimeout(domTT_runShow,tooltip.get('delay'),[owner.id,in_event]));return owner.id;}
else
{return owner.id;}}}
var options=new Hash('caption','','content','','clearMouse',true,'closeAction',domTT_closeAction,'closeLink',domTT_closeLink,'delay',domTT_activateDelay,'direction',domTT_direction,'draggable',domTT_draggable,'fade',domTT_fade,'fadeMax',100,'grid',domTT_grid,'id','[domTT]'+owner.id,'inframe',false,'lifetime',domTT_lifetime,'offsetX',domTT_offsetX,'offsetY',domTT_offsetY,'parent',document.body,'position','absolute','styleClass',domTT_styleClass,'type','greasy','trail',false,'lazy',false);for(var i=2;i<arguments.length;i+=2)
{if(arguments[i]=='predefined')
{var predefinedOptions=domTT_predefined.get(arguments[i+1]);for(var j in predefinedOptions.elementData)
{options.set(j,predefinedOptions.get(j));}}
else
{options.set(arguments[i],arguments[i+1]);}}
options.set('eventType',in_event.type);if(options.has('statusText'))
{try{window.status=options.get('statusText');}catch(e){}}
if(!options.has('content')||options.get('content')==''||options.get('content')==null)
{if(typeof(owner.onmouseout)!='function')
{owner.onmouseout=function(in_event){domTT_mouseout(this,in_event);};}
return owner.id;}
options.set('owner',owner);domTT_create(options);options.set('delay',in_event.type.match(/click|mousedown|contextmenu/i)?0:parseInt(options.get('delay')));domTT_tooltips.set(owner.id,options);domTT_tooltips.set(options.get('id'),options);options.set('status','pending');options.set('activateTimeout',domLib_setTimeout(domTT_runShow,options.get('delay'),[owner.id,in_event]));return owner.id;}
function domTT_create(in_options)
{var tipOwner=in_options.get('owner');var parentObj=in_options.get('parent');var parentDoc=parentObj.ownerDocument||parentObj.document;var embryo=parentDoc.createElement('div');var tipObj=parentObj.appendChild(embryo);tipObj.style.position='absolute';tipObj.style.left='0px';tipObj.style.top='0px';tipObj.style.visibility='hidden';tipObj.id=in_options.get('id');tipObj.className=in_options.get('styleClass');Event.observe(tipObj,'contextmenu',function(e){Event.stop(e);});var content;var tableLayout=false;if(in_options.get('caption')||(in_options.get('type')=='sticky'&&in_options.get('caption')!==false))
{tableLayout=true;var tipLayoutTable=tipObj.appendChild(parentDoc.createElement('table'));tipLayoutTable.style.borderCollapse='collapse';if(domLib_isKHTML)
{tipLayoutTable.cellSpacing=0;}
var tipLayoutTbody=tipLayoutTable.appendChild(parentDoc.createElement('tbody'));var numCaptionCells=0;var captionRow=tipLayoutTbody.appendChild(parentDoc.createElement('tr'));var captionCell=captionRow.appendChild(parentDoc.createElement('td'));captionCell.style.padding='0px';var caption=captionCell.appendChild(parentDoc.createElement('div'));caption.className='caption';if(domLib_isIE50)
{caption.style.height='100%';}
if(in_options.get('caption').nodeType)
{caption.appendChild(domTT_cloneNodes?in_options.get('caption').cloneNode(1):in_options.get('caption'));}
else
{caption.innerHTML=in_options.get('caption');}
if(in_options.get('type')=='sticky')
{var numCaptionCells=2;var closeLinkCell=captionRow.appendChild(parentDoc.createElement('td'));closeLinkCell.style.padding='0px';var closeLink=closeLinkCell.appendChild(parentDoc.createElement('div'));closeLink.className='caption';if(domLib_isIE50)
{closeLink.style.height='100%';}
closeLink.style.textAlign='right';closeLink.style.cursor=domLib_stylePointer;closeLink.style.borderLeftWidth=caption.style.borderRightWidth='0px';closeLink.style.paddingLeft=caption.style.paddingRight='0px';closeLink.style.marginLeft=caption.style.marginRight='0px';if(in_options.get('closeLink').nodeType)
{closeLink.appendChild(in_options.get('closeLink').cloneNode(1));}
else
{closeLink.innerHTML=in_options.get('closeLink');}
closeLink.onclick=function(){domTT_deactivate(tipOwner.id);};closeLink.onmousedown=function(in_event){if(typeof(in_event)=='undefined'){in_event=event;}in_event.cancelBubble=true;};if(domLib_isMacIE)
{closeLinkCell.appendChild(parentDoc.createTextNode("\n"));}}
if(domLib_isMacIE)
{captionCell.appendChild(parentDoc.createTextNode("\n"));}
var contentRow=tipLayoutTbody.appendChild(parentDoc.createElement('tr'));var contentCell=contentRow.appendChild(parentDoc.createElement('td'));contentCell.style.padding='0px';if(numCaptionCells)
{if(domLib_isIE||domLib_isOpera)
{contentCell.colSpan=numCaptionCells;}
else
{contentCell.setAttribute('colspan',numCaptionCells);}}
content=contentCell.appendChild(parentDoc.createElement('div'));if(domLib_isIE50)
{content.style.height='100%';}}
else
{content=tipObj.appendChild(parentDoc.createElement('div'));}
content.className='contents';if(in_options.get('content').nodeType)
{content.appendChild(domTT_cloneNodes?in_options.get('content').cloneNode(1):in_options.get('content'));}
else
{content.innerHTML=in_options.get('content');}
if(in_options.has('width'))
{tipObj.style.width=parseInt(in_options.get('width'))+'px';}
var maxWidth=domTT_maxWidth;if(in_options.has('maxWidth'))
{if((maxWidth=in_options.get('maxWidth'))===false)
{tipObj.style.maxWidth=domLib_styleNoMaxWidth;}
else
{maxWidth=parseInt(in_options.get('maxWidth'));tipObj.style.maxWidth=maxWidth+'px';}}
if(maxWidth!==false&&(domLib_isIE||domLib_isKHTML)&&tipObj.offsetWidth>maxWidth)
{tipObj.style.width=maxWidth+'px';}
in_options.set('offsetWidth',tipObj.offsetWidth);in_options.set('offsetHeight',tipObj.offsetHeight);if(domLib_isKonq&&tableLayout&&!tipObj.style.width)
{var left=document.defaultView.getComputedStyle(tipObj,'').getPropertyValue('border-left-width');var right=document.defaultView.getComputedStyle(tipObj,'').getPropertyValue('border-right-width');left=left.substring(left.indexOf(':')+2,left.indexOf(';'));right=right.substring(right.indexOf(':')+2,right.indexOf(';'));var correction=2*((left?parseInt(left):0)+(right?parseInt(right):0));tipObj.style.width=(tipObj.offsetWidth-correction)+'px';}
if(domLib_isIE||domLib_isOpera)
{if(!tipObj.style.width)
{tipObj.style.width=(tipObj.offsetWidth-2)+'px';}
tipObj.style.height=(tipObj.offsetHeight-2)+'px';}
var offsetX,offsetY;if(in_options.get('position')=='absolute'&&!(in_options.has('x')&&in_options.has('y')))
{switch(in_options.get('direction'))
{case'northeast':offsetX=in_options.get('offsetX');offsetY=0-tipObj.offsetHeight-in_options.get('offsetY');break;case'northwest':offsetX=0-tipObj.offsetWidth-in_options.get('offsetX');offsetY=0-tipObj.offsetHeight-in_options.get('offsetY');break;case'north':offsetX=0-parseInt(tipObj.offsetWidth/2);offsetY=0-tipObj.offsetHeight-in_options.get('offsetY');break;case'southwest':offsetX=0-tipObj.offsetWidth-in_options.get('offsetX');offsetY=in_options.get('offsetY');break;case'southeast':offsetX=in_options.get('offsetX');offsetY=in_options.get('offsetY');break;case'south':offsetX=0-parseInt(tipObj.offsetWidth/2);offsetY=in_options.get('offsetY');break;}
if(in_options.get('inframe'))
{var iframeObj=domLib_getIFrameReference(window);if(iframeObj)
{var frameOffsets=domLib_getOffsets(iframeObj);offsetX+=frameOffsets.get('left');offsetY+=frameOffsets.get('top');}}}
else
{offsetX=0;offsetY=0;in_options.set('trail',false);}
in_options.set('offsetX',offsetX);in_options.set('offsetY',offsetY);if(in_options.get('clearMouse')&&in_options.get('direction').indexOf('south')!=-1)
{in_options.set('mouseOffset',domTT_mouseHeight);}
else
{in_options.set('mouseOffset',0);}
if(domLib_canFade&&typeof(Fadomatic)=='function')
{if(in_options.get('fade')!='neither')
{var fadeHandler=new Fadomatic(tipObj,10,0,0,in_options.get('fadeMax'));in_options.set('fadeHandler',fadeHandler);}}
else
{in_options.set('fade','neither');}
if(in_options.get('trail')&&typeof(tipOwner.onmousemove)!='function')
{if(domTT_mouseout)
tipOwner.onmousemove=function(in_event){domTT_mousemove(this,in_event);};}
if(typeof(tipOwner.onmouseout)!='function')
{if(domTT_mouseout)
tipOwner.onmouseout=function(in_event){domTT_mouseout(this,in_event);};}
if(in_options.get('type')=='sticky')
{if(in_options.get('position')=='absolute'&&domTT_dragEnabled&&in_options.get('draggable'))
{if(domLib_isIE)
{captionRow.onselectstart=function(){return false;};}
captionRow.onmousedown=function(in_event){domTT_dragStart(tipObj,in_event);};captionRow.onmousemove=function(in_event){domTT_dragUpdate(in_event);};captionRow.onmouseup=function(){domTT_dragStop();};}}
else if(in_options.get('type')=='velcro')
{tipObj.onmouseout=function(in_event){if(typeof(in_event)=='undefined'){in_event=event;}if(!domLib_isDescendantOf(in_event[domLib_eventTo],tipObj)){domTT_deactivate(tipOwner.id);}};}
if(in_options.get('position')=='relative')
{tipObj.style.position='relative';}
in_options.set('node',tipObj);in_options.set('status','inactive');}
function domTT_show(in_id,in_event)
{var tooltip=domTT_tooltips.get(in_id);var status=tooltip.get('status');var tipObj=tooltip.get('node');if(tooltip.get('position')=='absolute')
{var mouseX,mouseY;if(tooltip.has('x')&&tooltip.has('y'))
{mouseX=tooltip.get('x');mouseY=tooltip.get('y');}
else if(!domTT_useGlobalMousePosition||status=='active'||tooltip.get('delay')==0)
{var eventPosition=domLib_getEventPosition(in_event);var eventX=eventPosition.get('x');var eventY=eventPosition.get('y');if(tooltip.get('inframe'))
{eventX-=eventPosition.get('scrollX');eventY-=eventPosition.get('scrollY');}
if(status=='active'&&tooltip.get('trail')!==true)
{var trail=tooltip.get('trail');if(trail=='x')
{mouseX=eventX;mouseY=tooltip.get('mouseY');}
else if(trail=='y')
{mouseX=tooltip.get('mouseX');mouseY=eventY;}}
else
{mouseX=eventX;mouseY=eventY;}}
else
{mouseX=domTT_mousePosition.get('x');mouseY=domTT_mousePosition.get('y');if(tooltip.get('inframe'))
{mouseX-=domTT_mousePosition.get('scrollX');mouseY-=domTT_mousePosition.get('scrollY');}}
if(tooltip.get('grid'))
{if(in_event.type!='mousemove'||(status=='active'&&(Math.abs(tooltip.get('lastX')-mouseX)>tooltip.get('grid')||Math.abs(tooltip.get('lastY')-mouseY)>tooltip.get('grid'))))
{tooltip.set('lastX',mouseX);tooltip.set('lastY',mouseY);}
else
{return false;}}
tooltip.set('mouseX',mouseX);tooltip.set('mouseY',mouseY);var coordinates;if(domTT_screenEdgeDetection)
{coordinates=domTT_correctEdgeBleed(tooltip.get('offsetWidth'),tooltip.get('offsetHeight'),mouseX,mouseY,tooltip.get('offsetX'),tooltip.get('offsetY'),tooltip.get('mouseOffset'),tooltip.get('inframe')?window.parent:window);}
else
{coordinates={'x':mouseX+tooltip.get('offsetX'),'y':mouseY+tooltip.get('offsetY')+tooltip.get('mouseOffset')};}
tipObj.style.left=coordinates.x+'px';tipObj.style.top=coordinates.y+'px';tipObj.style.zIndex=domLib_zIndex++;}
if(status=='pending')
{tooltip.set('status','active');tipObj.style.display='';tipObj.style.visibility='visible';var fade=tooltip.get('fade');if(fade!='neither')
{var fadeHandler=tooltip.get('fadeHandler');if(fade=='out'||fade=='both')
{fadeHandler.haltFade();if(fade=='out')
{fadeHandler.halt();}}
if(fade=='in'||fade=='both')
{fadeHandler.fadeIn();}}
if(tooltip.get('type')=='greasy'&&tooltip.get('lifetime')!=0)
{tooltip.set('lifetimeTimeout',domLib_setTimeout(domTT_runDeactivate,tooltip.get('lifetime'),[tipObj.id]));}}
if(tooltip.get('position')=='absolute')
{FamundoMainUtils.protectForms(tipObj);}}
function domTT_close(in_handle)
{var id;if(typeof(in_handle)=='object'&&in_handle.nodeType)
{var obj=in_handle;while(!obj.id||!domTT_tooltips.get(obj.id))
{obj=obj.parentNode;if(obj.nodeType!=document.ELEMENT_NODE){return;}}
id=obj.id;}
else
{id=in_handle;}
domTT_deactivate(id);}
function domTT_deactivate(in_id)
{var tooltip=domTT_tooltips.get(in_id);if(tooltip)
{var status=tooltip.get('status');if(status=='pending')
{domLib_clearTimeout(tooltip.get('activateTimeout'));tooltip.set('status','inactive');}
else if(status=='active')
{if(tooltip.get('lifetime'))
{domLib_clearTimeout(tooltip.get('lifetimeTimeout'));}
var tipObj=tooltip.get('node');if(tooltip.get('closeAction')=='hide')
{var fade=tooltip.get('fade');if(fade!='neither')
{var fadeHandler=tooltip.get('fadeHandler');if(fade=='out'||fade=='both')
{fadeHandler.fadeOut();}
else
{fadeHandler.hide();}}
else
{tipObj.style.display='none';}}
else
{tooltip.get('parent').removeChild(tipObj);domTT_tooltips.remove(tooltip.get('owner').id);domTT_tooltips.remove(tooltip.get('id'));}
tooltip.set('status','inactive');domTT_flag=false;;FamundoMainUtils.protectForms(tipObj,true);}}}
function domTT_mouseout(in_owner,in_event)
{if(!domLib_useLibrary){return false;}
if(typeof(in_event)=='undefined')
{in_event=event;}
var toChild=domLib_isDescendantOf(in_event[domLib_eventTo],in_owner);var tooltip=domTT_tooltips.get(in_owner.id);if(tooltip&&(tooltip.get('type')=='greasy'||tooltip.get('status')!='active'))
{if(!toChild)
{domTT_deactivate(in_owner.id);try{window.status=window.defaultStatus;}catch(e){}}}
else if(!toChild)
{try{window.status=window.defaultStatus;}catch(e){}}}
function domTT_mousemove(in_owner,in_event)
{if(!domLib_useLibrary){return false;}
if(typeof(in_event)=='undefined')
{in_event=event;}
var tooltip=domTT_tooltips.get(in_owner.id);if(tooltip&&tooltip.get('trail')&&tooltip.get('status')=='active')
{if(tooltip.get('lazy'))
{domLib_setTimeout(domTT_runShow,domTT_trailDelay,[in_owner.id,in_event]);}
else
{domTT_show(in_owner.id,in_event);}}}
function domTT_addPredefined(in_id)
{var options=new Hash();for(var i=1;i<arguments.length;i+=2)
{options.set(arguments[i],arguments[i+1]);}
domTT_predefined.set(in_id,options);}
function domTT_correctEdgeBleed(in_width,in_height,in_x,in_y,in_offsetX,in_offsetY,in_mouseOffset,in_window)
{var win,doc;var bleedRight,bleedBottom;var pageHeight,pageWidth,pageYOffset,pageXOffset;var x=in_x+in_offsetX;var y=in_y+in_offsetY+in_mouseOffset;win=(typeof(in_window)=='undefined'?window:in_window);doc=((domLib_standardsMode&&(domLib_isIE||domLib_isGecko))?win.document.documentElement:win.document.body);if(domLib_isIE)
{pageHeight=doc.clientHeight;pageWidth=doc.clientWidth;pageYOffset=doc.scrollTop;pageXOffset=doc.scrollLeft;}
else
{pageHeight=doc.clientHeight;pageWidth=doc.clientWidth;if(domLib_isKHTML)
{pageHeight=win.innerHeight;}
pageYOffset=win.pageYOffset;pageXOffset=win.pageXOffset;}
if((bleedRight=(x-pageXOffset)+in_width-(pageWidth-domTT_screenEdgePadding))>0)
{x-=bleedRight;}
if((x-pageXOffset)<domTT_screenEdgePadding)
{x=domTT_screenEdgePadding+pageXOffset;}
if((bleedBottom=(y-pageYOffset)+in_height-(pageHeight-domTT_screenEdgePadding))>0)
{y=in_y-in_height-in_offsetY;}
if((y-pageYOffset)<domTT_screenEdgePadding)
{y=in_y+domTT_mouseHeight+in_offsetY;}
return{'x':x,'y':y};}
function domTT_isActive(in_id)
{var tooltip=domTT_tooltips.get(in_id);if(!tooltip||tooltip.get('status')!='active')
{return false;}
else
{return true;}}
function domTT_runDeactivate(args){domTT_deactivate(args[0]);}
function domTT_runShow(args){domTT_show(args[0],args[1]);}
function domTT_replaceTitles(in_decorator)
{var elements=domLib_getElementsByClass('tooltip');for(var i=0;i<elements.length;i++)
{if(elements[i].title)
{var content;if(typeof(in_decorator)=='function')
{content=in_decorator(elements[i]);}
else
{content=elements[i].title;}
content=content.replace(new RegExp('\'','g'),'\\\'');elements[i].onmouseover=new Function('in_event',"domTT_activate(this, in_event, 'content', '"+content+"')");elements[i].title='';}}}
function domTT_update(handle,content,type)
{if(typeof(type)=='undefined')
{type='content';}
var tip=domTT_tooltips.get(handle);if(!tip)
{return;}
var tipObj=tip.get('node');var updateNode;if(type=='content')
{updateNode=tipObj.firstChild;if(updateNode.className!='contents')
{updateNode=updateNode.firstChild.firstChild.nextSibling.firstChild.firstChild;}}
else
{updateNode=tipObj.firstChild;if(updateNode.className=='contents')
{return;}
updateNode=updateNode.firstChild.firstChild.firstChild.firstChild;}
updateNode.innerHTML=content;}
var debuginfo='';var FAMUNDO_MIN_HEIGHT='700px';var FAMUNDO_MIN_WIDTH='950px';FCKeditorAPI=false;__FCKeditorNS=null;famundoFormSubmitReady=true;famundoStickyElement=null;var fmGrid=null;var list_item_id=false;var header_promos=false;var adjust_page=null;var frmBGCOLOR='';var famundoOverflowElements=false;var notice_thread_id=null;Ajax.Request.prototype.request=function(url)
{var parameters=this.options.parameters||'';if(parameters.length>0)parameters+='&_=';if(this.options.method=='post')
{if(parameters.length>0)
parameters+='&'+secure_form_id;else
parameters=secure_form_id;}
try{this.url=url;if(this.options.method=='get'&&parameters.length>0)
this.url+=(this.url.match(/\?/)?'&':'?')+parameters;Ajax.Responders.dispatch('onCreate',this,this.transport);this.transport.open(this.options.method,this.url,this.options.asynchronous);if(this.options.asynchronous){this.transport.onreadystatechange=this.onStateChange.bind(this);setTimeout((function(){this.respondToReadyState(1)}).bind(this),10);}
this.setRequestHeaders();var body=this.options.postBody?this.options.postBody:parameters;this.transport.send(this.options.method=='post'?body:null);}catch(e){this.dispatchException(e);}}
Ajax.Updater.prototype.request=Ajax.Request.prototype.request;function createCookie(name,value,days)
{if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString();}
else var expires="";document.cookie=name+"="+value+expires+"; path=/";}
function FCKeditor_OnComplete(editorInstance)
{editorInstance.Events.AttachEvent('OnFocus',function(fck){famundoForms.onFocusElement(false,fck.EditingArea.TargetElement);});editorInstance.Events.AttachEvent('OnBlur',function(fck){famundoForms.onBlurElement(false,fck.EditingArea.TargetElement);});if(FamundoMainUtils.isHTML(editorInstance.GetXHTML()))
{editorInstance.ToolbarSet.Expand();}
famundoForms.onBlurElement(false,editorInstance.EditingArea.TargetElement);}
function setRemoteListCall(component,new_val,rem_url,other_params)
{if(rem_url)
{if(!other_params)
other_params='';list_item_id=false;var save_function=function(){if(list_item_id){insertSelectItem($(component),$(new_val).value,list_item_id);famundoUtils.replaceClass($('tr_'+new_val),'form_zone','form_zone_h');famundoUtils.replaceClass($('link_'+new_val),'display_none','display_block');}}
new Ajax.Request(rem_url,{asynchronous:true,method:'get',parameters:($(component).name+'='+$(new_val).value+other_params),onComplete:save_function});}
else
{insertSelectItem($(component),$(new_val).value,$(new_val).value);famundoUtils.replaceClass($('tr_'+new_val),'form_zone','form_zone_h');famundoUtils.replaceClass($('link_'+new_val),'display_none','display_block');}
famundoApplication.updateModalWindowSize2();}
function posLoadingMessage()
{var dimensH=49;var dimensW=163;var wSize=getWindowSize();var scrl=getScrollXY();var winH=wSize[1];var winW=wSize[0]+scrl[0];$('div_loading').style.top=Math.max(Math.floor((winH-dimensH)/2)+scrl[1],2)+'px';$('div_loading').style.left=Math.max(Math.floor((winW-dimensW)/2)+scrl[0],2)+'px';}
function buildWaitingMessage()
{var ihtml='<div class="pbar_container" style="">';ihtml+="<div class='pbar' style=''>";ihtml+='</div><span class="pbar_txt">Uploading file, please wait...</span></div>';var cClass='progressbar';var pbcontainer=document.createElement('div');pbcontainer.className=cClass;pbcontainer.id='messwait';pbcontainer.innerHTML=ihtml;var bod=document.getElementsByTagName('body')[0];bod.appendChild(pbcontainer);var dimensH=$('messwait').offsetHeight;var dimensW=$('messwait').offsetWidth;var wSize=getWindowSize();var scrl=getScrollXY();var winH=wSize[1]-10;var winW=wSize[0]-10+scrl[0];$('messwait').style.top=Math.max(Math.floor((winH-dimensH)/2)+scrl[1],2)+'px';$('messwait').style.left=Math.max(Math.floor((winW-dimensW)/2)+scrl[0],2)+'px';}
function removeWaitingMessage()
{if($('messwait'))
Element.remove($('messwait'));}
function disableButton(bid)
{if($(bid))
{var el=document.getElementsByClassName('famundoButtonImage');for(var i=0;i<el.length;i++)
{el[i].disabled=true;buildWaitingMessage();}}
return true;}
function enableButton(bid)
{if($(bid))
{var el=document.getElementsByClassName('famundoButtonImage');for(var i=0;i<el.length;i++)
{el[i].disabled=false;removeWaitingMessage();}}}
function isValidEmail(val)
{return val.trim().match(/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i);}
function isValidPhone(val)
{return val.trim().match(/^[-.() +0-9]{7,}$/);}
function isValidURL(val)
{var pattern=/^(http:\/\/)?[a-zA-Z0-9][-a-zA-Z0-9]*(\.[a-zA-Z0-9][-a-zA-Z0-9]*)+(\/[^\s]*)?$/;return pattern.test(val.trim());}
function showJSContactError(msg)
{famundoUtils.replaceClass($('form_error_log'),'display_none','display_block');Element.update('form_error_text',msg);famundoApplication.updateModalWindowSize2();}
function insertSelectItem(component,text,id)
{if($(component))
$(component).options[$(component).options.length]=new Option(text,id,true,true);}
function setPreview(advance)
{if($('isPreview'))
{$('isPreview').value=1;formId=$("form_id").value;if(advance)
$('preview_starting').value=parseInt($('preview_starting').value)+(advance*parseInt($('preview_limit').value));var subm=$(formId).getAttribute('action');new Ajax.Request(subm,{asynchronous:true,evalScripts:true,parameters:Form.serialize($(formId))});$('isPreview').value='';}}
function submit_famundo_form(fck_id)
{if(isFormSubmitReady())
{if(fck_id&&$(fck_id)&&!famundoUtils.isSafari)
{if(FCKeditorAPI&&FCKeditorAPI.GetInstance(fck_id).Status!=2)
{return false;}
famundoApplication.FCKEditor.onSubmit(fck_id);}
famundoFormSubmitReady=false;return true;}
return false;}
function isFormSubmitReady()
{return famundoFormSubmitReady;}
function afterSubmitInpageForm(form_container_id,form_visible)
{if(!form_visible)
famundoForms.closeInpageForm(false,form_container_id);setFamundoFormReady();}
function afterSubmitPopupForm(win_id)
{famundoApplication.closeModalWindow(win_id);setFamundoFormReady();}
function setFamundoFormReady()
{famundoFormSubmitReady=true;}
function checkSubmit(func)
{if(!eval(func))
return false;return true;};function getWindowSize()
{var myWidth=0,myHeight=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;myHeight=window.innerHeight;}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;myHeight=document.documentElement.clientHeight;}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;myHeight=document.body.clientHeight;}
return[myWidth,myHeight];};function getScrollXY()
{var scrOfX=0,scrOfY=0;if(typeof(window.pageYOffset)=='number'){scrOfY=window.pageYOffset;scrOfX=window.pageXOffset;}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){scrOfY=document.body.scrollTop;scrOfX=document.body.scrollLeft;}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){scrOfY=document.documentElement.scrollTop;scrOfX=document.documentElement.scrollLeft;}
return[scrOfX,scrOfY];};function callInProgress(xmlhttp)
{switch(xmlhttp.readyState)
{case 1:case 2:case 3:return true;break;case 4:if(xmlhttp.status==0)
return true;break;default:return false;break;}}
function showFailureMessage()
{famundoApplication.closeAllModalWindows();famundoApplication.openWarningWindow(famundoGenText.server_err_title,famundoGenText.server_err_msg);}
Ajax.Responders.register({onCreate:function(request,transport)
{write2notice("");var url=request.options.parameters;var for_auto_complete=(request.url.indexOf('auto_complete_for_')>0);if(url.indexOf('notspin=true')==-1&&!for_auto_complete)
{if($('div_loading')&&Ajax.activeRequestCount>0)
{posLoadingMessage();Effect.Appear('div_loading',{duration:0.1,queue:'end'});}}
if(url.indexOf('notnotify=true')==-1)
{request['timeoutId']=window.setTimeout(function(){if(callInProgress(request.transport))
{request.transport.abort();showFailureMessage();setFamundoFormReady();if(request.options['onFailure'])
{request.options['onFailure'](request.transport,request.json);}}},60000);}},onComplete:function(request,transport)
{if($('div_loading')&&Ajax.activeRequestCount==0&&!window.famundo_spin)
{posLoadingMessage();Effect.Fade('div_loading',{duration:0.1});}
if(transport.status==undefined)
{showFailureMessage();}
window.clearTimeout(request['timeoutId']);}});var famundoApplication={onLoad:function()
{if($('div_header_nav'))
{var menu_items=['header_nav_fh','header_nav_calendar','header_nav_addrbook','header_nav_msgboard','header_nav_listmanager','header_nav_famlibrary'];menu_items.each(function(item){Event.observe($(item),'mouseover',function(){if(!Element.hasClassName($(item),'on'))
{Element.removeClassName($(item),$(item).id+'_off');Element.addClassName($(item),$(item).id+'_on');Element.removeClassName($(item+'_text'),'header_nav_text_off');Element.addClassName($(item+'_text'),'header_nav_text_on');}});Event.observe($(item),'mouseout',function(){if(!Element.hasClassName($(item),'on'))
{Element.removeClassName($(item),$(item).id+'_on');Element.addClassName($(item),$(item).id+'_off');Element.removeClassName($(item+'_text'),'header_nav_text_on');Element.addClassName($(item+'_text'),'header_nav_text_off');}});});}
document.getElementsByClassName('showOnMouseOver').each(function(elem)
{famundoApplication.enableShowOnMouseOver(elem);});},onClick:function(e)
{var elem=Event.element(e);if(elem.className&&Element.hasClassName(elem,'openFamundoInpageForm'))
{famundoForms.displayInpageForm2(e);}
if(elem.className&&Element.hasClassName(elem,'closeFamundoInpageForm')||famundoUtils.ascendDOMtoClass(elem,'closeFamundoInpageForm'))
{famundoForms.closeInpageForm(e);}
if(elem.className&&Element.hasClassName(elem,'color_picker_item'))
{famundoApplication.markSelectedColor(e);}},getLayoutFixedHeightElements:function()
{return Element.getHeight('div_header')+Element.getHeight('subheader_zone')+Element.getHeight('footer');},adjust_layout:function(e)
{famundoUtils.replaceClass($('top_left_corner'),'display_none','display_block');famundoUtils.replaceClass($('top_right_corner'),'display_none','display_block');famundoUtils.replaceClass($('bottom_left_corner'),'display_none','display_block');famundoUtils.replaceClass($('bottom_right_corner'),'display_none','display_block');famundoUtils.replaceClass($('footer'),'visibility_hidden','visibility_visible');if(famundoUtils.isIE||famundoUtils.isSafari)
{$('footer').style.width='auto';if(parseInt(Element.getDimensions($('app_container')).width)<parseInt(FAMUNDO_MIN_WIDTH))
{$('app_container').style.width=FAMUNDO_MIN_WIDTH;}
else if(parseInt(document.body.offsetWidth*0.96)>parseInt(FAMUNDO_MIN_WIDTH))
{$('app_container').style.width='96%';}}
setTimeout(function(){famundoApplication.adjust_borders();famundoApplication.adjust_promos();$('subheader_zone').style.visibility='visible';},0);},adjust_page:function()
{var fix_min_height=function(){if($('fixer'))
{$('fixer').style.height='0px';var doc_height=Math.max(parseInt(FAMUNDO_MIN_HEIGHT),famundoUtils.getDocumentSize().height);var app_height=Element.getHeight('app_container');var google_ad_height=($('google_ads_tower'))?Element.getHeight('google_ads_tower'):0;var adj1=app_height-famundoApplication.getLayoutFixedHeightElements();adj1=(adj1>google_ad_height)?0:google_ad_height-adj1+20;h=(doc_height>app_height)?doc_height-app_height:0;h=(h>adj1)?h:adj1;$('fixer').style.height=(h>0)?h+'px':0+'px';}};if(famundoUtils.isIE||famundoUtils.isSafari)
{fix_min_height();famundoApplication.adjust_borders();}
else
{setTimeout(function(){fix_min_height();famundoApplication.adjust_borders();},0);}},adjust_borders:function()
{if(famundoUtils.isIE||famundoUtils.isSafari)
{$('left_border').style.height=$('app_container').offsetHeight+'px';$('right_border').style.height=$('app_container').offsetHeight+'px';}
else
{$('left_border').style.height='100%';$('right_border').style.height='100%';}
var h_header=Element.getHeight('div_header');var adj=(famundoUtils.isIE||famundoUtils.isSafari)?h_header+19:h_header+20;$('left_border').style.height=Element.getHeight($('left_border'))-adj+'px';$('left_border').style.top=h_header+'px';$('right_border').style.height=Element.getHeight($('right_border'))-adj+'px';$('right_border').style.top=h_header+'px';if(famundoUtils.isIE)
setTimeout(function(){if($('footer'))
$('footer').style.width=Element.getDimensions($('app_container')).width-parseInt(Element.getStyle($('footer'),'marginLeft'))-parseInt(Element.getStyle($('footer'),'marginRight'))+'px';},10);},adjust_promos:function()
{var max=800;var adjust=function(zone)
{var zone=$(zone);if(!zone)return;var ml=parseInt(Element.getStyle(zone,'margin-left'));var mr=parseInt(Element.getStyle(zone,'margin-right'));if(zone)
{var width=Element.getDimensions($('subheader_zone')).width-ml-mr;if(width>max)
{$(zone).style.marginLeft=parseInt(ml)+(width-max)/2+'px';$(zone).style.marginRight=parseInt(mr)+(width-max)/2+'px';}}}
adjust('famundo_promos');adjust('famundo_tips');positionMenuForTips(header_tips);},toggleBox:function(e,content_class)
{var el=document.getElementsByClassName(content_class||'categ_content',famundoUtils.ascendDOMtoClass(Event.element(e),'categ_box'))[0];var trigger=famundoUtils.getEventElement(e,'img');FamundoBox.toggle(trigger,el);},markSelectedColor:function(e)
{document.getElementsByClassName('color_picker_item',Event.findElement(e,'famundoColorPicker')).each(function(item)
{Element.removeClassName(item,'color_picker_item_selected');});Element.addClassName(Event.element(e),'color_picker_item_selected');},enableShowOnMouseOver:function(elem)
{if(!$(elem))
return;var over_elms=$(elem).getAttribute('showOnMouseOver').split(',');over_elms.each(function(item)
{Event.observe(item,'mouseover',function(){Element.removeClassName(elem,'visibility_hidden');Element.addClassName(elem,'visibility_visible');});Event.observe(item,'mouseout',function(){Element.removeClassName(elem,'visibility_visible');Element.addClassName(elem,'visibility_hidden');});});},enableShowOnMouseOver2:function(container)
{document.getElementsByClassName('showOnMouseOver',$(container)).each(function(elem)
{famundoApplication.enableShowOnMouseOver(elem);});},alternateClasses:function(container,for_class,classes,only)
{var i=0;document.getElementsByClassName(for_class,container).each(function(elem)
{if(only)
{if(!FamundoMainUtils.isArray(only))
only=only.toArray();for(var k=0;k<only.length;k++)
{document.getElementsByClassName(only[k],elem).each(function(o)
{famundoApplication._alternateClassesAddClass(o,classes,classes[i]);});}}
else
{famundoApplication._alternateClassesAddClass(elem,classes,classes[i]);}
i=(i==(classes.length-1))?0:i+1;});},_alternateClassesAddClass:function(elem,classes,className)
{for(var j=0;j<classes.length;j++)
Element.removeClassName(elem,classes[j]);Element.addClassName(elem,className);},selectMenuItem:function(event,menu,items_tag_name,on_class,off_class,selected_item,func)
{if(!$(menu))
return;var items=$(menu).getElementsByTagName(items_tag_name);if(!selected_item)
{var te=Event.element(event);selected_item=(Element.hasClassName(te,on_class)||Element.hasClassName(te,off_class))?te:famundoUtils.ascendDOMtoClass(te,[on_class,off_class]);}
for(var i=0;i<items.length;i++)
(items[i]==$(selected_item))?famundoUtils.replaceClass(items[i],off_class,on_class):famundoUtils.replaceClass(items[i],on_class,off_class);if(func)
func(menu,$(selected_item),items);},scrollToElement:function(container,element,adj)
{var adj=adj||[0,0];if($(container)&&$(element))
{Position.includeScrollOffsets=true;var p=Position.positionedOffset($(element))[1];var h=parseInt($(element).offsetHeight);var ch=parseInt($(container).offsetHeight);var st=$(container).scrollTop;if((p-st<0)||((st+ch)<(p+h+adj[0])))
{$(container).scrollTop=p-parseInt((ch-h)/2);}}},famundoButton:function(value,className,width)
{var button=document.createElement('table');Element.addClassName(button,className);Element.addClassName(button,'famundoButton cursor_hand');var t_container_cell=button.insertRow(0).insertCell(0);var text_container=document.createElement('div');Element.addClassName(text_container,'famundoButtonTextContainer');var txt=document.createElement('div');Element.addClassName(txt,'famundoButtonText');var span_txt=document.createElement('span');span_txt.appendChild(document.createTextNode(value));txt.appendChild(span_txt);var left_side=document.createElement('div');Element.addClassName(left_side,'famundoButtonLeftSide');var right_side=document.createElement('div');Element.addClassName(right_side,'famundoButtonRightSide');text_container.appendChild(txt);text_container.appendChild(left_side);text_container.appendChild(right_side);t_container_cell.appendChild(text_container);if(width)
{if(famundoUtils.isIE)
{text_container.style.width=(parseInt(width)+14)+'px';button.style.width=(parseInt(width)+14)+'px';}
txt.style.width=parseInt(width)+'px';}
else
{Element.addClassName(txt,'famundoButtonTextMinWidth');Element.addClassName(text_container,'famundoButtonCTextMinWidth');}
return button;},afterInsertEffect:function(elem)
{if($(elem))
{new Effect.Highlight($(elem),{startcolor:'#ffff99'});}},afterUpdateEffect:function(elem)
{if($(elem))
{new Effect.Highlight($(elem),{startcolor:'#ffff99'});}},afterDeleteEffect:function(elem)
{if($(elem))
{var duration_effect=1;famundoActions.add({func:function(){Effect.Fade($(elem),{duration:duration_effect});},action_type:'parallel',duration:duration_effect*1000});famundoActions.add({func:function(){Element.remove($(elem));}});}},getThemeBorderColor:function()
{var i=document.createElement('input');i.setAttribute('type','hidden');Element.addClassName(i,'famundoFormElement');document.body.appendChild(i);var color=(famundoUtils.isIE)?Element.getStyle(i,'borderColor'):Element.getStyle(i,'-moz-outline-color');Element.removeClassName(i,'famundoFormElement');Element.addClassName(i,'famundoFormElement_focus');var focus_color=(famundoUtils.isIE)?Element.getStyle(i,'borderColor'):Element.getStyle(i,'-moz-outline-color');document.body.removeChild(i);return[color,focus_color];},FCKEditor:{init:function(fck_id,rich_mode)
{if(!$(fck_id)||(FCKeditorAPI&&FCKeditorAPI.GetInstance(fck_id)))
return false;if(famundoUtils.isSafari)
{$(fck_id).style.display='block';return;}
var d=Element.getDimensions(fck_id);var oFCKeditor=new FCKeditor(fck_id,d.width,d.height,"Default");oFCKeditor.BasePath="/fckeditor/";if(rich_mode)
{oFCKeditor.ReplaceTextarea();}},onSubmit:function(fck_id)
{if(!fck_id)
return;if(FCKeditorAPI)
{var oEditor=FCKeditorAPI.GetInstance(fck_id);$(fck_id).value=oEditor.GetXHTML();}},clear:function(fck_id)
{if(FCKeditorAPI&&FCKeditorAPI.GetInstance(fck_id))
{var oEditor=FCKeditorAPI.GetInstance(fck_id);oEditor.EditorDocument.body.innerHTML="";}},reset:function()
{if(FCKeditorAPI&&FCKeditorAPI.__Instances)
for(var inst_id in FCKeditorAPI.__Instances)
{if($(inst_id+'___Config'))
Element.remove($(inst_id+'___Config'));if($(inst_id+'___Frame'))
Element.remove($(inst_id+'___Frame'));}
__FCKeditorNS=null;FCKeditorAPI=null;},switchToRich:function(fck_id)
{var switch_text=function()
{$(fck_id+'_switch_to_rich').style.display='none';$(fck_id+'_switch_to_plain').style.display='block';}
if(!FCKeditorAPI||!FCKeditorAPI.GetInstance(fck_id))
{famundoApplication.FCKEditor.init(fck_id,true);switch_text();return;}
var editor=FCKeditorAPI.GetInstance(fck_id);if(editor&&editor.EditMode!=FCK_EDITMODE_WYSIWYG)
{editor.SwitchEditMode();editor.ToolbarSet._Document.getElementById('xToolbarRow').style.display='';editor.ToolbarSet.Expand();switch_text();editor.Focus();}},switchToPlain:function(fck_id)
{var editor=FCKeditorAPI.GetInstance(fck_id);if(editor&&editor.EditMode==FCK_EDITMODE_WYSIWYG)
{editor.SwitchEditMode();editor.ToolbarSet._Document.getElementById('xToolbarRow').style.display='none';editor.SetHTML(editor.GetXHTML().stripTags());$(fck_id+'_switch_to_plain').style.display='none';$(fck_id+'_switch_to_rich').style.display='block';editor.Focus();}}},getModalWindow:function(title,options)
{var win_id=(options)?options['id']||'famundoModalWindow':'famundoModalWindow';if($(win_id))
return Windows.getWindow(win_id);if(!famundoUtils.isIE)
{var win=new Window(win_id,Object.extend({className:'mac_os_x',title:title||'',resizable:false,hideEffect:Element.hide,showEffect:Element.show,minWidth:200,height:'1%',width:'1%',closable:false,minimizable:false,maximizable:false},options||{}));}
else
{var win=new Window(win_id,Object.extend({className:'mac_os_x',title:title||'',resizable:false,minWidth:200,height:'1%',width:'1%',closable:false,minimizable:false,maximizable:false},options||{}));}
return win;},openModalWindow:function(title,content,ajax_url,notShow,options,noFlick)
{var win_id=(options)?options['id']||'famundoModalWindow':'famundoModalWindow';var win=famundoApplication.getModalWindow(title,options);if(content||!ajax_url)
{win.getContent().innerHTML=content;if(!notShow)
{win.showCenter(true);famundoApplication.updateModalWindowSize();famundoApplication.setOverlayOpacity();}}
if(ajax_url)
{var options={evalScripts:true,method:'get',onComplete:function(r){if(!Windows.getWindow(win_id))
return false;new Insertion.Bottom(win.getContent(),r.responseText);setTimeout(function(){if(!notShow)
{Windows.getWindow(win_id).showCenter(true);famundoApplication.updateModalWindowSize2(win_id);famundoApplication.setOverlayOpacity();}},1);}}
var myAjax=new Ajax.Request(ajax_url,options);}
if(!notShow)
$(win_id).style.visibility="visible";if(!noFlick)
famundoApplication.fixCursorFlicker();return win;},closeModalWindow:function(id,warningMess)
{var win_id=id||'famundoModalWindow';if($(win_id))
{famundoDropDates.destroyDropDatesOf($(win_id));famundoApplication.fixCursorFlicker('after');Windows.close(win_id);Windows.getWindow(win_id).destroy();if(Windows.windows.length>1||(Windows.windows.length==1&&!Windows.getWindow('cfg_window')))
{famundoApplication.fixCursorFlicker();WindowUtilities.disableScreen(Windows.windows[Windows.windows.length-1].options.className,'overlay_modal',Windows.windows[Windows.windows.length-1].getId());}}
famundoApplication.setModalWindowZIndex();if(warningMess)
famundoApplication.openWarningWindow('',warningMess);},closeAllModalWindows:function()
{var w=Windows.windows;for(var i=0;i<w.length;i++)
{Windows.close(w[i].getId());Windows.getWindow(w[i].getId()).destroy();}},updateModalWindowSize:function(id)
{var win_id=id||'famundoModalWindow';if(Windows.getWindow(win_id))
{Windows.getWindow(win_id).updateHeight();Windows.getWindow(win_id).updateWidth();Windows.getWindow(win_id)._recenter();}},updateModalWindowSize2:function(id)
{id=id||'famundoModalWindow';var me=this;if(famundoUtils.isIE||famundoUtils.isSafari)
setTimeout(function(){me.famundoWindowUpdate(id)},10);else
me.famundoWindowUpdate(id);},famundoWindowUpdate:function(id)
{var win_id=id||'famundoModalWindow';if($(win_id))
{$(win_id).style.visibility="visible";var win=Windows.getWindow(win_id);Element.cleanWhitespace(win.getContent());var container=win.getContent().getElementsByTagName('div')[0];$(container).style.height='auto';$(container).style.width='auto';if(!famundoUtils.isIE)
{$(container).setAttribute('old_display',$(container).style.display);$(container).style.display="table-cell";var dim=Element.getDimensions(container);$(container).style.width=dim.width+'px';$(container).style.height=dim.height+'px';}
if(container.getAttribute('minWidth')&&Element.getDimensions(container).width<parseInt(container.getAttribute('minWidth')))
{Element.setStyle(container,{width:$(container).getAttribute('minWidth')+'px'});}
if(container.getAttribute('maxWidth')&&Element.getDimensions(container).width>parseInt(container.getAttribute('maxWidth')))
{Element.setStyle(container,{width:$(container).getAttribute('maxWidth')+'px'});}
if(container.getAttribute('minHeight')&&Element.getHeight(container)<parseInt(container.getAttribute('minHeight')))
{Element.setStyle(container,{height:$(container).getAttribute('minHeight')+'px'});}
if(container.getAttribute('maxHeight')&&Element.getHeight(container)>parseInt(container.getAttribute('maxHeight')))
{Element.setStyle(container,{height:$(container).getAttribute('maxHeight')+'px'});}
if(!famundoUtils.isIE)
$(container).style.display='block';if(domLib_isIE)
{var ie7_width=Element.getStyle(container,'width')==null?Element.getDimensions(container).width:parseInt(Element.getStyle(container,'width'))+3+'px';var ie7_height=Element.getStyle(container,'height')==null?Element.getDimensions(container).height:Element.getStyle(container,'height');win.setSize(ie7_width,ie7_height);if(domLib_isIE7){document.getElementsByClassName('popupHeight',$(container)).each(function(elem){elem.style.height='100%';});}}
else
{var dim=Element.getDimensions(container);win.setSize(dim.width,dim.height);}
win._recenter();$(win_id).style.visibility="visible";}},openConfirmWindow:function(title,content,options)
{var win_id=(options)?options['id']||'famundoModalWindow':'famundoModalWindow';var win=famundoApplication.getModalWindow(title,options);var cont_id=win_id+'_cont';var is_recur=options['recur']?true:false;var zone=document.createElement('div');zone.id=cont_id;zone.style.position="relative";win.getContent().appendChild(zone);zone.setAttribute('maxWidth',500);zone.setAttribute('minWidth',350);zone.setAttribute('minHeight',80);zone.className='famundoPopupFormContent';zone.innerHTML='<div style="padding:5px;text-align:center;font-weight:bold;">'+content+'</div><div style="height:20px;"></div>';var close=function(){famundoApplication.closeModalWindow(win_id);}
if(is_recur){zone.appendChild(famundoApplication.getRecurConfirmWindowButtons(win_id,options));Event.observe($(win_id+'_all_button'),'click',function(){if(options&&options['recur_all_action'])
options['recur_all_action']();close();});Event.observe($(win_id+'_one_button'),'click',function(){if(options&&options['recur_one_action'])
options['recur_one_action']();close();});}
else{zone.appendChild(famundoApplication.getConfirmWindowButtons(win_id,options));Event.observe($(win_id+'_ok_button'),'click',function(){if(options&&options['ok_action'])
options['ok_action']();close();});}
Event.observe($(win_id+'_cancel_button'),'click',function(){if(options&&options['cancel_action'])
options['cancel_action']();close();});win.showCenter(true);famundoApplication.updateModalWindowSize2(win_id);famundoApplication.setOverlayOpacity();famundoApplication.setModalWindowZIndex(win);return win;},openWarningWindow:function(title,content,options)
{var win_id=(options)?options['id']||'famundoModalWindow':'famundoModalWindow';if(!title)
title="Warning";var win=famundoApplication.getModalWindow(title,{'className':'famundo_warning'});var cont_id=win_id+'_cont';var zonec=document.createElement('div');zonec.id=cont_id;zonec.style.position="relative";win.getContent().appendChild(zonec);zonec.setAttribute('maxWidth',500);zonec.setAttribute('minWidth',350);zonec.setAttribute('minHeight',80);zonec.className='famundoPopupFormContent';zonec.innerHTML="<div class='famundoPopupForm' id='win_warning' style='padding:5px;text-align:center;'>"+content+"</div><div style='height:10px;'></div>";var zone=document.createElement('div');zone.id=win_id+'_buttons';zone.style.position='absolute';zone.style.bottom='10px';zone.style.right='10px';var ok_button=famundoApplication.famundoButton('Ok','float_right','50');ok_button.id=win_id+'_ok_button';ok_button.style.margin='0px 5px';zone.appendChild(ok_button);zonec.appendChild(zone);var close=function(){Windows.close(win_id);win.destroy();}
Event.observe($(win_id+'_ok_button'),'click',function(){if(options&&options['ok_action'])
options['ok_action']();close();});win.showCenter(true);famundoApplication.updateModalWindowSize2();famundoApplication.setOverlayOpacity();return win;},setModalWindowZIndex:function(win)
{if(win)
{if($('overlay_modal'))
{win.setZIndex(Windows.maxZIndex+20);Element.setStyle($('overlay_modal'),{zIndex:Windows.maxZIndex-1});}}
else
{var w=Windows.windows;var max_zindex=0;for(var i=0;i<w.length;i++)
{var z=Element.getStyle($(w[i].element),'z-index')||0;if(z>max_zindex)
max_zindex=z}
if(max_zindex>0&&$('overlay_modal'))
Element.setStyle($('overlay_modal'),{zIndex:max_zindex-1});}},setOverlayOpacity:function()
{if(FamundoMainUtils.getOS()=='Linux')
Element.removeClassName($('overlay_modal'),'overlay_mac_os_x');},getConfirmWindowButtons:function(win_id,options)
{var ok_label=(options&&options['ok_label'])?options['ok_label']:'Ok';var ok_size=(options&&options['ok_size'])?options['ok_size']:50;var cancel_label=(options&&options['cancel_label'])?options['cancel_label']:'Cancel';var cancel_size=(options&&options['cancel_size'])?options['cancel_size']:50;var zone=document.createElement('div');zone.id=win_id+'_buttons';zone.style.position='absolute';zone.style.bottom='10px';zone.style.right='10px';var ok_button=famundoApplication.famundoButton(ok_label,'float_right',ok_size);ok_button.id=win_id+'_ok_button';ok_button.style.margin='0px 5px';var cancel_button=famundoApplication.famundoButton(cancel_label,'float_right',cancel_size);cancel_button.id=win_id+'_cancel_button';zone.appendChild(cancel_button);zone.appendChild(ok_button);return zone;},getRecurConfirmWindowButtons:function(win_id,options)
{var all_label=(options&&options['all_label'])?options['all_label']:'All instances';var all_size=(options&&options['all_size'])?options['all_size']:80;var one_label=(options&&options['one_label'])?options['one_label']:'This instance';var one_size=(options&&options['one_size'])?options['one_size']:80;var cancel_label=(options&&options['cancel_label'])?options['cancel_label']:'Cancel';var cancel_size=(options&&options['cancel_size'])?options['cancel_size']:50;var zone=document.createElement('div');zone.id=win_id+'_buttons';zone.style.position='absolute';zone.style.bottom='10px';zone.style.right='10px';var all_button=famundoApplication.famundoButton(all_label,'float_right',all_size);all_button.id=win_id+'_all_button';all_button.style.margin='0px 5px';var one_button=famundoApplication.famundoButton(one_label,'float_right',one_size);one_button.id=win_id+'_one_button';one_button.style.margin='0px 5px';var cancel_button=famundoApplication.famundoButton(cancel_label,'float_right',cancel_size);cancel_button.id=win_id+'_cancel_button';zone.appendChild(cancel_button);zone.appendChild(one_button);zone.appendChild(all_button);return zone;},fixCursorFlicker:function(phase)
{if(!famundoUtils.isIE&&!famundoUtils.isSafari)
{if(!phase||phase=='before')
{if(famundoOverflowElements===false)
{famundoOverflowElements=new Array();var all=document.body.getElementsByTagName('*');for(var i=0;i<all.length;i++)
{var s=FamundoMainUtils.getStyle($(all[i]),'overflow');if(s=='auto'||s=='scroll')
{if(!$(all[i]).getAttribute('id'))
$(all[i]).setAttribute('id',FamundoMainUtils.generateId());famundoOverflowElements.push({id:$(all[i]).getAttribute('id'),overflow:s,width:$(all[i]).style.width});$(all[i]).style.overflow='hidden';$(all[i]).style.width=Element.getDimensions($(all[i])).width-15+'px';}}}
else
{for(var i=0;i<famundoOverflowElements.length;i++)
{if($(famundoOverflowElements[i]['id'])&&$(famundoOverflowElements[i]['id']).parentNode)
{famundoOverflowElements[i]['overflow']=FamundoMainUtils.getStyle($(famundoOverflowElements[i]['id']),'overflow');$(famundoOverflowElements[i]['id']).style.overflow='hidden';$(famundoOverflowElements[i]['id']).style.width=Element.getDimensions($(famundoOverflowElements[i]['id'])).width-15+'px';}
else
{famundoOverflowElements=false;famundoApplication.fixCursorFlicker('before');break;}}}}
if(phase=='after')
{for(var i=0;i<famundoOverflowElements.length;i++)
if($(famundoOverflowElements[i]['id']))
{$(famundoOverflowElements[i]['id']).style.overflow=famundoOverflowElements[i]['overflow'];$(famundoOverflowElements[i]['id']).style.width=famundoOverflowElements[i]['width'];}}}},bookmark:function(url,title)
{var url=url||window.location.href;var title=title||'';if(document.all)
window.external.AddFavorite(url,title);else
window.sidebar.addPanel(title,url,'');},test:function(e)
{return true;}}
var famundoHeaderUserList={callBackProc:null,callBackParam:null,setCallBack:function(proc,param)
{famundoHeaderUserList.callBackProc=proc;famundoHeaderUserList.callBackParam=param;},callCallback:function(user_id)
{if(famundoHeaderUserList.callBackProc)
famundoHeaderUserList.callBackProc(user_id,famundoHeaderUserList.callBackParam);}};var famundoForms={opened:[],inpageFormClassName:'famundoInpageForm',popupFormClassName:'famundoPopupForm',elementClassName:'famundoFormElement',createForms:function()
{if(!$('calendar_grid_box'))
if(!$('upgradeForm'))
famundoForms.createInpageForms();else
famundoForms.createInpageForms(true);else
famundoForms.createPopupForms();},disableSubmitButton:function(bid,fid)
{if(!fid)
{fid=famundoUtils.ascendDOM($(bid),'form').id;}
famundoForms.setFormValidation(fid,"disableButton('"+bid+"')");},setFormValidation:function(id,func)
{var subm=$(id).getAttribute('onsubmit');if(!subm)
subm="submit()";if(!FamundoMainUtils.isIE)
{var onsub='if (!'+func+') return false; else {'+subm+'; return false;}';$(id).setAttribute('onsubmit',onsub);$(id).setAttribute('original_submit',subm);}
else
{var onsub='checkSubmit("'+func+'")';$(id).original_submit=$(id).getAttribute('onsubmit')||function(){this.submit();};$(id).onsubmit=function(){if(eval(onsub)){this.original_submit();}return false;};}},getFunctionBody:function(str)
{var startIndex=str.indexOf("{");if(startIndex<0)
return false;var lastIndex=str.lastIndexOf("}");if(lastIndex<0)
return false;return str.slice(startIndex+2,lastIndex-1);},createInpageForms:function(noBg)
{document.getElementsByClassName('openFamundoInpageForm',$('div_content_data')).each(function(elem)
{var menu=famundoUtils.ascendDOMtoClass(elem,'famundoActionsMenu');if(menu)
{Event.observe(elem,'click',function(){Element.addClassName($(menu),'visibility_hidden');});document.getElementsByClassName('closeFamundoInpageForm',elem.getAttribute('openFamundoInpageForm')).each(function(btn)
{Event.observe(btn,'click',function(){Element.removeClassName($(menu),'visibility_hidden');});});}});famundoForms.setElements(famundoForms.inpageFormClassName,noBg);},createInpageForm:function(f,noBg)
{famundoForms.setFormElements(f,noBg);FamundoMainUtils.stopTT();},createPopupForms:function()
{return false;},createPopupForm:function(f,popup_settings,noBg)
{frmBGCOLOR=famundoApplication.getThemeBorderColor();famundoForms.setFormElements(f,noBg);},closeInpageForm:function(e,elem,skip_adjust_layout,skip_close_form)
{var f=$(elem)||famundoUtils.ascendDOMtoClass(Event.element(e),famundoForms.inpageFormClassName);var effect_duration=0.75;var close_form=function()
{famundoForms.opened=[];Effect.BlindUp(f,{duration:effect_duration});}
var elements_settings=function()
{var forms=f.getElementsByTagName('form');famundoDropDate=famundoDropDate||false;for(var i=0;i<forms.length;i++)
{forms[i].reset();var elems=forms[i].getElementsByTagName('*');for(var j=0;j<elems.length;j++)
{if(famundoDropDate&&famundoDropDate.prototype.isFamundoDropDateInput(elems[j]))
{var p=famundoDropDate.prototype.getFamundoDropDate(elems[j]).parentNode;p.innerHTML='';famundoDropDate.initDateDropElemant(p.id);if(!p.getAttribute('selected_date'))
{famundoDropDate.setCurrentDate(p.id);}}
if(Element.hasClassName(elems[j],'famundoFormVisibleZone'))
{Element.removeClassName(elems[j],'form_zone_h');}
if(Element.hasClassName(elems[j],'famundoFormHiddenZone'))
{Element.addClassName(elems[j],'form_zone_h');}}}}
var update_layout=function()
{famundoApplication.adjust_layout();famundoApplication.adjust_page();}
if(!skip_close_form)
famundoActions.add({func:close_form,action_type:'parallel',duration:effect_duration*1000});famundoActions.add({func:elements_settings,action_type:'secvential'});if(!skip_adjust_layout)
famundoActions.add({func:update_layout,action_type:'secvential'});},resetInpageForm:function(e,elem,skip_adjust_layout)
{famundoForms.closeInpageForm(e,elem,skip_adjust_layout,true);},setElements:function(form_class,noBg)
{document.getElementsByClassName(form_class,$('div_content_data')).each(function(f)
{famundoForms.setFormElements(f,noBg);});},setFormElements:function(f,noBg)
{if(!$(f))return false;var frm=$(f).getElementsByTagName('form')[0]||famundoUtils.ascendDOM($(f),'form');var el=($(frm)?$(frm).elements:null);if(el)
{for(var i=0;i<el.length;i++)
{if(el[i].type&&famundoUtils.inArray(['button','submit','checkbox','radio','image'],el[i].type.toLowerCase())=='-1')
{famundoForms.setFormElement(el[i]);}}}
if(!noBg)
famundoForms.setFormBg(f);if(frm&&!Element.hasClassName(f,'display_none')&&!Element.hasClassName(f,'visibility_hidden')&&Element.visible(f))
{setTimeout(function(){famundoForms.focusFirstElement(frm);},1);}},setFormElement:function(elem)
{famundoForms.onBlurElement(false,elem);Event.observe(elem,'focus',famundoForms.onFocusElement);Event.observe(elem,'blur',famundoForms.onBlurElement);},displayInpageForm:function(f,noBg)
{if(!Element.visible(f)||Element.hasClassName(f,'display_none')||Element.hasClassName(f,'visibility_hidden'))
{var f_h=Element.getHeight($(f));var effect_duration=0.75;var prepare=function()
{famundoForms.opened[0]=$(f).id;Element.hide(f);Element.removeClassName(f,'visibility_hidden');Element.removeClassName(f,'display_none');}
var open_form=function()
{if(famundoUtils.isSafari)
Element.show(f);else
Effect.BlindDown(f,{duration:effect_duration});}
var elements_settings=function()
{famundoForms.setFormElements(f,noBg);document.getElementsByClassName('famundoFCKEditor',f).each(function(elem)
{if(!FCKeditorAPI||!FCKeditorAPI.GetInstance(elem.id)||FCKeditorAPI.GetInstance(elem.id).Status==0)
{famundoApplication.FCKEditor.init(elem.id,FamundoMainUtils.isHTML($(elem.id).value));}});}
var update_layout=function()
{famundoApplication.adjust_layout();if(adjust_page)
{adjust_page();}
else
{famundoApplication.adjust_page();}}
if(famundoForms.opened[0])
famundoForms.closeInpageForm('',famundoForms.opened[0],true);famundoActions.add({func:prepare,action_type:'secvential'});famundoActions.add({func:open_form,action_type:'parallel',duration:effect_duration*1000});famundoActions.add({func:elements_settings,action_type:'secvential'});famundoActions.add({func:update_layout,action_type:'secvential'});}
return false;},displayInpageForm2:function(e)
{famundoForms.displayInpageForm($(Event.element(e).getAttribute('openFamundoInpageForm')));Event.stop(e);},onFocusElement:function(e,elem)
{var el=elem||Event.element(e);if(!el)return;var color=famundoApplication.getThemeBorderColor();if(FamundoMainUtils.isIE)
{if(el.tagName!='SELECT')
{el.setAttribute('old_bordercolor',Element.getStyle(el,'border-color'));el.style.border='1px solid '+color[1];}}
else
{el.style.border='0px';el.style.outline='1px solid '+color[1];}},onBlurElement:function(e,elem)
{var el=elem||Event.element(e);if(frmBGCOLOR=='')
frmBGCOLOR=famundoApplication.getThemeBorderColor();var color=frmBGCOLOR;if(FamundoMainUtils.isIE)
{if(el.tagName!='SELECT')
{el.style.border='1px solid '+color[0];}}
else
{el.style.border='0px';el.style.outline='1px solid '+color[0];}},setFormBg:function(f)
{var h=Element.getHeight(f);famundoForms.removeFormBg(f);if(h<150)
Element.addClassName($(f),'famundoInpageFormBg_150');else
if(h<300)
Element.addClassName($(f),'famundoInpageFormBg_300');else
Element.addClassName($(f),'famundoInpageFormBg_450');},removeFormBg:function(f)
{Element.removeClassName($(f),'famundoInpageFormBg_150');Element.removeClassName($(f),'famundoInpageFormBg_300');Element.removeClassName($(f),'famundoInpageFormBg_450');},focusFirstElement:function(f)
{var e=f.elements;for(var i=0;i<e.length;i++)
{if(e[i].type!='hidden'&&!e[i].disabled&&['input','select','textarea'].include(e[i].tagName.toLowerCase()))
{try
{Field.activate(e[i]);}
catch(err){}
break;}}}}
function famundoEvalScripts(t)
{if(t)
eval(t);}
function famundoBlankHtml()
{return'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" '+' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > '+' <html xmlns="http://www.w3.org/1999/xhtml"><body></body></html>';}
function buildSetupMenu(e,isParent,isOrgMode)
{var links=[{'label':famundoSetupMenuText.menuMySet,'action':'window.open(\''+famundoSetupUrl.user_settings_url+'\',\'_self\');'},{'label':famundoSetupMenuText.menuPasswd,'action':'window.open(\''+famundoSetupUrl.user_settings_password_url+'\',\'_self\');'}];if(isParent)
{if(isOrgMode)
links=[{'label':famundoSetupMenuText.menuOrgSet,'action':'window.open(\''+famundoSetupUrl.org_settings_url+'\',\'_self\');'}].concat(links);else
links=[{'label':famundoSetupMenuText.menuFamSet,'action':'window.open(\''+famundoSetupUrl.family_settings_url+'\',\'_self\');'}].concat(links);}
FamundoMainUtils.buildTT_menu(e,links,false);}
function buildLogoutMenu(e)
{var links=[{'label':famundoSetupMenuText.menuLogout,'action':'window.open(\''+famundoLogin.logout_logout+'\',\'_self\');'},{'label':famundoSetupMenuText.menuReLogin,'action':'window.open(\''+famundoLogin.logout_relogin+'\',\'_self\');'}];FamundoMainUtils.buildTT_menu(e,links,false);}
function write2notice(text,notice_type,nt,f)
{var notice_type=notice_type||'';$('notice').className='';switch(notice_type)
{case'error':Element.addClassName($('notice'),'notice_error');break;case'warning':Element.addClassName($('notice'),'notice_warning');break;case'normal':Element.addClassName($('notice'),'notice_normal');break;case'notice':Element.addClassName($('notice'),'notice_notice');break;default:Element.addClassName($('notice'),'notice_normal');}
if(text)
{Element.update("notice_text",text);if(header_promos)
{header_promos.stop();Element.hide($('famundo_promos'));}
Element.removeClassName($('notice'),'display_none');Element.show($('notice'));Element.scrollTo($('notice'))
if(notice_thread_id)
{window.clearTimeout(notice_thread_id);}
notice_thread_id=setTimeout(function(){write2notice(null,null,notice_thread_id,f);},15000);}
else
{notice_thread_id=null;Element.hide($('notice'));if(header_promos)
{Element.show($('famundo_promos'));header_promos.play();}}
if(!f)
{famundoApplication.adjust_page();famundoApplication.adjust_layout();}
else
{f();}}
function validateViewAccess(editID,viewID)
{var elemEdit=$(editID);var elemView=$(viewID);var editIndex=elemEdit.selectedIndex;var viewIndex=elemView.selectedIndex;editValue=parseInt(elemEdit[editIndex].value);viewValue=parseInt(elemView[viewIndex].value);var min_share=0;switch(editValue)
{case 100:min_share=100;break;case 200:min_share=120;break;case 300:min_share=130;break;case 400:min_share=140;break;}
if(min_share>0&&viewValue<min_share)
{for(var i=0;i<elemView.length;i++)
{if(parseInt(elemView[i].value)==min_share)
{elemView[i].selected='1';break;}}}}
function validateEditAccess(editID,viewID)
{var elemEdit=$(editID);var elemView=$(viewID);var editIndex=elemEdit.selectedIndex;var viewIndex=elemView.selectedIndex;editValue=parseInt(elemEdit[editIndex].value);viewValue=parseInt(elemView[viewIndex].value);var min_edit=0;switch(viewValue)
{case 100:min_edit=100;break;case 120:min_edit=200;break;case 130:min_edit=300;break;case 140:min_edit=400;break;}
if(min_edit>0&&editValue>min_edit)
{for(var i=0;i<elemEdit.length;i++)
{if(parseInt(elemEdit[i].value)==min_edit)
{elemEdit[i].selected='1';break;}}}}
function show_google_map(from_loc,dest_loc,dest_id)
{var dest_elem=$(dest_id);if(dest_loc.rtrim()==""&&dest_elem)
dest_loc=dest_elem.value.rtrim();if(dest_loc=="")
{alert("The destination is not given.  Please enter one and try again.");return false;}
dest_loc.replace(/^^/g,"'");var re=new RegExp(/^\([^\0\t\n\v\f\r]*\)/);var match=re.exec(dest_loc);if(match!=null)
{dest_loc=dest_loc.replace(match,"");dest_loc=dest_loc.trim();dest_loc+=" "+match;}
dest_loc=dest_loc.replace("#","");var from_loc=from_loc.rtrim();var url="http://maps.google.com/maps?";var do_direction=(from_loc!="");if(do_direction)
url+="saddr="+from_loc+"&daddr="+dest_loc;else
url+="q="+dest_loc;window.open(url);return false;}
var detect=navigator.userAgent.toLowerCase();var OS,browser,version,total,thestring;var popups=new Array();var obj_popups=new Array();function getBrowserInfo(){if(checkIt('konqueror')){browser="Konqueror";OS="Linux";}
else if(checkIt('safari'))browser="Safari"
else if(checkIt('omniweb'))browser="OmniWeb"
else if(checkIt('opera'))browser="Opera"
else if(checkIt('webtv'))browser="WebTV";else if(checkIt('icab'))browser="iCab"
else if(checkIt('msie'))browser="Internet Explorer"
else if(!checkIt('compatible')){browser="Netscape Navigator"
version=detect.charAt(8);}
else browser="An unknown browser";if(!version)version=detect.charAt(place+thestring.length);if(!OS){if(checkIt('linux'))OS="Linux";else if(checkIt('x11'))OS="Unix";else if(checkIt('mac'))OS="Mac"
else if(checkIt('win'))OS="Windows"
else OS="an unknown operating system";}}
function getActionFunction(){var get_action=function(url,window_type,params,title,text){if(window_type=='confirm')
{var ajx="new Ajax.Request('"+url+"',{parameters:'"+params+"',evalScripts:true,method:'post'}); ";return"famundoApplication.openConfirmWindow('"+title.replace(/'/g,' ').replace(/"/g,'\\\'')+"','"+text+"',{ok_action:function() { "+ajx+" } ,ok_label:famundoGenText.yes, cancel_label:famundoGenText.no})";}
else if(window_type=='confirm_recur'||window_type=='edit_recur')
{if(window_type=='confirm_recur')
{var all_ajx="new Ajax.Request('"+url+"',{parameters:'"+params+"&all=1',evalScripts:true,method:'post'}); ";var one_ajx="new Ajax.Request('"+url+"',{parameters:'"+params+"',evalScripts:true,method:'post'}); ";}
else
{var all_ajx="new Ajax.Updater(famundoApplication.openModalWindow(false,false,false,true).getContent(),'"+url+"',{parameters:'"+params+"&all=1', evalScripts:true,method:'get', onComplete:function() {Windows.getWindow('famundoModalWindow').showCenter(true);famundoApplication.setOverlayOpacity();setTimeout(function() {famundoApplication.updateModalWindowSize2();},1)} })";var one_ajx="new Ajax.Updater(famundoApplication.openModalWindow(false,false,false,true).getContent(),'"+url+"',{parameters:'"+params+"', evalScripts:true,method:'get', onComplete:function() {Windows.getWindow('famundoModalWindow').showCenter(true);famundoApplication.setOverlayOpacity();setTimeout(function() {famundoApplication.updateModalWindowSize2();},1)} })";}
return"famundoApplication.openConfirmWindow('"+title.replace(/'/g,' ').replace(/"/g,'\\\'')+"','"+text+"',{recur_one_action:function() { "+one_ajx+" }, recur_all_action:function() { "+all_ajx+" } ,all_label:famundoGenText.all_instances, one_label:famundoGenText.one_instance, cancel_label:famundoGenText.cancel, recur:true, id:'ConfirmModalDlg'})";}
else
{return"new Ajax.Updater(famundoApplication.openModalWindow(false,false,false,true).getContent(),'"+url+"',{parameters:'"+params+"', evalScripts:true,method:'get', onComplete:function() {Windows.getWindow('famundoModalWindow').showCenter(true);famundoApplication.setOverlayOpacity();setTimeout(function() {famundoApplication.updateModalWindowSize2();},1)} })"}}
return get_action;}
function checkIt(string){place=detect.indexOf(string)+1;thestring=string;return place;}
function reminderShowMore(theID)
{Element.removeClassName($('assign_to_'+theID),'display_none');Element.removeClassName($('access_edit_wrapper_'+theID),'display_none');Element.addClassName('show_more_'+theID,'display_none');Element.removeClassName('make_simple_'+theID,'display_none');famundoApplication.adjust_layout();if(Windows.getWindow('alarm_reminder'))
setTimeout(function(){famundoApplication.updateModalWindowSize2('alarm_reminder');},1);}
function reminderShowLess(theID)
{Element.addClassName($('assign_to_'+theID),'display_none');Element.addClassName($('access_edit_wrapper_'+theID),'display_none');Element.removeClassName('show_more_'+theID,'display_none');Element.addClassName('make_simple_'+theID,'display_none');famundoApplication.adjust_layout();if(Windows.getWindow('alarm_reminder'))
setTimeout(function(){famundoApplication.updateModalWindowSize2('alarm_reminder');},1);}
function onThemeChanged(theme_selection_id,big_version)
{var elemTheme=$(theme_selection_id);var themeIndex=elemTheme.selectedIndex;var themeId=parseInt(elemTheme[themeIndex].value);var url=famundoSetupUrl.user_theme_selection_changed;var pars="/"+themeId+"?big_version="+(big_version?'1':'0');new Ajax.Request(url+pars,{method:'get',asynchronous:true,evalScripts:true});}
function previewHoover(cell,isOut)
{var ix=cell.getAttribute('index');var tbl=famundoUtils.ascendDOM(cell,'table');var column_cells=document.getElementsByClassName('colnr'+ix,tbl);for(var i=0;i<column_cells.length;i++)
{if(isOut)
{Element.removeClassName(column_cells[i],'td_highlight_alt');Element.removeClassName(column_cells[i],'td_highlight');Element.removeClassName(column_cells[i],'td_highlight_first');}
else
{var row=famundoUtils.ascendDOM(column_cells[i],'tr');if(Element.hasClassName(row,'row_preview_alt'))
Element.addClassName(column_cells[i],'td_highlight');else
Element.addClassName(column_cells[i],'td_highlight_alt');if(Element.hasClassName(column_cells[i],'col_header1')||Element.hasClassName(column_cells[i],'col_header2'))
Element.addClassName(column_cells[i],'td_highlight_first');}}}
var FamundoBox={expand:function(trigger,content)
{var content=$(content);var trigger=$(trigger);if(content&&trigger)
{Element.removeClassName(content,'display_none');Element.addClassName(content,'display_block');Element.removeClassName(trigger,'ec_arrow_right');Element.addClassName(trigger,'ec_arrow_down');trigger.setAttribute('title','Click to close');Element.removeClassName(content.parentNode,'height_auto');}},collapse:function(trigger,content)
{var content=$(content);var trigger=$(trigger);if(content&&trigger)
{Element.removeClassName(content,'display_block');Element.addClassName(content,'display_none');Element.removeClassName(trigger,'ec_arrow_down');Element.addClassName(trigger,'ec_arrow_right');trigger.setAttribute('title','Click to open');Element.addClassName(content.parentNode,'height_auto');}},toggle:function(trigger,content)
{(Element.hasClassName(content,'display_none'))?this.expand(trigger,content):this.collapse(trigger,content);}}
function initTogle(idall,item_class,item_container)
{Event.observe($(idall),'click',function(e,idpar,itclass,container){togleChecks(e,idall,item_class,item_container);});var items=document.getElementsByClassName(item_class,item_container);for(var i=0;i<items.length;i++)
{addChecksEvnt(items[i],idall,item_container);}}
function addChecksEvnt(objct,idall,item_container)
{Event.observe(objct,'click',function(e,obj,idpar,container){verifyChecks(e,objct,idall,item_container);});}
function verifyChecks(e,obj,idall,item_container)
{var chk=obj.checked;var vb=true;var items=document.getElementsByClassName(obj.className,item_container);for(var i=0;i<items.length;i++)
{if(items[i]&&items[i].checked!=chk)
{$(idall).checked=false;vb=false;break;}}
if(vb)
$(idall).checked=chk;}
function togleChecks(e,idall,item_class,item_container)
{var chk=$(idall).checked;var items=document.getElementsByClassName(item_class,item_container);for(var i=0;i<items.length;i++)
{if(items[i])
items[i].checked=chk;}}
var Window=Class.create();Window.prototype={initialize:function(id){if($(id))
alert("Window "+id+" is already register is the DOM!!, be sure to use setDestroyOnClose()")
this.hasEffectLib=String.prototype.parseColor!=null;this.options=Object.extend({className:"dialog",minWidth:100,minHeight:20,resizable:true,closable:true,minimizable:true,maximizable:true,draggable:true,userData:null,showEffect:(this.hasEffectLib?Effect.Appear:Element.show),hideEffect:(this.hasEffectLib?Effect.Fade:Element.hide),showEffectOptions:{},hideEffectOptions:{},effectOptions:null,parent:document.getElementsByTagName("body").item(0),title:"&nbsp;",url:null,onload:Prototype.emptyFunction,width:200,height:100,opacity:1},arguments[1]||{});if(this.options.effectOptions){Object.extend(this.options.hideEffectOptions,this.options.effectOptions);Object.extend(this.options.showEffectOptions,this.options.effectOptions);}
if(this.options.hideEffect==Element.hide)
this.options.hideEffect=function(){Element.hide(this.element);if(this.destroyOnClose)
this.destroy();}.bind(this)
this.element=this._createWindow(id);this.eventMouseDown=this._initDrag.bindAsEventListener(this);this.eventMouseUp=this._endDrag.bindAsEventListener(this);this.eventMouseMove=this._updateDrag.bindAsEventListener(this);this.eventKeyPress=this._keyPress.bindAsEventListener(this);this.eventOnLoad=this._getWindowBorderSize.bindAsEventListener(this);this.eventMouseDownContent=this.toFront.bindAsEventListener(this);this.eventResize=this._recenter.bindAsEventListener(this);this.topbar=$(this.element.id+"_top");this.bottombar=$(this.element.id+"_bottom");this.content=$(this.element.id+"_content");Event.observe(this.topbar,"mousedown",this.eventMouseDown);Event.observe(this.bottombar,"mousedown",this.eventMouseDown);Event.observe(this.content,"mousedown",this.eventMouseDownContent);Event.observe(window,"load",this.eventOnLoad);Event.observe(window,"resize",this.eventResize);if(this.options.draggable){this.bottombar.addClassName("bottom_draggable");this.topbar.addClassName("top_draggable");}
if(this.options.resizable){this.sizer=$(this.element.id+"_sizer");Event.observe(this.sizer,"mousedown",this.eventMouseDown);}
this.useLeft=null;this.useTop=null;if(arguments[1].left!=null){this.element.setStyle({left:parseFloat(arguments[1].left)+'px'});this.useLeft=true;}
if(arguments[1].right!=null){this.element.setStyle({right:parseFloat(arguments[1].right)+'px'});this.useLeft=false;}
if(this.useLeft==null){this.element.setStyle({left:"0px"});this.useLeft=true;}
if(arguments[1].top!=null){this.element.setStyle({top:parseFloat(arguments[1].top)+'px'});this.useTop=true;}
if(arguments[1].bottom!=null){this.element.setStyle({bottom:parseFloat(arguments[1].bottom)+'px'});this.useTop=false;}
if(this.useTop==null){this.element.setStyle({top:"0px"});this.useTop=true;}
this.storedLocation=null;this.setOpacity(this.options.opacity);if(this.options.zIndex)
this.setZIndex(this.options.zIndex);this.destroyOnClose=false;this._getWindowBorderSize();this.width=this.options.width;this.height=this.options.height;if(this.width&&this.height)
this.setSize(this.options.width,this.options.height);this.setTitle(this.options.title);Windows.register(this);},destroy:function(){Windows.notify("onDestroy",this);Event.stopObserving(this.topbar,"mousedown",this.eventMouseDown);Event.stopObserving(this.bottombar,"mousedown",this.eventMouseDown);Event.stopObserving(this.content,"mousedown",this.eventMouseDownContent);Event.stopObserving(window,"load",this.eventOnLoad);Event.stopObserving(window,"resize",this.eventResize);Event.stopObserving(window,"scroll",this.eventResize);Event.stopObserving(this.content,"load",this.options.onload);if(this.sizer)
Event.stopObserving(this.sizer,"mousedown",this.eventMouseDown);if(this.options.url)
this.content.src=null;if(this.iefix)
Element.remove(this.iefix);Element.remove(this.element);Windows.unregister(this);},setDelegate:function(delegate){this.delegate=delegate;},getDelegate:function(){return this.delegate;},getContent:function(){return this.content;},setContent:function(id,autoresize,autoposition){var d=null;var p=null;if(autoresize)
d=Element.getDimensions(id);if(autoposition)
p=Position.cumulativeOffset($(id));var content=this.getContent();content.appendChild($(id));$(id).show();if(autoresize)
this.setSize(d.width,d.height);if(autoposition)
this.setLocation(p[1]-this.heightN,p[0]-this.widthW);},setAjaxContent:function(url,options,showCentered,showModal){this.showFunction=showCentered?"showCenter":"show";this.showModal=showModal||false;if(options==null)
options={};this.onComplete=options.onComplete;options.onComplete=this._setAjaxContent.bind(this);new Ajax.Request(url,options);},_setAjaxContent:function(originalRequest){this.getContent().innerHTML=originalRequest.responseText;if(this.onComplete)
this.onComplete(originalRequest);this[this.showFunction](this.showModal)},setCookie:function(name,expires,path,domain,secure){name=name||this.element.id;this.cookie=[name,expires,path,domain,secure];var value=WindowUtilities.getCookie(name)
if(value){var values=value.split(',');var x=values[0].split(':');var y=values[1].split(':');var w=parseFloat(values[2]),h=parseFloat(values[3]);var mini=values[4];var maxi=values[5];this.setSize(w,h);if(mini=="true")
this.doMinimize=true;else
if(maxi=="true")
this.doMaximize=true;this.useLeft=x[0]=="l";this.useTop=y[0]=="t";this.element.setStyle(this.useLeft?{left:x[1]}:{right:x[1]});this.element.setStyle(this.useTop?{top:y[1]}:{bottom:y[1]});}},getId:function(){return this.element.id;},setDestroyOnClose:function(){Object.extend(this.options.hideEffectOptions,{afterFinish:this.destroy.bind(this)});this.destroyOnClose=true;},_initDrag:function(event){this.pointer=[Event.pointerX(event),Event.pointerY(event)];if(Event.element(event)==this.sizer){this.doResize=true;this.widthOrg=this.width;this.heightOrg=this.height;this.bottomOrg=parseFloat(this.element.getStyle('bottom'));this.rightOrg=parseFloat(this.element.getStyle('right'));Windows.notify("onStartResize",this);}
else{this.doResize=false;var closeButton=$(this.getId()+'_close');if(closeButton&&Position.within(closeButton,this.pointer[0],this.pointer[1]))
return;this.toFront();if(!this.options.draggable)
return;Windows.notify("onStartMove",this);}
Event.observe(document,"mouseup",this.eventMouseUp,false);Event.observe(document,"mousemove",this.eventMouseMove,false);WindowUtilities.disableScreen('__invisible__','__invisible__');document.body.ondrag=function(){return false;};document.body.onselectstart=function(){return false;};Event.stop(event);},_updateDrag:function(event){var pointer=[Event.pointerX(event),Event.pointerY(event)];var dx=pointer[0]-this.pointer[0];var dy=pointer[1]-this.pointer[1];if(this.doResize){this.setSize(this.widthOrg+dx,this.heightOrg+dy);dx=this.width-this.widthOrg;dy=this.height-this.heightOrg;if(!this.useLeft)
this.element.setStyle({right:(this.rightOrg-dx)+'px'});if(!this.useTop)
this.element.setStyle({bottom:(this.bottomOrg-dy)+'px'});}
else{this.pointer=pointer;if(this.useLeft)
this.element.setStyle({left:parseFloat(this.element.getStyle('left'))+dx+'px'});else
this.element.setStyle({right:parseFloat(this.element.getStyle('right'))-dx+'px'});if(this.useTop)
this.element.setStyle({top:parseFloat(this.element.getStyle('top'))+dy+'px'});else
this.element.setStyle({bottom:parseFloat(this.element.getStyle('bottom'))-dy+'px'});}
if(this.iefix)
this._fixIEOverlapping();this._removeStoreLocation();Event.stop(event);},_endDrag:function(event){WindowUtilities.enableScreen('__invisible__');if(this.doResize)
Windows.notify("onEndResize",this);else
Windows.notify("onEndMove",this);Event.stopObserving(document,"mouseup",this.eventMouseUp,false);Event.stopObserving(document,"mousemove",this.eventMouseMove,false);this._saveCookie();Event.stop(event);document.body.ondrag=null;document.body.onselectstart=null;},_keyPress:function(event){},_createWindow:function(id){var className=this.options.className;var win=document.createElement("div");win.setAttribute('id',id);win.className="dialog";var content;if(this.options.url)
content="<iframe name=\""+id+"_content\"  id=\""+id+"_content\" src=\""+this.options.url+"\"> </iframe>";else
content="<div id=\""+id+"_content\" class=\""+className+"_content\"> </div>";var closeDiv=this.options.closable?"<div class='"+className+"_close' id='"+id+"_close' onmouseup='Windows.close(\""+id+"\")'> </div>":"";var minDiv=this.options.minimizable?"<div class='"+className+"_minimize' id='"+id+"_minimize' onmouseup='Windows.minimize(\""+id+"\")'> </div>":"";var maxDiv=this.options.maximizable?"<div class='"+className+"_maximize' id='"+id+"_maximize' onmouseup='Windows.maximize(\""+id+"\")'> </div>":"";var seAttributes=this.options.resizable?"class='"+className+"_sizer' id='"+id+"_sizer'":"class='"+className+"_se'";win.innerHTML=closeDiv+minDiv+maxDiv+"<table id='"+id+"_row1' class=\"top table_window\"><tr><td class='"+
className+"_nw'>&nbsp;</td> <td class='"+
className+"_n'><div id='"+id+"_top' class='"+
className+"_title title_window'>"+this.options.title+"</div></td><td class='"+
className+"_ne'>&nbsp;</td> </tr> </table><table id='"+id+"_row2' class=\"mid table_window\"><tr> <td class='"+
className+"_w'></td><td id='"+id+"_table_content' class='"+
className+"_content' valign='top'>"+
content+"</td><td class='"+
className+"_e'></td> </tr> </table><table id='"+
id+"_row3' class=\"bot table_window\"> <tr><td class='"+className+"_sw'>&nbsp;</td><td class='"+className+"_s'><div id='"+
id+"_bottom' class='status_bar'>&nbsp;</div></td><td "+
seAttributes+">&nbsp;</td></tr></table>";Element.hide(win);this.options.parent.insertBefore(win,this.options.parent.firstChild);Event.observe($(id+"_content"),"load",this.options.onload);return win;},setLocation:function(top,left){if(top<0)
top=0;if(left<0)
left=0;this.element.setStyle({top:top+'px'});this.element.setStyle({left:left+'px'});this.useLeft=true;this.useTop=true;},getSize:function(){return{width:this.width,height:this.height};},setSize:function(width,height){width=parseFloat(width);height=parseFloat(height);if(width<this.options.minWidth)
width=this.options.minWidth;if(height<this.options.minHeight)
height=this.options.minHeight;if(this.options.maxHeight&&height>this.options.maxHeight)
height=this.options.maxHeight;if(this.options.maxWidth&&width>this.options.maxWidth)
width=this.options.maxWidth;if(Element.getHeight(this.getContent)<this.height)
this.height=Element.getHeight(this.getContent());this.width=width;this.height=height;this.element.setStyle({width:width+this.widthW+this.widthE+"px"});this.element.setStyle({height:height+this.heightN+this.heightS+"px"});var content=$(this.element.id+'_content');content.setStyle({overflow:'hidden'});},updateHeight:function(){this.setSize(this.width,this.content.scrollHeight);},updateWidth:function(){this.setSize(this.content.scrollWidth,this.height);},toFront:function(){Windows.notify("onFocus",this);return;this.setZIndex(Windows.maxZIndex+20);},show:function(modal){if(modal){WindowUtilities.disableScreen(this.options.className,'overlay_modal',this.getId());this.modal=true;this.setZIndex(Windows.maxZIndex+20);Windows.unsetOverflow(this);Event.observe(document,"keypress",this.eventKeyPress);}
if(this.oldStyle)
this.getContent().setStyle({overflow:this.oldStyle});if(!this.width||!this.height){var size=WindowUtilities._computeSize(this.content.innerHTML,this.content.id,this.width,this.height,0)
if(this.height)
this.width=size+5;else
this.height=size+5;}
this.setSize(this.width,this.height);if(this.centered)
this._center(this.centerTop,this.centerLeft);if(this.options.showEffect!=Element.show&&this.options.showEffectOptions)
this.options.showEffect(this.element,this.options.showEffectOptions);else
this.options.showEffect(this.element);this._checkIEOverlapping();Windows.notify("onShow",this);},showCenter:function(modal,top,left){this.centered=true;this.centerTop=top;this.centerLeft=left;this.show(modal);},isVisible:function(){return this.element.visible();},_center:function(top,left){var windowScroll=WindowUtilities.getWindowScroll();var pageSize=WindowUtilities.getPageSize();if(!top)
top=(pageSize.windowHeight-(this.height+this.heightN+this.heightS))/2;top+=windowScroll.top;if(!left)
left=(pageSize.windowWidth-(this.width+this.widthW+this.widthE))/2;left+=windowScroll.left;this.setLocation(top,left);this.toFront();},_recenter:function(event){if(this.modal){var pageSize=WindowUtilities.getPageSize();if($('overlay_modal')){$('overlay_modal').style.height=(pageSize.pageHeight+'px');$('overlay_modal').style.width=(pageSize.pageWidth+'px');}
if(this.centered)
this._center(this.centerTop,this.centerLeft);}},hide:function(){if(this.modal){WindowUtilities.enableScreen();Windows.resetOverflow();Event.stopObserving(document,"keypress",this.eventKeyPress);}
this.oldStyle=this.getContent().getStyle('overflow')||"auto"
this.getContent().setStyle({overflow:"hidden"});this.options.hideEffect(this.element,this.options.hideEffectOptions);if(this.iefix)
this.iefix.hide();Windows.notify("onHide",this);},minimize:function(){var r2=$(this.getId()+"_row2");var dh=r2.getDimensions().height;if(r2.visible()){var h=this.element.getHeight()-dh
r2.hide()
this.element.setStyle({height:h+"px"})
if(!this.useTop){var bottom=parseFloat(this.element.getStyle('bottom'));this.element.setStyle({bottom:(bottom+dh)+'px'});}}
else{var h=this.element.getHeight()+dh;this.element.setStyle({height:h+"px"})
if(!this.useTop){var bottom=parseFloat(this.element.getStyle('bottom'));this.element.setStyle({bottom:(bottom-dh)+'px'});}
r2.show();this.toFront();}
Windows.notify("onMinimize",this);this._saveCookie()},maximize:function(){if(this.storedLocation!=null){this._restoreLocation();if(this.iefix)
this.iefix.hide();}
else{this._storeLocation();Windows.unsetOverflow(this);var windowScroll=WindowUtilities.getWindowScroll();var pageSize=WindowUtilities.getPageSize();this.element.setStyle(this.useLeft?{left:windowScroll.left}:{right:windowScroll.left});this.element.setStyle(this.useTop?{top:windowScroll.top}:{bottom:windowScroll.top});this.setSize(pageSize.windowWidth-this.widthW-this.widthE,pageSize.windowHeight-this.heightN-this.heightS)
this.toFront();if(this.iefix)
this._fixIEOverlapping();}
Windows.notify("onMaximize",this);this._saveCookie()},isMinimized:function(){var r2=$(this.getId()+"_row2");return!r2.visible();},isMaximized:function(){return(this.storedLocation!=null);},setOpacity:function(opacity){if(Element.setOpacity)
Element.setOpacity(this.element,opacity);},setZIndex:function(zindex){this.element.setStyle({zIndex:zindex});Windows.updateZindex(zindex,this);},setTitle:function(newTitle){if(!newTitle||newTitle=="")
newTitle="&nbsp;";Element.update(this.element.id+'_top',newTitle);},setStatusBar:function(element){var statusBar=$(this.getId()+"_bottom");if(typeof(element)=="object"){if(this.bottombar.firstChild)
this.bottombar.replaceChild(element,this.bottombar.firstChild);else
this.bottombar.appendChild(element);}
else
this.bottombar.innerHTML=element;},_checkIEOverlapping:function(){if(!this.iefix&&(navigator.appVersion.indexOf('MSIE')>0)&&(navigator.userAgent.indexOf('Opera')<0)&&(this.element.getStyle('position')=='absolute')){new Insertion.After(this.element.id,'<iframe id="'+this.element.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.element.id+'_iefix');}
if(this.iefix)
setTimeout(this._fixIEOverlapping.bind(this),50);},_fixIEOverlapping:function(){Position.clone(this.element,this.iefix);this.iefix.style.zIndex=this.element.style.zIndex-1;this.iefix.show();},_getWindowBorderSize:function(event){var div=this._createHiddenDiv(this.options.className+"_n");this.heightN=Element.getDimensions(div).height;div.parentNode.removeChild(div);var div=this._createHiddenDiv(this.options.className+"_s");this.heightS=Element.getDimensions(div).height;div.parentNode.removeChild(div);var div=this._createHiddenDiv(this.options.className+"_e");this.widthE=Element.getDimensions(div).width;div.parentNode.removeChild(div);var div=this._createHiddenDiv(this.options.className+"_w");this.widthW=Element.getDimensions(div).width;div.parentNode.removeChild(div);if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
this.setSize(this.width,this.height);if(this.doMaximize)
this.maximize();if(this.doMinimize)
this.minimize();},_createHiddenDiv:function(className){var objBody=document.getElementsByTagName("body").item(0);var win=document.createElement("div");win.setAttribute('id',this.element.id+"_tmp");win.className=className;win.style.display='none';win.innerHTML='';objBody.insertBefore(win,objBody.firstChild);return win;},_storeLocation:function(){if(this.storedLocation==null){this.storedLocation={useTop:this.useTop,useLeft:this.useLeft,top:this.element.getStyle('top'),bottom:this.element.getStyle('bottom'),left:this.element.getStyle('left'),right:this.element.getStyle('right'),width:this.width,height:this.height};}},_restoreLocation:function(){if(this.storedLocation!=null){this.useLeft=this.storedLocation.useLeft;this.useTop=this.storedLocation.useTop;this.element.setStyle(this.useLeft?{left:this.storedLocation.left}:{right:this.storedLocation.right});this.element.setStyle(this.useTop?{top:this.storedLocation.top}:{bottom:this.storedLocation.bottom});this.setSize(this.storedLocation.width,this.storedLocation.height);Windows.resetOverflow();this._removeStoreLocation();}},_removeStoreLocation:function(){this.storedLocation=null;},_saveCookie:function(){if(this.cookie){var value="";if(this.useLeft)
value+="l:"+(this.storedLocation?this.storedLocation.left:this.element.getStyle('left'))
else
value+="r:"+(this.storedLocation?this.storedLocation.right:this.element.getStyle('right'))
if(this.useTop)
value+=",t:"+(this.storedLocation?this.storedLocation.top:this.element.getStyle('top'))
else
value+=",b:"+(this.storedLocation?this.storedLocation.bottom:this.element.getStyle('bottom'))
value+=","+(this.storedLocation?this.storedLocation.width:this.width);value+=","+(this.storedLocation?this.storedLocation.height:this.height);value+=","+this.isMinimized();value+=","+this.isMaximized();WindowUtilities.setCookie(value,this.cookie)}}};var Windows={windows:[],observers:[],focusedWindow:null,maxZIndex:0,addObserver:function(observer){this.removeObserver(observer);this.observers.push(observer);},removeObserver:function(observer){this.observers=this.observers.reject(function(o){return o==observer});},notify:function(eventName,win){this.observers.each(function(o){if(o[eventName])
o[eventName](eventName,win);});},getWindow:function(id){return this.windows.detect(function(d){return d.getId()==id});},getFocusedWindow:function(){return this.focusedWindow;},register:function(win){this.windows.push(win);},unregister:function(win){this.windows=this.windows.reject(function(d){return d==win});},close:function(id){var win=this.getWindow(id);if(win){if(win.getDelegate()&&!win.getDelegate().canClose(win))
return;if($(id+"_close"))
$(id+"_close").onclick=null;if($(id+"_minimize"))
$(id+"_minimize").onclick=null;if($(id+"_maximize"))
$(id+"_maximize").onclick=null;this.notify("onClose",win);win.hide();}},closeAll:function(){this.windows.each(function(w){Windows.close(w.getId())});},minimize:function(id){var win=this.getWindow(id)
if(win)
win.minimize();},maximize:function(id){var win=this.getWindow(id)
if(win)
win.maximize();},unsetOverflow:function(except){this.windows.each(function(d){d.oldOverflow=d.getContent().getStyle("overflow")||"auto";d.getContent().setStyle({overflow:"hidden"})});if(except&&except.oldOverflow)
except.getContent().setStyle({overflow:except.oldOverflow});},resetOverflow:function(){this.windows.each(function(d){if(d.oldOverflow)
d.getContent().setStyle({overflow:d.oldOverflow})});},updateZindex:function(zindex,win){if(zindex>this.maxZIndex)
this.maxZIndex=zindex;this.focusedWindow=win;}};var Dialog={dialogId:null,win:null,onCompleteFunc:null,callFunc:null,parameters:null,confirm:function(content,parameters){if(typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.confirm);return}
parameters=parameters||{};var okLabel=parameters.okLabel?parameters.okLabel:"Ok";var cancelLabel=parameters.cancelLabel?parameters.cancelLabel:"Cancel";var windowParam=parameters.windowParameters||{};windowParam.className=windowParam.className||"alert";okButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" ok_button'"
cancelButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" cancel_button'"
var content="<div class='"+windowParam.className+"_message'>"+content+"</div> <div class='"+windowParam.className+"_buttons'> <input type='button' value='"+
okLabel+"' onclick='Dialog.okCallback()'"+
okButtonClass+"/><input type='button' value='"+
cancelLabel+"' onclick='Dialog.cancelCallback()' "+
cancelButtonClass+"/> </div>";this._openDialog(content,parameters)
return this.win},alert:function(content,parameters){if(typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.alert);return}
parameters=parameters||{};var okLabel=parameters.okLabel?parameters.okLabel:"Ok";var windowParam=parameters.windowParameters||{};windowParam.className=windowParam.className||"alert";okButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" ok_button'"
var content="<div class='"+windowParam.className+"_message'>"+content
+"</div><div class='"+windowParam.className+"_buttons'> <input type='button' value='"+okLabel+"' onclick='Dialog.okCallback()'"+
okButtonClass+"/> </div>";return this._openDialog(content,parameters)},info:function(content,parameters){if(typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.info);return}
parameters=parameters||{};parameters.windowParameters=parameters.windowParameters||{};var className=parameters.windowParameters.className||"alert";var content="<div id='modal_dialog_message' class='"+className+"_message'>"+content+"</div>";if(parameters.showProgress)
content+="<div id='modal_dialog_progress' class='"+className+"_progress'> </div>";parameters.windowParameters.ok=null;parameters.windowParameters.cancel=null;parameters.windowParameters.className=className;return this._openDialog(content,parameters)},setInfoMessage:function(message){$('modal_dialog_message').update(message);},closeInfo:function(){Windows.close(this.dialogId);},_openDialog:function(content,parameters){if(this.win)
this.win.destroy();if(!parameters.windowParameters.height&&!parameters.windowParameters.width){parameters.windowParameters.width=WindowUtilities.getPageSize().pageWidth/2;}
this.dialogId=parameters.id?parameters.id:'modal_dialog';if(!parameters.windowParameters.height||!parameters.windowParameters.width){var size=WindowUtilities._computeSize(content,this.dialogId,parameters.windowParameters.width,parameters.windowParameters.height);if(parameters.windowParameters.height)
parameters.windowParameters.width=size+5;else
parameters.windowParameters.height=size+5;}
var windowParam=parameters&&parameters.windowParameters?parameters.windowParameters:{};windowParam.resizable=windowParam.resizable||false;windowParam.effectOptions=windowParam.effectOptions||{duration:1};windowParam.minimizable=false;windowParam.maximizable=false;windowParam.closable=false;this.win=new Window(this.dialogId,windowParam);this.win.getContent().innerHTML=content;this.win.showCenter(true,parameters.top,parameters.left);this.win.cancelCallback=parameters.cancel;this.win.okCallback=parameters.ok;return this.win;},_getAjaxContent:function(originalRequest){Dialog.callFunc(originalRequest.responseText,Dialog.parameters)},_runAjaxRequest:function(message,parameters,callFunc){if(message.options==null)
message.options={};Dialog.onCompleteFunc=message.options.onComplete;Dialog.parameters=parameters;Dialog.callFunc=callFunc;message.options.onComplete=Dialog._getAjaxContent;new Ajax.Request(message.url,message.options);},okCallback:function(){if(!this.win.okCallback||this.win.okCallback(this.win))
this.win.hide();},cancelCallback:function(){this.win.hide();if(this.win.cancelCallback)
this.win.cancelCallback(this.win);}}
var isIE=navigator.appVersion.match(/MSIE/)=="MSIE";var WindowUtilities={getWindowScroll:function(){var w=window;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};},getPageSize:function(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}
else
if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}
else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight;}
else
if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}
else
if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
var pageHeight,pageWidth;if(yScroll<windowHeight){pageHeight=windowHeight;}
else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=windowWidth;}
else{pageWidth=xScroll;}
return{pageWidth:pageWidth,pageHeight:pageHeight,windowWidth:windowWidth,windowHeight:windowHeight};},disableScreen:function(className,overlayId,contentId){WindowUtilities.initLightbox(overlayId,className);var objBody=document.getElementsByTagName("body").item(0);var objOverlay=$(overlayId);var pageSize=WindowUtilities.getPageSize();if(contentId&&isIE){$$('select').each(function(element){element.style.visibility="hidden"});$$('#'+contentId+' select').each(function(element){element.style.visibility="visible"});}
objOverlay.style.height=(pageSize.pageHeight+'px');objOverlay.style.width=(pageSize.windowWidth+'px');objOverlay.style.display='block';},enableScreen:function(id){id=id||'overlay_modal';var objOverlay=$(id);if(objOverlay){objOverlay.style.display='none';if(isIE){$$('select').each(function(element){element.style.visibility="visible"});}
objOverlay.parentNode.removeChild(objOverlay);}},initLightbox:function(id,className){if($(id)){Element.setStyle(id,{zIndex:Windows.maxZIndex+10});}
else{var objBody=document.getElementsByTagName("body").item(0);var objOverlay=document.createElement("div");objOverlay.setAttribute('id',id);objOverlay.className="overlay_"+className
objOverlay.style.display='none';objOverlay.style.position='absolute';objOverlay.style.top='0';objOverlay.style.left='0';objOverlay.style.zIndex=Windows.maxZIndex+10;objOverlay.style.width='100%';objBody.insertBefore(objOverlay,objBody.firstChild);}},setCookie:function(value,parameters){document.cookie=parameters[0]+"="+escape(value)+
((parameters[1])?"; expires="+parameters[1].toGMTString():"")+
((parameters[2])?"; path="+parameters[2]:"")+
((parameters[3])?"; domain="+parameters[3]:"")+
((parameters[4])?"; secure":"");},getCookie:function(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)
return null;}
else{begin+=2;}
var end=document.cookie.indexOf(";",begin);if(end==-1){end=dc.length;}
return unescape(dc.substring(begin+prefix.length,end));},_computeSize:function(content,id,width,height,margin){if(margin==null)
margin=5;var objBody=document.getElementsByTagName("body").item(0);var tmpObj=document.createElement("div");tmpObj.setAttribute('id',id);if(height)
tmpObj.style.height=height+"px";else
tmpObj.style.width=width+"px";tmpObj.style.position='absolute';tmpObj.style.top='0';tmpObj.style.left='0';tmpObj.style.display='none';tmpObj.innerHTML=content;objBody.insertBefore(tmpObj,objBody.firstChild);var size;if(height)
size=$(id).getDimensions().width+margin;else
size=$(id).getDimensions().height+margin;objBody.removeChild(tmpObj);return size;}}
var bit=16;var pixel=10;bit=Math.round(255/bit);var ConvArray=new Array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F');var picked=new Array();var pickedColorRGB=new Array();var toolbarShow=new Array();var donePickerInits=new Array();var clickedPicker;var MCPtmr=new Array();function dec2hex(value){var retval='';var intnum;var tmpnum;var i=0;if(value>255)value=255;intnum=parseInt(value,10);if(isNaN(intnum)){retval='NaN';}else{while(intnum>0.9){i++;tmpnum=intnum;retval=ConvArray[tmpnum%16]+retval;intnum=Math.floor(tmpnum/16);if(i>100){retval='NaN';break;}}}
if(retval.length==1)
retval='0'+retval;else if(retval.length==0)
retval='00';return retval;}
function HEXcolor2RGB(value){value=value.replace('#','');pickedColorRGB[0]=value.substr(0,2);pickedColorRGB[1]=value.substr(2,2);pickedColorRGB[2]=value.substr(4,2);for(i=0;i<3;i++){pickedColorRGB[i]=parseInt(pickedColorRGB[i],16);}
return pickedColorRGB;}
function buildPicker(depth){var rap=Math.round((255/depth)*pixel);htmlStr="<table border=0 cellpadding=0 cellspacing=0 width="+rap+" height="+rap+"><tr>";var htmlStr2='';for(var x=0;x<=255;x=x+depth){var a=dec2hex(x);c=a+a+a;if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
htmlStr2+="<td bgcolor=\"#"+c+"\" onclick=\"pickColor("+x+","+x+","+x+")\" unselectable=on width="+pixel+" height="+pixel+" style='padding:2px 3px;'></td>";else
htmlStr2+="<td bgcolor=\"#"+c+"\" onclick=\"pickColor("+x+","+x+","+x+")\" unselectable=on width="+pixel+" height="+pixel+"></td>";for(var y=0;y<=255;y=y+depth){if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
htmlStr+="<td id='"+depth+"_"+x+"_"+y+"' onclick=\"pickColor(picked[clickedPicker],"+x+","+y+")\" unselectable=on width="+pixel+" height="+pixel+" style='padding:2px 3px;'></td>";else
htmlStr+="<td id='"+depth+"_"+x+"_"+y+"' onclick=\"pickColor(picked[clickedPicker],"+x+","+y+")\" unselectable=on width="+pixel+" height="+pixel+"></td>";}
htmlStr+="</tr><tr>";}
htmlStr+=htmlStr2+"</tr></table>";return htmlStr;}
function changePallet(R,depth){depth=parseInt(depth);var RR=dec2hex(R);for(var G=0;G<=255;G=G+depth){for(var B=0;B<=255;B=B+depth){if(document.getElementById(depth+'_'+G+'_'+B))
document.getElementById(depth+'_'+G+'_'+B).style.backgroundColor='#'+RR+dec2hex(G)+dec2hex(B);}}
picked[clickedPicker]=R;}
function changePickerHue(depth){g=0;b=255;gS=0;bS=1;htmlStr="<table border=0 cellpadding=0 cellspacing=0 width="+pixel+" height="+((255/depth)*pixel)+">";for(var r=0;r<=255;r=r+depth){c=dec2hex(r)+dec2hex(g)+dec2hex(b);if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
htmlStr+="<tr><td bgcolor=\"#"+c+"\" onclick=\"changePallet("+r+","+depth+")\" width="+pixel+" height="+pixel+" style='padding:2px;'></td></tr>";else
htmlStr+="<tr><td bgcolor=\"#"+c+"\" onclick=\"changePallet("+r+","+depth+")\" width="+pixel+" height="+pixel+"></td></tr>";if(g>=255)gS=1;else if(g<=0)gS=0;if(b>=255)bS=1;else if(b<=0)bS=0;if(gS==0)
g=g+(depth*2);else
g=g-(depth*2);if(bS==0)
b=b+(depth*4);else
b=b-(depth*4);}
htmlStr+="<tr><td bgcolor=\"#ffffff\" onclick=\"changePallet(255,"+depth+")\" width="+pixel+" height="+pixel+"></td></tr>";htmlStr+="</table>";return htmlStr;}
function pickColor(r,g,b,closable){c='#'+dec2hex(r)+dec2hex(g)+dec2hex(b);if($('front'+clickedPicker))
{document.getElementById('front'+clickedPicker).style.backgroundColor=c;document.getElementById('front'+clickedPicker+'Value').value=c;}
else
{document.getElementById(clickedPicker).style.backgroundColor=c;document.getElementById(clickedPicker+'Value').value=c;}
p=clickedPicker.split('_');}
function setPickedColorFromForm(obj,depth){c=HEXcolor2RGB(obj.value);changePallet(c[0],depth);document.getElementById(obj.id.replace('Value','')).style.backgroundColor=obj.value;}
function placePickerToolbar(obj,depth){lastClickedPicker=clickedPicker;clickedPicker=obj.id;if(lastClickedPicker&&lastClickedPicker!=clickedPicker){p=lastClickedPicker.split('_');document.getElementById('colorPickerTools_'+p[1]).style.display='none';toolbarShow[lastClickedPicker]=0;}
if(!depth&&clickedPicker){p=clickedPicker.split('_');depth=p[1];}
if(MCPtmr[clickedPicker])
{clearTimeout(MCPtmr[clickedPicker]);}
if(toolbarShow[obj.id]==0){toolbarShow[obj.id]=1;var pos=Position.positionedOffset(obj);t=pos[1]+Element.getDimensions(obj).height;var offset=0;if(FamundoMainUtils.isIE)
offset=32;l=pos[0]-offset;document.getElementById('colorPickerTools_'+depth).style.top=t+'px';document.getElementById('colorPickerTools_'+depth).style.left=l+'px';document.getElementById('colorPickerTools_'+depth).style.display='';if(picked[clickedPicker]==null)
changePallet(255,depth);else
{setPickedColorFromForm(document.getElementById(clickedPicker+'Value'),depth);if($('front'+clickedPicker))
{var c=document.getElementById(clickedPicker+'Value').value;document.getElementById('front'+clickedPicker).style.backgroundColor=c;document.getElementById('front'+clickedPicker+'Value').value=c;}}}else if(toolbarShow[obj.id]==1){document.getElementById('colorPickerTools_'+depth).style.display='none';toolbarShow[obj.id]=0;}}
function killPicker(sw,t){if(clickedPicker){if(!t)
t=1;toolbarShow[clickedPicker]=sw;if(MCPtmr[clickedPicker])
clearTimeout(MCPtmr[clickedPicker]);if(sw==1)
{MCPtmr[clickedPicker]=setTimeout('placePickerToolbar(document.getElementById(clickedPicker));',t);}}}
function initPicker(fieldName,fieldValue,depth){if(!depth)
depth=bit;else
depth=Math.round(255/depth);pickerScreen=buildPicker(depth);hueScreen=changePickerHue(depth);if(!fieldValue)
fieldValue="";if(!donePickerInits[depth]){donePickerInits[depth]=0;document.write("<div id=colorPickerTools_"+depth+" onmouseout=\"killPicker(1)\" onmouseover=\"killPicker(0)\" style=\"z-Index:10000;visibility:hidden;cursor:crosshair;position:absolute;border:1px solid #000000;background-color:#ffffff\"></div>");document.getElementById('colorPickerTools_'+depth).innerHTML='<table border=0 cellpadding=0 cellspacing=0><tr><td valign=top>'+pickerScreen+'</td><td valign=top style="border-left:1px solid #000000;">'+hueScreen+'</td></tr><tr><td colspan=2><table border=0 cellpadding=0 cellspacing=0 width=100%><tr><td width=50% style="background-color:#ffffff;" onclick="pickColor(255,255,255);" height='+pixel+'></td><td width=50% style="background-color:#000000;" onclick="pickColor(0,0,0);" height='+pixel+'></td></tr></table></td></tr></table>';}
s="<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";s+="<td><div onmouseout=\"killPicker(1)\" onmouseover=\"killPicker(0)\" onclick=\"placePickerToolbar(this,"+depth+")\" style=\"width:15px;height:15px;border: 1px solid #000000;cursor:pointer;background-color:"+fieldValue+";\" id=pickedColor_"+depth+"_"+donePickerInits[depth]+"></div></td>";s+="<td>&nbsp;<input type=\"text\" name=\""+fieldName+"\" id=pickedColor_"+depth+"_"+donePickerInits[depth]+"Value value=\""+fieldValue+"\" size=7 style=\"font-size:10px;\" onchange=\"setPickedColorFromForm(this)\"></td>";s+="</table>";document.write(s);toolbarShow["pickedColor_"+depth+"_"+donePickerInits[depth]]=0;donePickerInits[depth]++;}
function loadPicker(fieldName,fieldValue,depth,obj){picked=new Array();pickedColorRGB=new Array();toolbarShow=new Array();donePickerInits=new Array();clickedPicker;MCPtmr=new Array();if(!depth)
depth=bit;else
depth=Math.round(255/depth);pickerScreen=buildPicker(depth);hueScreen=changePickerHue(depth);if(!fieldValue)
fieldValue="#FFFFFF";donePickerInits[depth]=0;var buffer="<div id=colorPickerTools_"+depth+"  onmouseover=\"killPicker(0)\" style=\"z-Index:10000;display:none;cursor:crosshair;position:absolute;border:1px solid #000000;background-color:#ffffff; margin:0px;padding:0px;\"></div>";if(FamundoMainUtils.isIE)
var cls='form_table';else
var cls='form_custom_table';var buffer_header="<table class='"+cls+"'><tr><td><table class='categ_header form_table'><tr><td style='padding:0;margin:0;font-size:10pt;color:black;text-align:left;cursor:default;'>Select a color</td><td valign='top' id='hlpid' style='width:17px;padding:0px 2px;margin:0;text-align:right;cursor:default;'></td><td class='cancel_icon' style='width:15px;cursor:pointer;' onclick='killPicker(1)'></td></tr></table></td></tr>"
var buffer_footer="</td></tr><tr><td><table class='categ_header form_table'><tr>";buffer_footer+="  <td class='form_component'><input type=text name='front"+fieldName+"' id='frontpickedColor_"+depth+"_"+donePickerInits[depth]+"Value' value='"+fieldValue+"' size=7 style='width:60px;' onchange='setPickedColorFromForm(this)'></td>";buffer_footer+="  <td style='padding-left:1px;width:25px;'><div style=\"width:23px;height:18px;border: 1px solid #000000;cursor:pointer;background-color:"+fieldValue+";\" id=frontpickedColor_"+depth+"_"+donePickerInits[depth]+"></div></td>";buffer_footer+="<td id='button' style='text-align:left;padding-left:5px;'></td>";buffer_footer+="</tr></table></td></tr></table>";$(obj).innerHTML=buffer;document.getElementById('colorPickerTools_'+depth).innerHTML=buffer_header+'<tr><td style="text-align:center;"><table border=0 cellpadding=0 cellspacing=0 align="center"><tr><td valign=top>'+pickerScreen+'</td><td valign=top style="border-left:1px solid #000000;">'+hueScreen+'</td></tr><tr><td colspan=2><table border=0 cellpadding=0 cellspacing=0 width=100%><tr><td width=50% style="background-color:#ffffff;" onclick="pickColor(255,255,255);" height='+pixel+'></td><td width=50% style="background-color:#000000;" onclick="pickColor(0,0,0);" height='+pixel+'></td></tr></table></td></tr></table>'+buffer_footer;s="<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class='form_custom_table'><tr>";s+="  <td class='form_component'><input type=text name='"+fieldName+"' id='pickedColor_"+depth+"_"+donePickerInits[depth]+"Value' value='"+fieldValue+"' size=7 style='width:60px;' onchange='setPickedColorFromForm(this)'></td>";s+="  <td style='padding-left:5px;'><div onclick=\"placePickerToolbar(this,"+depth+")\" style=\"width:23px;height:18px;border: 1px solid #000000;cursor:pointer;background-color:"+fieldValue+";\" id=pickedColor_"+depth+"_"+donePickerInits[depth]+"></div></td>";s+="</tr></table>";$(obj).innerHTML+=s;var buton=famundoApplication.famundoButton('Ok','',60);$("button").appendChild(buton);var func=function(){saveColor()};Event.observe(buton,'click',func);toolbarShow["pickedColor_"+depth+"_"+donePickerInits[depth]]=0;donePickerInits[depth]++;FamundoMainUtils.generateHelpTT($('hlpid'),'Learn more','Click on the side to select a <br />range and then click the color');}
function saveColor()
{var obj=document.getElementById('front'+clickedPicker+'Value');c=obj.value;document.getElementById(clickedPicker).style.backgroundColor=c;document.getElementById(clickedPicker+'Value').value=c;killPicker(1);}