/** Generated by js.php */
var Prototype={Version:'1.5.0',BrowserFeatures:{XPath:!!document.evaluate},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.extend(Object,{inspect:function(object){try{if(object===undefined)return'undefined';if(object===null)return'null';return object.inspect?object.inspect():object.toString();}catch(e){if(e instanceof RangeError)return'...';throw e;}},keys:function(object){var keys=[];for(var property in object)
keys.push(property);return keys;},values:function(object){var values=[];for(var property in object)
values.push(object[property]);return values;},clone:function(object){return Object.extend({},object);}});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,args=$A(arguments),object=args.shift();return function(event){return __method.apply(object,[(event||window.event)].concat(args).concat($A(arguments)));}}
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,length=arguments.length;i<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(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},stop:function(){if(!this.timer)return;clearInterval(this.timer);this.timer=null;},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.callback(this);}finally{this.currentlyExecuting=false;}}}}
String.interpret=function(value){return value==null?'':String(value);}
Object.extend(String.prototype,{gsub:function(pattern,replacement){var result='',source=this,match;replacement=arguments.callee.prepareReplacement(replacement);while(source.length>0){if(match=source.match(pattern)){result+=source.slice(0,match.index);result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length);}else{result+=source,source='';}}
return result;},sub:function(pattern,replacement,count){replacement=this.gsub.prepareReplacement(replacement);count=count===undefined?1:count;return this.gsub(pattern,function(match){if(--count<0)return match[0];return replacement(match);});},scan:function(pattern,iterator){this.gsub(pattern,iterator);return 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
return this.replace(new RegExp(Prototype.ScriptFragment,'img'),'');},extractScripts:function()
{var matchAll=new RegExp('(?:<script(.*?)>)((\n|\r|.)*?)(?:<\/script>)','img');var matchOne=new RegExp('(?:<script(.*?)>)((\n|\r|.)*?)(?:<\/script>)','im');var scripts=this.match(matchAll)
return(this.match(matchAll)||[]).map(function(scriptTag){return[(scriptTag.match(matchOne)||['',''])[1],(scriptTag.match(matchOne)||['','',''])[2]];});},evalScripts:function()
{var head=document.getElementsByTagName("head")[0];var regexp=new RegExp('\w+\.js','im')
var loadedScripts=[]
var scripts=head.getElementsByTagName('SCRIPT')
for(i in scripts)
{if(scripts[i].src)
{if(!scripts[i].src.match(/http:\/\//i))
{cleanedSrc='http://'+window.domain+'/'+scripts[i].src}
else cleanedSrc=scripts[i].src
cleanedSrc=scripts[i].src
loadedScripts[cleanedSrc]=scripts[i]}}
jsTags=this.extractScripts()
for(var no=0;no<jsTags.length;no++)
{if(jsTags[no][1])
{eval(jsTags[no][1])}
else if(jsTags[no][0])
{var src=(jsTags[no][0]).match(/[\/\w-\.]+\.js/im)
if(src)
{if(loadedScripts[src])
{continue}
try{var script=document.createElement('SCRIPT');script.src=src;script.type='text/javascript';head.appendChild(script);loadedScripts[src]=script}
catch(e)
{var err=''
for(i in e)err=err+'\n'+i+' : '+e[i]
alert(err)}}}}},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.length>1?$A(div.childNodes).inject('',function(memo,node){return memo+node.nodeValue}):div.childNodes[0].nodeValue):'';},toQueryParams:function(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match)return{};return match[1].split(separator||'&').inject({},function(hash,pair){if((pair=pair.split('='))[0]){var name=decodeURIComponent(pair[0]);var value=pair[1]?decodeURIComponent(pair[1]):undefined;if(hash[name]!==undefined){if(hash[name].constructor!=Array)
hash[name]=[hash[name]];if(value)hash[name].push(value);}
else hash[name]=value;}
return hash;});},toArray:function(){return this.split('');},succ:function(){return this.slice(0,this.length-1)+
String.fromCharCode(this.charCodeAt(this.length-1)+1);},camelize:function(){var parts=this.split('-'),len=parts.length;if(len==1)return parts[0];var camelized=this.charAt(0)=='-'?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];for(var i=1;i<len;i++)
camelized+=parts[i].charAt(0).toUpperCase()+parts[i].substring(1);return camelized;},capitalize:function(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase();},underscore:function(){return this.gsub(/::/,'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();},dasherize:function(){return this.gsub(/_/,'-');},inspect:function(useDoubleQuotes){var escapedString=this.replace(/\\/g,'\\\\');if(useDoubleQuotes)
return'"'+escapedString.replace(/"/g,'\\"')+'"';else
return"'"+escapedString.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+String.interpret(object[match[3]]);});}}
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;}
return this;},eachSlice:function(number,iterator){var index=-number,slices=[],array=this.toArray();while((index+=number)<array.length)
slices.push(array.slice(index,index+number));return slices.map(iterator);},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=false;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||Prototype.K)(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;},inGroupsOf:function(number,fillWith){fillWith=fillWith===undefined?null:fillWith;return this.eachSlice(number,function(slice){while(slice.length<number)slice.push(fillWith);return slice;});},inject:function(memo,iterator){this.each(function(value,index){memo=iterator(memo,value,index);});return memo;},invoke:function(method){var args=$A(arguments).slice(1);return this.map(function(value){return value[method].apply(value,args);});},max:function(iterator){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.map(function(value,index){return{value:value,criteria:iterator(value,index)};}).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0;}).pluck('value');},toArray:function(){return this.map();},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(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));});},size:function(){return this.toArray().length;},inspect:function(){return'#<Enumerable:'+this.toArray().inspect()+'>';}}
Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,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,length=iterable.length;i<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,length=this.length;i<length;i++)
iterator(this[i]);},clear:function(){this.length=0;return this;},first:function(){return this[0];},last:function(){return this[this.length-1];},compact:function(){return this.select(function(value){return value!=null;});},flatten:function(){return this.inject([],function(array,value){return array.concat(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,length=this.length;i<length;i++)
if(this[i]==object)return i;return-1;},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse();},reduce:function(){return this.length>1?this:this[0];},uniq:function(){return this.inject([],function(array,value){return array.include(value)?array:array.concat([value]);});},clone:function(){return[].concat(this);},size:function(){return this.length;},inspect:function(){return'['+this.map(Object.inspect).join(', ')+']';}});Array.prototype.toArray=Array.prototype.clone;function $w(string){string=string.strip();return string?string.split(/\s+/):[];}
if(window.opera){Array.prototype.concat=function(){var array=[];for(var i=0,length=this.length;i<length;i++)array.push(this[i]);for(var i=0,length=arguments.length;i<length;i++){if(arguments[i].constructor==Array){for(var j=0,arrayLength=arguments[i].length;j<arrayLength;j++)
array.push(arguments[i][j]);}else{array.push(arguments[i]);}}
return array;}}
var Hash=function(obj){Object.extend(this,obj||{});};Object.extend(Hash,{toQueryString:function(obj){var parts=[];this.prototype._each.call(obj,function(pair){if(!pair.key)return;if(pair.value&&pair.value.constructor==Array){var values=pair.value.compact();if(values.length<2)pair.value=values.reduce();else{key=encodeURIComponent(pair.key);values.each(function(value){value=value!=undefined?encodeURIComponent(value):'';;parts.push(key+'='+encodeURIComponent(value));});return;}}
if(pair.value==undefined)pair[1]='';parts.push(pair.map(encodeURIComponent).join('='));});return parts.join('&');}});Object.extend(Hash.prototype,Enumerable);Object.extend(Hash.prototype,{_each:function(iterator){for(var key in this){var value=this[key];if(value&&value==Hash.prototype[key])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(this,function(mergedHash,pair){mergedHash[pair.key]=pair.value;return mergedHash;});},remove:function(){var result;for(var i=0,length=arguments.length;i<length;i++){var value=this[arguments[i]];if(value!==undefined){if(result===undefined)result=value;else{if(result.constructor!=Array)result=[result];result.push(value)}}
delete this[arguments[i]];}
return result;},toQueryString:function(){return Hash.toQueryString(this);},inspect:function(){return'#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ');}).join(', ')+'}>';}});function $H(object){if(object&&object.constructor==Hash)return object;return new Hash(object);};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;while(this.include(value)){iterator(value);value=value.succ();}},include:function(value){if(value<this.start)
return false;if(this.exclusive)
return value<this.end;return value<=this.end;}});var $R=function(start,end,exclusive){return new ObjectRange(start,end,exclusive);}
var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')})||false;},activeRequestCount:0}
Ajax.Responders={responders:[],_each:function(iterator){this.responders._each(iterator);},register:function(responder){if(!this.include(responder))
this.responders.push(responder);},unregister:function(responder){this.responders=this.responders.without(responder);},dispatch:function(callback,request,transport,json){this.each(function(responder){if(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',encoding:'UTF-8',parameters:''}
Object.extend(this.options,options||{});this.options.method=this.options.method.toLowerCase();if(typeof this.options.parameters=='string')
this.options.parameters=this.options.parameters.toQueryParams();}}
Ajax.Request=Class.create();Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Request.prototype=Object.extend(new Ajax.Base(),{_complete:false,initialize:function(url,options){this.transport=Ajax.getTransport();this.setOptions(options);this.request(url);},request:function(url){this.url=url;this.method=this.options.method;var params=this.options.parameters;if(!['get','post'].include(this.method)){params['_method']=this.method;this.method='post';}
params=Hash.toQueryString(params);if(params&&/Konqueror|Safari|KHTML/.test(navigator.userAgent))params+='&_='
if(this.method=='get'&&params)
this.url+=(this.url.indexOf('?')>-1?'&':'?')+params;try{Ajax.Responders.dispatch('onCreate',this,this.transport);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous)
setTimeout(function(){this.respondToReadyState(1)}.bind(this),10);this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();var body=this.method=='post'?(this.options.postBody||params):null;this.transport.send(body);if(!this.options.asynchronous&&this.transport.overrideMimeType)
this.onStateChange();}
catch(e){Ajax.activeRequestCount--;this.dispatchException(e);}},onStateChange:function(){var readyState=this.transport.readyState;if(readyState>1&&!((readyState==4)&&this._complete))
this.respondToReadyState(this.transport.readyState);},setRequestHeaders:function(){var headers={'X-Requested-With':'XMLHttpRequest','X-Prototype-Version':Prototype.Version,'Accept':'text/javascript, text/html, application/xml, text/xml, */*'};if(this.method=='post'){headers['Content-type']=this.options.contentType+
(this.options.encoding?'; charset='+this.options.encoding:'');if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005)
headers['Connection']='close';}
if(typeof this.options.requestHeaders=='object'){var extras=this.options.requestHeaders;if(typeof extras.push=='function')
for(var i=0,length=extras.length;i<length;i+=2)
headers[extras[i]]=extras[i+1];else
$H(extras).each(function(pair){headers[pair.key]=pair.value});}
for(var name in headers)
this.transport.setRequestHeader(name,headers[name]);this._requestHeaders=headers;},success:function(){return!this.transport.status||(this.transport.status>=200&&this.transport.status<300);},respondToReadyState:function(readyState){var state=Ajax.Request.Events[readyState];var transport=this.transport,json=this.evalJSON();if(state=='Complete'){try{this._complete=true;(this.options['on'+this.transport.status]||this.options['on'+(this.success()?'Success':'Failure')]||Prototype.emptyFunction)(transport,json);}catch(e){this.dispatchException(e);}
if((this.getHeader('Content-type')||'text/javascript').strip().match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))
this.evalResponse();}
try{(this.options['on'+state]||Prototype.emptyFunction)(transport,json);}catch(e){this.dispatchException(e);}
try{Ajax.Responders.dispatch('on'+state,this,transport,json);}catch(e){this.dispatchException(e);}
if(state=='Complete'){this.transport.onreadystatechange=Prototype.emptyFunction;}},getHeader:function(name){try{return this.transport.getResponseHeader(name);}catch(e){return null}},getRequestHeader:function(name){try{return this._requestHeaders[name];}catch(e){return null;}},evalJSON:function(){try{var json=this.getHeader('X-JSON');return json?eval('('+json+')'):null;}catch(e){return null}},evalResponse:function(){try{return eval(this.transport.responseText);}catch(e){this.dispatchException(e);}},dispatchException:function(exception){(this.options.onException||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.container={success:(container.success||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,param){this.updateContent();onComplete(transport,param);}).bind(this);this.request(url);},updateContent:function(){var receiver=this.container[this.success()?'success':'failure'];var response=this.transport.responseText;if(!this.options.evalScripts)response=response.stripScripts();if(receiver=$(receiver)){if(this.options.insertion)
new this.options.insertion(receiver,response);else
receiver.update(response);}
if(this.success()){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.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments);},updateComplete:function(request){if(this.options.decay){this.decay=(request.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=request.responseText;}
this.timer=setTimeout(this.onTimerEvent.bind(this),this.decay*this.frequency*1000);},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options);}});function $(element){if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i<length;i++)
elements.push($(arguments[i]));return elements;}
if(typeof element=='string')
element=document.getElementById(element);return Element.extend(element);}
if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(expression,parentElement){var results=[];var query=document.evaluate(expression,$(parentElement)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,length=query.snapshotLength;i<length;i++)
results.push(query.snapshotItem(i));return results;};}
document.getElementsByClassName=function(className,parentElement){if(Prototype.BrowserFeatures.XPath){var q=".//*[contains(concat(' ', @class, ' '), ' "+className+" ')]";return document._getElementsByXPath(q,parentElement);}else{var children=($(parentElement)||document.body).getElementsByTagName('*');var elements=[],child;for(var i=0,length=children.length;i<length;i++){child=children[i];if(Element.hasClassName(child,className))
elements.push(Element.extend(child));}
return elements;}};if(!window.Element)
var Element=new Object();Element.extend=function(element){if(!element||_nativeExtensions||element.nodeType==3)return element;if(!element._extended&&element.tagName&&element!=window){var methods=Object.clone(Element.Methods),cache=Element.extend.cache;if(element.tagName=='FORM')
Object.extend(methods,Form.Methods);if(['INPUT','TEXTAREA','SELECT'].include(element.tagName))
Object.extend(methods,Form.Element.Methods);Object.extend(methods,Element.Methods.Simulated);for(var property in methods){var value=methods[property];if(typeof value=='function'&&!(property in element))
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(element){element=$(element);Element[Element.visible(element)?'hide':'show'](element);return element;},hide:function(element){$(element).style.display='none';return element;},show:function(element){$(element).style.display='';return element;},remove:function(element){element=$(element);element.parentNode.removeChild(element);return element;},update:function(element,html){html=typeof html=='undefined'?'':html.toString();$(element).innerHTML=html.stripScripts();setTimeout(function(){html.evalScripts()},10);return element;},replace:function(element,html){element=$(element);html=typeof html=='undefined'?'':html.toString();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);return element;},inspect:function(element){element=$(element);var result='<'+element.tagName.toLowerCase();$H({'id':'id','className':'class'}).each(function(pair){var property=pair.first(),attribute=pair.last();var value=(element[property]||'').toString();if(value)result+=' '+attribute+'='+value.inspect(true);});return result+'>';},recursivelyCollect:function(element,property){element=$(element);var elements=[];while(element=element[property])
if(element.nodeType==1)
elements.push(Element.extend(element));return elements;},ancestors:function(element){return $(element).recursivelyCollect('parentNode');},descendants:function(element){return $A($(element).getElementsByTagName('*'));},immediateDescendants:function(element){if(!(element=$(element).firstChild))return[];while(element&&element.nodeType!=1)element=element.nextSibling;if(element)return[element].concat($(element).nextSiblings());return[];},previousSiblings:function(element){return $(element).recursivelyCollect('previousSibling');},nextSiblings:function(element){return $(element).recursivelyCollect('nextSibling');},siblings:function(element){element=$(element);return element.previousSiblings().reverse().concat(element.nextSiblings());},match:function(element,selector){if(typeof selector=='string')
selector=new Selector(selector);return selector.match($(element));},up:function(element,expression,index){return Selector.findElement($(element).ancestors(),expression,index);},down:function(element,expression,index){return Selector.findElement($(element).descendants(),expression,index);},previous:function(element,expression,index){return Selector.findElement($(element).previousSiblings(),expression,index);},next:function(element,expression,index){return Selector.findElement($(element).nextSiblings(),expression,index);},getElementsBySelector:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element,args);},getElementsByClassName:function(element,className){return document.getElementsByClassName(className,element);},readAttribute:function(element,name){element=$(element);if(document.all&&!window.opera){var t=Element._attributeTranslations;if(t.values[name])return t.values[name](element,name);if(t.names[name])name=t.names[name];var attribute=element.attributes[name];if(attribute)return attribute.nodeValue;}
return element.getAttribute(name);},getHeight:function(element){return $(element).getDimensions().height;},getWidth:function(element){return $(element).getDimensions().width;},classNames:function(element){return new Element.ClassNames(element);},hasClassName:function(element,className){if(!(element=$(element)))return;var elementClassName=element.className;if(elementClassName.length==0)return false;if(elementClassName==className||elementClassName.match(new RegExp("(^|\\s)"+className+"(\\s|$)")))
return true;return false;},addClassName:function(element,className){if(!(element=$(element)))return;Element.classNames(element).add(className);return element;},removeClassName:function(element,className){if(!(element=$(element)))return;Element.classNames(element).remove(className);return element;},toggleClassName:function(element,className){if(!(element=$(element)))return;Element.classNames(element)[element.hasClassName(className)?'remove':'add'](className);return element;},observe:function(){Event.observe.apply(Event,arguments);return $A(arguments).first();},stopObserving:function(){Event.stopObserving.apply(Event,arguments);return $A(arguments).first();},cleanWhitespace:function(element){element=$(element);var node=element.firstChild;while(node){var nextNode=node.nextSibling;if(node.nodeType==3&&!/\S/.test(node.nodeValue))
element.removeChild(node);node=nextNode;}
return element;},empty:function(element){return $(element).innerHTML.match(/^\s*$/);},descendantOf:function(element,ancestor){element=$(element),ancestor=$(ancestor);while(element=element.parentNode)
if(element==ancestor)return true;return false;},scrollTo:function(element){element=$(element);var pos=Position.cumulativeOffset(element);window.scrollTo(pos[0],pos[1]);return element;},getStyle:function(element,style){element=$(element);if(['float','cssFloat'].include(style))
style=(typeof element.style.styleFloat!='undefined'?'styleFloat':'cssFloat');style=style.camelize();var value=element.style[style];if(!value){if(document.defaultView&&document.defaultView.getComputedStyle){var css=document.defaultView.getComputedStyle(element,null);value=css?css[style]:null;}else if(element.currentStyle){value=element.currentStyle[style];}}
if((value=='auto')&&['width','height'].include(style)&&(element.getStyle('display')!='none'))
value=element['offset'+style.capitalize()]+'px';if(window.opera&&['left','top','right','bottom'].include(style))
if(Element.getStyle(element,'position')=='static')value='auto';if(style=='opacity'){if(value)return parseFloat(value);if(value=(element.getStyle('filter')||'').match(/alpha\(opacity=(.*)\)/))
if(value[1])return parseFloat(value[1])/100;return 1.0;}
return value=='auto'?null:value;},setStyle:function(element,style){element=$(element);for(var name in style){var value=style[name];if(name=='opacity'){if(value==1){value=(/Gecko/.test(navigator.userAgent)&&!/Konqueror|Safari|KHTML/.test(navigator.userAgent))?0.999999:1.0;if(/MSIE/.test(navigator.userAgent)&&!window.opera)
element.style.filter=element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'');}else if(value==''){if(/MSIE/.test(navigator.userAgent)&&!window.opera)
element.style.filter=element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'');}else{if(value<0.00001)value=0;if(/MSIE/.test(navigator.userAgent)&&!window.opera)
element.style.filter=element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'')+'alpha(opacity='+value*100+')';}}else if(['float','cssFloat'].include(name))name=(typeof element.style.styleFloat!='undefined')?'styleFloat':'cssFloat';element.style[name.camelize()]=value;}
return element;},getDimensions:function(element){element=$(element);var display=$(element).getStyle('display');if(display!='none'&&display!=null)
return{width:element.offsetWidth,height:element.offsetHeight};var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;var originalDisplay=els.display;els.visibility='hidden';els.position='absolute';els.display='block';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display=originalDisplay;els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight};},makePositioned:function(element){element=$(element);var pos=Element.getStyle(element,'position');if(pos=='static'||!pos){element._madePositioned=true;element.style.position='relative';if(window.opera){element.style.top=0;element.style.left=0;}}
return element;},undoPositioned:function(element){element=$(element);if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right='';}
return element;},makeClipping:function(element){element=$(element);if(element._overflow)return element;element._overflow=element.style.overflow||'auto';if((Element.getStyle(element,'overflow')||'visible')!='hidden')
element.style.overflow='hidden';return element;},undoClipping:function(element){element=$(element);if(!element._overflow)return element;element.style.overflow=element._overflow=='auto'?'':element._overflow;element._overflow=null;return element;}};Object.extend(Element.Methods,{childOf:Element.Methods.descendantOf});Element._attributeTranslations={};Element._attributeTranslations.names={colspan:"colSpan",rowspan:"rowSpan",valign:"vAlign",datetime:"dateTime",accesskey:"accessKey",tabindex:"tabIndex",enctype:"encType",maxlength:"maxLength",readonly:"readOnly",longdesc:"longDesc"};Element._attributeTranslations.values={_getAttr:function(element,attribute){return element.getAttribute(attribute,2);},_flag:function(element,attribute){return $(element).hasAttribute(attribute)?attribute:null;},style:function(element){return element.style.cssText.toLowerCase();},title:function(element){var node=element.getAttributeNode('title');return node.specified?node.nodeValue:null;}};Object.extend(Element._attributeTranslations.values,{href:Element._attributeTranslations.values._getAttr,src:Element._attributeTranslations.values._getAttr,disabled:Element._attributeTranslations.values._flag,checked:Element._attributeTranslations.values._flag,readonly:Element._attributeTranslations.values._flag,multiple:Element._attributeTranslations.values._flag});Element.Methods.Simulated={hasAttribute:function(element,attribute){var t=Element._attributeTranslations;attribute=t.names[attribute]||attribute;return $(element).getAttributeNode(attribute).specified;}};if(document.all&&!window.opera){Element.Methods.update=function(element,html){element=$(element);html=typeof html=='undefined'?'':html.toString();var tagName=element.tagName.toUpperCase();if(['THEAD','TBODY','TR','TD'].include(tagName)){var div=document.createElement('div');switch(tagName){case'THEAD':case'TBODY':div.innerHTML='<table><tbody>'+html.stripScripts()+'</tbody></table>';depth=2;break;case'TR':div.innerHTML='<table><tbody><tr>'+html.stripScripts()+'</tr></tbody></table>';depth=3;break;case'TD':div.innerHTML='<table><tbody><tr><td>'+html.stripScripts()+'</td></tr></tbody></table>';depth=4;}
$A(element.childNodes).each(function(node){element.removeChild(node)});depth.times(function(){div=div.firstChild});$A(div.childNodes).each(function(node){element.appendChild(node)});}else{element.innerHTML=html.stripScripts();}
setTimeout(function(){html.evalScripts()},10);return element;}};Object.extend(Element,Element.Methods);var _nativeExtensions=false;if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
['','Form','Input','TextArea','Select'].each(function(tag){var className='HTML'+tag+'Element';if(window[className])return;var klass=window[className]={};klass.prototype=document.createElement(tag?tag.toLowerCase():'div').__proto__;});Element.addMethods=function(methods){Object.extend(Element.Methods,methods||{});function copy(methods,destination,onlyIfAbsent){onlyIfAbsent=onlyIfAbsent||false;var cache=Element.extend.cache;for(var property in methods){var value=methods[property];if(!onlyIfAbsent||!(property in destination))
destination[property]=cache.findOrStore(value);}}
if(typeof HTMLElement!='undefined'){copy(Element.Methods,HTMLElement.prototype);copy(Element.Methods.Simulated,HTMLElement.prototype,true);copy(Form.Methods,HTMLFormElement.prototype);[HTMLInputElement,HTMLTextAreaElement,HTMLSelectElement].each(function(klass){copy(Form.Element.Methods,klass.prototype);});_nativeExtensions=true;}}
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.toUpperCase();if(['TBODY','TR'].include(tagName)){this.insertContent(this.contentFromAnonymousTable());}else{throw e;}}}else{this.range=this.element.ownerDocument.createRange();if(this.initializeRange)this.initializeRange();this.insertContent([this.range.createContextualFragment(this.content)]);}
setTimeout(function(){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($A(this).concat(classNameToAdd).join(' '));},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set($A(this).without(classNameToRemove).join(' '));},toString:function(){return $A(this).join(' ');}};Object.extend(Element.ClassNames.prototype,Enumerable);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.readAttribute("id") == '+clause.inspect());if(clause=params.tagName)
conditions.push('element.tagName.toUpperCase() == '+clause.inspect());if((clause=params.classNames).length>0)
for(var i=0,length=clause.length;i<length;i++)
conditions.push('element.hasClassName('+clause[i].inspect()+')');if(clause=params.attributes){clause.each(function(attribute){var value='element.readAttribute('+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('element.hasAttribute('+attribute.name.inspect()+')');break;default:throw'Unknown operator '+attribute.operator+' in selector';}});}
return conditions.join(' && ');},compileMatcher:function(){this.match=new Function('element','if (!element.tagName) return false; \
      element = $(element); \
      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,length=scope.length;i<length;i++)
if(this.match(element=scope[i]))
results.push(Element.extend(element));return results;},toString:function(){return this.expression;}}
Object.extend(Selector,{matchElements:function(elements,expression){var selector=new Selector(expression);return elements.select(selector.match.bind(selector)).map(Element.extend);},findElement:function(elements,expression,index){if(typeof expression=='number')index=expression,expression=false;return Selector.matchElements(elements,expression||'*')[index||0];},findChildElements:function(element,expressions){return expressions.map(function(expression){return expression.match(/[^\s"]+(?:"[^"]*"[^\s"]+)*/g).inject([null],function(results,expr){var selector=new Selector(expr);return results.inject([],function(elements,result){return elements.concat(selector.findElements(result||element));});});}).flatten();}});function $$(){return Selector.findChildElements(document,$A(arguments));}
var Form={reset:function(form){$(form).reset();return form;},serializeElements:function(elements,getHash){var data=elements.inject({},function(result,element){if(!element.disabled&&element.name){var key=element.name,value=$(element).getValue();if(value!=undefined){if(result[key]){if(result[key].constructor!=Array)result[key]=[result[key]];result[key].push(value);}
else result[key]=value;}}
return result;});return getHash?data:Hash.toQueryString(data);}};Form.Methods={serialize:function(form,getHash){return Form.serializeElements(Form.getElements(form),getHash);},getElements:function(form){return $A($(form).getElementsByTagName('*')).inject([],function(elements,child){if(Form.Element.Serializers[child.tagName.toLowerCase()])
elements.push(Element.extend(child));return elements;});},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)return $A(inputs).map(Element.extend);for(var i=0,matchingInputs=[],length=inputs.length;i<length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))
continue;matchingInputs.push(Element.extend(input));}
return matchingInputs;},disable:function(form){form=$(form);form.getElements().each(function(element){element.blur();element.disabled='true';});return form;},enable:function(form){form=$(form);form.getElements().each(function(element){element.disabled='';});return form;},findFirstElement:function(form){return $(form).getElements().find(function(element){return element.type!='hidden'&&!element.disabled&&['input','select','textarea'].include(element.tagName.toLowerCase());});},focusFirstElement:function(form){form=$(form);form.findFirstElement().activate();return form;}}
Object.extend(Form,Form.Methods);Form.Element={focus:function(element){$(element).focus();return element;},select:function(element){$(element).select();return element;}}
Form.Element.Methods={serialize:function(element){element=$(element);if(!element.disabled&&element.name){var value=element.getValue();if(value!=undefined){var pair={};pair[element.name]=value;return Hash.toQueryString(pair);}}
return'';},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();return Form.Element.Serializers[method](element);},clear:function(element){$(element).value='';return element;},present:function(element){return $(element).value!='';},activate:function(element){element=$(element);element.focus();if(element.select&&(element.tagName.toLowerCase()!='input'||!['button','reset','submit'].include(element.type)))
element.select();return element;},disable:function(element){element=$(element);element.disabled=true;return element;},enable:function(element){element=$(element);element.blur();element.disabled=false;return element;}}
Object.extend(Form.Element,Form.Element.Methods);var Field=Form.Element;var $F=Form.Element.getValue;Form.Element.Serializers={input:function(element){switch(element.type.toLowerCase()){case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element);default:return Form.Element.Serializers.textarea(element);}},inputSelector:function(element){return element.checked?element.value:null;},textarea:function(element){return element.value;},select:function(element){return this[element.type=='select-one'?'selectOne':'selectMany'](element);},selectOne:function(element){var index=element.selectedIndex;return index>=0?this.optionValue(element.options[index]):null;},selectMany:function(element){var values,length=element.length;if(!length)return null;for(var i=0,values=[];i<length;i++){var opt=element.options[i];if(opt.selected)values.push(this.optionValue(opt));}
return values;},optionValue:function(opt){return Element.extend(opt).hasAttribute('value')?opt.value:opt.text;}}
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();var changed=('string'==typeof this.lastValue&&'string'==typeof value?this.lastValue!=value:String(this.lastValue)!=String(value));if(changed){this.callback(this.element,value);this.lastValue=value;}}}
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(){Form.getElements(this.element).each(this.registerCallback.bind(this));},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case'checkbox':case'radio':Event.observe(element,'click',this.onElementEvent.bind(this));break;default:Event.observe(element,'change',this.onElementEvent.bind(this));break;}}}}
Form.Element.EventObserver=Class.create();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,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,element:function(event){return event.target||event.srcElement;},isLeftClick:function(event){return(((event.which)&&(event.which==1))||((event.button)&&(event.button==1)));},pointerX:function(event){return event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft));},pointerY:function(event){return event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop));},stop:function(event){if(event.preventDefault){event.preventDefault();event.stopPropagation();}else{event.returnValue=false;event.cancelBubble=true;}},findElement:function(event,tagName){var element=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,length=Event.observers.length;i<length;i++){Event.stopObserving.apply(this,Event.observers[i]);Event.observers[i][0]=null;}
Event.observers=false;},observe:function(element,name,observer,useCapture){element=$(element);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.attachEvent))
name='keydown';Event._observeAndCache(element,name,observer,useCapture);},stopObserving:function(element,name,observer,useCapture){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){try{element.detachEvent('on'+name,observer);}catch(e){}}},clearObservers:function(element){element=$(element);this.observers.each(function(o){if(o[0]==element)
this.stopObserving(o[0],o[1],o[2],o[3]);}.bind(this));}});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){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){if(element.tagName=='BODY')break;var 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;},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{if(!window.opera||element.tagName=='BODY'){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];}}
Element.addMethods();function $RF(radioGroup){for(var i=0;i<radioGroup.length;++i){if(radioGroup[i].checked)return $F(radioGroup[i]);}}
document.viewport={getDimensions:function(){var dimensions={};$w('width height').each(function(d){var D=d.capitalize();dimensions[d]=self['inner'+D]||(document.documentElement['client'+D]||document.body['client'+D]);});return dimensions;},getWidth:function(){return this.getDimensions().width;},getHeight:function(){return this.getDimensions().height;},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop);}};if(!window.console){window.console={info:Prototype.emptyFunction,error:Prototype.emptyFunction,debug:Prototype.emptyFunction,log:Prototype.emptyFunction,trace:Prototype.emptyFunction,dir:Prototype.emptyFunction}};;function getStyle(element,cssRule)
{}
function setStyle(element,cssRule,value)
{var original=getStyle(element,cssRule);if(!element.styleHistory)
element.styleHistory=new Array();if(!element.styleHistory[cssRule])
element.styleHistory[cssRule]=new Array();element.styleHistory[cssRule].push(original);element.style[cssRule]=value;return value;}
function undoSetStyle(element,cssRule)
{if(this.styleHistory&&this.styleHistory[cssRule]&&this.styleHistory[cssRule].length){var oldValue=this.styleHistory[cssRule].pop();this.style[cssRule]=oldValue;}}
function revertStyle(element,cssRules)
{var stylesChanged=0;if(element.styleHistory)
{if(cssRules=='*')
{cssRules=new Array();for(var a in element.styleHistory)cssRules.push(a);}
else if(typeof cssRules!="Array")cssRules=Array(cssRules);for(var a=0;a<cssRules.length;a++)
{var cssRule=cssRules[a];if(element.styleHistory[cssRules[a]]&&element.styleHistory[cssRules[a]][0]){element.style[cssRules[a]]=element.styleHistory[cssRules[a]][0];element.styleHistory[cssRules[a]]=new Array();stylesChanged++;}}}
return stylesChanged;}
if(typeof Array.prototype.push=='undefined')
{Array.prototype.push=function(element){this[this.length]=element;}}
if(typeof Array.prototype.pop=='undefined')
{Array.prototype.pop=function()
{var last=this[this.length-1];this.length--;return last;}};DHTML_modalMessage=function()
{this.source
this.content=''
this.width='500'
this.height='300'
this.title
this.divs={}
this.tables={}}
DHTML_modalMessage.prototype={setSource:function(source)
{this.source=source;},setContent:function(content)
{this.content=content;},setSize:function(width,height)
{if(width)this.width=width;if(height)this.height=height;},setId:function(id)
{this.id=id},setTitle:function(title)
{this.title=title},display:function(closeOthers)
{if(closeOthers)this.closeOthers();this.register()
this.loadContent()
var pageInfos=this.getPageInfos()
this.tables.inner=document.createElement('TABLE')
this.tables.outter=document.createElement('TABLE')
if(window.dialogsCounter==1)window.modalBackground=document.createElement('DIV')
this.tables.inner.className='modalDialog_inner'
this.tables.inner.style.width=this.width+'px'
this.tables.inner.setAttribute('width',this.width)
this.tables.inner.style.position='relative'
var row=this.tables.inner.insertRow(0)
if(this.title)
{var td=row.insertCell(0)
td.style.height='20px'
td.setAttribute('align','left')
td.innerHTML='<h2>'+this.title+'</h2>'
row=this.tables.inner.insertRow(1)
var shift='20'}
else var shift=0
td=row.insertCell(0)
td.setAttribute('valign','top')
td.setAttribute('align','left')
var contentTd=td;div=document.createElement('DIV')
div.style.width='100%'
div.style.height='100%'
div.style.overflowY='auto'
div.style.overflowX='hidden'
td.appendChild(div)
this.tables.outter.style.position='absolute'
this.tables.outter.style.width='100%'
this.tables.outter.style.height=pageInfos.windowHeight+'px'
if(document.body&&document.body.scrollTop)
var scrollY=document.body.scrollTop;if(document.documentElement&&document.documentElement.scrollTop)
var scrollY=document.documentElement.scrollTop;if(window.pageYOffset)
var scrollY=window.pageYOffset;if(!scrollY)var scrollY=0
this.tables.outter.className='modalDialog_outter'
this.tables.outter.id='modalDialog_outter'
this.tables.outter.style.top=scrollY+'px'
this.tables.outter.style.left='0px'
if(window.dialogs.length==1)
{window.modalBackground.className='modalDialog_background'
window.modalBackground.style.top=this.tables.outter.style.top
window.modalBackground.style.width=this.tables.outter.style.width
window.modalBackground.style.height=this.tables.outter.style.height}
row=this.tables.outter.insertRow(0)
td=row.insertCell(0)
td.setAttribute('align','center')
td.id='greyedBackground'
td.style.valign='middle'
td.style.width=pageInfos.pageWidth
td.style.height='100%'
td.appendChild(this.tables.inner)
document.body.appendChild(window.modalBackground)
document.body.appendChild(this.tables.outter)
if(window.addEventListener)
window.addEventListener('DOMMouseScroll',wheel,false);window.onmousewheel=document.onmousewheel=wheel;this.insertContent()
this.addButtons()
if(Element.getHeight(this.tables.inner)>this.height){this.tables.inner.setStyle({height:this.height+'px'});contentTd.setAttribute('height',this.height-shift)}},addButtons:function()
{if(this.dialogType=='custom')return
row=this.tables.inner.insertRow(this.tables.inner.rows.length)
td=row.insertCell(0)
switch(this.dialogType)
{case'confirm':td.setAttribute('align','center')
td.innerHTML="<input type='button' onClick=\"closeDialog('"+this.id+"')\" value=\""+_mlt("CANCEL","Annuler")+"\" /> <input type='button' onclick=\""+this.okAction+"\" value=\""+_mlt("VALIDATE","Valider")+"\" /><br /><br />"
break
case'info':case'infos':default:td.setAttribute('align','center')
td.innerHTML="<input type='button' onClick=\"closeDialog('"+this.id+"')\" value=\""+_mlt("CLOSE")+"\">"
break}},register:function()
{if(!window.dialogs){window.dialogs=[];window.dialogsCounter=0}
window.dialogs[window.dialogs.length]=this
window.activeDialog=this
window.dialogsCounter++},unregister:function(id)
{var registered=[]
for(i=0;i<window.dialogs.length;i++)
{if(window.dialogs[i].id!=id)registered[registered.length]=window.dialogs[i]}
window.dialogs=registered
window.dialogsCounter--
if(window.dialogsCounter)window.activeDialog=window.dialogs[window.dialogsCounter-1]
else window.activeDialog=null},close:function()
{if(this.tables)Element.remove(this.tables.outter)
else Element.remove(this.up('TABLE'))
this.unregister(this.id)
if(window.dialogsCounter==0)
{if(window.addEventListener)
window.removeEventListener('DOMMouseScroll',wheel,false);window.onmousewheel=document.onmousewheel=null;Element.remove(window.modalBackground)}},closeOthers:function()
{for(i in window.dialogs)
{if(window.dialogs[i].close&&i!=this.id)window.dialogs[i].close()}},insertContent:function()
{if(this.tables.inner.rows.length==2)var cell=this.tables.inner.rows[1].cells[0]
else var cell=this.tables.inner.rows[0].cells[0]
cell=Element.down(cell,'div')
if(!this.silent&&typeof(_mlt)!='undefined')cell.innerHTML="<center height='100%'>"+_mlt("LOADING","Chargement")+"...</center>"
Element.update(cell,this.content);},loadContent:function()
{if(this.source)
{var response=new Ajax.Request(this.source,{asynchronous:false,evalScripts:true,requestHeaders:{'X-Request-Type':'dialog'}})
var toto=response.transport.responseText
this.parseURLResponse(toto)}},parseURLResponse:function(responseText)
{var r=/<h1>(.*?)<\/h1>/img
var title=r.exec(responseText)
if(!title)title=r.exec(responseText)
if(title)
{this.title=title[1]
this.content=responseText.replace(/<h1>(.*?)<\/h1>/img,'')}
else this.content=responseText},getPageInfos: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,xScroll:xScroll,yScroll:yScroll};}}
dialog=function(id,options)
{var dlg=new DHTML_modalMessage()
dlg.setId(id)
if(options.size)dlg.setSize(options.size.split(',')[0],options.size.split(',')[1])
else dlg.setSize(300,300)
dlg.setTitle(options.title||'')
if(options.source)dlg.setSource(options.source)
else if(options.url)dlg.setSource(options.url)
else if(options.content)dlg.setContent(options.content)
dlg.silent=options.silent||false
dlg.dialogType=options.type||'custom'
dlg.okAction=options.okAction||'closeDialog('+id+')'
return dlg}
closeDialog=function(id)
{if(window.dialogs[id])window.dialogs[id].close()
else if(window.activeDialog)window.activeDialog.close()}
closeAllDialogs=function()
{for(i in window.dialogs)
{if(window.dialogs[i].close)window.dialogs[i].close()}}
handle=function(delta){}
wheel=function(event)
{if(!event)event=window.event;if(!window.activeDialog)
{event.returnValue=true;return true;}
if(event.wheelDelta)
{delta=event.wheelDelta/120;if(window.opera)delta=-delta;}
else if(event.detail)
{delta=-event.detail/3;}
if(delta>0){up=true;down=false}
else{up=false;down=true}
if(src=Event.element(event))
{if(src.id=='greyedBackground')
{if(event.preventDefault)event.preventDefault();event.returnValue=false;return false}
else
{if(window.activeDialog.tables.inner.childNodes[0].rows.length>1)
{activeDiv=window.activeDialog.tables.inner.childNodes[0].rows[1].cells[0].childNodes[0]}
else
{activeDiv=window.activeDialog.tables.inner.childNodes[0].rows[0].cells[0].childNodes[0]}
if(((activeDiv.scrollTop+activeDiv.offsetHeight-delta<activeDiv.scrollHeight)&&down)||(up&&(activeDiv.scrollTop>0)))
{event.returnValue=true;return true;}
else
{if(event.preventDefault)event.preventDefault();event.returnValue=false;return false}}}
if(event.preventDefault)event.preventDefault();event.returnValue=false;return false;};var TAG_MODULE=1
var BOOKMARK_MODULE=2
var ACCOUNT_MODULE=4
var NEWS_MODULE=6
var HELP_MODULE=7
var COMMUNAUTIES_MODULE=10
var CATEGORIES_MODULE=11
var TRIGGERED_ALERTS_MODULE=12
window.onresize=function(){var width=document.body.clientWidth;if($('contentHeader')){$('contentHeader').style.width="100%";if(width>=1210){if($('coomcoomTitle'))$('coomcoomTitle').style.fontSize="24px";if($("headerLinkLogin"))$("headerLinkLogin").style.fontSize="12px";if($('headerLinkSubscribe'))$('headerLinkSubscribe').style.fontSize="12px";if($('headerLinkPref'))$('headerLinkPref').style.fontSize="12px";if($('headerLinkCGU'))$('headerLinkCGU').style.fontSize="12px";}
else if(width>=1115){if($('coomcoomTitle'))$('coomcoomTitle').style.fontSize="20px";if($("headerLinkLogin"))$("headerLinkLogin").style.fontSize="12px";if($('headerLinkSubscribe'))$('headerLinkSubscribe').style.fontSize="12px";if($('headerLinkPref'))$('headerLinkPref').style.fontSize="12px";if($('headerLinkCGU'))$('headerLinkCGU').style.fontSize="12px";}
else if(width>=1055){if($('coomcoomTitle'))$('coomcoomTitle').style.fontSize="18px";if($("headerLinkLogin"))$("headerLinkLogin").style.fontSize="10px";if($('headerLinkSubscribe'))$('headerLinkSubscribe').style.fontSize="10px";if($('headerLinkPref'))$('headerLinkPref').style.fontSize="10px";if($('headerLinkCGU'))$('headerLinkCGU').style.fontSize="10px";}
else if(width>=1020){if($('coomcoomTitle'))$('coomcoomTitle').style.fontSize="17px";if($("headerLinkLogin"))$("headerLinkLogin").style.fontSize="10px";if($('headerLinkSubscribe'))$('headerLinkSubscribe').style.fontSize="10px";if($('headerLinkPref'))$('headerLinkPref').style.fontSize="10px";if($('headerLinkCGU'))$('headerLinkCGU').style.fontSize="10px";}
else{if($('coomcoomTitle'))$('coomcoomTitle').style.fontSize="15px";if($("headerLinkLogin"))$("headerLinkLogin").style.fontSize="10px";if($('headerLinkSubscribe'))$('headerLinkSubscribe').style.fontSize="10px";if($('headerLinkPref'))$('headerLinkPref').style.fontSize="10px";if($('headerLinkCGU'))$('headerLinkCGU').style.fontSize="10px";if($('contentHeader'))$('contentHeader').style.width="470px";}
$$('.panel .panelInner .content iframe.coomcoomIframe').each(function(f){f.setStyle({height:(document.body.parentNode.clientHeight-160)+'px'});});}}
changeLanguage=function(locale){new Ajax.Request("/users/changeLanguage/"+locale,{onComplete:function(){document.location="/";}});}
_mlt=function(key,value){try{retour=eval("MLT_JS_"+key);}
catch(e){if(value){retour=value;}else{retour="[MISSING VARIABLE (MLT_JS_"+key+")]";}}
return retour;}
getCommentsLabel=function(nb_comments)
{switch(nb_comments)
{case'0':case 0:if(window.isUserLogged)comments_label=_mlt("ADD_COMMENT",'Ajouter un commentaire');else comments_label=_mlt("NO_COMMENT",'Aucun commentaire');break
case'1':case 1:comments_label='1 '+_mlt("COMMENT_LOWER","commentaire")
break
default:comments_label=nb_comments+' '+_mlt("COMMENTS","commentaires");break}
return comments_label}
clearMyList=function(ul)
{ul.immediateDescendants("li").each(function(li){if(!li.id)li.remove()})}
clearMyTable=function(table)
{try{for(var i=table.rows.length;i>0;i--)
{table.deleteRow(i-1);}}
catch(e){if(console)console.debug(e)}}
clearBookmarks=function(){$('bookmarksContainer').innerHTML='';}
unselectedAllTab=function(){$('switchToPublicTab').className='unselected_tab';$('switchToPrivateTab').className='unselected_tab';$('switchToGroupsTab').className='unselected_tab';$('switchToCoomunautyTab').className='unselected_tab';}
hitUrl=function(url_id,origin)
{new Ajax.Request("/urls/hit/"+url_id+"/"+origin)}
starOff=document.createElement('IMG')
starOff.src='/img/starGray.gif'
starOn=document.createElement('IMG')
starOn.src='/img/starBlue.gif'
starOver=document.createElement('IMG')
starOver.src='/img/starOrange.gif'
resetMark=function(event)
{starsContainer=Element.up(Event.element(event),'span')
if(!starsContainer)starsContainer=Event.element(event)
stars=starsContainer.immediateDescendants()
for(i=0;i<stars.length;i++)
{if((i+1)<=starsContainer.getAttribute('default'))stars[i].src=starOn.src
else stars[i].src=starOff.src}}
setMark=function(event)
{star=Event.element(event)
new_mark=star.getAttribute('value')
if(Global.starCurrent){if(new_mark==1&&Global.starCurrent==1)new_mark=0;if(new_mark>1&&Global.starCurrent==new_mark)new_mark=new_mark-1;}
Global.starCurrent=new_mark;Element.up(star,'span').setAttribute('default',new_mark)
resetMark(event)
new Ajax.Request("/marks/add/"+Element.up(star,'li').getAttribute('urlId')+"/"+new_mark,{asynchronous:false})
try{$$('span.myPublicCommentMark')[0].innerHTML=new_mark
Element.show('myPublicCommentMark')}catch(e){}}
overMark=function(event)
{star=Event.element(event)
overed_mark=star.getAttribute('value')
starsContainer=Element.up(star,'span')
stars=starsContainer.immediateDescendants()
for(i=0;i<stars.length;i++)
{if((i+1)<=overed_mark)stars[i].src=starOver.src
else stars[i].src=starOff.src}}
toolbarBookmark=function(event){var li=Event.element(event).up("LI");var id_current=li.getAttribute('bookmarkid');if(LAST_COMMENT_ID_DISPLAY!=0&&LAST_COMMENT_ID_DISPLAY!=id_current)$('bookmarkComment_'+LAST_COMMENT_ID_DISPLAY).style.display='none';if($('bookmarkToolbar'))
{var id_back=$('bookmarkToolbar').getAttribute('bookmarkid');if(id_current==id_back)
{if($('bookmarkToolbar').style.display=='none')
{li.className='selected_url';$('bookmarkToolbar').style.display='block';LAST_TOOLBAR_ID_DISPLAY=id_current;}
else
{li.className='unselected_url';$('bookmarkToolbar').style.display='none';LAST_TOOLBAR_ID_DISPLAY=0;}}
else
{var li_back=Element.up($('bookmarkToolbar'),'li');li_back.className='unselected_url';$('bookmarkToolbar').style.display='none';$('bookmarkToolbar').remove();}}
if(!$('bookmarkToolbar'));{var comment_id=li.getAttribute('bookmarkid');LAST_TOOLBAR_ID_DISPLAY=comment_id;var bookmarkToolbar=document.createElement("DIV");bookmarkToolbar.setAttribute('bookmarkid',li.getAttribute('bookmarkid'));bookmarkToolbar.id="bookmarkToolbar";bookmarkToolbar.style.display='none';var openBookmarkLink=document.createElement("A");openBookmarkLink.target="_blank";openBookmarkLink.href="javascript:;";openBookmarkLink.className="bookmarkLink";var openBookmarkIcon=document.createElement("IMG");openBookmarkIcon.src="/img/icons/crystal/16x16/actions/network.png";openBookmarkIcon.className="imageGreyed";openBookmarkIcon.style.border='0px';Event.observe($(openBookmarkIcon),"mouseover",function(event){showTooltip('bookmarkToolbarHelp','open_bookmark');Event.element(event).className='imageOver'});Event.observe($(openBookmarkIcon),"mouseout",function(event){hideTooltip('bookmarkToolbarHelp');Event.element(event).className='imageGreyed'});openBookmarkLink.appendChild(openBookmarkIcon);bookmarkToolbar.appendChild(openBookmarkLink);var editBookmarkIcon=document.createElement("IMG");editBookmarkIcon.src="/img/icons/crystal/16x16/actions/edit.png";editBookmarkIcon.className="imageGreyed";Event.observe($(editBookmarkIcon),"mouseover",function(event){showTooltip('bookmarkToolbarHelp','edit_bookmark');Event.element(event).className='imageOver'});Event.observe($(editBookmarkIcon),"mouseout",function(event){hideTooltip('bookmarkToolbarHelp');Event.element(event).className='imageGreyed'});bookmarkToolbar.appendChild(editBookmarkIcon);var deleteBookmarkIcon=document.createElement("IMG");deleteBookmarkIcon.src="/img/icons/crystal/16x16/actions/editdelete.png";deleteBookmarkIcon.className="imageGreyed";Event.observe($(deleteBookmarkIcon),"mouseover",function(event){showTooltip('bookmarkToolbarHelp','delete_bookmark');Event.element(event).className='imageOver'});Event.observe($(deleteBookmarkIcon),"mouseout",function(event){hideTooltip('bookmarkToolbarHelp');Event.element(event).className='imageGreyed'});bookmarkToolbar.appendChild(deleteBookmarkIcon);var moveBookmarkIcon=document.createElement("IMG");moveBookmarkIcon.src="/img/icons/crystal/16x16/actions/editmove.png";moveBookmarkIcon.className="imageGreyed";Event.observe($(moveBookmarkIcon),"mouseover",function(event){showTooltip('bookmarkToolbarHelp','move_bookmark');Event.element(event).className='imageOver'});Event.observe($(moveBookmarkIcon),"mouseout",function(event){hideTooltip('bookmarkToolbarHelp');Event.element(event).className='imageGreyed'});bookmarkToolbar.appendChild(moveBookmarkIcon);var shareBookmarkIcon=document.createElement("IMG")
shareBookmarkIcon.src="/img/icons/crystal/16x16/actions/groupevent.png";shareBookmarkIcon.className="imageGreyed";Event.observe($(shareBookmarkIcon),"mouseover",function(event){showTooltip('bookmarkToolbarHelp','publish_bookmark');Event.element(event).className='imageOver'})
Event.observe($(shareBookmarkIcon),"mouseout",function(event){hideTooltip('bookmarkToolbarHelp');Event.element(event).className='imageGreyed'})
bookmarkToolbar.appendChild(shareBookmarkIcon)
var bookmarkToolbarHelp=document.createElement("DIV");bookmarkToolbarHelp.id="bookmarkToolbarHelp";bookmarkToolbarHelp.style.display="inline";bookmarkToolbarHelp.style.position="relative";bookmarkToolbarHelp.style.top="-4px";bookmarkToolbarHelp.style.left="10px";bookmarkToolbarHelp.style.border="1px solid white";bookmarkToolbar.appendChild(bookmarkToolbarHelp)
li.className='unselected_folder';if(bookmarkToolbar.style.display=='none')
{Event.observe(openBookmarkIcon,'mousedown',function(event){openBookmarkLink.href=li.getAttribute('url');hitUrl(li.getAttribute('urlId'),'private');openBookmarkIcon.className='imageGreyed'});Event.observe(editBookmarkIcon,'click',function(event){dialog('editBookmark',{source:'/bookmarks/edit_form/'+li.getAttribute('bookmarkId'),size:'300,290'}).display();editBookmarkIcon.className='imageGreyed'});Event.observe(deleteBookmarkIcon,'click',function(event){dialog('deleteBookmark',{size:'300,160',source:'/bookmarks/confirmDelete/'+li.getAttribute('bookmarkId')}).display();deleteBookmarkIcon.className='imageGreyed'});Event.observe(moveBookmarkIcon,'click',function(event){dialog('moveBookmark',{size:'350,200',source:'/bookmarks/move/'+li.getAttribute('bookmarkId')}).display();moveBookmarkIcon.className='imageGreyed'});Event.observe(shareBookmarkIcon,'click',function(event){dialog('deleteBookmark',{size:'400,550',source:'/bookmarks/share_bookmark_form/'+li.getAttribute('bookmarkId')}).display();shareBookmarkIcon.className='imageGreyed'});li.appendChild(bookmarkToolbar);bookmarkToolbar.style.display='block';li.className='selected_folder';}
else
{li.className='unselected_folder';bookmarkToolbar.style.display='none';}}}
requestURL=function(url,method,f)
{new Ajax.Request(url,{method:method,postBody:Form.serialize(f),onComplete:valideOnComplete});return false}
valideOnComplete=function(xhr,json){try{if(json.redirect){document.location=json.redirect;return}
if(json.fonction){eval(json.fonction);}
if(json.error==0){closeDialog();return}
if(json.infos.title)var title=json.infos.title;else title='';if(title)
{var content=json.infos.text;content="<br><br><center><input id='closeDialogButton' type='button' value='"+_mlt("CLOSE")+"' onclick='closeDialog()'>";dialog('confirmation',{title:title,content:content,size:'350,250'}).display(json.hidedialogs);}}
catch(e){if(console)console.debug(e);}}
lostPassword=function(token){dialog('lostPassword',{source:'/users/lostPassword/'+token,size:'220,230'}).display();}
markAsViewed=function(triggeredAlert)
{new Ajax.Request('/triggered_alerts/markAsViewed/'+triggeredAlert,{onComplete:function(xhr){$("triggeredAlert"+xhr.responseText).style.fontWeight='normal';}})}
toggleComment=function(event)
{li=Event.findElement(event,'LI')
commentContainer=Element.down(li,'div.commentContainer')
if(commentContainer.style.display=='none')
{commentContainer.style.display='block'
if(opened_private_comment)
{Element.down(opened_private_comment,'div.commentContainer').style.display='none'}
opened_private_comment=li;}
else{commentContainer.style.display='none'
opened_private_comment=0;}}
deleteAlert=function(triggeredAlert)
{new Ajax.Request('/triggered_alerts/delete/'+triggeredAlert,{onComplete:function(xhr,json){var data=eval('('+xhr.responseText+')');var li=$("li_triggeredAlert"+data.id);if(data.none)
{li.innerHTML=data.none}
else
{Element.remove(li);}}})}
displayAlertSettings=function()
{new Ajax.Updater("myAlerts","/configured_alerts/update_settings");}
displayAlerts=function()
{new Ajax.Updater("myAlerts","/triggered_alerts/get");}
displayAlertsRss=function()
{new Ajax.Updater("myAlerts","/configured_alerts/rss");}
updateAlertSettings=function()
{var requestParameters=Form.serialize('updateSettingsForm')
new Ajax.Request("/configured_alerts/update_settings",{onComplete:displayAlerts,method:'post',postBody:requestParameters});}
seeMoreOrLess=function(communautyId,mltMore,mltLess)
{var div=$("moreAlerts"+communautyId);var a=$("a_moreAlerts"+communautyId);if(div.style.display=='block')
{div.style.display="none";a.innerHTML='['+mltMore+']';}
else
{div.style.display="block";a.innerHTML='['+mltLess+']';}}
info=function(action,contenu,e){var voir;var display;var mouseX,mouseY;if(t)clearTimeout(t);if(action=="cache"){voir="hidden";display="none";tempo();}
else{voir="visible";display="block";if(document.all)getMouseXY(document.event);else getMouseXY(e);$('bulle').className='relsample';document.getElementById("bulle").style.top=mouseY+15+"px";document.getElementById("bulle").style.left=mouseX+5+"px";document.getElementById("bulle").style.visibility=voir;document.getElementById("bulle").style.display=display;$("sub_content").innerHTML=contenu;}
function getMouseXY(e){if(!e)e=window.event;if(e){if(e.pageX||e.pageY){mouseX=e.pageX;mouseY=e.pageY;}
else if(e.clientX||e.clientY){mouseX=e.clientX+document.body.scrollLeft;mouseY=e.clientY+document.body.scrollTop;}}}}
function cache(){$("bulle").className='hide';$("sub_content").innerHTML='';}
function tempo(){t=setTimeout(cache,200);}
getFolder=function(sel,mlt){var indice=sel.selectedIndex;if(indice){var communauty_id=$F(sel);new Ajax.Request('/communauties/getCategories/'+communauty_id,{method:'get',onComplete:function(xhr,json){$('categoryCommunauty').innerHTML=xhr.responseText;}});}}
incrementModuleCounter=function(moduleId){new Ajax.Request("/modules/incrementCounter/"+moduleId);}
ajaxErrorOrClose=function(xhr){try{var result=eval('('+xhr.responseText+')');if(result.error){errorDialog(result.error);return false;}else{closeDialog();return true;}}catch(e){if(console)console.info(e);return false;}}
errorDialog=function(msg){dialog('CommonErrorDlg',{title:_mlt('ERROR','Erreur'),content:msg,size:'200,80',type:'info'}).display();}
showTooltip=function(div,button){div=$(div)
if(!div)return
switch(button)
{case'open_bookmark':Element.update(div,_mlt('OPEN_BOOKMARK_HELP','Ouvrir ce favori'));break;case'delete_bookmark':Element.update(div,_mlt('DELETE_BOOKMARK_HELP','Supprimer ce favori'));break;case'move_bookmark':Element.update(div,_mlt('MOVE_BOOKMARK_HELP','D&eacute;placer ce favori'));break;case'publish_bookmark':Element.update(div,_mlt('PUBLISH_BOOKMARK_GROUP_HELP','Partager ce favori dans <b>Mes Groupes</b>'));break;case'edit_bookmark':Element.update(div,_mlt('EDIT_BOOKMARK_HELP','Editer ce favori'));break;case'add_bookmark':Element.update(div,_mlt('ADD_BOOKMARK_HELP','Ajouter un favori'));break;case'open_folder':Element.update(div,_mlt('OPEN_FOLDER_HELP','Ouvrir ce dossier'));break;case'edit_folder':Element.update(div,_mlt('EDIT_FOLDER_HELP','Editer ce dossier'));break;case'move_folder':Element.update(div,_mlt('MOVE_FOLDER_HELP','D&eacute;placer ce dossier'));break;case'delete_folder':Element.update(div,_mlt('DELETE_FOLDER_HELP','Supprimer ce dossier'));break;case'publish_bookmark_communauty':Element.update(div,_mlt('PUBLISH_BOOKMARK_COMMUNAUTY_HELP',"Partager ce favori à la")+" <b>"+_mlt("COMMUNAUTY")+"</b>");break;}}
internalErrorDialog=function(){errorDialog(_mlt('INTERNAL_ERROR','Une erreur inatendue est survenue, veuillez r&eacute;&eacute;ssayer plus tard'));}
Ajax.Request.prototype._respondToReadyState=Ajax.Request.prototype.respondToReadyState;Ajax.Request.ErrorDialogTemplate=new Template('<h1>#{ERROR}</h1><p>#{ERROR_MSG}</p><p class="button"><input type="button" value="#{CLOSE}" onclick="javascript:closeDialog()"/></p>');Ajax.Request.prototype.respondToReadyState=function(readyState){var state=Ajax.Request.Events[readyState];if(state=='Complete'&&this.getHeader('X-Authentication-Required')=='true'){if(this.getRequestHeader('X-Request-Type')=='dialog'){this.transport.onreadystatechange=Prototype.emptyFunction;this.transport={responseText:Ajax.Request.ErrorDialogTemplate.evaluate({ERROR:_mlt('ERROR'),ERROR_MSG:_mlt('AUTHENTICATION_NEEDED','Vous devez &ecirc;tre identifi&eacute; pour acc&eacute;der &agrave; cette ressource'),CLOSE:_mlt('BACK')})};}else{errorDialog(_mlt('AUTHENTICATION_NEEDED'));}
return;}
this._respondToReadyState(readyState);}
var tabId=new Array()
var id
var t=0
displayAdvertise=function(event)
{if(document.all){curX=event.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);curY=event.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);}
else{curX=event.pageX;curY=event.pageY;}
element=Event.element(event)
id=element.id
$('calque_'+id).style.left=(curX+20)+'px'
$('calque_'+id).style.top=(curY+10)+'px'
for(i=0;i<tabId.length;i++)
{if(id!=tabId[i])
{$('calque_'+tabId[i]).style.display='none'}}
$('calque_'+id).style.display='block'
setId(id)
clearTimeout(t)}
hideAdvertise=function(event)
{$('calque_'+id).style.display='none'}
activeTimer=function(event)
{t=setTimeout(hideAdvertise,500)}
resetTimer=function(event)
{clearTimeout(t)}
setId=function(id)
{var already=0
var n
if(tabId.length<1)n=0
else n=tabId.length
for(var i=0;i<n;i++)
{if(tabId[i]==id){already=1;}}
if(!already){tabId[n]=id}}
isBrowserCompatible=function()
{var bool=false;var browser=navigator.userAgent.toLowerCase();if((browser.indexOf("msie 7.0")!=-1)||(browser.indexOf("msie 6.0")!=-1)||(browser.indexOf("firefox/2")!=-1)||(browser.indexOf("firefox/1.5")!=-1)||(browser.indexOf("safari/4")!=-1)||(browser.indexOf("opera/9")!=-1)||(browser.indexOf("mozilla/5.0")!=-1))
{bool=true;}
return bool;};searchFromTag=function(criteria,public)
{if(public){switchToPublic(true);$('mainContentCriteria').value=criteria;activeSearchButton();searchUrls(encodeURIComponent(criteria),0,1);}else{if(!$('switchMenu')){new Ajax.Updater('module_2_content','/tags/searchFromBookmarkPortlet',{onComplete:function(){searchBookmarks(encodeURIComponent(criteria),0,1);}});}else{switchToPrivate(true);searchBookmarks(encodeURIComponent(criteria),0,1);}}}
displayAllMyTags=function(displayAll){if(displayAll){new Ajax.Updater('module_2_content','/tags/get/true');}else{updateModule(BOOKMARK_MODULE);}};window.inputHighlight=true;currentlyActiveInputRef=false;currentlyActiveInputClassName=false;highlightActiveInput=function()
{if(currentlyActiveInputRef){currentlyActiveInputRef.className=currentlyActiveInputClassName;}
currentlyActiveInputClassName=this.className;Element.addClassName(this,'inputHighlighted')
currentlyActiveInputRef=this;}
blurActiveInput=function()
{Element.removeClassName(this,'inputHighlighted')}
initInputHighlightScript=function()
{var tags=['INPUT','TEXTAREA'];for(tagCounter=0;tagCounter<tags.length;tagCounter++){var inputs=document.getElementsByTagName(tags[tagCounter]);for(var no=0;no<inputs.length;no++)
{if(inputs[no].onfocus||inputs[no].onblur)continue;if(inputs[no].className&&inputs[no].className=='doNotHighlightThisInput')continue;if(inputs[no].tagName.toLowerCase()=='textarea'||((inputs[no].tagName.toLowerCase()=='input'&&(inputs[no].type.toLowerCase()=='text'||inputs[no].type.toLowerCase()=='password'))))
{inputs[no].onfocus=highlightActiveInput;inputs[no].onblur=blurActiveInput;}}}};var Global=Class.create();Global.prototype={initialize:function(){this.folder_id_current=0;this.user_id_current=0;this.type_current='';this.folderInGroup=0;this.admin=0;this.tempo=0;this.private=0;this.searhTag=0;this.firstClickStar=0;this.starCurrent=0;this.criteria_current='';this.isOK=false;this.loadContent=0;}};Global=new Global();var LAST_COMMENT_ID_DISPLAY=0;var LAST_TOOLBAR_BOOKMARK_ID_DISPLAY=0;var LAST_TOOLBAR_ID_DISPLAY=0;var LAST_ADVERTISING_ID_DISPLAY=0;var CURRENT_ADVERTISING_ID_DISPLAY=0;var ADVERTISING_TEMPO=0;var DISPLAY_ADVERTISING_TEMPO=500;var MAX_BOOKMARK_DISPLAY=20;var TYPE_CURRENT='';;var ToolbarEx=Class.create()
ToolbarEx.toolbarTemplate=new Template('<div class="toolbar">'+'<span class="content"></span><span class="help"></span>'+'</div>');ToolbarEx.toolbarItemTemplate=new Template('<img src="#{SRC}"/>');ToolbarEx.prototype={initialize:function(id,items){this._id=id;this._items=items;},createElement:function(){if(!$(this._id))this._toolbar=undefined;if(this._toolbar){this._toolbar.remove();return;}
if(!this._toolbar){this._toolbar=document.createElement('DIV');this._toolbar.setAttribute('id',this._id);new Insertion.Top(this._toolbar,ToolbarEx.toolbarTemplate.evaluate());}
this._toolbar.hide();var toolbarContent=this._toolbar.getElementsBySelector('.content')[0];var toolbarHelp=this._toolbar.getElementsBySelector('.help')[0];this._items.each(function(el){new Insertion.Bottom(toolbarContent,ToolbarEx.toolbarItemTemplate.evaluate({SRC:el.image}));var item=toolbarContent.immediateDescendants().last();item.addClassName('greyed');Event.observe(item,'mouseover',function(){item.removeClassName('greyed');toolbarHelp.innerHTML=el.helpText;});Event.observe(item,'mouseout',function(){item.addClassName('greyed');toolbarHelp.innerHTML='';});Event.observe(item,'click',function(){item.addClassName('greyed');toolbarHelp.innerHTML='';});$H(el.events).each(function(ev){Event.observe(item,ev.key,ev.value);});});},closePrevious:function(){if(this._toolbar){try{this._toolbar.remove();}catch(e){}}},displayIn:function(element){this.createElement();$(element).appendChild(this._toolbar);this._container=element;this._toolbar.show();},toggleIn:function(element){if(this._container==element){this.hide();}else{this.displayIn(element);}},hide:function(){if(this._toolbar){this._toolbar.hide();this._container=null;}},getContainer:function(){return this._container;},getId:function(){return this._id;}};;switchToPublic=function(dontLoadContent){deactiveSwitchLink();clearElements();if(!dontLoadContent)new Ajax.Request('/categories/searchUrlByCategory/0',{onComplete:function(xhr,json){generateUrlList(xhr,json);activeSwitchLink();}});displayPublicLayout();$('mainContentClearResultsButton').hide();if(dontLoadContent){activeSwitchLink();}}
switchToPrivate=function(dontLoadContent){deactiveSwitchLink();if(!dontLoadContent)clearElements();displayPrivateLayout();$('mainContentClearResultsButton').hide();if(User.isLogged==true){Bookmark.USER_ID=null;if(!dontLoadContent)openFolder(0);}
activeSwitchLink();}
switchToGroups=function()
{deactiveSwitchLink();clearElements();displayGroupLayout();$('mainContentClearResultsButton').hide();if(User.isLogged==true){Group.get(0);}
activeSwitchLink();}
switchToCommunauty=function(communauty_id,folder_id)
{deactiveSwitchLink();clearElements();displayCommunautyLayout(communauty_id,folder_id);$('mainContentClearResultsButton').hide();activeSwitchLink();}
updateSearchLabel=function(newLabel){$('mainContentCriteria').value='';$('mainContentSubmitSearch').value=newLabel;}
displayPublicLayout=function(){activateTab('Public');activateSubMenu('none');updateSearchLabel(_mlt('SEARCH_PUBLIC_BUTTON','Chercher dans la partie publique'));Event.clearObservers($('searchForm'));Event.observe('searchForm','submit',function(e){Event.stop(e);searchUrls($('mainContentCriteria').value)});}
displayPrivateLayout=function(){activateTab('private');activateSubMenu('private');$('switchToPrivateTab').className='selected_tab';Communauty.currentCommunauty=-1;Communauty.currentFolder=-1;updateSearchLabel(_mlt('SEARCH_PRIVATE_BUTTON','Chercher dans la partie privée'));Event.clearObservers($('searchForm'));Event.observe('searchForm','submit',function(e){Event.stop(e);searchBookmarks($('mainContentCriteria').value)});Event.clearObservers($('mainContentClearResultsButton'));Event.observe('mainContentClearResultsButton','click',function(e){Event.stop(e);openFolder(0);});$('privateSubMenuDiv').style.display='block';}
displayCommunautyLayout=function(communauty_id,folder_id){activateTab('communauty');Communauty.currentCommunauty=-1;Communauty.currentFolder=-1;Communauty.buildSubMenu();activateSubMenu('communauty');updateSearchLabel(_mlt('SEARCH_COOMUNAUTY_BUTTON','Chercher dans la Coomunauté'));if(communauty_id){Communauty.openCommunauty(communauty_id,folder_id);}else{Communauty.generateNavigator();}
Event.clearObservers($('searchForm'));Event.observe('searchForm','submit',function(e){Event.stop(e);Communauty.search($('mainContentCriteria').value)});Event.clearObservers($('mainContentClearResultsButton'));Event.observe('mainContentClearResultsButton','click',function(e){Event.stop(e);$('mainContentCriteria').value='';Communauty.currentCommunauty=-1;Communauty.currentFolder=-1;Communauty.buildSubMenu();Communauty.generateNavigator();});}
displayGroupLayout=function(){activateTab('group');activateSubMenu('group');updateSearchLabel(_mlt('SEARCH_GROUP_BUTTON','Chercher dans la partie partagée'));Event.clearObservers($('searchForm'));Event.observe('searchForm','submit',function(e){Event.stop(e);searchBookmarksInGroup($('mainContentCriteria').value);});Event.clearObservers($('mainContentClearResultsButton'));Event.observe('mainContentClearResultsButton','click',function(e){Event.stop(e);Group.get(0);});}
deactiveSwitchLink=function(){Event.clearObservers($('switchToPrivateTab'));Event.clearObservers($('switchToGroupTab'));Event.clearObservers($('switchToCommunautyTab'));Event.clearObservers($('switchToPublicTab'));}
activeSwitchLink=function(){Event.observe('switchToPublicTab','click',function(){switchToPublic(false);});Event.observe('switchToPrivateTab','click',function(){switchToPrivate(false);});Event.observe('switchToCommunautyTab','click',function(){switchToCommunauty(false);});Event.observe('switchToGroupTab','click',function(){switchToGroups(false);});}
clearElements=function(){$('pathInfo').innerHTML='';clearBookmarkContainer();clearNavigator();}
clearNavigator=function(){$('navigator').innerHTML='';}
clearBookmarkContainer=function(){$('bookmarksContainer').innerHTML='';}
activeSearchButton=function(){if($('mainContentCriteria').value.length>=3){$('mainContentSubmitSearch').disabled=false;}else{$('mainContentSubmitSearch').disabled=true;}}
activateSubMenu=function(subMenu){subMenuId=subMenu+'SubMenuDiv';Element.immediateDescendants($('subMenusDiv')).each(function(el){if(el.getAttribute('id')!=subMenuId){el.hide();}else{el.show();}});}
displayGroupsSubMenu=function(subSubMenu){$('groupSubSubMenu').show();subSubMenuId=subSubMenu+'GroupSubMenuList';Element.immediateDescendants($('groupSubSubMenu')).each(function(el){if(el.getAttribute('id')!=subSubMenuId){el.hide();}else{el.show();}});}
hideGroupsSubMenu=function(){$('groupSubSubMenu').hide();}
activateGroupsSubMenuLink=function(indice){Element.immediateDescendants($('groupSubMenuList')).each(function(el,i){if(i<=indice){el.show();}else{el.hide();}})}
activateTab=function(tab){tabId='switchTo'+tab.capitalize()+'Tab';$$('#switchMenu span a').each(function(el){if(el.getAttribute('id')==tabId){el.addClassName('selected_tab');el.removeClassName('unselected_tab');}else{el.removeClassName('selected_tab');el.addClassName('unselected_tab');}});}
openFolder=function(folderId){if(folderId==0){$('mainContentClearResultsButton').hide();$('mainContentCriteria').value='';activeSearchButton();}
if((Bookmark.USER_ID)&&(Bookmark.USER_ID!='')){hideGroupsSubMenu();activateGroupsSubMenuLink(Group.BOOKMARKS_MENU_POSITION);Event.clearObservers($('groupSubMenuBookmarksMenu'));Event.observe('groupSubMenuBookmarksMenu','click',function(e){Event.stop(e);openFolder(0);});}else{$('privateSubMenuDiv').setStyle({display:'block'});}
getFolders(folderId);getBookmarks(folderId);};var time=0;var duration=100;var AdvTPL={};AdvTPL.content=new Template('<!-- Cadre advertising -->'+'<table id="cadre_advertising_#{URL_ID}" onmouseover="displayAdvert(\'cadre_advertising_#{URL_ID}\')" onmouseout="hideAdvert(\'cadre_advertising_#{URL_ID}\')" width="300" class="hide" border="0" cellpadding="0" cellspacing="0">'+'<tr class="Cadre_Header">'+'<td class="CH_col_1"><table width="12" border="0" cellpadding="0" cellspacing="0"><tr></tr></table></td>'+'<td class="CH_col_2">Publicit&eacute;</td>'+'<td class="CH_col_3" onclick="$(\'cadre_advertising_#{URL_ID}\').className = \'hide\'" style="cursor:pointer"><table width="21" border="0" cellpadding="0" cellspacing="0"><tr></tr></table></td>'+'</tr>'+'<tr class="Cadre_Content">'+'<td colspan="3">'+'<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">'+'<tr>'+'<td class="CC_col_1"></td>'+'<td id="content_advertising" class="CC_col_2" valign="top">'+'<div id="advertising_img_#{URL_ID}" class="advertising_img_#{MODEL}"><a href="#{URL}" target="_blank"><img src="image.php?type=img_advertising&id=#{URL_ID}; return false;" onmouseover="zoomInImg(#{URL_ID}); return false;" onmouseout="zoomOutImg(#{URL_ID})" border="0" /></a></div>'+'<div class="advertising_content_#{MODEL}"><a href="#{URL}" target="_blank"><font size="0.6">#{ADVERTISING_CONTENT}</font></a></div>'+'</td>'+'<td class="CC_col_3"></td>'+'</tr>'+'</table>'+'</td>'+'</tr>'+'<tr class="Cadre_Footer">'+'<td colspan="3" height="7">'+'<table width="100%" height="10" border="0" cellpadding="0" cellspacing="0">'+'<tr>'+'<td class="CF_col_1"></td>'+'<td class="CF_col_2">&nbsp;</td>'+'<td class="CF_col_3"></td>'+'</tr>'+'</table>'+'</td>'+'</tr>'+'</table>'+'<!-- /Cadre advertising -->');Advert=function(url_id,advertising_content,model,url){if(!url)url="#";var content={URL_ID:url_id,ADVERTISING_CONTENT:advertising_content,MODEL:model,URL:url};return AdvTPL.content.evaluate(content);}
displayAdvert=function(element){hideAllAdvert(array_urlID);$(element).className='display';clearTimeout(time);}
hideAdvert=function(element){time=setTimeout("hideAD('"+element+"')",duration);}
hideAD=function(element){$(element).className='hide';clearTimeout(time);}
hideAllAdvert=function(arrayURLID){for(var i=0;i<arrayURLID.length;i++){$('cadre_advertising_'+arrayURLID[i]).className='hide';}}
zoomInImg=function(url_id){if(!$('imgZoom_'+url_id)){var element=$("advertising_img_"+url_id);var img=document.createElement('img');img.src="image.php?type=content&id="+url_id;img.style.position='absolute';img.id="imgZoom_"+url_id;img.style.left='100px';img.style.top='30px';img.className='display';img.style.border="1px solid black";img.style.padding="2px";img.style.background="white";element.appendChild(img);}
else{$('imgZoom_'+url_id).className='display';}}
zoomOutImg=function(url_id){$('imgZoom_'+url_id).className='hide';};var User={};User.isLogged=false;User.isTestUser=false;User.USER_NAVIGATOR_ID='userNavigatorId';User.NB_COLUMNS=3;User.navigatorTemplate=new Template("<hr><div id='"+User.USER_NAVIGATOR_ID+"'>"+"</div><div style='clear:both;'></div><hr>");User.navigatorElementTemplate=new Template("<div id='userNavigatorElementId_#{USER_ID}' class='navigatorElement' userId='#{USER_ID}'>"+"<img align='bottom' src='/img/icons/crystal/16x16/apps/yast_#{IMG_NAME}.gif' class='navigatorImg'/>&nbsp;"+"<a id='userNavigatorElementLink_#{USER_ID}' userId='#{USER_ID}' class='navigatorElementLink'>#{USER_NAME}</a>"+"</div>");User.generateNavigator=function(xhr,json){try{if(!json)json=eval('('+xhr.responseText+')');Group.currentCreatorId=json.infos.creator_id;var navigator={};new Insertion.Bottom($('navigator'),User.navigatorTemplate.evaluate(navigator));json.users.each(User.generateNavigatorElement);}catch(e){if(console)console.error(e);}}
User.generateNavigatorElement=function(user,i){try{var userName=user['email'];if(user['login'])userName=user['login'];var imgName='user_add';if(Group.currentCreatorId==user['user_id'])imgName='sysadmin';navigatorElement={USER_ID:user['user_id'],USER_NAME:userName,IMG_NAME:imgName};new Insertion.Bottom($(User.USER_NAVIGATOR_ID),User.navigatorElementTemplate.evaluate(navigatorElement));var element=$('userNavigatorElementId_'+user['user_id']);if(i%User.NB_COLUMNS==0)element.setStyle({clear:'both'});Event.observe(element,"click",function(){Bookmark.USER_ID=user['user_id'];openFolder(0)});}catch(e){if(console)console.error(e)}}
User.registerFormSetup=function(){Event.observe($('userRegisterForm'),'submit',User.registerFormSave);Event.observe($('userRegisterForm').getElementsBySelector('.cancelButton')[0],'click',closeDialog);Event.observe($('imgRegisterSponsorHelp'),'click',function(e){Event.stop(e);dialog('dlgSponsorInfo',{size:'360,200',title:_mlt("SPONSORER_INFO","A quoi sert le parrain"),type:'info',source:'/pages/help/sponsor'}).display();});Event.observe($('lnkRegisterEULA'),'click',function(e){Event.stop(e);dialog('dlgEULA',{url:'/content/contents/display/Conditions%20d%27utilisation/',size:'300,300',type:'info'}).display();});var emailField=$('userRegisterEmail');Event.observe(emailField,'blur',function(e){if(/^.+@.+$/.test($F(emailField))==false){emailField.addClassName('wrong');}});Event.observe(emailField,'focus',function(e){emailField.removeClassName('wrong');});var loginField=$('userRegisterLogin');Event.observe(loginField,'blur',function(e){if(/^.{5,}$/.test($F(loginField))==false){loginField.addClassName('wrong');}});Event.observe(loginField,'focus',function(e){loginField.removeClassName('wrong');});var passwordField=$('userRegisterPassword');var passwordConfirmField=$('userRegisterPasswordConfirm');Event.observe(passwordField,'blur',function(e){if(/^.{5,}$/.test($F(passwordField))==false||($F(passwordConfirmField).length>0&&$F(passwordConfirmField)!=$F(passwordField))){passwordField.addClassName('wrong');passwordConfirmField.addClassName('wrong');}else{passwordField.removeClassName('wrong');passwordConfirmField.removeClassName('wrong');}});Event.observe(passwordField,'focus',function(e){passwordField.removeClassName('wrong');});Event.observe(passwordConfirmField,'blur',function(e){if($F(passwordConfirmField)!=$F(passwordField)||/^.{5,}$/.test($F(passwordField))==false){passwordField.addClassName('wrong');passwordConfirmField.addClassName('wrong');}else{passwordField.removeClassName('wrong');passwordConfirmField.removeClassName('wrong');}});Event.observe(passwordConfirmField,'focus',function(e){passwordConfirmField.removeClassName('wrong');});$('userRegisterEmail').focus();}
User.registerFormSave=function(e){Event.stop(e);var form=$('userRegisterForm');new Ajax.Request(form.getAttribute('action'),{method:form.getAttribute('method'),parameters:Form.serialize(form),onSuccess:function(xhr){if(ajaxErrorOrClose(xhr)){var json=eval('('+xhr.responseText+')');if(json.success)document.location.href="/";}}});}
User.loginFormSetup=function(){var form=$('userLoginForm');Event.observe(form.getElementsBySelector('.cancelButton')[0],'click',closeDialog);Event.observe(form,'submit',User.loginFormSave);var emailField=$('userLoginEmail');Event.observe(emailField,'blur',function(){if(/^.+@.+$/.test($F(emailField))==false){emailField.addClassName('wrong');}});Event.observe(emailField,'focus',function(){emailField.removeClassName('wrong');});emailField.focus();}
User.loginFormSave=function(e){Event.stop(e);var form=$('userLoginForm');new Ajax.Request(form.getAttribute('action'),{method:form.getAttribute('method'),parameters:Form.serialize(form),onSuccess:function(xhr){if(ajaxErrorOrClose(xhr)){dialog('editCommunautyDlg',{content:Common.loadingTemplate,title:_mlt('LOADING'),size:'220,120'}).display();window.setTimeout('this.location = "/"',500);}}});}
User.subscribeFormSetup=function(){var form=$('userSubscribeForm');Event.observe(form.getElementsBySelector('.cancelButton')[0],'click',closeDialog);Event.observe('chequeRadio','click',function(e){$('chequeInfos').style.display='block';});Event.observe('paypalRadio','click',function(e){$('chequeInfos').style.display='none';});}
subscribe=function()
{new Ajax.Request('/users/newsletter/'+$('newsletter_email').value+'/'+1,{onComplete:newsletterManagement});}
unSubscribe=function()
{new Ajax.Request('/users/newsletter/'+$('newsletter_email').value+'/'+0,{onComplete:newsletterManagement})}
newsletterManagement=function(xhr,success)
{if(success)
{closeAllDialogs()
header_tag='h5'}
else header_tag='h4'
$('newsletterSubscriptionResult').innerHTML="<"+header_tag+">"+xhr.responseText+"</"+header_tag+">";};var Bookmark={};Bookmark.MAIN_CONTENT_BOOKMARK_LIST_ID='mainContentBookmarkList';Bookmark.MAIN_ACTION=null;Bookmark.USER_ID=null;Bookmark.isAdmin=false;Bookmark.NB_RESULTS=20;opened_private_comment=0
Bookmark.listTemplate=new Template('#{PRIVATE_INFO}<br><br>#{PAGER}<ul id="'+Bookmark.MAIN_CONTENT_BOOKMARK_LIST_ID+'"></ul>#{PAGER}');Bookmark.taggedListTemplate=new Template('#{SUMMARY}<br><br>#{PAGER}<ul id="taggedBookmarksList"></ul>#{PAGER}');Bookmark.itemTemplate=new Template("<li id='mainContentBookmark#{TAG_SEARCH}_#{BOOKMARK_ID}' bookmarkId='#{BOOKMARK_ID}' urlId='#{URL_ID}' url='#{URL_ADDRESS}'>"+"<img id='mainContentBookmark#{TAG_SEARCH}Img_#{BOOKMARK_ID}' class='statusIcon' align='bottom' src='/img/icons/crystal/16x16/actions/#{IMG_NAME}.gif'/> "+"<a id='mainContentBookmark#{TAG_SEARCH}Link_#{BOOKMARK_ID}' class='bookmarkName' href='javascript:;'>#{BOOKMARK_NAME}</a>"+"<a href='javascript:;' id='mainContentBookmark#{TAG_SEARCH}CommentLink_#{BOOKMARK_ID}' style='color: rgb(85, 85, 85);'> - "+_mlt("COMMENT")+" - </a>"+"<span id='mainContentBookmark#{TAG_SEARCH}StarsContainer_#{BOOKMARK_ID}' class='starsContainer' default='#{DEFAULT_MARK}'>"+"<img id='mainContentBookmark#{TAG_SEARCH}Mark_#{BOOKMARK_ID}_1' src='/img/starGray.gif' value='1' class=\"mark\" style='left:-1px'/>"+"<img id='mainContentBookmark#{TAG_SEARCH}Mark_#{BOOKMARK_ID}_2' src='/img/starGray.gif' value='2' class=\"mark\" style='left:-1px'/>"+"<img id='mainContentBookmark#{TAG_SEARCH}Mark_#{BOOKMARK_ID}_3' src='/img/starGray.gif' value='3' class=\"mark\" style='left:-1px'/>"+"<img id='mainContentBookmark#{TAG_SEARCH}Mark_#{BOOKMARK_ID}_4' src='/img/starGray.gif' value='4' class=\"mark\" style='left:-1px'/>"+"<img id='mainContentBookmark#{TAG_SEARCH}Mark_#{BOOKMARK_ID}_5' src='/img/starGray.gif' value='5' class=\"mark\" style='left:-1px'/>"+"</span> #{LINKED_FOLDER}"+"<div id='mainContentBookmark#{TAG_SEARCH}Comment_#{BOOKMARK_ID}' style='display:none' class='commentContainer'>"+"<textarea id='mainContentBookmark#{TAG_SEARCH}CommentTextArea_#{BOOKMARK_ID}' class='textareaCommentEditable'>#{COMMENT}</textarea><br>"+"<a id='mainContentBookmark#{TAG_SEARCH}CommentCloseLink_#{BOOKMARK_ID}' href='javascript:;' >"+_mlt('CLOSE')+"</a>"+"</div>"+"</li>");Bookmark.linkedFolderTemplate=new Template("<span><a class='selected_tab' href='javascript:;' id='mainContentBookmark#{TAG_SEARCH}LinkedGroup_#{BOOKMARK_ID}'>#{GROUP_NAME}</a><a class='unselected_tab' href='javascript:;' id='mainContentBookmark#{TAG_SEARCH}LinkedFolder_#{BOOKMARK_ID}'>#{FOLDER_NAME}</a></span>");Bookmark.toolbar=new ToolbarEx('bookmarkToolbarId',[{image:'/img/icons/crystal/16x16/actions/network.png',events:{'click':function(event){if(!User.isTestUser){window.open(Event.element(event).up('LI').getAttribute('url'));hitUrl(Event.element(event).up('LI').getAttribute('urlId'),'private');}else{Common.displayRightTestUserErrorDialog();}}},helpText:_mlt('OPEN_BOOKMARK','Ouvrir ce favori')},{image:'/img/icons/crystal/16x16/actions/edit.png',events:{'click':function(event){if(!User.isTestUser){dialog('editBookmark',{source:'/bookmarks/edit_form/'+Event.element(event).up('LI').getAttribute('bookmarkId'),size:'300,700'}).display();}else{Common.displayRightTestUserErrorDialog();}}},helpText:_mlt('EDIT_BOOKMARK','Modifier ce favori')},{image:'/img/icons/crystal/16x16/actions/editdelete.png',events:{'click':function(event){if(!User.isTestUser){dialog('deleteBookmark',{size:'300,160',source:'/bookmarks/confirmDelete/'+Event.element(event).up('LI').getAttribute('bookmarkId')}).display();}else{Common.displayRightTestUserErrorDialog();}}},helpText:_mlt('DELETE_BOOKMARK','Supprimer ce favori')},{image:'/img/icons/crystal/16x16/actions/editmove.png',events:{'click':function(event){if(!User.isTestUser){dialog('moveBookmark',{size:'350,200',source:'/bookmarks/move_form/'+Event.element(event).up('LI').getAttribute('bookmarkId')}).display();}else{Common.displayRightTestUserErrorDialog();}}},helpText:_mlt('MOVE_BOOKMARK','Déplacer ce favori')},{image:'/img/puce.gif',events:{'click':function(event){if(!User.isTestUser){dialog('shareBookmark',{size:'400,550',source:'/communauties/share_bookmark_form/'+Event.element(event).up('LI').getAttribute('bookmarkId')}).display();}else{Common.displayRightTestUserErrorDialog();}}},helpText:_mlt('SHARE_BOOKMARK','Partager ce favori')}]);generateBookmarkList=function(xhr,json){try{if(!json)json=eval('('+xhr.responseText+')');if((json.infos.bookmarks.action=='get')||(json.infos.bookmarks.action=='search')){Bookmark.MAIN_ACTION=json.infos.bookmarks.action;}
Bookmark.isAdmin=json.infos.bookmarks.isAdmin;var container=$('genericBookmarksContainer');if(!container)container=$('bookmarksContainer');container.innerHTML='';var privateInfo="";if((json.errors)&&(json.errors.bookmarks)){privateInfo=json.errors.bookmarks;new Insertion.Bottom(container,Bookmark.listTemplate.evaluate({PRIVATE_INFO:privateInfo}));}else{if(json.infos.bookmarks.summary){privateInfo=json.infos.bookmarks.summary;}
var pager='';if((json.infos.bookmarks.nb_matches)&&(json.infos.bookmarks.nb_matches>20)){pager=generateBookmarkPager(json.infos.bookmarks.nb_matches,json.infos.bookmarks.criteria);}
new Insertion.Bottom(container,Bookmark.listTemplate.evaluate({PAGER:pager,PRIVATE_INFO:privateInfo}));var bookmarksList=$(Bookmark.MAIN_CONTENT_BOOKMARK_LIST_ID);json.bookmarks.each(function(el){generateBookmarkListElement(el,bookmarksList) });}}
catch(e){if(console)console.error(e);}}
generateTaggedBookmarkList=function(xhr){$('taggedBookmarksContainer').innerHTML='';try{var json=eval('('+xhr.responseText+')');if(!json.bookmarks.length){$('taggedBookmarksContainer').innerHTML=_mlt('NO_BOOKMARK_FOUND','Aucun favori trouvé');}else{var pager;if((json.nb_matches)&&(json.nb_matches>20)){pager=Common.getPager('searchTaggedBookmarks(\''+json.criteria+'\')',json.nb_matches);}else{pager='';}
$('taggedBookmarksContainer').innerHTML=Bookmark.taggedListTemplate.evaluate({PAGER:pager,SUMMARY:json.summary});var bookmarksList=$('taggedBookmarksList');json.bookmarks.each(function(el){generateBookmarkListElement(el,bookmarksList,true)});}}catch(e){if(console)console.error(e);}}
generateBookmarkListElement=function(bookmark,container,tagSearch){if(!tagSearch)tagSearch=false;try{var imgName='webexport';if(bookmark.private==1)imgName='filelocked';var name=bookmark.name;if(name.length>60){name=name.substring(0,60)+'...';}
var groupName='';if(bookmark["group"]){groupName='('+bookmark["group"]["name"];if(bookmark["folder_name"]){groupName+=' :';}else{groupName+=')';}}
var folderName='';if(bookmark["folder_name"]){if(!bookmark["group"]){folderName='(';}
folderName+=bookmark["folder_name"]+')';}
var tagSearchTemplateElement='';if(tagSearch)tagSearchTemplateElement='Tag';var linked={BOOKMARK_ID:bookmark["bookmark_id"],TAG_SEARCH:tagSearchTemplateElement,GROUP_NAME:groupName,FOLDER_NAME:folderName}
var linkedFolder=Bookmark.linkedFolderTemplate.evaluate(linked);var bookmarkListElement={BOOKMARK_ID:bookmark["bookmark_id"],TAG_SEARCH:tagSearchTemplateElement,URL_ID:bookmark['url_id'],URL_ADDRESS:bookmark.address,IMG_NAME:imgName,BOOKMARK_NAME:name,DEFAULT_MARK:(bookmark['my_mark']==null?0:bookmark['my_mark']),COMMENT:bookmark.comment,LINKED_FOLDER:linkedFolder};new Insertion.Bottom(container,Bookmark.itemTemplate.evaluate(bookmarkListElement));if((Bookmark.isAdmin)||((bookmark["isAdmin"])&&(bookmark["isAdmin"])==true)){Event.observe($('mainContentBookmark'+tagSearchTemplateElement+'Link_'+bookmark['bookmark_id']),"click",function(){Bookmark.toolbar.displayIn($('mainContentBookmark'+tagSearchTemplateElement+'_'+bookmark["bookmark_id"]));});}else{Event.observe($('mainContentBookmark'+tagSearchTemplateElement+'Link_'+bookmark['bookmark_id']),"click",function(){window.open($('mainContentBookmark_'+bookmark["bookmark_id"]).getAttribute('url'));hitUrl($('mainContentBookmark_'+bookmark["bookmark_id"]).getAttribute('urlId'),'private');});}
Event.observe($('mainContentBookmark'+tagSearchTemplateElement+'CommentLink_'+bookmark['bookmark_id']),"click",toggleComment);Event.observe($('mainContentBookmark'+tagSearchTemplateElement+'CommentTextArea_'+bookmark['bookmark_id']),'blur',function(event){new Ajax.Request("/bookmarks/comment/"+bookmark['bookmark_id']+"/"+encodeURIComponent($('mainContentBookmark'+tagSearchTemplateElement+'CommentTextArea_'+bookmark['bookmark_id']).value))})
Event.observe($('mainContentBookmark'+tagSearchTemplateElement+'CommentCloseLink_'+bookmark['bookmark_id']),'click',toggleComment);generateMarks($('mainContentBookmark'+tagSearchTemplateElement+'StarsContainer_'+bookmark['bookmark_id']).getElementsBySelector('img.mark'),$('mainContentBookmark'+tagSearchTemplateElement+'StarsContainer_'+bookmark['bookmark_id']),bookmark['my_mark']);if(bookmark["group"]){Event.observe('mainContentBookmark'+tagSearchTemplateElement+'LinkedGroup_'+bookmark['bookmark_id'],'click',function(){Group.getUsers(bookmark['group'])});}else{$('mainContentBookmark'+tagSearchTemplateElement+'LinkedGroup_'+bookmark['bookmark_id']).hide();}
if(bookmark["folder_name"]){Event.observe('mainContentBookmark'+tagSearchTemplateElement+'LinkedFolder_'+bookmark['bookmark_id'],'click',function(){openFolder(bookmark['folder_id'])});}else{$('mainContentBookmark'+tagSearchTemplateElement+'LinkedFolder_'+bookmark['bookmark_id']).hide();}}catch(e){if(console)console.error(e);}}
generateMarks=function(stars,container,value){stars.each(function(img,index){if(index<value){img.src='/img/starBlue.gif';}else{img.src='/img/starGray.gif';}
Event.observe(img,'mouseover',overMark);Event.observe(img,'click',setMark);});Event.observe(container,'mouseout',resetMark);}
getBookmarks=function(folderId,start){var userIdUrl='';if(Bookmark.USER_ID)userIdUrl=Bookmark.USER_ID;if(!start)start=0;clearBookmarkContainer();new Ajax.Request('/bookmarks/get/'+folderId+'/'+start+'/'+Bookmark.NB_RESULTS+'/'+userIdUrl,{onComplete:generateBookmarkList});}
searchBookmarks=function(criteria,start,fromTags){clearNavigator();$('privateSubMenuDiv').setStyle({display:'none'});$('mainContentClearResultsButton').show();if(!start){clearBookmarkContainer();if(fromTags){new Insertion.Bottom($('bookmarksContainer'),'<h2>'+_mlt('TAGGED_BOOKMARKS_PV_RESULTS','Résultats par tag')+'</h2>');new Insertion.Bottom($('bookmarksContainer'),'<div id="taggedBookmarksContainer"></div>');new Insertion.Bottom($('bookmarksContainer'),'<h2>'+_mlt('GENERIC_RESULTS','Résultats par mot clé')+'</h2>');new Insertion.Bottom($('bookmarksContainer'),'<div id="genericBookmarksContainer"></div>');searchTaggedBookmarks(criteria,0);}
start='';}
var container=$('genericBookmarksContainer');if(!container)container=$('bookmarksContainer');new Insertion.Top(container,Common.loadingTemplate);new Ajax.Request('/bookmarks/search/'+criteria+'/'+start,{onComplete:function(xhr,json){generateBookmarkList(xhr,json);$('mainContentCriteria').value=decodeURIComponent(criteria);activeSearchButton();}});}
searchBookmarksInGroup=function(criteria,start){clearNavigator();$('privateSubMenuDiv').setStyle({display:'none'});$('mainContentClearResultsButton').show();if(!start)start='';new Ajax.Request('/groups/search/'+criteria+'/'+start,{onComplete:generateBookmarkList});}
searchTaggedBookmarks=function(criteria,start){var container=$('taggedBookmarksList');if(!container)container=$('taggedBookmarksContainer');container.innerHTML=Common.loadingTemplate;new Ajax.Request('/tags/search_bookmarks/'+criteria+'/'+start,{onSuccess:generateTaggedBookmarkList});}
generateBookmarkPager=function(nbMatches,criteria){var action='';if(Bookmark.MAIN_ACTION=='get'){action="getBookmarks("+criteria+",";}else if(Bookmark.MAIN_ACTION=='search'){action="searchBookmarks('"+criteria+"',";}
var pagesElementList='';var totalPages=Math.ceil(nbMatches/Bookmark.NB_RESULTS);for(var i=0;i<totalPages;i++){var completeAction=action+(i*Bookmark.NB_RESULTS);if((Bookmark.USER_ID)&&(Bookmark.USER_ID!='')){completeAction+=","+Bookmark.USER_ID;}
completeAction+=");";pagesElementList+=Common.pagerElement.evaluate({ACTION:completeAction,NUMBER:(i+1)});}
return Common.pagerTemplate.evaluate({TOTAL_PAGES:totalPages,PAGES_LIST:pagesElementList});}
addBookmarkInMyBookmarks=function(){if(!User.isTestUser){dialog('addBookmark',{source:'/bookmarks/create_form/'+$(Folder.FOLDER_NAVIGATOR_ID).getAttribute('folderId'),size:'370,575'}).display();}
else{Common.displayRightTestUserErrorDialog();}}
deleteBookmark=function(bookmark_id,communautyFolderId,isCommunauty,communautyId)
{new Ajax.Request("/bookmarks/delete/"+bookmark_id+"/"+communautyFolderId+"/"+isCommunauty+"/"+communautyId,{onSuccess:function(xhr){try{var result=eval('('+xhr.responseText+')');if(result.error){dialog('deleteBookmarkErrorDlg',{title:_mlt("DELETE_BOOKMARK_ERROR",'Erreur lors de la suppression du bookmark'),content:result.error,size:'200,80',type:'info'}).display();}else{open_bookmark_toolbar_id=-1;if(Communauty.currentCommunauty<=0){Element.remove(Element.up($('bookmarkToolbarId'),'LI'));}else{Element.remove(Element.up($('communautyBookmarkToolbar'),'LI'));}
closeDialog();}}catch(e){console.info(e);}}});}
getActiveFolder=function()
{return Element.up($('folderToolbar'),'li')}
activePrivateSearchButton=function()
{if(!$('criterium'))return;if($('criterium').value.length>=3)
{$('submit_search_button').disabled=false;}
else
{$('submit_search_button').disabled=true;}};var Common={};Common.pagerTemplate=new Template("<span>"+_mlt('PAGE','Page')+" #{PAGES_LIST}"+_mlt('ON','sur')+" #{TOTAL_PAGES}</span>");Common.pagerElement=new Template("<a onclick=\"javascript:#{ACTION}\" href='javascript:;'>#{NUMBER}</a> ");Common.getPager=function(baseAction,total,resultsPerPage){if(!resultsPerPage)resultsPerPage=20;var pagesElementList='';var totalPages=Math.ceil(total/resultsPerPage);if(totalPages<2)return'';var insertComma=(/\(\s*\)/.test(baseAction)==false)
for(var i=0;i<totalPages;i++){var action=baseAction.replace(/\);?\s*/,(insertComma?', ':'')+(i*resultsPerPage)+');');pagesElementList+=Common.pagerElement.evaluate({ACTION:action,NUMBER:(i+1)});}
return Common.pagerTemplate.evaluate({TOTAL_PAGES:totalPages,PAGES_LIST:pagesElementList});}
Common.loadingTemplate='<div class="loading"><img src="/img/ajax-loading.gif" alt="'+_mlt('LOADING')+'" class="loading"/>'+_mlt('LOADING')+'...</div>';Common.displayRightTestUserErrorDialog=function(){dialog('rightAccessDialog',{title:_mlt('UNAUTHORIZED_ACCESS','Accès non autorisé'),content:_mlt('UNAUTHORIZED_ACCESS_MESSAGE','<p>Afin de pourvoir utiliser les services de ce site, vous devez ouvrir un compte et prendre un abonnement annuel sur la base de 15euros TTC /an.</p><p>Dans l\'attente de vous compter parmi nos clients</p>')+'<br/><p style=\'padding:5px\'><a onclick="dialog(\'registerDialog\',{source:\'/users/register_form/true\',size:\'330,380\'}).display();return false;" href="javascript:void(0);">Abonnez-vous</a></p>',type:'info',size:'300,300'}).display();};var Group={};Group.GROUP_NAVIGATOR_ID='groupNavigatorId';Group.NB_COLUMNS=3;Group.MANAGE_MENU_POSITION=0;Group.GROUPS_MENU_POSITION=1;Group.USERS_MENU_POSITION=2;Group.BOOKMARKS_MENU_POSITION=3;Group.currentCreatorId=null;Group.json;Group.navigatorTemplate=new Template("<hr>#{GROUP_INFO}<div id='"+Group.GROUP_NAVIGATOR_ID+"'>"+"</div><div style='clear:both;'></div><hr>");Group.navigatorElementTemplate=new Template("<div id='groupNavigatorElementId_#{GROUP_ID}' class='navigatorElement' groupId='#{GROUP_ID}'>"+"<img align='bottom' src='/img/icons/crystal/16x16/actions/groupevent.gif' class='navigatorImg'/>&nbsp;"+"<a id='groupNavigatorElementLink_#{GROUP_ID}' groupId='#{GROUP_ID}' class='navigatorElementLink'>#{GROUP_NAME}</a>"+"</div>");Group.toolbar=new ToolbarEx('groupToolbarId',[{image:'/img/icons/crystal/16x16/actions/folder.gif',events:{'click':function(event){Group.getUsers(Group.json)}},helpText:_mlt('OPEN_GROUP','Ouvrir ce groupe')},{image:'/img/icons/crystal/16x16/actions/folder_edit.png',events:{'click':function(event){dialog('editGroup',{size:'220,130',source:'/groups/edit/'+Event.element(event).up('.navigatorElement').getAttribute('groupid')}).display();}},helpText:_mlt('EDIT_GROUP','Modifier ce groupe')},{image:'/img/icons/crystal/16x16/actions/folder_delete.png',events:{'click':function(event){new Ajax.Request("/modules/incrementCouter/"+BOOKMARK_MODULE);dialog('confirmationdelGroups',{title:_mlt("CONFIRM_DELETE_TITLE"),content:_mlt("CONFIRM_DELETE_GROUP",'Etes-vous sûr de vouloir supprimer ce groupe')+' ?',size:'200,80',okAction:'Group.deleteGroup('+Event.element(event).up('.navigatorElement').getAttribute('groupid')+')',type:'confirm'}).display();}},helpText:_mlt('DELETE_GROUP','Supprimer ce groupe')}]);Group.generateNavigator=function(xhr,json){try{if(!json)json=eval('('+xhr.responseText+')');clearNavigator();var navigator={};if((json.groups)&&(json.groups.errors)){navigator={GROUP_INFO:json.groups.errors};new Insertion.Bottom($('navigator'),Group.navigatorTemplate.evaluate(navigator));}
else{new Insertion.Bottom($('navigator'),Group.navigatorTemplate.evaluate(navigator));json.groups.each(Group.generateNavigatorElement);}}catch(e){if(console)console.error(e);}}
Group.generateNavigatorElement=function(group,i){try{navigatorElement={GROUP_ID:group['id'],GROUP_NAME:group['name']};new Insertion.Bottom($(Group.GROUP_NAVIGATOR_ID),Group.navigatorElementTemplate.evaluate(navigatorElement));var element=$('groupNavigatorElementId_'+group['id']);if(i%Group.NB_COLUMNS==0)element.setStyle({clear:'both'});if(group.admin==true){Group.json=group;Event.observe(element,"click",function(){Group.toolbar.displayIn(element);});}else{Event.observe(element,"click",function(){Group.getUsers(group)});}}catch(e){if(console)console.error(e)}}
Group.get=function(groupId){clearBookmarkContainer();hideGroupsSubMenu();activateGroupsSubMenuLink(Group.GROUPS_MENU_POSITION);new Ajax.Request("/groups/get/"+groupId,{onComplete:Group.generateNavigator});}
Group.getUsers=function(group){displayGroupsSubMenu('user');activateGroupsSubMenuLink(Group.USERS_MENU_POSITION);Event.clearObservers($('groupSubMenuUsersMenu'));Event.observe('groupSubMenuUsersMenu','click',function(e){Event.stop(e);Group.getUsers(group);});Event.clearObservers($('manageUsersGroupListWatchInvitationsMenu'));Event.observe($('manageUsersGroupListWatchInvitationsMenu'),'click',function(){dialog(_mlt("WATCH_GROUP_INVITATION_STATE"),{size:'500,300',source:'/groups/get_etat_invitations/'+group['id']}).display(false);});Event.clearObservers($('manageUsersGroupListInvitCoomnautMenu'));Event.observe($('manageUsersGroupListInvitCoomnautMenu'),'click',function(){dialog(_mlt("INVIT_COOMNAUTE"),{size:'350,290',source:'/groups/invite_group/'+group['id']}).display(false);});if(group['admin']==true){$('manageUsersGroupListDeleteGroupMenu').show();$('manageUsersGroupListLeaveGroupMenu').hide();Event.clearObservers($('manageUsersGroupListDeleteGroupMenu'));if(group['nbUser']>1){Event.observe($('manageUsersGroupListDeleteGroupMenu'),'click',function(){dialog(_mlt("DELETE_GROUP"),{size:'360,180',source:'/groups/choice_successor/'+group['id']}).display(false);});}else{Event.observe($('manageUsersGroupListDeleteGroupMenu'),'click',function(){dialog(_mlt("DELETE_GROUP"),{size:'320,160',source:'/groups/confirm_delete/'+group['id']}).display(false);});}}else{$('manageUsersGroupListDeleteGroupMenu').hide();$('manageUsersGroupListLeaveGroupMenu').show();Event.clearObservers($('manageUsersGroupListLeaveGroupMenu'));Event.observe($('manageUsersGroupListLeaveGroupMenu'),'click',function(){dialog(_mlt("LEAVE_GROUP"),{size:'500,300',source:'/groups/leave/'+group['id']}).display(false);});}
clearElements();new Ajax.Request("/groups/getUsers/"+group['id'],{onComplete:User.generateNavigator})}
Group.deleteGroup=function(group_id){new Ajax.Request('/groups/delete_direct/'+group_id);Group.get(0);closeDialog();}
Group.cancelInvitation=function(user_id,group_id){new Ajax.Request('/groups/cancel_invitation/'+user_id+'/'+group_id);closeDialog();}
Group.acceptInvitation=function(userId,group_id,token,nbTotalInvitations)
{new Ajax.Request
("/groups/acceptInvite/"+userId+"/"+group_id+"/"+token,{method:'get',asynchronous:false,onComplete:function(xhr)
{if(--nbTotalInvitations>0)
{group_id=xhr.responseText;$(group_id).remove();$(group_id).style.display='none'}
else
{$('block_invitations').innerHTML="<div>"+_mlt("DONT_HAVE_ANYMORE_INVITATION","Vous n'avez plus d'invitation pour le moment")+" ...</div>";$('block_invitations').innerHTML+='<div style="width:100%;text-align:center;padding:5px;"><input type="button" onclick="closeDialog()" value="'+_mlt("BACK","Retour")+'" class="DhtmlForm_button" /></div>';displayUsersGroup()}}})}
Group.denyInvitation=function(group_id,nbTotalInvitations)
{new Ajax.Request('/groups/refusInvitations/'+group_id,{method:'get',asynchronous:false,onComplete:function(xhr)
{if(--nbTotalInvitations>0)
{group_id=xhr.responseText;$(group_id).remove();$(group_id).style.display='none'}
else
{$('block_invitations').innerHTML="<div>"+_mlt("DONT_HAVE_ANYMORE_INVITATION")+" ...</div>";$('block_invitations').innerHTML+='<div style="width:100%;text-align:center;padding:5px;"><input type="button" onclick="closeDialog()" value="'+_mlt("BACK")+'" class="DhtmlForm_button" /></div>';}}})};var Url={};var array_urlID=new Array();Url.MAIN_CONTENT_URL_LIST_ID='mainContentUrlList';Url.listTemplate=new Template("#{PUBLIC_INFO}<br>#{PAGER}<ul id='"+Url.MAIN_CONTENT_URL_LIST_ID+"'></ul>#{PAGER}");Url.itemTemplate=new Template("<li id='mainContentUrlListElement' urlId='#{URL_ID}'>"+"<img id='mainContentUrlImg_#{URL_ID}' src='/img/icons/crystal/16x16/actions/#{IMG_NAME}.gif' class='statusIcon' align='baseline'/> "+"<a id='mainContentUrlLink_#{URL_ID}' href='#{URL_HREF}' target='_blank' class='urlName'>#{LINK}</a> "+"#{CATEGORY}<br>"+"<span>#{ADDED_DATE}</span> <#{TAG_COMMENT} id='mainContentUrlNbComment_#{URL_ID}' style='color:#555'>&nbsp;- #{COMMENT}</#{TAG_COMMENT}> "+"<span id='mainContentUrlStarsContainer_#{URL_ID}' class='starsContainer' default='#{DEFAULT_MARK}'>"+"<img id='mainContentUrlMark_#{URL_ID}_1' src='/img/star#{STAR_COLOR_1}.gif' value='1' style='left:-1px'/>"+"<img id='mainContentUrlMark_#{URL_ID}_2' src='/img/star#{STAR_COLOR_2}.gif' value='2' style='left:-1px'/>"+"<img id='mainContentUrlMark_#{URL_ID}_3' src='/img/star#{STAR_COLOR_3}.gif' value='3' style='left:-1px'/>"+"<img id='mainContentUrlMark_#{URL_ID}_4' src='/img/star#{STAR_COLOR_4}.gif' value='4' style='left:-1px'/>"+"<img id='mainContentUrlMark_#{URL_ID}_5' src='/img/star#{STAR_COLOR_5}.gif' value='5' style='left:-1px'/>"+"</span> "+"<b id='mainContentUrlAverageMarkContainer_#{URL_ID}' style='display:#{DISPLAY_AVERAGE}'>( "+_mlt("AVERAGE","Moyenne")+" : <span id='mainContentUrlAverageMark_#{URL_ID}'>#{AVERAGE_MARK}</span> / 5 )</b> #{AD}"+"<div class='commentContainer' style='display:block'></div>"+"</li>");Url.linkedCategoryTemplate=new Template("<i categoryId=#{CATEGORY_ID}><a id='mainContentCategory_#{URL_ID}' href='javascript:;'>&nbsp;(<span class='info'>#{CATEGORY}</span>)</a></i>");Url.advertiseTemplate=new Template("<br>"+"<div id='advertising_block_#{URL_ID}' class='advertising_block'>#{ADVERTISING_CONTENT}</div>"+"<span id='mainContentUrlAd_#{URL_ID}' class='mainContentAD' onmouseover='displayAdvert(\"cadre_advertising_#{URL_ID}\")' onmouseout='hideAdvert(\"cadre_advertising_#{URL_ID}\")'>"+_mlt("DISCOVER_COOMCOOM_SERVICES",'Découvrez les services proposés par ce site')+"</span>");generateUrlList=function(xhr,json){try{json=eval('('+xhr.responseText+')');clearElements();var publicInfo="";var urlList=null;User.isLogged=json.infos.user.logged;if((json.errors)&&(json.errors.urls)){urlList={PUBLIC_INFO:json.errors.urls};new Insertion.Bottom($('bookmarksContainer'),Url.listTemplate.evaluate(urlList));}
else{var pager='';if(json.infos.urls){if(json.infos.urls.categoryInfo)publicInfo+=json.infos.urls.categoryInfo;if(json.infos.urls.search_tag_only)publicInfo+="<br>"+json.infos.urls.search_tag_only;if(json.infos.categories){publicInfo+="<br><br>"+json.infos.categories.summary;for(var i=0;i<json.infos.categories.list.length;i++)
{if(i>0)
{publicInfo+=", ";}
publicInfo+="<a href='javascript:;' class='categoryName' onclick='searchByCategory("+json.infos.categories.list[i].id+")'>"+json.infos.categories.list[i].name+"</a>";}}
if((json.infos.urls.nb_matches)&&(json.infos.urls.nb_matches>20)){pager=Common.getPager("searchUrls('"+json.infos.criteria+"')",json.infos.urls.nb_matches);}}
urlList={PUBLIC_INFO:publicInfo,PAGER:pager};new Insertion.Bottom($('bookmarksContainer'),Url.listTemplate.evaluate(urlList));json.urls.each(generateUrlListElement);}}catch(e){if(console)console.error(e);}}
generateUrlListElement=function(url){try{var imgName='bookmark';if((!url.isBookmarked||url.isBookmarked=="")&&(User.isLogged==true)){imgName='bookmark_add';}
var titleText=url.title||url.address
if(titleText.length>60)
{titleText=titleText.substring(0,60)+'...';}
var categoryEvaluated='';if(url.category&&url.search)
{var category={CATEGORY_ID:url.category_id,URL_ID:url.id,CATEGORY:url.category};categoryEvaluated=Url.linkedCategoryTemplate.evaluate(category);}
var commentTag='span';if(url.nb_comments>0||User.isLogged==true)
{commentTag="a href='javascript:;'";}
var starColorArray=new Array(5);var defaultMark=url.mark;if(User.isLogged==true){for(var j=1;j<6;j++)
{if(j<=url.mark){starColorArray[j]='Blue';}else{starColorArray[j]='Gray';}}}
else{defaultMark=url.average_mark;for(var j=1;j<6;j++)
{if(j<=url.average_mark){starColorArray[j]='Blue';}else{starColorArray[j]='Gray';}}}
var displayAverage='inline';if(url.average_mark==null)displayAverage='none';var average=''+url.average_mark;average=average.substring(0,4);var adEvaluated='';if(url.actived_advertising==1){var adv=Advert(url.id,url.advertising,url.model_advertising,url.url_advertising);var ad={URL_ID:url.id,ADVERTISING_CONTENT:adv};adEvaluated=Url.advertiseTemplate.evaluate(ad);array_urlID.push(url.id);}
var urlHref="#";if(!User.isTestUser){urlHref="/pages/frameset?id="+url.id+"&src="+url.address;}
var urlListElement={URL_ID:url.id,IMG_NAME:imgName,URL_ADDRESS:url.address,URL_HREF:urlHref,LINK:titleText,CATEGORY:categoryEvaluated,ADDED_DATE:url.created,TAG_COMMENT:commentTag,COMMENT:getCommentsLabel(url.nb_comments),DEFAULT_MARK:defaultMark,STAR_COLOR_1:starColorArray[1],STAR_COLOR_2:starColorArray[2],STAR_COLOR_3:starColorArray[3],STAR_COLOR_4:starColorArray[4],STAR_COLOR_5:starColorArray[5],DISPLAY_AVERAGE:displayAverage,AVERAGE_MARK:average,AD:adEvaluated};new Insertion.Bottom($(Url.MAIN_CONTENT_URL_LIST_ID),Url.itemTemplate.evaluate(urlListElement));if((!url.isBookmarked||url.isBookmarked=="")&&(User.isLogged==true)){Event.observe('mainContentUrlImg_'+url.id,"click",addToBookmarks);}
Event.observe('mainContentUrlLink_'+url.id,"focus",function(event){Event.element(event).blur()})
Event.observe('mainContentUrlLink_'+url.id,"click",function(){hitUrl(url.id,'public')})
if(User.isTestUser){Event.observe('mainContentUrlLink_'+url.id,"click",function(event){Common.displayRightTestUserErrorDialog()
Event.stop(event);});}
if(url.category&&url.search){Event.observe("mainContentCategory_"+url.id,"click",function(){searchByCategory(url.category_id);})}
if(url.nb_comments>0||User.isLogged==true)
{Event.observe('mainContentUrlNbComment_'+url.id,"click",togglePublicComments)
Event.observe('mainContentUrlNbComment_'+url.id,"focus",function(event){Event.element(event).blur()})}
if(User.isLogged==true){Event.observe('mainContentUrlStarsContainer_'+url.id,'mouseout',resetMark);for(var j=1;j<6;j++)
{Event.observe('mainContentUrlMark_'+url.id+'_'+j,"click",function(event){setMark(event);updateAverageMark(event);})
Event.observe('mainContentUrlMark_'+url.id+'_'+j,"mouseover",overMark)}}}catch(e){if(console)console.info(e)}}
searchUrls=function(criteria,start,searchFromTag)
{if(start==null)start=0;if(!searchFromTag)searchFromTag=0;new Ajax.Request('/urls/search/'+encodeURIComponent(criteria)+'/'+start+'/null/'+searchFromTag,{method:'post',postBody:'searchTagOnly=1',onComplete:generateUrlList});criteria=decodeURIComponent(criteria);$('mainContentCriteria').value=criteria;}
searchByCategory=function(id){switchToPublic(true);new Ajax.Request('/categories/searchUrlByCategory/'+id,{method:'post',onComplete:function(xhr,json){activeSwitchLink();generateUrlList(xhr,json);json=eval('('+xhr.responseText+')');var infoPathCompleteArray='';if((json.infos.categories)&&(json.infos.categories.infoPath)){infoPathCompleteArray=json.infos.categories.infoPath;}
PathInfo.generatePath(infoPathCompleteArray,'searchByCategory',true);new Ajax.Updater('categoryPortlet','/categories/getInPortlet/'+id+'/1',{onComplete:function(){PathInfo.generatePath(infoPathCompleteArray,'searchByCategory',true);}});}});}
updateAverageMark=function(event)
{star=Event.element(event)
url_id=Element.up(star,'li').getAttribute('urlId')
boldContainer=$('mainContentUrlAverageMarkContainer_'+url_id)
new Ajax.Updater("mainContentUrlAverageMark_"+url_id,"/marks/getAverage/"+url_id,{asynchronous:false});boldContainer.style.display="inline"}
opened_public_comment=null;togglePublicComments=function(event)
{li=Event.findElement(event,'LI')
if($('adv_'+li.getAttribute('urlId'))){$('adv_'+li.getAttribute('urlId')).style.display='block';$('adv_'+li.getAttribute('urlId')).style.width='100%';}
commentContainer=Element.down(li,'div.commentContainer');try{if(commentContainer.innerHTML.length==0)
{li.className='selected_url'
new Ajax.Updater(commentContainer,'/comments/display/'+li.getAttribute('urlId'))
commentContainer.style.display='block'
commentContainer.style.width='100%'
if(opened_public_comment)
{opened_public_comment.innerHTML=''
opened_public_comment.style.display='none'
opened_public_comment.up('li').className='unselected_url'}
opened_public_comment=commentContainer;}
else{li.className='unselected_url'
commentContainer.innerHTML=''
commentContainer.style.display='none'
opened_public_comment=null;}}
catch(e){if(console)console.info(e);else alert(e)}}
displayPublicComments=function(url_id,start)
{new Ajax.Updater(opened_public_comment,"/comments/display/"+url_id+"/"+start)}
displayMyPublicComment=function(url_id)
{new Ajax.Updater(opened_public_comment,'/comments/display/'+url_id,{onComplete:function(){$('public_div_mycomment_'+url_id).style.display='block';$('public_div_allcomments_'+url_id).style.display='none';}});}
closeMyPublicComment=function(url_id)
{$('public_div_mycomment_'+url_id).style.display='none';$('public_div_allcomments_'+url_id).style.display='block';}
addPublicComment=function(url_id,start,nb_comments)
{if(!User.isTestUser){comments=$('public_textarea_'+url_id).value;new Ajax.Request("/comments/add/"+url_id,{asynchronous:false,method:'post',postBody:'comment='+encodeURIComponent(comments)});new Ajax.Updater(opened_public_comment,"/comments/display/"+url_id+"/"+start,{asynchronous:false});nb_comments++;$('mainContentUrlNbComment_'+url_id).innerHTML='&nbsp;-&nbsp;'+getCommentsLabel(nb_comments)+'&nbsp;-&nbsp;';$('public_div_mycomment_'+url_id).style.display='none';opened_public_comment.style.display='block';}
else{Common.displayRightTestUserErrorDialog()}}
updateMyPublicComment=function(url_id,indice,comment_id,user_id)
{if(!User.isTestUser){comments=$('public_textarea_'+url_id).value
new Ajax.Request("/comments/update/"+url_id+"/"+comment_id,{asynchronous:false,method:'post',postBody:'commentName='+encodeURIComponent(comments)});$('public_div_mycomment_'+url_id).style.display='none';$('public_div_allcomments_'+url_id).style.display='block';if(user_id!=-1){$('div_user_comment_'+url_id+'_'+user_id).innerHTML=comments.gsub("\n","<br />")}}
else{Common.displayRightTestUserErrorDialog();}}
deleteMyComment=function(url_id)
{if(!User.isTestUser){new Ajax.Request('/urls/delete_user_comment/'+url_id,{asynchronous:false,onComplete:deleteMyCommentReturn})}
else{Common.displayRightTestUserErrorDialog();}}
deleteMyCommentReturn=function(xhr,json)
{try{new Ajax.Updater(opened_public_comment,'/comments/display/'+json.url_id,{asynchronous:false})
$('mainContentUrlNbComment_'+json.url_id).innerHTML='&nbsp;-&nbsp;'+getCommentsLabel(json.nb_comments)+'&nbsp;-&nbsp;';}
catch(e){if(console)console.info(e)}}
addToBookmarks=function(event)
{li=Event.element(event).up("LI");dialog('addBookmarkToPrivate',{size:'450,350',source:'/bookmarks/toPrivate/'+li.getAttribute('urlId')}).display(false);};var Communauty={COMMUNAUTIES_LIST_ID:'communautiesListDiv',NAVIGATOR_NB_COLUMNS:3,currentCommunauty:-1,currentFolder:-1,currentAccessLevel:-1,PUBLIC_COMMUNAUTY:0,PRIVATE_COMMUNAUTY:1,generalSubMenuItems:['communautySubMenuAddCommunauty','communautySubMenuInviteCommunauty'],contextSubMenus:{ADMIN:['communautySubMenuAddCommunauty','communautySubMenuManageMemberCommunauty','communautySubMenuAddFolderCommunauty','communautySubMenuAddBookmarkCommunauty','communautySubMenuInviteCommunauty','communautySubMenuSubscribeCommunauty'],CONTRIB:['communautySubMenuAddCommunauty','communautySubMenuAddFolderCommunauty','communautySubMenuAddBookmarkCommunauty','communautySubMenuSubscribeCommunauty','communautySubMenuInviteCommunauty'],READER:['communautySubMenuAddCommunauty','communautySubMenuInviteCommunauty','communautySubMenuSubscribeCommunauty','communautySubMenuLeaveCommunauty'],VISITOR:['communautySubMenuAddCommunauty','communautySubMenuJoinCommunauty']},subMenuId:'communautySubMenuDiv'};Communauty.navigatorContainerTemplate="<hr><div id=\""+Communauty.COMMUNAUTIES_LIST_ID+"\"></div>"+"<div style='clear:both;'></div><hr>";Communauty.communautyElementTemplates={ADMIN:new Template("<div id=\"communauty_#{COMMUNAUTY_ID}\" communautyFolderId=\"#{COMMUNAUTY_FOLDER_ID}\" class=\"navigatorElement\" communautyId=\"#{COMMUNAUTY_ID}\" title=\"#{CREATED_BY}\">"+"<img align=\"bottom\" src=\"/img/communauties/communauty_admin_#{VISIBILITY_SUFFIX}.gif\" class=\"navigatorImg\"/>&nbsp;"+"<a id=\"communautyNavigatorElementLink_#{COMMUNAUTY_ID}\" communautyFolderId=\"#{COMMUNAUTY_FOLDER_ID}\" communautyId=\"#{COMMUNAUTY_ID}\" class=\"navigatorElementLink\">#{COMMUNAUTY_NAME}</a>"+"</div>"),CONTRIB:new Template("<div id=\"communauty_#{COMMUNAUTY_ID}\" communautyFolderId=\"#{COMMUNAUTY_FOLDER_ID}\" class=\"navigatorElement\" communautyId=\"#{COMMUNAUTY_ID}\" title=\"#{CREATED_BY}\">"+"<img align=\"bottom\" src=\"/img/communauties/communauty_reader_#{VISIBILITY_SUFFIX}.gif\" class=\"navigatorImg\"/>&nbsp;"+"<a id=\"communautyNavigatorElementLink_#{COMMUNAUTY_ID}\" communautyFolderId=\"#{COMMUNAUTY_FOLDER_ID}\" communautyId=\"#{COMMUNAUTY_ID}\" class=\"navigatorElementLink\">#{COMMUNAUTY_NAME}</a>"+"</div>"),READER:new Template("<div id=\"communauty_#{COMMUNAUTY_ID}\" communautyFolderId=\"#{COMMUNAUTY_FOLDER_ID}\" class=\"navigatorElement\" communautyId=\"#{COMMUNAUTY_ID}\" title=\"#{CREATED_BY}\">"+"<img align=\"bottom\" src=\"/img/communauties/communauty_reader_#{VISIBILITY_SUFFIX}.gif\" class=\"navigatorImg\"/>&nbsp;"+"<a id=\"communautyNavigatorElementLink_#{COMMUNAUTY_ID}\" communautyFolderId=\"#{COMMUNAUTY_FOLDER_ID}\" communautyId=\"#{COMMUNAUTY_ID}\" class=\"navigatorElementLink\">#{COMMUNAUTY_NAME}</a>"+"</div>")};Communauty.folderItemTemplate=new Template("<div id=\"folder_#{FOLDER_ID}\" class=\"navigatorElement\">"+"<img align=\"bottom\" src=\"/img/icons/crystal/16x16/actions/folder.gif\" class=\"navigatorImg\"/>&nbsp;"+"<a id=\"communautyNavigatorElementLink_#{FOLDER_ID}\" class=\"navigatorElementLink\">#{FOLDER_NAME}</a>"+"</div>");Communauty.bookmarkItemTemplate=new Template("<li id=\"bookmark_#{BOOKMARK_ID}\" urlId=\"#{URL_ID}\" url=\"#{URL_ADDRESS}\">"+"<span class=\"bookmarkTitle\"><img class=\"statusIcon\" align=\"bottom\" src=\"/img/communauties/bookmark.gif\"/> "+"<a class=\"bookmarkName\" href=\"javascript:;\">#{BOOKMARK_NAME}</a></span>"+"<a href=\"javascript:;\" id=\"mainContentBookmarkCommentLink_#{BOOKMARK_ID}\" style=\"color: rgb(85, 85, 85);\"> - "+_mlt("COMMENT","Commentaire")+" - </a>"+"<span id=\"mainContentBookmarkStarsContainer_#{BOOKMARK_ID}\" class=\"starsContainer\" default=\"#{DEFAULT_MARK}\">"+"<img id=\"mainContentBookmarkMark_#{BOOKMARK_ID}_1\" src=\"/img/starGray.gif\" value=\"1\" class=\"mark\" style=\"left:-1px\"/>"+"<img id=\"mainContentBookmarkMark_#{BOOKMARK_ID}_2\" src=\"/img/starGray.gif\" value=\"2\" class=\"mark\" style=\"left:-1px\"/>"+"<img id=\"mainContentBookmarkMark_#{BOOKMARK_ID}_3\" src=\"/img/starGray.gif\" value=\"3\" class=\"mark\" style=\"left:-1px\"/>"+"<img id=\"mainContentBookmarkMark_#{BOOKMARK_ID}_4\" src=\"/img/starGray.gif\" value=\"4\" class=\"mark\" style=\"left:-1px\"/>"+"<img id=\"mainContentBookmarkMark_#{BOOKMARK_ID}_5\" src=\"/img/starGray.gif\" value=\"5\" class=\"mark\" style=\"left:-1px\"/>"+"</span> #{LINKED_PART}"+"<div id=\"mainContentBookmarkComment_#{BOOKMARK_ID}\" style=\"display:none\" class=\"commentContainer\">"+"<textarea id=\"mainContentBookmarkCommentTextArea_#{BOOKMARK_ID}\" class=\"textareaCommentEditable\">#{COMMENT}</textarea><br>"+"<a id=\"mainContentBookmarkCommentCloseLink_#{BOOKMARK_ID}\" href=\"javascript:;\" >"+_mlt('CLOSE','Fermer')+"</a>"+"</div>"+"</li>");Communauty.listTemplate=new Template("#{PAGER}<ul id=\"mainContentBookmarkList\"></ul>#{PAGER}");Communauty.linkedPartTemplate=new Template("<span><a class='selected_tab' href='javascript:;' id='mainContentCommunautyLinkedCommunauty_#{BOOKMARK_ID}'>#{COMMUNAUTY_NAME}</a><a class='unselected_tab' href='javascript:;' id='mainContentCommunautyLinkedFolder_#{BOOKMARK_ID}'>#{FOLDER_NAME}</a></span>");Communauty.toolbar=new ToolbarEx('communautyToolbar',[{image:'/img/communauties/open.png',helpText:_mlt('OPEN_COMMUNAUTY_HELP','Ouvrir cette Coomunauté'),events:{'click':function(){Communauty.openCommunauty();}}},{image:'/img/communauties/edit.png',helpText:_mlt('EDIT_COMMUNAUTY_HELP','Modifier cette Coomunauté'),events:{'click':function(){Communauty.editCommunautyForm();}}},{image:'/img/communauties/delete.png',helpText:_mlt('DELETE_COMMUNAUTY_HELP','Supprimer cette Coomunauté'),events:{'click':function(){Communauty.deleteCommunautyForm();}}}]);Communauty.foldersToolbars={CONTRIB:new ToolbarEx('communautyFolderToolbarContrib',[{image:'/img/communauties/open.png',helpText:_mlt('OPEN_FOLDER_HELP','Ouvrir ce dossier'),events:{'click':function(){Communauty.openFolder();}}},{image:'/img/communauties/add_bookmark.png',helpText:_mlt('ADD_BOOKMARK_HELP','Ajouter un favori'),events:{'click':function(){Communauty.addBookmark(Communauty.getToolbarFolderId());}}}]),ADMIN:new ToolbarEx('communautyFolderToolbarAdmin',[{image:'/img/communauties/open.png',helpText:_mlt('OPEN_FOLDER_HELP','Ouvrir ce dossier'),events:{'click':function(){Communauty.openFolder();}}},{image:'/img/communauties/edit.png',helpText:_mlt('EDIT_FOLDER_HELP','Modifier ce dossier'),events:{'click':function(){Communauty.editFolderForm();}}},{image:'/img/communauties/delete_folder.png',helpText:_mlt('DELETE_FOLDER_HELP','Supprimer ce dossier'),events:{'click':function(){Communauty.deleteFolderForm();}}},{image:'/img/communauties/move_folder.png',helpText:_mlt('MOVE_FOLDER_HELP','Déplacer ce dossier'),events:{'click':function(){Communauty.moveFolderForm();}}},{image:'/img/communauties/add_bookmark.png',helpText:_mlt('ADD_BOOKMARK_HELP','Ajouter un favori'),events:{'click':function(){Communauty.addBookmark(Communauty.getToolbarFolderId());}}}])}
Communauty.bookmarkToolbar=new ToolbarEx('communautyBookmarkToolbar',[{image:'/img/bookmarks/open.png',helpText:_mlt('OPEN_BOOKMARK_HELP','Ouvrir ce favori (dans une nouvelle fenêtre)'),events:{'click':function(e){if(!User.isTestUser){window.open(Event.element(e).up('LI').getAttribute('url'));hitUrl(Event.element(e).up('LI').getAttribute('urlId'),'private');}
else{Common.displayRightTestUserErrorDialog();}}}},{image:'/img/bookmarks/edit.png',helpText:_mlt('EDIT_BOOKMARK_HELP','Modifier ce favori'),events:{'click':function(){if(!User.isTestUser){Communauty.editBookmarkForm();}
else{Common.displayRightTestUserErrorDialog();}}}},{image:'/img/bookmarks/delete.png',helpText:_mlt('DELETE_BOOKMARK_HELP','Supprimer ce favori'),events:{'click':function(){if(!User.isTestUser){Communauty.deleteBookmarkForm();}
else{Common.displayRightTestUserErrorDialog();}}}},{image:'/img/bookmarks/move.png',helpText:_mlt('MOVE_BOOKMARK_HELP','Déplacer ce favori'),events:{'click':function(){if(!User.isTestUser){Communauty.moveBookmarkForm();}
else{Common.displayRightTestUserErrorDialog();}}}}]);Communauty.buildSubMenu=function(){if(User.isLogged==false)return;if(Communauty.currentCommunauty<=0){$$('ul#communautySubMenuList li').each(function(el){if(Communauty.generalSubMenuItems.indexOf(el.getAttribute('id'))<0){Element.hide(el);}else{Element.show(el);}});}else{var subMenuItems=Communauty.contextSubMenus[Communauty.currentAccessLevel];$$('ul#communautySubMenuList li').each(function(el){if(subMenuItems.indexOf(el.getAttribute('id'))<0){Element.hide(el);}else{Element.show(el);}});}}
Communauty.generateNavigator=function(){if(User.isLogged==false)return;$('navigator').innerHTML=Communauty.navigatorContainerTemplate;$(Communauty.COMMUNAUTIES_LIST_ID).innerHTML=Common.loadingTemplate;if(Communauty.currentCommunauty<=0){Communauty.generateCommunautiesNavigator();Communauty.buildSubMenu();}else{Communauty.generateFoldersNavigator();}}
Communauty.generateFoldersNavigator=function(){new Ajax.Request('/communauties/open_folder/'+Communauty.currentCommunauty+'/'+Communauty.currentFolder,{method:'get',onFailure:internalErrorDialog,onSuccess:function(xhr){var json=eval('('+xhr.responseText+')');var communautiesContainer=$(Communauty.COMMUNAUTIES_LIST_ID);if(json.error){communautiesContainer.innerHTML=json.error;}else{Communauty.currentAccessLevel=json["access_level"];communautiesContainer.innerHTML='';var toolbar=Communauty.foldersToolbars[Communauty.currentAccessLevel];var toolbarId;if(toolbar)toolbarId=toolbar.getId();var infoPathCompleteArray='';if(json.infoPath){infoPathCompleteArray=json.infoPath;}
PathInfo.generatePath(infoPathCompleteArray,'Communauty.openFolder',false);if(json.folders.length){json.folders.each(function(el,i){if(i&&i%Communauty.NAVIGATOR_NB_COLUMNS==0){new Insertion.Bottom(communautiesContainer,'<div style="clear:both"></div>');}
new Insertion.Bottom(communautiesContainer,Communauty.folderItemTemplate.evaluate({FOLDER_ID:el.folder_id,FOLDER_NAME:el.name.stripTags()}));var container=$('folder_'+el.folder_id);$
if(Communauty.currentAccessLevel=='READER'||Communauty.currentAccessLevel=='VISITOR'){Event.observe(container,'click',function(){Communauty.openFolder(el.folder_id)});}else{Event.observe(container,'click',function(e){if(!Element.up(Event.element(e),'#'+toolbarId)){toolbar.toggleIn(container);}});}});}else{communautiesContainer.innerHTML=_mlt("NO_SUBFOLDER",'Aucun sous dossier dans ce dossier');}
Communauty.currentAccessLevel=json.access_level;Communauty.buildSubMenu();}}});}
Communauty.generateCommunautiesNavigator=function(){new Ajax.Request('/communauties/get',{method:'post',onFailure:internalErrorDialog,onSuccess:function(xhr){var json=eval('('+xhr.responseText+')');if(json.error){errorDialog(json.error);}else{$('bookmarksContainer').innerHTML='';var communautiesContainer=$(Communauty.COMMUNAUTIES_LIST_ID);communautiesContainer.innerHTML='';json.each(function(el,i){if(i&&i%Communauty.NAVIGATOR_NB_COLUMNS==0){new Insertion.Bottom(communautiesContainer,'<div style="clear:both"></div>');}
new Insertion.Bottom(communautiesContainer,Communauty.communautyElementTemplates[el.CommunautyUser.access_level].evaluate({COMMUNAUTY_ID:el.Communauty.communauty_id,COMMUNAUTY_FOLDER_ID:el.CommunautyFolder.communauty_folder_id,COMMUNAUTY_NAME:el.Communauty.name.stripTags(),VISIBILITY_SUFFIX:(el.Communauty.visibility==Communauty.PUBLIC_COMMUNAUTY?'public':'private'),CREATED_BY:_mlt('CREATED_BY','Créée par %s').replace('%s',el.Creator.login)}));var container=$('communauty_'+el.Communauty.communauty_id);if(el.CommunautyUser.access_level=='ADMIN'){Event.observe(container,"click",function(e){if(!Element.up(Event.element(e),'#communautyToolbar')){Communauty.toolbar.toggleIn(container);}
Communauty.currentAccessLevel=el.CommunautyUser.access_level;});}else{Event.observe(container,"click",function(e){Communauty.hideToolbar();Communauty.currentAccessLevel=el.CommunautyUser.access_level;Communauty.openCommunauty(el.Communauty.communauty_id,el.CommunautyFolder.communauty_folder_id);});}});}}});}
Communauty.hideToolbar=function(){Communauty.toolbar.hide();}
Communauty.getToolbarCommunautyId=function(){return Communauty.toolbar.getContainer().getAttribute('id').replace('communauty_','');}
Communauty.getToolbarCommunautyFolderId=function(){return Communauty.toolbar.getContainer().getAttribute('communautyfolderid');}
Communauty.getToolbarFolderId=function(){return Communauty.foldersToolbars[Communauty.currentAccessLevel].getContainer().getAttribute('id').replace('folder_','');}
Communauty.getToolbarBookmarkId=function(){return Communauty.bookmarkToolbar.getContainer().getAttribute('id').replace('bookmark_','');}
Communauty.editCommunautyForm=function(){var communauty_id=Communauty.getToolbarCommunautyId();if(!User.isTestUser){dialog('editCommunautyDlg',{source:'/communauties/edit_form/'+communauty_id,size:'220,120'}).display();}
else{Common.displayRightTestUserErrorDialog();}}
Communauty.editCommunautyFormSetup=function(){$('editCommunautyName').focus();Event.observe($('editCommunautyForm'),'submit',Communauty.editCommunautyFormSave);}
Communauty.editCommunautyFormSave=function(e){Event.stop(e);var form=Event.findElement(e,'form');var name=$F(form['data[Communauty][name]']);var visibility=$('editCommunautyVisibility');if(/^\s*$/.test(name)){errorDialog(_mlt("COMMUNAUTY_NAME_ERROR"));return false;}else{var communauty_id=$F(form['data[Communauty][communauty_id]']);new Ajax.Request(form.getAttribute('action'),{method:form.getAttribute('method'),parameters:Form.serialize(form),onComplete:function(){Form.enable(form);},onSuccess:function(xhr){try{Form.enable(form);if(ajaxErrorOrClose(xhr)){$$('div#communauty_'+communauty_id+' a.navigatorElementLink')[0].innerHTML=name.stripTags();var orgSrc=$$('div#communauty_'+communauty_id+' img.navigatorImg')[0].src;$$('div#communauty_'+communauty_id+' img.navigatorImg')[0].src=orgSrc.replace(/(private|public)/,(visibility.checked?'private':'public'));updateModule(COMMUNAUTIES_MODULE);}}catch(e){if(console)console.info(e);}}})
Form.disable(form);}}
Communauty.deleteCommunautyForm=function(){var communauty_id=Communauty.getToolbarCommunautyId();if(!User.isTestUser){dialog('deleteCommunautyDlg',{title:_mlt("CONFIRM_DELETE_TITLE"),content:_mlt("CONFIRM_DELETE_COMMUNAUTY",'Etes-vous sûr de vouloir supprimer cette Coomunauté')+' ?',size:'200,80',okAction:'Communauty.deleteCommunauty('+communauty_id+')',type:'confirm'}).display();}
else{Common.displayRightTestUserErrorDialog();}}
Communauty.deleteCommunauty=function(){var communauty_id=Communauty.getToolbarCommunautyId();if(!User.isTestUser){new Ajax.Request('/communauties/delete/'+communauty_id,{onSuccess:function(xhr){if(ajaxErrorOrClose(xhr)){Communauty.generateNavigator();}}});}
else{Common.displayRightTestUserErrorDialog();}}
Communauty.createCommunautyForm=function(){if(!User.isTestUser){dialog('createCommunautyDlg',{source:'/communauties/create_form',size:'220,120'}).display();}
else{Common.displayRightTestUserErrorDialog();}}
Communauty.createCommunautyFormSetup=function(){Event.observe($('createCommunautyForm'),'submit',Communauty.createCommunautyFormSave);$('createCommunautyName').focus();}
Communauty.createCommunautyFormSave=function(e){Event.stop(e);var form=Event.findElement(e,'form');var name=$F(form['data[Communauty][name]']);if(/^\s*$/.test(name)){errorDialog(_mlt("COMMUNAUTY_NAME_ERROR"));return false;}else{new Ajax.Request(form.getAttribute('action'),{method:form.getAttribute('method'),parameters:Form.serialize(form),onComplete:function(xhr){try{Form.enable(form);if(ajaxErrorOrClose(xhr)){Communauty.currentCommunauty=-1;Communauty.generateNavigator();}}catch(e){if(console)console.info(e);}}})
Form.disable(form);}}
Communauty.inviteUserForm=function(e){var communauty_id=(Communauty.currentCommunauty<=0?0:Communauty.currentCommunauty);if(!User.isTestUser){dialog('inviteCommunauty',{source:'/communauties/invite_communauty/'+communauty_id,size:'255,350'}).display();}
else{Common.displayRightTestUserErrorDialog();}}
Communauty.moveFolderForm=function(){dialog('moveCommunautyFolderDlg',{size:'200,120',source:'/communauties/move_folder/'+Communauty.getToolbarFolderId()}).display();}
Communauty.moveFolderSave=function(e){Event.stop(e);var form=Event.findElement(e,'form');new Ajax.Request('/communauties/move_folder/'+$F(form.communauty_folder_id)+'/'+$F(form.selectCategory),{method:'post',parameters:Form.serialize(form),onSuccess:function(xhr){var results=eval('('+xhr.responseText+')');if(results.error){dialog('communautyMoveFolderError',{title:_mlt("COMMUNAUTY_MOVE_FOLDER_ERROR",'Erreur lors du déplacement du dossier'),content:results.error,size:'200,80',type:'info'}).display();}else{closeDialog();Communauty.openFolder(results.parent_id);}}});}
Communauty.editFolderSave=function(e){Event.stop(e);var form=Event.findElement(e,'form');var folder_id=$F(form['data[CommunautyFolder][communauty_folder_id]']);var folder_name=$F(form['data[CommunautyFolder][name]']);if(/^\s*$/.test(folder_name)){alert(_mlt("FOLDER_NAME_ERROR","Veuillez saisir un nom pour le dossier")+'.');return;}
new Ajax.Request('/communauties/edit_folder/'+folder_id,{method:'post',parameters:Form.serialize(form),onSuccess:function(xhr){var results=eval('('+xhr.responseText+')');if(results.error){dialog('editCommunautyFolderErrorDlg',{title:_mlt("COMMUNAUTY_EDIT_FOLDER_ERROR",'Erreur lors de la modification du dossier'),content:results.error,size:'200,80',type:'info'}).display();}else{closeDialog();Communauty.generateNavigator();}}});}
Communauty.editFolderForm=function(){dialog('editCommunautyFolderDlg',{size:'300,150',source:'/communauties/edit_folder/'+Communauty.getToolbarFolderId()}).display();}
Communauty.deleteFolderForm=function(){var folder_id=Communauty.getToolbarFolderId();dialog('deleteCommunautyFolderDlg',{title:_mlt("CONFIRM_DELETE_TITLE"),content:_mlt("CONFIRM_DELETE_FOLDER",'Etes-vous sûr de vouloir supprimer ce dossier ?'),size:'200,80',okAction:'Communauty.deleteFolder('+folder_id+')',type:'confirm'}).display();}
Communauty.deleteFolder=function(folder_id){new Ajax.Request('/communauties/delete_folder/'+folder_id,{method:'post',onSuccess:function(xhr){if(ajaxErrorOrClose(xhr)){Communauty.generateNavigator();}}});}
Communauty.openFolder=function(folder_id){if(!folder_id){Communauty.currentFolder=Communauty.getToolbarFolderId();}else{Communauty.currentFolder=folder_id;}
Communauty.generateNavigator();Communauty.generateBookmarks();}
Communauty.generateBookmarks=function(start){if(!start)start=0;$('bookmarksContainer').innerHTML=Common.loadingTemplate;new Ajax.Request('/communauties/get_bookmarks/'+Communauty.currentCommunauty+'/'+Communauty.currentFolder+'/'+start,{method:'get',onSuccess:Communauty.generateBookmarkElement});}
Communauty.generateBookmarkElement=function(xhr,json){var json=eval('('+xhr.responseText+')');if(json.error){$('bookmarksContainer').innerHTML=json.error;return;}
var bookmarks=json.bookmarks;if(bookmarks.length==0){$('bookmarksContainer').innerHTML=_mlt("NO_BOOKMARKS",'Aucun favori dans ce dossier');}else{$('bookmarksContainer').innerHTML='';var pager=Common.getPager('Communauty.generateBookmarks()',json.total);new Insertion.Bottom($('bookmarksContainer'),Communauty.listTemplate.evaluate({PAGER:pager}));var container=$('mainContentBookmarkList');bookmarks.each(function(b){var communautyName='';var folderName='';if(b.Communauty){communautyName='('+b.Communauty.name;if(b.CommunautyFolder.parent_id!=0){communautyName+=' :';folderName=b.CommunautyFolder.name+')';}else{communautyName+=')';}}
var linkedPart=Communauty.linkedPartTemplate.evaluate({BOOKMARK_ID:b.Bookmark.bookmark_id,COMMUNAUTY_NAME:communautyName,FOLDER_NAME:folderName});new Insertion.Bottom(container,Communauty.bookmarkItemTemplate.evaluate({BOOKMARK_ID:b.Bookmark.bookmark_id,BOOKMARK_NAME:b.Bookmark.name,COMMENT:b.Bookmark.comment,DEFAULT_MARK:b.Mark.value,URL_ID:b.Url.url_id,URL_ADDRESS:b.Url.address,LINKED_PART:linkedPart}));Event.observe($('mainContentBookmarkCommentLink_'+b.Bookmark.bookmark_id),"click",toggleComment);Event.observe($('mainContentBookmarkCommentTextArea_'+b.Bookmark.bookmark_id),'blur',function(event){new Ajax.Request("/bookmarks/comment/"+b.Bookmark.bookmark_id+"/"+encodeURIComponent($('mainContentBookmarkCommentTextArea_'+b.Bookmark.bookmark_id).value))})
Event.observe($('mainContentBookmarkCommentCloseLink_'+b.Bookmark.bookmark_id),'click',toggleComment);if(b.Communauty){Event.observe('mainContentCommunautyLinkedCommunauty_'+b.Bookmark.bookmark_id,'click',function(){Communauty.openCommunauty(b.Communauty.communauty_id)});if(b.CommunautyFolder.parent_id!=0){Event.observe('mainContentCommunautyLinkedFolder_'+b.Bookmark.bookmark_id,'click',function(){Communauty.openCommunauty(b.Communauty.communauty_id,b.CommunautyFolder.communauty_folder_id)});}
else{$('mainContentCommunautyLinkedFolder_'+b.Bookmark.bookmark_id).hide();}}else{$('mainContentCommunautyLinkedCommunauty_'+b.Bookmark.bookmark_id).hide();$('mainContentCommunautyLinkedFolder_'+b.Bookmark.bookmark_id).hide();}
var bookmark=$('bookmark_'+b.Bookmark.bookmark_id);Event.observe(bookmark.getElementsBySelector('span.bookmarkTitle')[0],'click',function(e){if(!Element.up(Event.element(e),'#'+Communauty.bookmarkToolbar.getId())){Communauty.bookmarkToolbar.toggleIn(bookmark);}});var starContainer=$('bookmark_'+b.Bookmark.bookmark_id).getElementsBySelector('.starsContainer')[0];generateMarks(starContainer.getElementsBySelector('img.mark'),starContainer,b.Mark.value);});}}
generateBookmarkPager=function(nbMatches,criteria){var action='';if(Bookmark.MAIN_ACTION=='get'){action="getBookmarks("+criteria+",";}else if(Bookmark.MAIN_ACTION=='search'){action="searchBookmarks('"+criteria+"',";}
var pagesElementList='';var totalPages=Math.ceil(nbMatches/(20-1));for(var i=0;i<totalPages;i++){var completeAction=action+(i*20)+");";pagesElementList+=Common.pagerElement.evaluate({ACTION:completeAction,NUMBER:(i+1)});}
return Common.pagerTemplate.evaluate({TOTAL_PAGES:totalPages,PAGES_LIST:pagesElementList});}
Communauty.openCommunauty=function(communauty_id,folder_id){if(!User.isTestUser){if(!communauty_id){Communauty.currentCommunauty=Communauty.getToolbarCommunautyId();}else{Communauty.currentCommunauty=communauty_id;}
if(!folder_id){Communauty.currentFolder=Communauty.getToolbarCommunautyFolderId();}else{Communauty.currentFolder=folder_id;}
Communauty.generateNavigator();Communauty.generateBookmarks();}
else{Common.displayRightTestUserErrorDialog();}}
Communauty.search=function(criteria,start){clearNavigator();$('privateSubMenuDiv').setStyle({display:'none'});$('mainContentClearResultsButton').show();if(!start)start='';new Ajax.Request('/communauties/search/'+criteria+'/'+start,{onComplete:Communauty.generateBookmarkElement});}
Communauty.displayCommunautyMembers=function(){dialog('CommunautyMembers',{source:'/communauties/listMembers/'+Communauty.currentCommunauty,size:'700,400'}).display();}
Communauty.addFolder=function(){if(!User.isTestUser){dialog('addFolderCommunautyDlg',{source:'/communauties/add_folder/'+Communauty.currentCommunauty+'/'+Communauty.currentFolder,size:'220,130'}).display();}
else{Common.displayRightTestUserErrorDialog();}}
Communauty.addBookmark=function(folder_id){if(!User.isTestUser){if(!folder_id){folder_id=Communauty.currentFolder;}
dialog('addBookmarkCommunauty',{source:'/communauties/add_bookmark_form/'+Communauty.currentCommunauty+(folder_id>'0'?'/'+folder_id:''),size:'320,400'}).display();}
else{Common.displayRightTestUserErrorDialog();}}
Communauty.subscribe=function(){if(!User.isTestUser){dialog('subscribeCommunautyDlg',{source:'communauties/subscribe/'+Communauty.currentCommunauty,size:'400,240'}).display();}
else{Common.displayRightTestUserErrorDialog();}}
Communauty.subscribeSave=function(){$('communautySubMenuSubscribeCommunauty').down('a').innerHTML=_mlt('UNSUBSCRIBE_ALERTS','Se désabonner des alertes');updateModule(TRIGGERED_ALERTS_MODULE);closeDialog('subscribeCommunautyDlg');}
Communauty.unsubscribeSave=function(){$('communautySubMenuSubscribeCommunauty').down('a').innerHTML=_mlt("SUBSCRIBE_ALERTS",'S\'abonner aux alertes');updateModule(TRIGGERED_ALERTS_MODULE)
closeDialog('subscribeCommunautyDlg');}
Communauty.joinSave=function(communauty_id){new Ajax.Request('/communauties/saveCommunauty/'+communauty_id);switchToCommunauty(communauty_id);}
Communauty.join=function(communauty_id){var communauty_id=$('bookmarksContainer').getAttribute('communautyid');if(!User.isTestUser){dialog('joinCommunautyDlg',{title:_mlt('JOIN_COMMUNAUTY',"S\'abonner &agrave; la coomunaut&eacute;"),content:_mlt('JOIN_COMMUNAUTY_CONFIRM',"Etes-vous s&ucirc;r de vouloir rejoindre cette Coomunaut&eacute;"),size:'220,80',okAction:'Communauty.joinSave('+Communauty.currentCommunauty+');closeDialog()',type:'confirm'}).display();}
else{Common.displayRightTestUserErrorDialog();}}
Communauty.leaveSave=function(){new Ajax.Request('/communauties/leave/'+Communauty.currentCommunauty,{onSuccess:function(){switchToCommunauty();}});}
Communauty.leave=function(){new Ajax.Request("/modules/incrementCounter/"+BOOKMARK_MODULE);dialog('leaveCommunautyDlg',{title:_mlt('LEAVE_COMMUNAUTY','Quitter la coomunaut&eacute;'),content:_mlt('LEAVE_COMMUNAUTY_CONFIRM','Etes-vous s&ucirc;r de vouloir quitter la Coomunaut&eacute;'),size:'220,80',okAction:'leaveCommunautyConfirm();closeDialog()',type:'confirm'}).display();}
Communauty.editBookmarkForm=function(){dialog('editBookmarkDlg',{source:'/bookmarks/edit_form/'+Communauty.getToolbarBookmarkId(),size:'370,575'}).display();}
Communauty.deleteBookmarkForm=function(){dialog('deleteBookmarkDlg',{size:'300,160',source:'/bookmarks/confirmDelete/'+Communauty.getToolbarBookmarkId()+'/'+Communauty.currentFolder+'/1/'+Communauty.currentCommunauty}).display();}
Communauty.moveBookmarkForm=function(){dialog('moveBookmarkDlg',{size:'250,130',source:'/bookmarks/move_form/'+Communauty.getToolbarBookmarkId()}).display();}
Communauty.askJoinCommunauty=function(a){var communauty_id=a.getAttribute('communautyid');var folder_id=a.getAttribute('communautyfolderid');if(User.isLogged){if(!($('switchMenu'))){new Ajax.Updater('module_2_content','/communauties/searchFromBookmarkPortlet/'+communauty_id+'/'+folder_id);}else{switchToCommunauty(communauty_id,folder_id);}}else{dialog('askJoinCommunauty',{title:_mlt("ASK_JOIN_COMMUNAUTY_TITLE",'Rejoindre une Coomunauté'),content:_mlt("PLEASE_OPEN_ACCOUNT_COMMUNAUTY",'Veuillez ouvrir un compte afin de pouvoir rejoindre votre coomunauté'),size:'220,80',type:'infos'}).display();}};var RssModule={};RssModule['delete']=function(rssModuleId,onComplete){new Ajax.Request('/rss_modules/delete/'+rssModuleId,{onComplete:function(xhr){Element.remove('rss_module_'+rssModuleId);if(onComplete)onComplete();}});};var Panel={};Panel.show=function(panel,url){$$('div.panel').each(function(p){if(p.getAttribute('id')==panel){if(p.hasClassName('panelLoaded')==false){var content=p.getElementsBySelector('.content')[0];var f=$(document.createElement('iframe'));f.setAttribute('src',url);f.setAttribute('frameborder','no');f.addClassName('coomcoomIframe');f.setStyle({height:(document.body.parentNode.clientHeight-160)+'px'});content.appendChild(f);p.addClassName('panelLoaded');}
p.show();}else{p.hide();}});};var PathInfo={};PathInfo.generalTemplate=new Template("<span>#{LIST_ELEMENTS}#{CURRENT_ELEMENT}</span>");PathInfo.elementTemplate=new Template("<a href='javascript:;' onclick='#{JS_ACTION}'>#{NAME}</a> > ");PathInfo.generatePath=function(elementArray,action,withRoot){var returnedString='';if((elementArray)&&(elementArray.size()>0)){if(withRoot){var element={JS_ACTION:action+'(0)',NAME:_mlt('ROOT','Racine')};var elementList=PathInfo.elementTemplate.evaluate(element);}else{var element={};var elementList='';}
for(var i=0;i<elementArray.size()-1;i++){element={JS_ACTION:action+"("+elementArray[i].id+")",NAME:elementArray[i].name};elementList+=PathInfo.elementTemplate.evaluate(element);}
returnedString=PathInfo.generalTemplate.evaluate({LIST_ELEMENTS:elementList,CURRENT_ELEMENT:elementArray[elementArray.size()-1].name});}
$('pathInfo').innerHTML=returnedString;};var Folder={};Folder.FOLDER_NAVIGATOR_ID='folderNavigatorId';Folder.NB_COLUMNS=3;Folder.isAdmin=false;Folder.navigatorTemplate=new Template("<hr>#{FOLDER_INFO}<div id='"+Folder.FOLDER_NAVIGATOR_ID+"' folderId='#{PARENT_ID}'>"+"</div>"+"<div style='clear:both;'></div><hr>");Folder.navigatorElementTemplate=new Template("<div id='folderNavigatorElementId_#{FOLDER_ID}' class='navigatorElement' folderId='#{FOLDER_ID}'>"+"<img align='bottom' src='/img/icons/crystal/16x16/actions/folder.gif' class='navigatorImg'/>&nbsp;"+"<a id='folderNavigatorElementLink_#{FOLDER_ID}' folderId='#{FOLDER_ID}' class='navigatorElementLink'>#{FOLDER_NAME}</a>"+"</div>");Folder.toolbar=new ToolbarEx('folderToolbarId',[{image:'/img/icons/crystal/16x16/actions/folder.gif',events:{'click':function(event){if(!User.isTestUser){openFolder(Folder.getCallerToolbarElement(Event.element(event)).getAttribute('folderId'));}else{Common.displayRightTestUserErrorDialog();}}},helpText:_mlt('OPEN_FOLDER','Ouvrir ce dossier')},{image:'/img/icons/crystal/16x16/actions/folder_edit.png',events:{'click':function(event){if(!User.isTestUser){dialog('editFolder',{size:'300,150',source:'/folders/edit/'+Folder.getCallerToolbarElement(Event.element(event)).getAttribute('folderId')}).display();}else{Common.displayRightTestUserErrorDialog();}}},helpText:_mlt('EDIT_FOLDER','Modifier ce dossier')},{image:'/img/icons/crystal/16x16/actions/folder_delete.png',events:{'click':function(event){if(!User.isTestUser){dialog('deleteFolder',{size:'300,150',source:'/folders/confirmDelete/'+Folder.getCallerToolbarElement(Event.element(event)).getAttribute('folderId')}).display();}else{Common.displayRightTestUserErrorDialog();}}},helpText:_mlt('DELETE_FOLDER','Supprimer ce dossier')},{image:'/img/icons/crystal/16x16/actions/folder_move.png',events:{'click':function(event){if(!User.isTestUser){dialog('moveFolder',{size:'450,200',source:'/folders/move/'+Folder.getCallerToolbarElement(Event.element(event)).getAttribute('folderId')}).display();}else{Common.displayRightTestUserErrorDialog();}}},helpText:_mlt('MOVE_FOLDER','Déplacer ce dossier')},{image:'/img/icons/crystal/16x16/actions/folder_add_favorite.png',events:{'click':function(event){if(!User.isTestUser){dialog('addBookmark',{size:'330,480',source:'/bookmarks/create_form/'+Folder.getCallerToolbarElement(Event.element(event)).getAttribute('folderId')}).display();}else{Common.displayRightTestUserErrorDialog();}}},helpText:_mlt('ADD_BOOKMARK_TO_FOLDER','Ajouter un favori à ce dossier')}]);generateFolderNavigator=function(xhr,json){try{if(!json)json=eval('('+xhr.responseText+')');clearNavigator();Folder.isAdmin=json.infos.folders.isAdmin;var navigator={};if((json.folders)&&(json.folders.errors)){navigator={FOLDER_INFO:json.folders.errors,PARENT_ID:json.infos.folders['folder_id']};new Insertion.Bottom($('navigator'),Folder.navigatorTemplate.evaluate(navigator));}
else{navigator={PARENT_ID:json.infos.folders['folder_id']};new Insertion.Bottom($('navigator'),Folder.navigatorTemplate.evaluate(navigator));json.folders.each(generateFolderNavigatorElement);}}catch(e){if(console)console.error(e);}}
generateFolderNavigatorElement=function(folder,i){var navigatorElement={FOLDER_ID:folder['folder_id'],FOLDER_NAME:folder['name']};new Insertion.Bottom($(Folder.FOLDER_NAVIGATOR_ID),Folder.navigatorElementTemplate.evaluate(navigatorElement));var element=$('folderNavigatorElementId_'+folder['folder_id']);if(i%Folder.NB_COLUMNS==0)element.setStyle({clear:'both'});if(Folder.isAdmin){Event.observe(element,"click",function(){Folder.toolbar.displayIn(element);});}else{Event.observe(element,"click",function(){openFolder(folder['folder_id']);});}}
getFolders=function(folderId){var userIdUrl='';if(Bookmark.USER_ID)userIdUrl=Bookmark.USER_ID;new Ajax.Request('/folders/get/'+folderId+'/'+userIdUrl,{onComplete:function(xhr,json){if(!json)json=eval('('+xhr.responseText+')');var infoPathCompleteArray='';if((json.infos.folders)&&(json.infos.folders.infoPath)){infoPathCompleteArray=json.infos.folders.infoPath;}
PathInfo.generatePath(infoPathCompleteArray,'openFolder',true);generateFolderNavigator(xhr,json);}});}
addFolderInMyBookmarks=function(){if(!User.isTestUser){dialog('addFolder',{source:'/folders/add/'+$(Folder.FOLDER_NAVIGATOR_ID).getAttribute('folderId'),size:'300,160'}).display();}
else{Common.displayRightTestUserErrorDialog();}}
Folder.getCallerToolbarElement=function(el){var retour=null
if(el.tagName!='DIV'){retour=el.up('DIV',2);}else{retour=el.up('DIV',1);}
return retour;}
deleteFolder=function(id,parentId)
{new Ajax.Request('/folders/delete/'+id,{onComplete:function(){getFolders(parentId);}})}
moveFolder=function(folder_id,parent_id,last_parent_id)
{if((parent_id!=last_parent_id)&&(folder_id!=parent_id))
{new Ajax.Request('/folders/move/'+folder_id+'/'+parent_id)}}


