
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/cookie.js" 
 *
 */function Cookies(){}
Cookies.getValueFromOffset=function(offset){var end=document.cookie.indexOf(';',offset);if(end==-1){end=document.cookie.length;}
return unescape(document.cookie.substring(offset,end));}
Cookies.has=function(name){var nameEQ=name+'=';var ca=document.cookie.split(';');var i=0;var c='';for(i=0;i<ca.length;i++){c=ca[i];while(c.charAt(0)==' '){c=c.substring(1,c.length);}
if(c.indexOf(nameEQ)==0){return true;}}
return false;}
Cookies.read=function(name){var nameEQ=name+'=';var ca=document.cookie.split(';');var i=0;var c='';for(i=0;i<ca.length;i++){c=ca[i];while(c.charAt(0)==' '){c=c.substring(1,c.length);}
if(c.indexOf(nameEQ)==0){return c.substring(nameEQ.length,c.length);}}
return null;}
Cookies.create=function(name,value){var expires=arguments[2]||null;var path=arguments[3]||null;var domain=arguments[4]||null;var secure=arguments[5]||false;var toSave=name+'='+escape(value)
+((expires==null)?'':('; expires='+expires.toGMTString()))
+((path==null)?'':('; path='+path))
+((domain==null)?'':('; domain='+domain))
+((secure==false)?'':'; secure');document.cookie=toSave;}
Cookies.remove=function(name){var exp=new Date();exp.setTime(exp.getTime()-1);document.cookie=name
+'='+Cookies.read(name)
+'; expires='+exp.toGMTString();}
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/standard.js" 
 *
 */if(!window.$exists){window.$exists=function(){if(arguments.length<1){return false;}
if(typeof arguments[0]=='undefined'){return false;}
return true;}}
if(!window.$coalesce){window.$coalesce=function(){for(var i=0;i<arguments.length;i++){if($exists(arguments[i])){return arguments[i];}}
return null;}}
if(!window.$id){window.$id=function(id){return document.getElementById(id);}}
if(!Function.prototype.apply){Function.prototype.apply=function(object,parameters){var parameterStrings=new Array();if(!object)object=window;if(!parameters)parameters=new Array();for(var i=0;i<parameters.length;i++)
parameterStrings[i]='x['+i+']';object.__apply__=this;var result=eval('obj.__apply__('+
parameterStrings[i].join(', ')+')');object.__apply__=null;return result;}}
if(!Function.isInstance){Function.isInstance=function(obj){return(typeof obj).toLowerCase()=='function';}}
if(!Number.prototype.times){Number.prototype.times=function(f){f=Function.isInstance(f)?f:function(){};var context=$coalesce(arguments[1],null);var sz=Math.ceil(Math.abs(this.valueOf()));for(var i=0;i<sz;i++){f.apply(context,[i,sz]);}
return this;}}
if(!Array.prototype.getLastIndex){Array.prototype.getLastIndex=function(){return this.length-1;}}
if(!Array.isOutOfBounds){Array.prototype.isOutOfBounds=function(index){if((index<0)||(this.getLastIndex()<index)){return true;}
return false;}}
if(!Array.prototype.push){Array.prototype.push=function(){var startLength=this.length;for(var i=0;i<arguments.length;i++)
this[startLength+i]=arguments[i];return this.length;}}
if(!Array.prototype.insertAt){Array.prototype.insertAt=function(newElement,position){var index=position-1;if(this.length<index){index=this.getLastIndex();}
if(index<0){index=0;}
if(index==0){this.unshift(newElement);return true;}
if(index>this.getLastIndex()){this.push(newElement);return true;}
var part1=this.slice(0,index);var part2=this.slice(index);this.length=0;var sz=null;var i=null;sz=part1.length;for(i=0;i<sz;i++){this.push(part1[i]);}
this.push(newElement);sz=part2.length;for(i=0;i<sz;i++){this.push(part2[i]);}
return true;}}
if(!Array.prototype.execute){Array.prototype.execute=function(aFunction){var i=0;for(i=0;i<this.length;i++){aFunction(this[i],this);}}}
if(!Array.prototype.contains){Array.prototype.contains=function(searchElement){return this.indexOf(searchElement)<0?false:true;}}
if(!Array.prototype.indexOf){Array.prototype.indexOf=function(searchElement){var sz=this.length;if(sz<1){return-1;}
var fromIndex=(arguments.length>1)?arguments[1]:0;fromIndex=Number.parse.integer(fromIndex,0);fromIndex=(this.getLastIndex()<fromIndex)?0:fromIndex;if(fromIndex<0){fromIndex=Math.abs(fromIndex);fromIndex=sz-fromIndex;while(fromIndex<0){fromIndex=sz-fromIndex;fromIndex=Math.abs(fromIndex);}}
for(var i=fromIndex;i<sz;i++){if(this[i]===searchElement){return i;}}
return-1;}}
if(!Array.prototype.lastIndexOf){Array.prototype.lastIndexOf=function(searchElement){var sz=this.length;if(sz<1){return-1;}
var fromIndex=(arguments.length>1)?arguments[1]:0;fromIndex=Number.parse.integer(fromIndex,0);fromIndex=(this.getLastIndex()<fromIndex)?0:fromIndex;if(fromIndex<0){fromIndex=Math.abs(fromIndex);fromIndex=sz-fromIndex;while(fromIndex<0){fromIndex=sz-fromIndex;fromIndex=Math.abs(fromIndex);}}
for(var i=(sz-1);fromIndex<=i;i--){if(this[i]===searchElement){return i;}}
return-1;}}
if(!Array.prototype.filter){Array.prototype.filter=function(functionRef){if(typeof functionRef!='function'){return new Array();}
var target=arguments[1]||null;var sz=this.length;var i=0;var result=new Array();for(i=0;i<sz;i++){if(functionRef.apply(target,[this[i],i,this])!=true){continue;}
result.push(this[i]);}
return result;}}
if(!Array.prototype.map){Array.prototype.map=function(functionRef){if(typeof functionRef!='function'){return new Array();}
var target=arguments[1]||null;var sz=this.length;var i=0;var result=new Array();for(i=0;i<sz;i++){result.push(functionRef.apply(target,[this[i],i,this]));}
return result;}}
if(!Array.prototype.forEach){Array.prototype.forEach=function(functionRef){if(typeof functionRef!='function'){return;}
var target=arguments[1]||null;var sz=this.length;var i=0;for(i=0;i<sz;i++){functionRef.apply(target,[this[i],i,this]);}}}
if(!Array.prototype.every){Array.prototype.every=function(functionRef){if(typeof functionRef!='function'){return false;}
var target=arguments[1]||null;var sz=this.length;var i=0;for(i=0;i<sz;i++){if(functionRef.apply(target,[this[i],i,this])==true){continue;}
return false}
return true;}}
if(!Array.prototype.some){Array.prototype.some=function(functionRef){if(typeof functionRef!='function'){return false;}
var target=arguments[1]||null;var sz=this.length;var i=0;for(i=0;i<sz;i++){if(functionRef.apply(target,[this[i],i,this])==true){return true;}}
return false;}}
if(!Array.build){Array.build=function(data){if(!data){return[];}
if(data.length&&data[data.length-1]){return data;}
if(data.toArray){return data.toArray();}
return[data];}}
if(!String.random){String.random=function(){var length=Number.parse.integer((arguments[0]||6),6);var result='';var i=0;for(i=0;i<length;i++){result+=String.fromCharCode(97+Math.floor((Math.random()*24)));}
return result;}}
if(!String.prototype.getPrefixedWord){String.prototype.getPrefixedWord=function(){var returnExtracted=true;var prefix='';var suffix='';if(2<arguments.length){returnExtracted=(arguments[2]==true)?true:false;}else if(arguments.length==1){prefix=(arguments[0]==null)?'':arguments[0];suffix=(arguments[1]==null)?'':arguments[1];}else if(arguments.length==0){prefix=(arguments[0]==null)?'':arguments[0];}
if((prefix=='')&&(suffix=='')){return'';}
var founded=null;var tmp=this.split(' ');if(tmp.length<1){if((this.startsWith(prefix)==false)||(this.endsWith(suffix)==false)){return null;}
if(returnExtracted==false){return this;}
return this.unQuote(prefix,suffix);;}
var sz=tmp.length;var i=0;var cur=null;for(i=0;i<sz;i++){cur=tmp[i];if((cur.startsWith(prefix)==false)||(cur.endsWith(suffix)==false)){continue;}
founded=cur;break;}
if(founded==null){return null;}
if(returnExtracted==false){return founded;}
return founded.unQuote(prefix,suffix);}}
if(!String.prototype.findWord){String.prototype.findWord=function(word){if(word==""){return(this.toString()=="")?true:false;}
var tmp=this.split(' ');if(tmp.length<1){if(this.toString()==word){return true;}
return false;}
var sz=tmp.length;var i=0;for(i=0;i<sz;i++){if(tmp[i]!=word){continue;}
return true;}
return false;}}
if(!String.prototype.addWord){String.prototype.addWord=function(word){if(this==""){return word;}
if(this.findWord(word)==true){return this;}
return this+" "+word;}}
if(!String.prototype.removeWord){String.prototype.removeWord=function(word){var pattern="(^| )"+word+"\W*";var re=new RegExp(pattern);return this.replace(re,"");}}
if(!String.prototype.reverse){String.prototype.reverse=function(){var result="";var start=this.length-1;var i=0;for(i=start;i>=0;i--){result+=this.charAt(i);}
return result;}}
if(!String.prototype.rtrim){String.prototype.rtrim=function(){var sz=this.length;if(sz<1){return'';}
return this.replace(/\s+$/,'');}}
if(!String.prototype.ltrim){String.prototype.ltrim=function(){var sz=this.length;if(sz<1){return'';}
return this.replace(/^\s+/,'');}}
if(!String.prototype.trim){String.prototype.trim=function(){if(this.length<1){return'';}
var result=this.rtrim();return result.ltrim();}}
if(!String.prototype.startsWith){String.prototype.startsWith=function(prefix){return(this.indexOf(prefix)===0);}}
if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix){var startPos=this.length-suffix.length;if(startPos<0){return false;}
return(this.lastIndexOf(suffix,startPos)==startPos);}}
if(!String.prototype.getPathInfo){String.prototype.getPathInfo=function(){if(this.length<1){return null;}
var suffixSeparator='_';var tmp=null;var lastPos1=0;var lastPos2=0;switch(arguments.length){case 1:{tmp=new String(arguments[0]);lastPos1=this.lastIndexOf(suffixSeparator);lastPos2=this.lastIndexOf(tmp);if(lastPos1<lastPos2){suffixSeparator=tmp;}}break;default:{}break;}
var part=this.split('/');var fileName=part.pop();var path=part.join('/');part=fileName.split('.');var extension=part.pop();var fileNameBase=part.join('.');var currentSuffix='';part=fileNameBase.split(suffixSeparator);currentSuffix=part.pop();var basefileWithoutSuffix=part.join(suffixSeparator);return{path:path,file:fileName,ext:extension,basefile:fileNameBase,basefileWithoutSuffix:basefileWithoutSuffix,suffixSeparator:suffixSeparator,suffix:currentSuffix,changeSuffix:function(newSuffix){return this.path
+'/'+this.basefileWithoutSuffix
+this.suffixSeparator
+newSuffix
+'.'
+this.ext;}}}}
if(!String.prototype.getUrlInfo){String.prototype.getUrlInfo=function(){if(this.length<1){return null;}
var suffixSeparator='_';switch(arguments.length){case 2:{suffixSeparator=new String(arguments[1]);}break;default:{}break;}
var part=this.split('/');var fileName=part.pop();var path=part.join('/');part=fileName.split('.');var extension=part.pop();var fileNameBase=part.join('.');var currentSuffix='';part=fileNameBase.split(suffixSeparator);currentSuffix=part.pop();var basefileWithoutSuffix=part.join(suffixSeparator);return{path:path,file:fileName,ext:extension,basefile:fileNameBase,basefileWithoutSuffix:basefileWithoutSuffix,suffixSeparator:suffixSeparator,suffix:currentSuffix,changeSuffix:function(newSuffix){return this.path
+'/'+this.basefileWithoutSuffix
+this.suffixSeparator
+newSuffix
+'.'
+this.ext;},changeFile:function(newFile){return this.path
+'/'
+newFile;}}}}
if(!String.prototype.unQuote){String.prototype.unQuote=function(){if(this.length<1){return'';}
var quote=new Array();quote.push(['"','"']);quote.push(["'","'"]);switch(arguments.length){case 2:{quote=new Array();quote.push([arguments[0],arguments[1]]);}break;case 1:{if(typeof arguments[0]=='array'){quote=arguments[0];break;}
quote=new Array();quote.push([arguments[0],arguments[0]]);}break;default:{}break;}
var result=new String(this);var sz=quote.length;var i=0;var firstPart=null;var lastPart=null;for(i=0;i<sz;i++){firstPart=new String(quote[i][0]);lastPart=new String(quote[i][1]);if(result.startsWith(firstPart)==true){result=result.substr(firstPart.length);}
if(result.endsWith(lastPart)==true){result=result.substring(0,result.length-lastPart.length);}}
return result;}}
if(!String.prototype.capitalize){String.prototype.capitalize=function(){if(this.length<1){return'';}
if(this.length==1){return this.toUpperCase();}
return this.charAt(0).toUpperCase()+this.substr(1);}}
if(!String.prototype.normalizeCodeVariable){String.prototype.normalizeCodeVariable=function(){if(this.length<1){return'';}
if(this.length==1){return this.toLowerCase();}
var result='';var tmp=this.split('-');var sz=tmp.length;var i=0;for(i=0;i<sz;i++){result+=tmp[i].capitalize();}
tmp=result.split('_');result='';sz=tmp.length;for(i=0;i<sz;i++){result+=tmp[i].capitalize();}
return result.charAt(0).toLowerCase()+result.substr(1);}}
if(!String.prototype.replaceAll){String.prototype.replaceAll=function(re,replaceText){if(this.length<1){return'';}
var sz=this.length;var currentIteration=-1;var result=new String(this);while(0<=result.search(re)){result=result.replace(re,replaceText);currentIteration++;if(sz<currentIteration){return new String(this);}}
return result;}}
if(!String.prototype.replaceAllEx){String.prototype.replaceAllEx=function(lst){if(this.length<1){return'';}
var self=this;var searched=null;var replacement=null;var context={result:this.toString()}
lst.forEach(function(elements){var searched=elements[0];var replacement=elements[1];var currentIteration=0;var sz=context.result.length;if(typeof(searched)=='string'){while(0<=context.result.indexOf(searched)){context.result=context.result.replace(searched,replacement);currentIteration++;if(sz<currentIteration){context.result=self;return;}}}else if(searched instanceof RegExp){while(0<=context.result.search(searched)){context.result=context.result.replace(searched,replacement);currentIteration++;if(sz<currentIteration){context.result=self;return;}}}},context);return context.result;}}
if(!Number.parse){Number.parse={integer:function(data){var defaultValue=null;var hasDefaultValue=false;var radix=10;switch(arguments.length){case 3:{radix=arguments[2];}
case 2:{defaultValue=arguments[1];hasDefaultValue=true}break;default:{}break;}
if(hasDefaultValue!=true){return parseInt(data,radix);}
if(data===null){return defaultValue;}
var result=parseInt(data,radix);if(isNaN(result)==true){return defaultValue;}
return result;},reel:function(data){var defaultValue=null;var hasDefaultValue=false;switch(arguments.length){case 2:{defaultValue=arguments[1];hasDefaultValue=true}break;default:{}break;}
if(hasDefaultValue!=true){return parseFloat(data);}
if(data===null){return defaultValue;}
var result=parseFloat(data);if(isNaN(result)==true){return defaultValue;}
return result;}}}
function TreeMap(){this.values=new Array();this.keys=new Array();this.currentIndex=0;}
TreeMap.createEx=function(obj,addFunction){var defaultAddFunction=false;if(1<arguments.length){defaultAddFunction=(arguments[1]==true)?true:false;}
var result=new TreeMap();var k=null;var v=null;for(k in obj){v=obj[k];if((typeof v=='function')&&(defaultAddFunction==false)){continue;}
if(typeof v=='object'){v=TreeMap.createEx(v,defaultAddFunction);}
result.set(k,v);}
return result;}
TreeMap.create=function(obj,addFunction){var defaultAddFunction=false;if(1<arguments.length){defaultAddFunction=(arguments[1]==true)?true:false;}
var result=new TreeMap();var k=null;var v=null;for(k in obj){v=obj[k];if((typeof v=='function')&&(defaultAddFunction==false)){continue;}
result.set(k,v);}
return result;}
TreeMap.prototype.count=function(){return this.keys.length;}
TreeMap.prototype.clear=function(){this.values=new Array();this.keys=new Array();this.currentIndex=0;}
TreeMap.prototype.getKeyIndex=function(name){var sz=this.keys.length;var i=0;for(i=0;i<sz;i++){if(this.keys[i]==name){return i;}}
return-1;}
TreeMap.prototype.has=function(name){if(this.getKeyIndex(name)<0){return false;}
return true;}
TreeMap.prototype.set=function(name,value){var ki=this.getKeyIndex(name);if(ki<0){this.keys.push(name);ki=this.getKeyIndex(name);this.values[ki]=value;return;}
this.values[ki]=value;}
TreeMap.prototype.add=function(name,value){if(this.has(name)==true){return;}
this.set(name,value);}
TreeMap.prototype.get=function(name){var ki=this.getKeyIndex(name);if(ki<0){return null;}
return this.values[ki];}
TreeMap.prototype.getNew=function(name,value){this.add(name,value);return this.get(name);}
TreeMap.prototype.remove=function(name){var ki=this.getKeyIndex(name);if(ki<0){return false;}
this.keys.splice(ki,1);this.values.splice(ki,1);return true;}
TreeMap.prototype.isValidIndex=function(i){if(this.keys.length<1){return false;}
if(i<0){return false;}
if(i<this.keys.length){return true;}
return false;}
TreeMap.prototype.current=function(){if(this.valid()==false){return null;}
return this.get(this.key());}
TreeMap.prototype.key=function(){if(this.valid()==false){return null;}
return this.keys[this.currentIndex];}
TreeMap.prototype.next=function(){this.currentIndex++;}
TreeMap.prototype.rewind=function(){this.currentIndex=0;}
TreeMap.prototype.valid=function(){return this.isValidIndex(this.currentIndex);}
TreeMap.prototype.join=function(join1,join2){var ci=this.currentIndex;var result=new Array();var key=null;var value=null;this.rewind();while(this.valid()){key=this.key();value=this.current();result.push(key+join2+value);this.next();}
this.currentIndex=ci;return result.join(join1);}
TreeMap.prototype.filter=function(functionRef){if(typeof functionRef!='function'){return new Array();}
var target=arguments[1]||null;var result=new Array();this.rewind();while(this.valid()){if(functionRef.apply(target,[this.current(),this.key(),this])!=true){this.next();continue;}
result.push(this[i]);this.next();}
return result;}
TreeMap.prototype.map=function(functionRef){if(typeof functionRef!='function'){return new Array();}
var target=arguments[1]||null;var result=new Array();this.rewind();while(this.valid()){result.push(functionRef.apply(target,[this.current(),this.key(),this]));this.next();}
return result;}
TreeMap.prototype.forEach=function(functionRef){if(typeof functionRef!='function'){return;}
var target=arguments[1]||null;this.rewind();while(this.valid()){functionRef.apply(target,[this.current(),this.key(),this]);this.next();}}
TreeMap.prototype.every=function(functionRef){if(typeof functionRef!='function'){return false;}
var target=arguments[1]||null;this.rewind();while(this.valid()){if(functionRef.apply(target,[this.current(),this.key(),this])==true){this.next();continue;}
return false}
return true;}
TreeMap.prototype.some=function(functionRef){if(typeof functionRef!='function'){return false;}
var target=arguments[1]||null;this.rewind();while(this.valid()){if(functionRef.apply(target,[this.current(),this.key(),this])==true){return true;}
this.next();}
return false;}
function GlobalScope(){}
GlobalScope.getInstance=function(){if(!this.instance){this.instance=new TreeMap();}
return this.instance;}
function Point2D(){var defaultY=0;var defaultX=0;switch(arguments.length){case 2:{defaultY=Number.parse.integer(arguments[1],defaultY);}
case 1:{defaultX=Number.parse.integer(arguments[0],defaultX);}break;default:{}break;}
this.x=defaultX;this.y=defaultY;}
Point2D.prototype.add=function(){this.x=this.x+Number.parse.integer(arguments[0]||0,0);this.y=this.y+Number.parse.integer(arguments[1]||0,0);}
Point2D.prototype.clone=function(){return new Point2D(this.x,this.y);}
Point2D.prototype.toString=function(){return'Point2D('+this.x+', '+this.y+')';}
function Region2D(){};Region2D.LEFT=0;Region2D.CENTER=1;Region2D.RIGHT=2;Region2D.TOP=3;Region2D.MIDDLE=4;Region2D.BOTTOM=5;Region2D.LEFT_TOP=6;Region2D.LEFT_MIDDLE=7;Region2D.LEFT_BOTTOM=8;Region2D.CENTER_TOP=9;Region2D.CENTER_MIDDLE=10;Region2D.CENTER_BOTTOM=11;Region2D.RIGHT_TOP=12;Region2D.RIGHT_MIDDLE=13;Region2D.RIGHT_BOTTOM=14;function Map2D(){var defaultRegion=arguments[0]||new Rectangle2D();this.original=defaultRegion;this.left=defaultRegion.clone();this.center=defaultRegion.clone();this.right=defaultRegion.clone();this.top=defaultRegion.clone();this.middle=defaultRegion.clone();this.bottom=defaultRegion.clone();this.leftTop=defaultRegion.clone();this.leftMiddle=defaultRegion.clone();this.leftRight=defaultRegion.clone();this.centerTop=defaultRegion.clone();this.centerMiddle=defaultRegion.clone();this.centerRight=defaultRegion.clone();this.rightTop=defaultRegion.clone();this.rightMiddle=defaultRegion.clone();this.rightRight=defaultRegion.clone();}
Map2D.prototype.cut=function(width,height){var pCenterSize=this.original.createInternalDimension(width,height);this.left=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.LEFT);this.center=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.CENTER);this.right=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.RIGHT);this.top=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.TOP);this.middle=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.MIDDLE);this.bottom=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.BOTTOM);this.leftTop=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.LEFT_TOP);this.leftMiddle=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.LEFT_MIDDLE);this.leftBottom=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.LEFT_BOTTOM);this.centerTop=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.CENTER_TOP);this.centerMiddle=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.CENTER_MIDDLE);this.centerBottom=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.CENTER_BOTTOM);this.rightTop=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.RIGHT_TOP);this.rightMiddle=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.RIGHT_MIDDLE);this.rightBottom=this.original.cutRegion(pCenterSize.x,pCenterSize.y,Region2D.RIGHT_BOTTOM);}
Map2D.prototype.findDetailledRegion=function(width,height){var result=null;if(this.leftTop.contains(width,height)==true){result=this.leftTop.clone();}else if(this.leftMiddle.contains(width,height)==true){result=this.leftMiddle.clone();}else if(this.leftRight.contains(width,height)==true){result=this.leftRight.clone();}else if(this.centerTop.contains(width,height)==true){result=this.centerTop.clone();}else if(this.centerMiddle.contains(width,height)==true){result=this.centerMiddle.clone();}else if(this.centerRight.contains(width,height)==true){result=this.centerRight.clone();}else if(this.rightTop.contains(width,height)==true){result=this.rightTop.clone();}else if(this.rightMiddle.contains(width,height)==true){result=this.rightMiddle.clone();}else if(this.rightRight.contains(width,height)==true){result=this.rightRight.clone();}
return result;}
Map2D.prototype.findRegion=function(width,height){var result=null;if(this.left.contains(width,height)==true){result=this.left.clone();}else if(this.center.contains(width,height)==true){result=this.center.clone();}else if(this.right.contains(width,height)==true){result=this.right.clone();}else if(this.top.contains(width,height)==true){result=this.top.clone();}else if(this.middle.contains(width,height)==true){result=this.middle.clone();}else if(this.bottom.contains(width,height)==true){result=this.bottom.clone();}
return result;}
Map2D.prototype.toString=function(){var result='Map2D, original : '+this.original.toString()+'\n'
+'left : '+this.left.toString()+'\n'
+'center : '+this.center.toString()+'\n'
+'right : '+this.right.toString()+'\n'
+'top : '+this.top.toString()+'\n'
+'middle : '+this.middle.toString()+'\n'
+'bottom : '+this.bottom.toString()+'\n'
+'left-top : '+this.leftTop.toString()+'\n'
+'left-middle : '+this.leftMiddle.toString()+'\n'
+'left-right : '+this.leftRight.toString()+'\n'
+'center-top : '+this.centerTop.toString()+'\n'
+'center-middle : '+this.centerMiddle.toString()+'\n'
+'center-right : '+this.centerRight.toString()+'\n'
+'right-top : '+this.rightTop.toString()+'\n'
+'right-middle : '+this.rightMiddle.toString()+'\n'
+'right-right : '+this.rightRight.toString()+'\n'
return result;}
function Rectangle2D(){this.x=Number.parse.integer(arguments[0]||0);this.y=Number.parse.integer(arguments[1]||0);this.width=Number.parse.integer(arguments[2]||0);this.height=Number.parse.integer(arguments[3]||0);}
Rectangle2D.prototype.setTopLeft=function(aPoint){this.x=aPoint.x;this.y=aPoint.y;}
Rectangle2D.prototype.setBottomRight=function(aPoint){var deltaX=aRPoint.x-this.x;var deltaY=aRPoint.y-this.y;if(deltaX>=0){this.width=deltaX;}else{this.width=-deltaX;this.x=aRPoint.x;}
if(deltaY>=0){this.height=deltaY;}else{this.height=-deltaY;this.y=aRPoint.y;}}
Rectangle2D.prototype.getBottomRight=function(){var result=new Point2D();result.x=this.x+this.width;result.y=this.y+this.height;return result;}
Rectangle2D.prototype.getTopLeft=function(){var result=new Point2D();result.x=this.x;result.y=this.y;return result;}
Rectangle2D.prototype.contains=function(x,y){var result=new Point2D();result.x=x;result.y=y;return this.containsPoint(result);}
Rectangle2D.prototype.containsPoint=function(aPoint){var topleft=this.getTopLeft();var bottomright=this.getBottomRight();if(topleft.x>aPoint.x){return false;}
if(aPoint.x>bottomright.x){return false;}
if(topleft.y>aPoint.y){return false;}
if(aPoint.y>bottomright.y){return false;}
return true;}
Rectangle2D.prototype.containsRectangle=function(aRectangle2D){return this.containsPoint(aRectangle2D.getTopLeft())&&this.containsPoint(aRectangle2D.getBottomRight());}
Rectangle2D.prototype.createInternalDimension=function(width,height){var tmp=0;if(width.endsWith('%')){tmp=Number.parse.integer(width,this.width);width=(this.width*tmp/100);}else{width=Number.parse.integer(width);}
if(height.endsWith('%')){tmp=Number.parse.integer(height,this.height);height=(this.height*tmp/100);}else{height=Number.parse.integer(height);}
if(this.width<width){width=this.width;}
if(this.height<height){height=this.height;}
return new Point2D(width,height);}
Rectangle2D.prototype.getMap2D=function(){var width=arguments[0]||'60%';var height=arguments[1]||'60%';var result=new Map2D(this);result.cut(width,height);return result;}
Rectangle2D.prototype.cutRegion=function(width,height,region){var result=new Rectangle2D();result.x=this.x;result.y=this.y;result.width=width;result.height=height;switch(region){case Region2D.LEFT:{result.height=this.height;result.width=Number.parse.integer((this.width-width)/2);}break;case Region2D.CENTER:{result.height=this.height;result.x=this.x+Number.parse.integer((this.width-width)/2);}break;case Region2D.RIGHT:{result.height=this.height;result.width=Number.parse.integer((this.width-width)/2);result.x=this.x+this.width-result.width;}break;case Region2D.TOP:{result.width=this.width;result.height=Number.parse.integer((this.height-height)/2);}break;case Region2D.MIDDLE:{result.width=this.width;result.y=result.y+Number.parse.integer((this.height-height)/2);}break;case Region2D.BOTTOM:{result.width=this.width;result.height=Number.parse.integer((this.height-height)/2);result.y=this.y+this.height-result.height;}break;case Region2D.LEFT_TOP:{result.height=Number.parse.integer((this.height-height)/2);result.width=Number.parse.integer((this.width-width)/2);}break;case Region2D.LEFT_MIDDLE:{result.width=Number.parse.integer((this.width-width)/2);result.y=result.y+Number.parse.integer((this.height-height)/2);}break;case Region2D.LEFT_BOTTOM:{result.height=Number.parse.integer((this.height-height)/2);result.width=Number.parse.integer((this.width-width)/2);result.y=this.y+this.height-result.height;}break;case Region2D.CENTER_TOP:{result.x=this.x+Number.parse.integer((this.width-width)/2);result.height=Number.parse.integer((this.height-height)/2);}break;case Region2D.CENTER_MIDDLE:{result.x=this.x+Number.parse.integer((this.width-width)/2);result.y=result.y+Number.parse.integer((this.height-height)/2);}break;case Region2D.CENTER_BOTTOM:{result.x=this.x+Number.parse.integer((this.width-width)/2);result.height=Number.parse.integer((this.height-height)/2);result.y=this.y+this.height-result.height;}break;case Region2D.RIGHT_TOP:{result.width=Number.parse.integer((this.width-width)/2);result.x=this.x+this.width-result.width;result.height=Number.parse.integer((this.height-height)/2);}break;case Region2D.RIGHT_MIDDLE:{result.width=Number.parse.integer((this.width-width)/2);result.x=this.x+this.width-result.width;result.y=result.y+Number.parse.integer((this.height-height)/2);}break;case Region2D.RIGHT_BOTTOM:{result.width=Number.parse.integer((this.width-width)/2);result.x=this.x+this.width-result.width;result.height=Number.parse.integer((this.height-height)/2);result.y=this.y+this.height-result.height;}break;default:{}break;}
return result;}
Rectangle2D.prototype.toString=function(){return'Rectangle2D('+this.x+', '+this.y+', '+this.width+', '+this.height+')';}
Rectangle2D.prototype.clone=function(){return new Rectangle2D(this.x,this.y,this.width,this.height);}
function Vector2D(){this.angle=0;this.force=0;this.cx=0;this.cy=0;}
Vector2D.ANGLE_TO_RIGHT=0;Vector2D.ANGLE_TO_RIGHT_UP=45;Vector2D.ANGLE_TO_TOP=90;Vector2D.ANGLE_TO_LEFT_UP=135;Vector2D.ANGLE_TO_LEFT=180;Vector2D.ANGLE_TO_LEFT_BOTTOM=225;Vector2D.ANGLE_TO_BOTTOM=270;Vector2D.ANGLE_TO_RIGHT_BOTTOM=315;Vector2D.prototype.defineAngle=function(angle,force){if(angle!=null){this.angle=Number.parse.integer(angle,this.angle);this.angle=Number.abs(this.angle);this.angle=(this.angle%360);}
if(force!=null){this.force=Number.parse.integer(force,this.force);}
return this.calculatesFromAngle();}
Vector2D.prototype.defineSize=function(cx,cy){if(cx!=null){cx=Number.parse.integer(cx,this.cx);}
if(cy!=null){cy=Number.parse.integer(cy,this.cy);}
return this.calculatesFromSize();}
Vector2D.prototype.calculatesFromAngle=function(){if(this.force==0){this.cy=0;this.cx=0;return false;}
var ang=(this.angle%90);if(ang==0){switch(this.angle){case Vector2D.ANGLE_TO_RIGHT:{this.cx=this.force;this.cy=0;}break;case Vector2D.ANGLE_TO_TOP:{this.cx=0;this.cy=this.force;}break;case Vector2D.ANGLE_TO_LEFT:{this.cx=this.force*-1;this.cy=0;}break;case Vector2D.ANGLE_TO_BOTTOM:{this.cx=0;this.cy=this.force*-1;}break;}
return true;}
this.cx=Math.cos(this.angle)*Math.abs(this.force);this.cy=Math.sin(this.angle)*Math.abs(this.force);if(this.angle>Vector2D.ANGLE_TO_BOTTOM){this.cy=(this.cy*-1);}else if(this.angle>Vector2D.ANGLE_TO_LEFT){this.cx=(this.cx*-1);this.cy=(this.cy*-1);}else if(this.angle>Vector2D.ANGLE_TO_TOP){this.cx=(this.cx*-1);}
return true;}
Vector2D.prototype.calculatesFromSize=function(){if((this.cx==0)&&(this.cy==0)){this.force=0;return false;}
var tmpCX=Math.abs(this.cx);var tmpCY=Math.abs(this.cy);if(tmpCX==0){if(0<=this.cy){this.angle=Vector2D.ANGLE_TO_TOP;}else{this.angle=Vector2D.ANGLE_TO_BOTTOM;}}else if(tmpCY==0){if(0<=this.cx){this.angle=Vector2D.ANGLE_TO_RIGHT;}else{this.angle=Vector2D.ANGLE_TO_Left;}}
var hypo=Math.sqrt((tmpCX*tmpCX)+(tmpCY*tmpCY));if(isNaN(result)==true){this.cx=0;this.cy=0;return false;}
var ang=Math.acos(tmpCX/hypo);this.force=Number.parse.integer(hypo);if(0<=this.cx){if(0<=this.cy){this.angle=ang;}else{this.angle=360-ang;}}else{if(0<=this.cy){this.angle=180-ang;}else{this.angle=270-ang;}}
return true;}
Vector2D.prototype.apply=function(x,y){return new Point2D(x+this.cx,y+this.cy);}
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/standard.2.js" 
 *
 */window.$tools={$:function(obj){obj.$=!obj.$?{}:obj.$;obj.$.classes=!obj.$.classes?{}:obj.$.classes;},exists:function(){return(arguments.length<1)?false:(typeof arguments[0]=='undefined')?false:true;},coalesce:function(){for(var i=0;i<arguments.length;i++){if($tools.exists(arguments[i])){return arguments[i];};};return void(0);},override:function(obj,name,fn){var force=!!$tools.coalesce(arguments[3],false);if((force==true)||(!obj.prototype[name])){obj.prototype[name]=fn;};return obj;},overrideStatic:function(obj,name,fn){var force=!!$tools.coalesce(arguments[3],false);if((force==true)||(!obj[name])){obj[name]=fn;};return obj;},id:function(id){return document.getElementById(id);},parse:{integer:function(data){var defaultValue=$tools.coalesce(arguments[1],null);var hasDefaultValue=$tools.exists(arguments[1]);var radix=$tools.coalesce(arguments[2],10);if(hasDefaultValue!=true){return parseInt(data,radix);}else if(data===null){return defaultValue;};var result=parseInt(data,radix);return(isNaN(result))?defaultValue:result;},reel:function(data){var defaultValue=$tools.coalesce(arguments[1],null);var hasDefaultValue=$tools.exists(arguments[1]);if(hasDefaultValue!=true){return parseFloat(data);}else if(data===null){return defaultValue;}
var result=parseFloat(data);return(isNaN(result))?defaultValue:result;}},cookies:{getValueFromOffset:function(offset){var end=document.cookie.indexOf(';',offset);if(end==-1){end=document.cookie.length;};return unescape(document.cookie.substring(offset,end));},has:function(name){for(var i=0,c='',ca=document.cookie.split(';'),nameEQ=name+'=';i<ca.length;i++){c=ca[i];while(c.charAt(0)==' '){c=c.substring(1,c.length);};if(c.indexOf(nameEQ)==0){return true;};};return false;},read:function(name){for(var i=0,c='',ca=document.cookie.split(';'),nameEQ=name+'=';i<ca.length;i++){c=ca[i];while(c.charAt(0)==' '){c=c.substring(1,c.length);};if(c.indexOf(nameEQ)==0){return unescape(c.substring(nameEQ.length,c.length));};};return void(0);},write:function(name){var value=$tools.coalesce(arguments[1],null);if(value==null){$tools.cookies.remove(name);return;};var expires=$tools.coalesce(arguments[2],null);var path=$tools.coalesce(arguments[3],'/');var domain=$tools.coalesce(arguments[4],null);var secure=$tools.coalesce(arguments[5],false);document.cookie=name+'='+escape(value)
+((expires==null)?'':('; expires='+expires.toGMTString()))
+((path==null)?'':('; path='+path))
+((domain==null)?'':('; domain='+domain))
+((secure==false)?'':'; secure');},remove:function(name){var exp=new Date();exp.setTime(exp.getTime()-1);document.cookie=name+'='+Cookies.read(name)+'; expires='+exp.toGMTString();}}};window.$rugama={};$tools.override(Function,'apply',function(object,parameters){var parameterStrings=[];object=$tools.coalesce(object,window);parameters=$tools.coalesce(parameters,[]);for(var i=0;i<parameters.length;i++){parameterStrings[i]='parameters['+i+']';};object.__apply__=this;var result=eval('obj.__apply__('+parameterStrings.join(', ')+')');object.__apply__=null;return result;});$tools.overrideStatic(Function,'isInstance',function(object){return(typeof object).toLowerCase()=='function';});$tools.overrideStatic(Array,'isInstance',function(object){return object instanceof Array;});$tools.override(Array,'indexOf',function(el){for(var i=0,start=$tools.coalesce(arguments[1],0),sz=this.length;i<sz;i++){if(this[i]===el){return i;};};return-1;});$tools.override(Array,'contains',function(value){return this.indexOf(value)<0?false:true;});$tools.override(Array,'filter',function(functionRef){if(!Function.isInstance(functionRef)){return[];};var target=$tools.coalesce(arguments[1],window);var result=[];for(var i=0,sz=this.length;i<sz;i++){if(functionRef.apply(target,[this[i],i,this])!=true){continue;};result.push(this[i]);};return result;});$tools.override(Array,'map',function(functionRef){if(!Function.isInstance(functionRef)){return[];};var target=$tools.coalesce(arguments[1],window);var result=[];for(var i=0,sz=this.length;i<sz;i++){result.push(functionRef.apply(target,[this[i],i,this]));};return result;});$tools.override(Array,'forEach',function(functionRef){if(!Function.isInstance(functionRef)){return[];};var target=$tools.coalesce(arguments[1],window);for(var i=0,sz=this.length;i<sz;i++){functionRef.apply(target,[this[i],i,this]);};});$tools.override(Array,'every',function(functionRef){if(!Function.isInstance(functionRef)){return[];};var target=$tools.coalesce(arguments[1],window);for(var i=0,sz=this.length;i<sz;i++){if(functionRef.apply(target,[this[i],i,this])==true){continue;};return false;};return true;});$tools.override(Array,'some',function(functionRef){if(!Function.isInstance(functionRef)){return[];};var target=$tools.coalesce(arguments[1],window);for(var i=0,sz=this.length;i<sz;i++){if(functionRef.apply(target,[this[i],i,this])==true){return true;};};return false;});$tools.overrideStatic(String,'isInstance',function(object){return(typeof object).toLowerCase()=='string';});$tools.overrideStatic(String,'random',function(){var length=window.$tools.parse.integer((arguments[0]||6),6);var result='';var i=0;for(i=0;i<length;i++){result+=String.fromCharCode(97+Math.floor((Math.random()*24)));};return result;});$tools.override(String,'unQuote',function(){if(this.length<1){return'';};var quote=[['"','"'],["'","'"]];if(0<arguments.length){quote=[[arguments[0],$tools.coalesce(arguments[1],arguments[0])]];};var result=new String(this);for(var i=0,sz=quote.length,firstPart=null,lastPart=null;i<sz;i++){firstPart=new String(quote[i][0]);lastPart=new String(quote[i][1]);if(result.startsWith(firstPart)==true){result=result.substr(firstPart.length);};if(result.endsWith(lastPart)==true){result=result.substring(0,result.length-lastPart.length);};};return result;});$tools.override(String,'findWord',function(word){if(word==''){return(this.toString()=='')?true:false;};var tmp=this.split(' ');if(tmp.length<1){return(this.toString()==word)?true:false};for(var i=0,sz=tmp.length;i<sz;i++){if(tmp[i]==word){return true;};};return false;});$tools.override(String,'addWord',function(word){if(this==''){return word;}else if(this.findWord(word)==true){return this;};return this+' '+word;});$tools.override(String,'removeWord',function(word){var pattern='(^| )'+word+'\W*';var re=new RegExp('(^| )'+word+'\W*');return this.replace(re,'');});$tools.override(String,'reverse',function(){var result='';for(i=this.length-1;i>=0;i--){result+=this.charAt(i);};return result;});$tools.override(String,'rtrim',function(){return this.length<1?'':this.replace(/\s+$/,'');});$tools.override(String,'ltrim',function(){return this.length<1?'':this.replace(/^\s+/,'');});$tools.override(String,'trim',function(){return this.length<1?'':this.rtrim().ltrim();});$tools.override(String,'startsWith',function(word){return(this.indexOf(word)===0);});$tools.override(String,'endsWith',function(word){var startPos=this.length-word.length;return(startPos<0)?false:(this.lastIndexOf(word,startPos)==startPos);});$tools.override(String,'capitalize',function(word){return(this.length<1)?'':(this.length==1)?this.toUpperCase():this.charAt(0).toUpperCase()+this.substr(1);});$tools.override(String,'getUrlInfo',function(word){if(this.length<1){return null;}
var suffixSeparator=$tools.coalesce(arguments[1],'_');var part=this.split('/');var fileName=part.pop();var path=part.join('/');part=fileName.split('.');var extension=part.pop();var fileNameBase=part.join('.');var currentSuffix='';part=fileNameBase.split(suffixSeparator);currentSuffix=part.pop();var basefileWithoutSuffix=part.join(suffixSeparator);return{path:path,file:fileName,ext:extension,basefile:fileNameBase,basefileWithoutSuffix:basefileWithoutSuffix,suffixSeparator:suffixSeparator,suffix:currentSuffix,changeSuffix:function(newSuffix){return this.path
+'/'+this.basefileWithoutSuffix
+this.suffixSeparator
+newSuffix
+'.'
+this.ext;},changeFile:function(newFile){return this.path
+'/'
+newFile;}};});window.Point2D=function(){this.x=$tools.coalesce(arguments[0],0);this.y=$tools.coalesce(arguments[1],0);};Point2D.prototype.add=function(){this.x=this.x+$tools.parse.integer($tools.coalesce(arguments[0],0),0);this.y=this.y+$tools.parse.integer($tools.coalesce(arguments[1],0),0);};Point2D.prototype.clone=function(){return new Point2D(this.x,this.y);};Point2D.prototype.toString=function(){return'Point2D('+this.x+', '+this.y+')';};window.Rectangle2D=function(){this.x=$tools.parse.integer($tools.coalesce(arguments[0],0),0);this.y=$tools.parse.integer($tools.coalesce(arguments[1],0),0);this.width=$tools.parse.integer($tools.coalesce(arguments[2],0),0);this.height=$tools.parse.integer($tools.coalesce(arguments[3],0),0);};Rectangle2D.prototype.setTopLeft=function(aPoint){this.x=aPoint.x;this.y=aPoint.y;};Rectangle2D.prototype.setBottomRight=function(aPoint){var deltaX=aRPoint.x-this.x;var deltaY=aRPoint.y-this.y;if(0<=deltaX){this.width=deltaX;}else{this.width=-deltaX;this.x=aRPoint.x;};if(0<=deltaY){this.height=deltaY;}else{this.height=-deltaY;this.y=aRPoint.y;};};Rectangle2D.prototype.getBottomRight=function(){return new Point2D(this.x+this.width,this.y+this.height);};Rectangle2D.prototype.getTopLeft=function(){return new Point2D(this.x,this.y);};Rectangle2D.prototype.contains=function(x,y){return this.containsPoint(new Point2D(x,y));};Rectangle2D.prototype.containsPoint=function(aPoint){var topleft=this.getTopLeft();var bottomright=this.getBottomRight();return((aPoint.x<topleft.x)||(bottomright.x<aPoint.x)||(aPoint.y<topleft.y)||(bottomright.y<aPoint.y))?false:true;};Rectangle2D.prototype.containsRectangle=function(aRectangle2D){return this.containsPoint(aRectangle2D.getTopLeft())&&this.containsPoint(aRectangle2D.getBottomRight());};Rectangle2D.prototype.clone=function(){return new Rectangle2D(this.x,this.y,this.width,this.height);};Rectangle2D.prototype.toString=function(){return'Rectangle2D('+this.x+', '+this.y+', '+this.width+', '+this.height+')';};window.$tools.getStyle=function(node,styleProp){if(!node.style){return null;}
var result=null;if(node.currentStyle){result=node.currentStyle[styleProp.normalizeCodeVariable()];}else if(document.defaultView&&document.defaultView.getComputedStyle){result=document.defaultView.getComputedStyle(node,null).getPropertyValue(styleProp);}else if(window.getComputedStyle){result=window.getComputedStyle(node,null).getPropertyValue(styleProp);}
if(window.opera&&(-1<['left','top','right','bottom'].indexOf(styleProp))&&(window.$tools.getStyle(node,'position')=='static')){result=null;}
if(result==null){return null;}
return(result=='auto')?null:result;};window.$tools.event={guid:0,add:function(element,type,handler){if(!handler.$$guid){handler.$$guid=window.$tools.event.guid++;};if(!element.$$events){element.$$events={};}
if(!element.$$events[type]){element.$$events[type]={};if(element["on"+type]){element.$$events[type][0]=element["on"+type];}}
element.$$events[type][handler.$$guid]=handler;element["on"+type]=window.$tools.event.handle;},handle:function(event){var returnValue=true;event=event||window.$tools.event.fix(window.event);var handlers=this.$$events[event.type];for(var i in handlers){this.$$handleEvent=handlers[i];if(this.$$handleEvent(event)===false){returnValue=false;}}
return returnValue;},remove:function(element,type,handler){if(element.$$events&&element.$$events[type]){delete element.$$events[type][handler.$$guid];}},fix:function(event){event.preventDefault=function(){this.returnValue=false;};event.stopPropagation=function(){this.cancelBubble=true;};return event;}};window.$tools.browser={ie:false,gecko:false,safari:false};if(/Konqueror|Safari|KHTML|WebKit/.test(navigator.userAgent)){window.$tools.browser.safari=true;};if(!!document.documentElement&&!!document.documentElement.style&&''+document.documentElement.style.MozBinding!='undefined'){window.$tools.browser.gecko=true;};window.$tools.box=function(node){this.parent=node;};window.$tools.box.prototype.getXPosition=function(){var result=0;var node=this.parent;if(node.offsetParent){while(node.offsetParent){result+=window.$tools.parse.integer(node.offsetLeft,0);node=node.offsetParent;}}else if(node.x){result+=window.$tools.parse.integer(node.x,0);}
return result;};window.$tools.box.prototype.getYPosition=function(){var result=0;var node=this.parent;if(node.offsetParent){while(node.offsetParent){result+=window.$tools.parse.integer(node.offsetTop,10);node=node.offsetParent;}}else if(node.y){result+=window.$tools.parse.integer(node.y,10);}
return result;};window.$tools.box.prototype.getPosition=function(){var result=new Point2D();result.x=this.getXPosition();result.y=this.getYPosition();return result;};window.$tools.box.prototype.getFullBounds=function(){var position=this.getPosition();var result=new Rectangle2D();result.setTopLeft(position);result.width=this.parent.offsetWidth;result.height=this.parent.offsetHeight;return result;};if(window.$tools.browser.safari){window.$tools.box.prototype.getXPosition=function(){var result=0;var node=this.parent;if(node.offsetParent){while(node.offsetParent){result+=window.$tools.parse.integer(node.offsetLeft,0);if((node.offsetParent==document.body)&&(window.$tools.getStyle(node,'position')=='absolute')){break;}
node=node.offsetParent;}}else if(node.x){result+=window.$tools.parse.integer(node.x,0);}
return result;};window.$tools.box.prototype.getYPosition=function(){var result=0;var node=this.parent;if(node.offsetParent){while(node.offsetParent){result+=window.$tools.parse.integer(node.offsetTop,10);if((node.offsetParent==document.body)&&(window.$tools.getStyle(node,'position')=='absolute')){break;}
node=node.offsetParent;}}else if(node.y){result+=window.$tools.parse.integer(node.y,10);}
return result;};};window.$tools.box.prototype.getVisualBox=function(){return new Rectangle2D(0,0,(this.parent.clientWidth||-1),(this.parent.clientHeight||-1));};window.$tools.box.prototype.getVirtualBox=function(){return new Rectangle2D(0,0,(this.parent.scrollWidth||-1),(this.parent.scrollHeight||-1));};window.$tools.box.prototype.getBounds=function(){var position=this.getPosition();var result=new Rectangle2D();result.setTopLeft(position);result.width=this.parent.offsetWidth;result.height=this.parent.offsetHeight;return result;};window.$tools.box.prototype.getBounds=function(){var position=this.getPosition();var vs=this.getVisualBox();vs.setTopLeft(position);return vs;};window.$tools.box.prototype.hasScrollX=function(){var vs=this.getVisualBox();var vr=this.getVirtualBox();return(vs.width<vr.width)?true:false;};window.$tools.box.prototype.hasScrollY=function(){var vs=this.getVisualBox();var vr=this.getVirtualBox();return(vs.height<vr.height)?true:false;};window.$tools.box.prototype.hasScroll=function(){return(this.hasScrollX()||this.hasScrollY());};window.$tools.box.prototype.getMaxScroll=function(){var result=new Point2D();if(this.hasScroll()==false){return result;}
var vs=this.getVisualBox();var vr=this.getVirtualBox();result.x=vr.width-vs.width;result.y=vr.height-vs.height;return result;};window.$tools.box.prototype.scrollTo=function(){var x=window.$tools.parse.integer((arguments[0]||this.parent.scrollLeft||0),(this.parent.scrollLeft||0));var y=window.$tools.parse.integer((arguments[1]||this.parent.scrollTop||0),(this.parent.scrollTop||0));var max=this.getMaxScroll();if(max.x<x){x=max.x;}
if(max.y<y){y=max.y;}
this.parent.scrollLeft=x;this.parent.scrollTop=y;};window.$tools.box.prototype.scrollBy=function(){var x=window.$tools.parse.integer((arguments[0]||0),0);var y=window.$tools.parse.integer((arguments[1]||0),0);var cx=this.parent.scrollLeft||0;var cy=this.parent.scrollTop||0;this.scrollTo(cx+x,cy+y);};window.$tools.box.prototype.scrollElementToThis=function(){var parent=new window.$tools.box(arguments[0]||this.parent.parentNode);if(!parent.hasScroll()){return;}
var pos=this.getBounds();var posp=parent.getBounds();var ey1=pos.y;var ey2=pos.y+pos.height;var py1=posp.y;var py2=posp.y+posp.height;var oky=false;if((py1<=ey1)&&(ey2<=py2)){oky=true;}
var ex1=pos.x;var ex2=pos.x+pos.width;var px1=posp.x;var px2=posp.x+posp.width;var okx=false;if((px1<=ex1)&&(ex2<=px2)){okx=true;}
if((oky==true)&&(okx==true)){}
var diffh=posp.height-pos.height;var diffw=posp.width-pos.width;var cx=ex1-px1-diffw;var cy=ey1-py1-diffh;parent.scrollTo(cx,cy);};window.$tools.loader={isLoaded:false,stack:[],append:function(functionDef){if(typeof functionDef!='function'){return false;}
if(this.isLoaded==true){functionDef();return true;}
window.$tools.loader.stack.push(functionDef);return true;},perform:function(){var i=0;for(i=0;i<window.$tools.loader.stack.length;i++){window.$tools.loader.stack[i]();}
window.$tools.loader.isLoaded=true;window.$tools.loader.stack=[];},init:function(){if(window.$tools.loader.isLoaded){return true;}
if(arguments.callee.done){return true;}
arguments.callee.done=true;window.$tools.loader.perform();window.$tools.loader.isLoaded=true;return true;}};if(window.$tools.browser.ie){document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");document.getElementById("__ie_onload").onreadystatechange=function(){return(this.readyState=="complete")?window.$tools.loader.init():true;};}else if(window.$tools.browser.safari){window.$tools.loader.khtml__timer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){clearInterval(window.$tools.loader.khtml__timer);setTimeout(function(){window.$tools.loader.init();},100);return true;}
return true;},10);}else if(document.addEventListener){document.addEventListener("DOMContentLoaded",window.$tools.loader.init,false);}
window.$tools.event.add(window,'load',function(){return window.$tools.loader.init();});
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/common.js" 
 *
 */function DomTools(){}
DomTools.isIE=function(){return false;}
DomTools.getHead=function(){var doc=document;if(arguments.length>1){doc=arguments[1];}
var nl=doc.getElementsByTagName('head');if(nl.length<1){return null;}
return nl[0];}
DomTools.getBody=function(){var doc=document;if(arguments.length>1){doc=arguments[1];}
var nl=doc.getElementsByTagName('body');if(nl.length<1){return document.body||null;}
return nl[0];}
DomTools.getElementsByClassName=function(className){var children=document.getElementsByTagName('*')||document.all;var elements=new Array();var child=null;for(var i=0;i<children.length;i++){child=children[i];if(child.className.findWord(className)!=true){continue;}
elements.push(child);}
return elements;}
DomTools.getActualStyle=function(node,property){var result=null;var tmp=null;if(node.currentStyle){result=node.currentStyle[property];}else if(document.defaultView&&document.defaultView.getComputedStyle){tmp=document.defaultView.getComputedStyle(node,null);if(tmp!=null){result=document.defaultView.getComputedStyle(node,null).getPropertyValue(property);}}else if(window.getComputedStyle){result=window.getComputedStyle(node,null).getPropertyValue(property);}
if((result==null)&&(node.style.getPropertyValue)){result=node.style.getPropertyValue(property);}else if((result==null)&&(node.style)){eval('result = node.style.'+property+';');}
if(result==null){result='';}
return result;}
DomTools.addEventHelpers=function(obj){if(obj.appendNewEvent){return true;}
obj.appendNewEvent=function(eventWithoutOn,functionDef){if(this.addEventListener){this.addEventListener(eventWithoutOn,functionDef,false);return true;}
if(this.attachEvent){this.attachEvent("on"+eventWithoutOn,functionDef);return true;}
return false;}
return true;}
DomTools.ancestor=function(element,functionDef){if(!Function.isInstance(functionDef)){return null;}
var target=arguments[2]||null;if(!!functionDef.apply(target,[element,element])){return element;}
var parent=element;while(parent.parentNode){if(!!functionDef.apply(target,[parent.parentNode,element])){return parent.parentNode;}
parent=parent.parentNode;}
return null;};DomTools.getBoxObject=function(node){var result=new Object();if(!node){return null;}
result.element=node;result.visualBox=function(){return new Rectangle2D(0,0,(this.element.clientWidth||-1),(this.element.clientHeight||-1));};result.virtualBox=function(){return new Rectangle2D(0,0,(this.element.scrollWidth||-1),(this.element.scrollHeight||-1));};result.position=function(){var result=new Point2D();var node=this.element;if(node.offsetParent){while(node.offsetParent){result.x+=Number.parse.integer(node.offsetLeft,0);result.y+=Number.parse.integer(node.offsetTop,0);node=node.offsetParent;}}else{result.x=node.x?Number.parse.integer(node.x,0):0;result.y=node.y?Number.parse.integer(node.y,0):0;}
return result;};result.bounds=function(){var result=this.visualBox();result.setTopLeft(this.getPosition());return result;};result.hasScrollX=function(){return(this.visualBox().width<this.virtualBox().width)?true:false;};result.hasScrollY=function(){return(this.visualBox().height<this.virtualBox().height)?true:false;};result.hasScroll=function(){return(this.hasScrollX()||this.hasScrollY());};result.maxScroll=function(){if(this.hasScroll()==false){return new Point2D();}
var vs=this.visualBox();var vr=this.virtualBox();return new Point2D(vr.width-vs.width,vr.height-vs.height);};result.currentScroll=function(){return new Point2D(Number.parse.integer(this.element.scrollLeft||0,0),Number.parse.integer(this.element.scrollTop||0,0));};result.scrollTo=function(){var p=this.currentScroll();var max=this.maxScroll();var x=Number.parse.integer(arguments[0]||p.x,p.x);var y=Number.parse.integer(arguments[1]||p.y,p.y);if(max.x<p.x){x=max.x;}
if(max.y<p.y){y=max.y;}
this.element.scrollLeft=max.x<p.x?max.x:x;this.element.scrollTop=max.y<p.y?max.y:y;};result.scrollBy=function(){var x=Number.parse.integer(arguments[0]||0,0);var y=Number.parse.integer(arguments[1]||0,0);var cx=this.element.scrollLeft||0;var cy=this.element.scrollTop||0;this.scrollTo(cx+x,cy+y);};result.scrollParentToThis=function(){var parent=arguments[0]||this.element.parentNode;if(!this.hasScroll()){return;}
var pos=this.bounds();var posp=this.bounds();var ey1=pos.y;var ey2=pos.y+pos.height;var py1=posp.y;var py2=posp.y+posp.height;var oky=false;if((py1<=ey1)&&(ey2<=py2)){oky=true;}
var ex1=pos.x;var ex2=pos.x+pos.width;var px1=posp.x;var px2=posp.x+posp.width;var okx=false;if((px1<=ex1)&&(ex2<=px2)){okx=true;}
if((oky==true)&&(okx==true)){}
var diffh=posp.height-pos.height;var diffw=posp.width-pos.width;var cx=ex1-px1-diffw;var cy=ey1-py1-diffh;this.scrollTo(cx,cy);};return result;}
DomTools.addHelpers=function(node){if(!node.nodeName){return;}
if(!node.hasDomToolsFeatures){node.hasDomToolsFeatures=function(){return true;}}else{return;}
if(!node.rugama){node.rugama=new TreeMap();}
if(!node.$box){node.$box=DomTools.getBoxObject(node);}
if(!node.setFloatStyle){node.setFloatStyle=function(floatValue){if(!this.style){return false;}
var stl=this.style;if(stl.styleFloat){this.style.styleFloat=floatValue;return true;}else if(stl.cssFloat){this.style.cssFloat=floatValue;return true;}
return false;}}
if(!node.setOpacityStyle){node.setOpacityStyle=function(opacityValue){if(!this.style){return false;}
opacityValue=Number.parse.integer(opacityValue,1);if(opacityValue<0){opacityValue=0;}
if(DomTools.isIE()==true){this.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity='+opacityValue+');'
return true;}
this.style.opacity=(opacityValue/100);return true;}}
if(!node.appendText){node.appendText=function(text){this.appendChild(document.createTextNode(text));}}
if(!node.appendBreak){node.appendBreak=function(){this.appendChild(document.createElement('br'));}}
if(!node.appendLineBreak){node.appendLineBreak=function(){this.appendChild(document.createElement('hr'));}}
if(!node.getActualStyle){node.getActualStyle=function(styleProp){return DomTools.getActualStyle(this,styleProp);}
node.getActualStyle=function(property){var result=null;var tmp=null;if(DomTools.isIE()==true){property=property.normalizeCodeVariable();}
if(this.currentStyle){result=this.currentStyle[property];}else if((document.defaultView)&&(document.defaultView.getComputedStyle)){tmp=document.defaultView.getComputedStyle(this,null);if(tmp!=null){result=tmp.getPropertyValue(property);}}else if(window.getComputedStyle){tmp=window.getComputedStyle(this,null);if(tmp!=null){result=tmp.getPropertyValue(property);}}
if((result==null)&&(this.style)&&(this.style.getPropertyValue)){result=this.style.getPropertyValue(property);}else if((result==null)&&(this.style)){eval('result = this.style.'+property+';');}
if(result==null){result='';}
return result;}}
DomTools.addEventHelpers(node);if(!node.getElementsByClassName){node.getElementsByClassName=function(className){var sz=this.childNodes.length;var i=0;var sz2=0;var j=0;var childResult=null;var elements=new Array();var child=null;for(i=0;i<sz;i++){child=this.childNodes[i];if(child.nodeType!=1){continue;}
DomTools.addHelpers(child);if(child.className.findWord(className)==true){elements.push(child);}
childResult=child.getElementsByClassName(className);sz2=childResult.length;if(sz2<1){continue;}
for(j=0;j<sz2;j++){elements.push(childResult[j]);}}
return elements;}}
if(!node.removeAllChildren){node.removeAllChildren=function(){var start=this.childNodes.length-1;var i=0;for(i=start;i>=0;i--){this.removeChild(this.childNodes[i]);}}}}
DomTools.create=function(nodeName){var doc=document;if(arguments.length>1){doc=arguments[1];}
var result=doc.createElement(nodeName);DomTools.addHelpers(result);return result;}
DomTools.createFakeEvent=function(command,target){var fakeEvent=new Object();fakeEvent.command=command;fakeEvent.target=target;fakeEvent.stopPropagation=false;fakeEvent.returnValue=true;fakeEvent.getTarget=function(){return this.target;}
fakeEvent.dispose=function(returnValue){this.stopPropagation=true;this.returnValue=(returnValue===true)?true:false;}
fakeEvent.getReturn=function(){return this.returnValue;}
fakeEvent.isDisposed=function(){return this.stopPropagation;}
return fakeEvent;}
DomTools.createEvent=function(e){var ev=(!e)?window.event:e;ev.getTarget=function(){var result=(this.target)?this.target:this.srcElement;if(result.nodeType==3){result=result.parentNode;}
return result;}
ev.isLeftClick=function(){return(((this.which)&&(this.which==1))||((this.button)&&(this.button==1)));}
ev.getPointerX=function(){return this.pageX||(this.clientX
+(document.documentElement.scrollLeft||document.body.scrollLeft));}
ev.getPointerY=function(){return this.pageY||(this.clientY
+(document.documentElement.scrollTop||document.body.scrollTop));}
ev.dispose=function(){this.cancelBubble=true;if(this.returnValue){this.returnValue=false;}
if(this.preventDefault){this.preventDefault();this.stopPropagation();}
return true;}
return ev;}
DomTools.isElement=function(element){if(element==null){return false;}
if((!element.nodeType)||(element.nodeType!=1)){return false;}
return true;}
DomTools.insertStyleSheet=function(cssUrl){var head=DomTools.getHead();if(head==null){document.write('<link type="text/css" media="all" rel="stylesheet" href="'+cssUrl+'" />');return true;}
var newLink=DomTools.create('link');newLink.rel="stylesheet";newLink.media="all";newLink.type="text/css";newLink.href=cssUrl;head.appendChild(newLink);return true;}
DomTools.insertScript=function(jsUrl){var head=DomTools.getHead();if(head==null){document.write('<script type="text/javascript" src="'+jsUrl+'" ><'+'/'+'sc'+'ript>');return true;}
var newScript=DomTools.create('script');newScript.type="text/javascript";newScript.src=jsUrl;head.appendChild(newScript);return true;}
DomTools.inspect=function(object){var props=[];var showFunctions=true;if(arguments.length>1){showFunctions=(arguments[1]==true)?true:false;}
for(var k in object){var v=object[k];if((typeof v=='function')&&(showFunctions==false)){continue;}
props.push(k+': "'+v+'"');}
return'{ '+props.join("\n")+' }';}
DomTools.printObject=function(obj){var showFunctions=true;if(arguments.length>1){showFunctions=(arguments[1]==true)?true:false;}
DomTools.msg(DomTools.inspect(obj,showFunctions));}
DomTools.msg=function(text){if(!this.counter){this.counter=0;}
var msg=document.getElementById('DomTools:msg:ui:container');if(!msg){msg=DomTools.create('pre');msg.style.textAlign='left';msg.id='DomTools:msg:ui:container';DomTools.getBody().appendChild(msg);}
msg.appendText(this.counter+" : ");if(typeof text=='object'){text=DomTools.inspect(text);}
msg.appendText(text+"\n");msg.appendLineBreak();this.counter++;}
DomTools.htmlMsg=function(html){if(!this.counter){this.counter=0;}
var msg=document.getElementById('DomTools:msg:ui:container');if(!msg){msg=DomTools.create('pre');msg.style.textAlign='left';msg.id='DomTools:msg:ui:container';DomTools.getBody().appendChild(msg);}
var tmp=DomTools.create('span');tmp.innerHTML=html;msg.appendChild(tmp);msg.appendLineBreak();this.counter++;}
function $(){var result=new Array();var element=null;var i=0;var sz=arguments.length;for(i=0;i<sz;i++){element=arguments[i];if(typeof element=='string'){element=document.getElementById(element);}
if(arguments.length==1){return element;}
result.push(element);}
return result;}
function _$(){var result=new Array();var element=null;var i=0;var sz=arguments.length;var j=null;var sz2=null;for(i=0;i<sz;i++){element=arguments[i];if(typeof element!='string'){continue;}
element=DomTools.getElementsByClassName(element);if(sz==1){return element;}
sz2=element.length;if(sz2<1){continue;}
for(j=0;j<sz2;j++){result.push(element[j]);}}
return result;}
window.rugama=new TreeMap();window.isLoaded=false;window.loadStack=new Array();window.appendLoadEvent=function(event){if(this.isLoaded==true){event();return true;}
this.loadStack.push(event);return true;}
window.executeLoadEvents=function(){var i=0;for(i=0;i<this.loadStack.length;i++){this.loadStack[i]();}
this.loadStack=new Array();}
DomTools.addEventHelpers(document);DomTools.addEventHelpers(window);window.appendNewEvent('load',function(){window.executeLoadEvents();window.isLoaded=true;return true});
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/linktools.js" 
 *
 */function LinkTools(){}
LinkTools.EXTERNAL_TARGET_CLASS='targeted';LinkTools.TARGET_CLASS_CUSTOM_PREFIX='target_';LinkTools.PARENT_TARGET='_parent';LinkTools.TOP_TARGET='_top';LinkTools.NEW_TARGET='_blank';LinkTools.DEFAULT_TARGET=LinkTools.NEW_TARGET;LinkTools.target={subscribes:function(){var defaultTarget=LinkTools.DEFAULT_TARGET;var defaultCustomlPrefixTargetClass=LinkTools.TARGET_CLASS_CUSTOM_PREFIX;var defaultExternalTargetClass=LinkTools.EXTERNAL_TARGET_CLASS;switch(arguments.length){case 3:{defaultTarget=(arguments[2]==null)?defaultTarget:arguments[2];}
case 2:{defaultCustomlPrefixTargetClass=(arguments[1]==null)?defaultCustomlPrefixTargetClass:arguments[1];}
case 2:{defaultExternalTargetClass=(arguments[0]==null)?defaultExternalTargetClass:arguments[0];}break;default:{}break;}
window.appendLoadEvent(function(){var lst=document.getElementsByTagName('a');var sz=lst.length;var i=0;var cur=null;var tg=null;for(i=0;i<sz;i++){cur=lst[i];if(cur.className==''){continue;}
if(cur.className.findWord(defaultExternalTargetClass)==false){continue;}
tg=cur.className.getPrefixedWord(defaultCustomlPrefixTargetClass);tg=(tg==null)?defaultTarget:tg;cur.target=tg;}
lst=document.getElementsByTagName('area');sz=lst.length;i=0;cur=null;tg=null;for(i=0;i<sz;i++){cur=lst[i];if(cur.className==''){continue;}
if(cur.className.findWord(defaultExternalTargetClass)==false){continue;}
tg=cur.className.getPrefixedWord(defaultCustomlPrefixTargetClass);tg=(tg==null)?defaultTarget:tg;cur.target=tg;}
lst=document.getElementsByTagName('form');sz=lst.length;i=0;cur=null;tg=null;for(i=0;i<sz;i++){cur=lst[i];if(cur.className==''){continue;}
if(cur.className.findWord(defaultExternalTargetClass)==false){continue;}
tg=cur.className.getPrefixedWord(defaultCustomlPrefixTargetClass);tg=(tg==null)?defaultTarget:tg;cur.target=tg;}
return true;});return true;}}
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/rollover.js" 
 *
 */
function Rollover(){this.element=null;this.currentState=Rollover.STATE_UNKNOWN;this.activated=true;this.display={normal:{foreground:Rollover.DISPLAY_NORMAL_FOREGROUND,background:Rollover.DISPLAY_NORMAL_BACKGROUND},over:{foreground:Rollover.DISPLAY_OVER_FOREGROUND,background:Rollover.DISPLAY_OVER_BACKGROUND}}
this.rolloverListeners=new Array();}
Rollover.DISPLAY_NORMAL_FOREGROUND='';Rollover.DISPLAY_NORMAL_BACKGROUND='';Rollover.DISPLAY_OVER_FOREGROUND='';Rollover.DISPLAY_OVER_BACKGROUND='';Rollover.STATE_UNKNOWN=0;Rollover.STATE_OUT=1;Rollover.STATE_OVER=2;Rollover.subscribes=function(element){var target=element;var onCreateFunction=null;var activated=true;var currentState=Rollover.STATE_UNKNOWN;var foregroundValueNormal=Rollover.DISPLAY_NORMAL_FOREGROUND;var backgroundValueNormal=Rollover.DISPLAY_NORMAL_BACKGROUND;var foregroundValue=Rollover.DISPLAY_OVER_FOREGROUND;var backgroundValue=Rollover.DISPLAY_OVER_BACKGROUND;switch(arguments.length){case 8:{onCreateFunction=arguments[7];}
case 7:{activated=(arguments[6]!=null)?arguments[6]:activated;}
case 6:{foregroundValueNormal=(arguments[5]!=null)?arguments[5]:foregroundValueNormal;}
case 5:{backgroundValueNormal=(arguments[4]!=null)?arguments[4]:backgroundValueNormal;}
case 4:{foregroundValue=(arguments[3]!=null)?arguments[3]:foregroundValue;}
case 3:{backgroundValue=(arguments[2]!=null)?arguments[2]:backgroundValue;}
case 2:{currentState=(arguments[1]!=null)?arguments[1]:currentState;if((currentState!=Rollover.STATE_OUT)&&(currentState!=Rollover.STATE_OVER)){currentState=Rollover.STATE_UNKNOWN;}}break;default:{}break;}
window.appendLoadEvent(function(){if(typeof element=='string'){target=document.getElementById(element);if(DomTools.isElement(target)==false){return false;}}
var r=new Rollover();r.setElement(target);r.setActivated(activated);r.display.normal.background=backgroundValueNormal;r.display.normal.foreground=foregroundValueNormal;r.display.over.background=backgroundValue;r.display.over.foreground=foregroundValue;if(currentState==Rollover.STATE_OUT){r.out();}else if(currentState==Rollover.STATE_OVER){r.over();}
if(onCreateFunction!=null){return onCreateFunction(r);}
return true;});return true;}
Rollover.subscribesByClassName=function(className){var onCreateFunction=null;var activated=true;var currentState=Rollover.STATE_UNKNOWN;var foregroundValueNormal=Rollover.DISPLAY_NORMAL_FOREGROUND;var backgroundValueNormal=Rollover.DISPLAY_NORMAL_BACKGROUND;var foregroundValue=Rollover.DISPLAY_OVER_FOREGROUND;var backgroundValue=Rollover.DISPLAY_OVER_BACKGROUND;switch(arguments.length){case 8:{onCreateFunction=arguments[7];}
case 7:{activated=(arguments[6]!=null)?arguments[6]:activated;}
case 6:{foregroundValueNormal=(arguments[5]!=null)?arguments[5]:foregroundValueNormal;}
case 5:{backgroundValueNormal=(arguments[4]!=null)?arguments[4]:backgroundValueNormal;}
case 4:{foregroundValue=(arguments[3]!=null)?arguments[3]:foregroundValue;}
case 3:{backgroundValue=(arguments[2]!=null)?arguments[2]:backgroundValue;}
case 2:{currentState=(arguments[1]!=null)?arguments[1]:currentState;if((currentState!=Rollover.STATE_OUT)&&(currentState!=Rollover.STATE_OVER)){currentState=Rollover.STATE_UNKNOWN;}}break;default:{}break;}
window.appendLoadEvent(function(){var list=_$(className);var i=0;var sz=list.length;var current=null;var img=null;for(i=0;i<sz;i++){current=list[i];Rollover.subscribes(current,currentState,backgroundValue,foregroundValue,backgroundValueNormal,foregroundValueNormal,activated,onCreateFunction);}
return true;});return true;}
Rollover.prototype.setElement=function(node){DomTools.addHelpers(node);node.rugama.set('Rollover',this);this.element=node;this.element.appendNewEvent('mouseover',function(){node.rugama.get('Rollover').over();return true;})
this.element.appendNewEvent('mouseout',function(){node.rugama.get('Rollover').out();return true;})}
Rollover.prototype.appendRolloverListener=function(rolloverEvent){rolloverEvent.owner=this;if(!rolloverEvent.out){rolloverEvent.out=function(){return true;}}
if(!rolloverEvent.over){rolloverEvent.over=function(){return true;}}
if(!rolloverEvent.roll){rolloverEvent.roll=function(){return true;}}
this.rolloverListeners.push(rolloverEvent);}
Rollover.prototype.removeRolloverListener=function(rolloverEvent){var i=0;var sz=this.rolloverListeners.length;for(i=0;i<sz;i++){if(this.rolloverListeners[i]!=rolloverEvent){continue;}
this.rolloverListeners[i].owner=null;delete this.rolloverListeners[i];}}
Rollover.prototype.setActivated=function(aBoolean){this.activated=(aBoolean===false)?false:true;}
Rollover.prototype.isActivated=function(){return this.activated;}
Rollover.prototype.isOut=function(){if(this.element==null){return null;}
if(this.currentState==Rollover.STATE_OUT){return true;}else if(this.currentState==Rollover.STATE_OVER){return false;}
return(this.isOver()==false)?true:false;}
Rollover.prototype.out=function(){if(this.element==null){return true;}
if(this.isActivated()!=true){return true;}
var i=0;var sz=this.rolloverListeners.length;for(i=0;i<sz;i++){if(this.rolloverListeners[i].out()===false){return true;}}
this.currentState=Rollover.STATE_OUT;this.element.style.color=this.display.normal.foreground;this.element.style.background=this.display.normal.background;return true;}
Rollover.prototype.isOver=function(){if(this.element==null){return null;}
if(this.currentState==Rollover.STATE_OUT){return false;}else if(this.currentState==Rollover.STATE_OVER){return true;}else if(this.element.getActualStyle('background-color')==this.display.background){return true;}
return false;}
Rollover.prototype.over=function(){if(this.element==null){return true;}
if(this.isActivated()!=true){return true;}
var i=0;var sz=this.rolloverListeners.length;for(i=0;i<sz;i++){if(this.rolloverListeners[i].over()===false){return true;}}
this.currentState=Rollover.STATE_OVER;this.element.style.color=this.display.over.foreground;this.element.style.background=this.display.over.background;return true;}
Rollover.prototype.roll=function(){if(this.element==null){return true;}
var i=0;var sz=this.rolloverListeners.length;for(i=0;i<sz;i++){if(this.rolloverListeners[i].roll()===false){return true;}}
if(this.isOut()==true){this.over();}else{this.out();}
return true;}
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/packed.jquery.js" 
 *
 *//* prevent execution of jQuery if included more than once */
if(typeof window.jQuery == "undefined") {
/*
 * jQuery 1.1.2 - New Wave Javascript
 *
 * Copyright (c) 2007 John Resig (jquery.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2007-02-28 12:03:00 -0500 (Wed, 28 Feb 2007) $
 * $Rev: 1465 $
 */

// Global undefined variable
window.undefined = window.undefined;
var jQuery = function(a,c) {
	// If the context is global, return a new object
	if ( window == this )
		return new jQuery(a,c);

	// Make sure that a selection was provided
	a = a || document;
	
	// HANDLE: $(function)
	// Shortcut for document ready
	if ( jQuery.isFunction(a) )
		return new jQuery(document)[ jQuery.fn.ready ? "ready" : "load" ]( a );
	
	// Handle HTML strings
	if ( typeof a  == "string" ) {
		// HANDLE: $(html) -> $(array)
		var m = /^[^<]*(<(.|\s)+>)[^>]*$/.exec(a);
		if ( m )
			a = jQuery.clean( [ m[1] ] );
		
		// HANDLE: $(expr)
		else
			return new jQuery( c ).find( a );
	}
	
	return this.setArray(
		// HANDLE: $(array)
		a.constructor == Array && a ||

		// HANDLE: $(arraylike)
		// Watch for when an array-like object is passed as the selector
		(a.jquery || a.length && a != window && !a.nodeType && a[0] != undefined && a[0].nodeType) && jQuery.makeArray( a ) ||

		// HANDLE: $(*)
		[ a ] );
};

// Map over the $ in case of overwrite
if ( typeof $ != "undefined" )
	jQuery._$ = $;
	
// Map the jQuery namespace to the '$' one
var $ = jQuery;

jQuery.fn = jQuery.prototype = {
	jquery: "1.1.2",

	size: function() {
		return this.length;
	},
	
	length: 0,

	get: function( num ) {
		return num == undefined ?

			// Return a 'clean' array
			jQuery.makeArray( this ) :

			// Return just the object
			this[num];
	},
	pushStack: function( a ) {
		var ret = jQuery(a);
		ret.prevObject = this;
		return ret;
	},
	setArray: function( a ) {
		this.length = 0;
		[].push.apply( this, a );
		return this;
	},
	each: function( fn, args ) {
		return jQuery.each( this, fn, args );
	},
	index: function( obj ) {
		var pos = -1;
		this.each(function(i){
			if ( this == obj ) pos = i;
		});
		return pos;
	},

	attr: function( key, value, type ) {
		var obj = key;
		
		// Look for the case where we're accessing a style value
		if ( key.constructor == String )
			if ( value == undefined )
				return this.length && jQuery[ type || "attr" ]( this[0], key ) || undefined;
			else {
				obj = {};
				obj[ key ] = value;
			}
		
		// Check to see if we're setting style values
		return this.each(function(index){
			// Set all the styles
			for ( var prop in obj )
				jQuery.attr(
					type ? this.style : this,
					prop, jQuery.prop(this, obj[prop], type, index, prop)
				);
		});
	},

	css: function( key, value ) {
		return this.attr( key, value, "curCSS" );
	},

	text: function(e) {
		if ( typeof e == "string" )
			return this.empty().append( document.createTextNode( e ) );

		var t = "";
		jQuery.each( e || this, function(){
			jQuery.each( this.childNodes, function(){
				if ( this.nodeType != 8 )
					t += this.nodeType != 1 ?
						this.nodeValue : jQuery.fn.text([ this ]);
			});
		});
		return t;
	},

	wrap: function() {
		// The elements to wrap the target around
		var a = jQuery.clean(arguments);

		// Wrap each of the matched elements individually
		return this.each(function(){
			// Clone the structure that we're using to wrap
			var b = a[0].cloneNode(true);

			// Insert it before the element to be wrapped
			this.parentNode.insertBefore( b, this );

			// Find the deepest point in the wrap structure
			while ( b.firstChild )
				b = b.firstChild;

			// Move the matched element to within the wrap structure
			b.appendChild( this );
		});
	},
	append: function() {
		return this.domManip(arguments, true, 1, function(a){
			this.appendChild( a );
		});
	},
	prepend: function() {
		return this.domManip(arguments, true, -1, function(a){
			this.insertBefore( a, this.firstChild );
		});
	},
	before: function() {
		return this.domManip(arguments, false, 1, function(a){
			this.parentNode.insertBefore( a, this );
		});
	},
	after: function() {
		return this.domManip(arguments, false, -1, function(a){
			this.parentNode.insertBefore( a, this.nextSibling );
		});
	},
	end: function() {
		return this.prevObject || jQuery([]);
	},
	find: function(t) {
		return this.pushStack( jQuery.map( this, function(a){
			return jQuery.find(t,a);
		}), t );
	},
	clone: function(deep) {
		return this.pushStack( jQuery.map( this, function(a){
			var a = a.cloneNode( deep != undefined ? deep : true );
			a.$events = null; // drop $events expando to avoid firing incorrect events
			return a;
		}) );
	},

	filter: function(t) {
		return this.pushStack(
			jQuery.isFunction( t ) &&
			jQuery.grep(this, function(el, index){
				return t.apply(el, [index])
			}) ||

			jQuery.multiFilter(t,this) );
	},

	not: function(t) {
		return this.pushStack(
			t.constructor == String &&
			jQuery.multiFilter(t, this, true) ||

			jQuery.grep(this, function(a) {
				return ( t.constructor == Array || t.jquery )
					? jQuery.inArray( a, t ) < 0
					: a != t;
			})
		);
	},

	add: function(t) {
		return this.pushStack( jQuery.merge(
			this.get(),
			t.constructor == String ?
				jQuery(t).get() :
				t.length != undefined && (!t.nodeName || t.nodeName == "FORM") ?
					t : [t] )
		);
	},
	is: function(expr) {
		return expr ? jQuery.filter(expr,this).r.length > 0 : false;
	},

	val: function( val ) {
		return val == undefined ?
			( this.length ? this[0].value : null ) :
			this.attr( "value", val );
	},

	html: function( val ) {
		return val == undefined ?
			( this.length ? this[0].innerHTML : null ) :
			this.empty().append( val );
	},
	domManip: function(args, table, dir, fn){
		var clone = this.length > 1; 
		var a = jQuery.clean(args);
		if ( dir < 0 )
			a.reverse();

		return this.each(function(){
			var obj = this;

			if ( table && jQuery.nodeName(this, "table") && jQuery.nodeName(a[0], "tr") )
				obj = this.getElementsByTagName("tbody")[0] || this.appendChild(document.createElement("tbody"));

			jQuery.each( a, function(){
				fn.apply( obj, [ clone ? this.cloneNode(true) : this ] );
			});

		});
	}
};

jQuery.extend = jQuery.fn.extend = function() {
	// copy reference to target object
	var target = arguments[0],
		a = 1;

	// extend jQuery itself if only one argument is passed
	if ( arguments.length == 1 ) {
		target = this;
		a = 0;
	}
	var prop;
	while (prop = arguments[a++])
		// Extend the base object
		for ( var i in prop ) target[i] = prop[i];

	// Return the modified object
	return target;
};

jQuery.extend({
	noConflict: function() {
		if ( jQuery._$ )
			$ = jQuery._$;
		return jQuery;
	},

	// This may seem like some crazy code, but trust me when I say that this
	// is the only cross-browser way to do this. --John
	isFunction: function( fn ) {
		return !!fn && typeof fn != "string" && !fn.nodeName && 
			typeof fn[0] == "undefined" && /function/i.test( fn + "" );
	},
	
	// check if an element is in a XML document
	isXMLDoc: function(elem) {
		return elem.tagName && elem.ownerDocument && !elem.ownerDocument.body;
	},

	nodeName: function( elem, name ) {
		return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();
	},
	// args is for internal usage only
	each: function( obj, fn, args ) {
		if ( obj.length == undefined )
			for ( var i in obj )
				fn.apply( obj[i], args || [i, obj[i]] );
		else
			for ( var i = 0, ol = obj.length; i < ol; i++ )
				if ( fn.apply( obj[i], args || [i, obj[i]] ) === false ) break;
		return obj;
	},
	
	prop: function(elem, value, type, index, prop){
			// Handle executable functions
			if ( jQuery.isFunction( value ) )
				value = value.call( elem, [index] );
				
			// exclude the following css properties to add px
			var exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i;

			// Handle passing in a number to a CSS property
			return value && value.constructor == Number && type == "curCSS" && !exclude.test(prop) ?
				value + "px" :
				value;
	},

	className: {
		// internal only, use addClass("class")
		add: function( elem, c ){
			jQuery.each( c.split(/\s+/), function(i, cur){
				if ( !jQuery.className.has( elem.className, cur ) )
					elem.className += ( elem.className ? " " : "" ) + cur;
			});
		},

		// internal only, use removeClass("class")
		remove: function( elem, c ){
			elem.className = c ?
				jQuery.grep( elem.className.split(/\s+/), function(cur){
					return !jQuery.className.has( c, cur );	
				}).join(" ") : "";
		},

		// internal only, use is(".class")
		has: function( t, c ) {
			t = t.className || t;
			// escape regex characters
			c = c.replace(/([\.\\\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g, "\\$1");
			return t && new RegExp("(^|\\s)" + c + "(\\s|$)").test( t );
		}
	},
	swap: function(e,o,f) {
		for ( var i in o ) {
			e.style["old"+i] = e.style[i];
			e.style[i] = o[i];
		}
		f.apply( e, [] );
		for ( var i in o )
			e.style[i] = e.style["old"+i];
	},

	css: function(e,p) {
		if ( p == "height" || p == "width" ) {
			var old = {}, oHeight, oWidth, d = ["Top","Bottom","Right","Left"];

			jQuery.each( d, function(){
				old["padding" + this] = 0;
				old["border" + this + "Width"] = 0;
			});

			jQuery.swap( e, old, function() {
				if (jQuery.css(e,"display") != "none") {
					oHeight = e.offsetHeight;
					oWidth = e.offsetWidth;
				} else {
					e = jQuery(e.cloneNode(true))
						.find(":radio").removeAttr("checked").end()
						.css({
							visibility: "hidden", position: "absolute", display: "block", right: "0", left: "0"
						}).appendTo(e.parentNode)[0];

					var parPos = jQuery.css(e.parentNode,"position");
					if ( parPos == "" || parPos == "static" )
						e.parentNode.style.position = "relative";

					oHeight = e.clientHeight;
					oWidth = e.clientWidth;

					if ( parPos == "" || parPos == "static" )
						e.parentNode.style.position = "static";

					e.parentNode.removeChild(e);
				}
			});

			return p == "height" ? oHeight : oWidth;
		}

		return jQuery.curCSS( e, p );
	},

	curCSS: function(elem, prop, force) {
		var ret;
		
		if (prop == "opacity" && jQuery.browser.msie)
			return jQuery.attr(elem.style, "opacity");
			
		if (prop == "float" || prop == "cssFloat")
		    prop = jQuery.browser.msie ? "styleFloat" : "cssFloat";

		if (!force && elem.style[prop])
			ret = elem.style[prop];

		else if (document.defaultView && document.defaultView.getComputedStyle) {

			if (prop == "cssFloat" || prop == "styleFloat")
				prop = "float";

			prop = prop.replace(/([A-Z])/g,"-$1").toLowerCase();
			var cur = document.defaultView.getComputedStyle(elem, null);

			if ( cur )
				ret = cur.getPropertyValue(prop);
			else if ( prop == "display" )
				ret = "none";
			else
				jQuery.swap(elem, { display: "block" }, function() {
				    var c = document.defaultView.getComputedStyle(this, "");
				    ret = c && c.getPropertyValue(prop) || "";
				});

		} else if (elem.currentStyle) {

			var newProp = prop.replace(/\-(\w)/g,function(m,c){return c.toUpperCase();});
			ret = elem.currentStyle[prop] || elem.currentStyle[newProp];
			
		}

		return ret;
	},
	
	clean: function(a) {
		var r = [];

		jQuery.each( a, function(i,arg){
			if ( !arg ) return;

			if ( arg.constructor == Number )
				arg = arg.toString();
			
			 // Convert html string into DOM nodes
			if ( typeof arg == "string" ) {
				// Trim whitespace, otherwise indexOf won't work as expected
				var s = jQuery.trim(arg), div = document.createElement("div"), tb = [];

				var wrap =
					 // option or optgroup
					!s.indexOf("<opt") &&
					[1, "<select>", "</select>"] ||
					
					(!s.indexOf("<thead") || !s.indexOf("<tbody") || !s.indexOf("<tfoot")) &&
					[1, "<table>", "</table>"] ||
					
					!s.indexOf("<tr") &&
					[2, "<table><tbody>", "</tbody></table>"] ||
					
				 	// <thead> matched above
					(!s.indexOf("<td") || !s.indexOf("<th")) &&
					[3, "<table><tbody><tr>", "</tr></tbody></table>"] ||
					
					[0,"",""];

				// Go to html and back, then peel off extra wrappers
				div.innerHTML = wrap[1] + s + wrap[2];
				
				// Move to the right depth
				while ( wrap[0]-- )
					div = div.firstChild;
				
				// Remove IE's autoinserted <tbody> from table fragments
				if ( jQuery.browser.msie ) {
					
					// String was a <table>, *may* have spurious <tbody>
					if ( !s.indexOf("<table") && s.indexOf("<tbody") < 0 ) 
						tb = div.firstChild && div.firstChild.childNodes;
						
					// String was a bare <thead> or <tfoot>
					else if ( wrap[1] == "<table>" && s.indexOf("<tbody") < 0 )
						tb = div.childNodes;

					for ( var n = tb.length-1; n >= 0 ; --n )
						if ( jQuery.nodeName(tb[n], "tbody") && !tb[n].childNodes.length )
							tb[n].parentNode.removeChild(tb[n]);
					
				}
				
				arg = [];
				for (var i=0, l=div.childNodes.length; i<l; i++)
					arg.push(div.childNodes[i]);
			}

			if ( arg.length === 0 && !jQuery.nodeName(arg, "form") )
				return;
			
			if ( arg[0] == undefined || jQuery.nodeName(arg, "form") )
				r.push( arg );
			else
				r = jQuery.merge( r, arg );

		});

		return r;
	},
	
	attr: function(elem, name, value){
		var fix = jQuery.isXMLDoc(elem) ? {} : {
			"for": "htmlFor",
			"class": "className",
			"float": jQuery.browser.msie ? "styleFloat" : "cssFloat",
			cssFloat: jQuery.browser.msie ? "styleFloat" : "cssFloat",
			innerHTML: "innerHTML",
			className: "className",
			value: "value",
			disabled: "disabled",
			checked: "checked",
			readonly: "readOnly",
			selected: "selected"
		};
		
		// IE actually uses filters for opacity ... elem is actually elem.style
		if ( name == "opacity" && jQuery.browser.msie && value != undefined ) {
			// IE has trouble with opacity if it does not have layout
			// Force it by setting the zoom level
			elem.zoom = 1; 

			// Set the alpha filter to set the opacity
			return elem.filter = elem.filter.replace(/alpha\([^\)]*\)/gi,"") +
				( value == 1 ? "" : "alpha(opacity=" + value * 100 + ")" );

		} else if ( name == "opacity" && jQuery.browser.msie )
			return elem.filter ? 
				parseFloat( elem.filter.match(/alpha\(opacity=(.*)\)/)[1] ) / 100 : 1;
		
		// Mozilla doesn't play well with opacity 1
		if ( name == "opacity" && jQuery.browser.mozilla && value == 1 )
			value = 0.9999;
			

		// Certain attributes only work when accessed via the old DOM 0 way
		if ( fix[name] ) {
			if ( value != undefined ) elem[fix[name]] = value;
			return elem[fix[name]];

		} else if ( value == undefined && jQuery.browser.msie && jQuery.nodeName(elem, "form") && (name == "action" || name == "method") )
			return elem.getAttributeNode(name).nodeValue;

		// IE elem.getAttribute passes even for style
		else if ( elem.tagName ) {
			if ( value != undefined ) elem.setAttribute( name, value );
			if ( jQuery.browser.msie && /href|src/.test(name) && !jQuery.isXMLDoc(elem) ) 
				return elem.getAttribute( name, 2 );
			return elem.getAttribute( name );

		// elem is actually elem.style ... set the style
		} else {
			name = name.replace(/-([a-z])/ig,function(z,b){return b.toUpperCase();});
			if ( value != undefined ) elem[name] = value;
			return elem[name];
		}
	},
	trim: function(t){
		return t.replace(/^\s+|\s+$/g, "");
	},

	makeArray: function( a ) {
		var r = [];

		if ( a.constructor != Array )
			for ( var i = 0, al = a.length; i < al; i++ )
				r.push( a[i] );
		else
			r = a.slice( 0 );

		return r;
	},

	inArray: function( b, a ) {
		for ( var i = 0, al = a.length; i < al; i++ )
			if ( a[i] == b )
				return i;
		return -1;
	},
	merge: function(first, second) {
		var r = [].slice.call( first, 0 );

		// Now check for duplicates between the two arrays
		// and only add the unique items
		for ( var i = 0, sl = second.length; i < sl; i++ )
			// Check for duplicates
			if ( jQuery.inArray( second[i], r ) == -1 )
				// The item is unique, add it
				first.push( second[i] );

		return first;
	},
	grep: function(elems, fn, inv) {
		// If a string is passed in for the function, make a function
		// for it (a handy shortcut)
		if ( typeof fn == "string" )
			fn = new Function("a","i","return " + fn);

		var result = [];

		// Go through the array, only saving the items
		// that pass the validator function
		for ( var i = 0, el = elems.length; i < el; i++ )
			if ( !inv && fn(elems[i],i) || inv && !fn(elems[i],i) )
				result.push( elems[i] );

		return result;
	},
	map: function(elems, fn) {
		// If a string is passed in for the function, make a function
		// for it (a handy shortcut)
		if ( typeof fn == "string" )
			fn = new Function("a","return " + fn);

		var result = [], r = [];

		// Go through the array, translating each of the items to their
		// new value (or values).
		for ( var i = 0, el = elems.length; i < el; i++ ) {
			var val = fn(elems[i],i);

			if ( val !== null && val != undefined ) {
				if ( val.constructor != Array ) val = [val];
				result = result.concat( val );
			}
		}

		var r = result.length ? [ result[0] ] : [];

		check: for ( var i = 1, rl = result.length; i < rl; i++ ) {
			for ( var j = 0; j < i; j++ )
				if ( result[i] == r[j] )
					continue check;

			r.push( result[i] );
		}

		return r;
	}
});
 
/*
 * Whether the W3C compliant box model is being used.
 *
 * @property
 * @name $.boxModel
 * @type Boolean
 * @cat JavaScript
 */
new function() {
	var b = navigator.userAgent.toLowerCase();

	// Figure out what browser is being used
	jQuery.browser = {
		safari: /webkit/.test(b),
		opera: /opera/.test(b),
		msie: /msie/.test(b) && !/opera/.test(b),
		mozilla: /mozilla/.test(b) && !/(compatible|webkit)/.test(b)
	};

	// Check to see if the W3C box model is being used
	jQuery.boxModel = !jQuery.browser.msie || document.compatMode == "CSS1Compat";
};

jQuery.each({
	parent: "a.parentNode",
	parents: "jQuery.parents(a)",
	next: "jQuery.nth(a,2,'nextSibling')",
	prev: "jQuery.nth(a,2,'previousSibling')",
	siblings: "jQuery.sibling(a.parentNode.firstChild,a)",
	children: "jQuery.sibling(a.firstChild)"
}, function(i,n){
	jQuery.fn[ i ] = function(a) {
		var ret = jQuery.map(this,n);
		if ( a && typeof a == "string" )
			ret = jQuery.multiFilter(a,ret);
		return this.pushStack( ret );
	};
});

jQuery.each({
	appendTo: "append",
	prependTo: "prepend",
	insertBefore: "before",
	insertAfter: "after"
}, function(i,n){
	jQuery.fn[ i ] = function(){
		var a = arguments;
		return this.each(function(){
			for ( var j = 0, al = a.length; j < al; j++ )
				jQuery(a[j])[n]( this );
		});
	};
});

jQuery.each( {
	removeAttr: function( key ) {
		jQuery.attr( this, key, "" );
		this.removeAttribute( key );
	},
	addClass: function(c){
		jQuery.className.add(this,c);
	},
	removeClass: function(c){
		jQuery.className.remove(this,c);
	},
	toggleClass: function( c ){
		jQuery.className[ jQuery.className.has(this,c) ? "remove" : "add" ](this, c);
	},
	remove: function(a){
		if ( !a || jQuery.filter( a, [this] ).r.length )
			this.parentNode.removeChild( this );
	},
	empty: function() {
		while ( this.firstChild )
			this.removeChild( this.firstChild );
	}
}, function(i,n){
	jQuery.fn[ i ] = function() {
		return this.each( n, arguments );
	};
});

jQuery.each( [ "eq", "lt", "gt", "contains" ], function(i,n){
	jQuery.fn[ n ] = function(num,fn) {
		return this.filter( ":" + n + "(" + num + ")", fn );
	};
});

jQuery.each( [ "height", "width" ], function(i,n){
	jQuery.fn[ n ] = function(h) {
		return h == undefined ?
			( this.length ? jQuery.css( this[0], n ) : null ) :
			this.css( n, h.constructor == String ? h : h + "px" );
	};
});
jQuery.extend({
	expr: {
		"": "m[2]=='*'||jQuery.nodeName(a,m[2])",
		"#": "a.getAttribute('id')==m[2]",
		":": {
			// Position Checks
			lt: "i<m[3]-0",
			gt: "i>m[3]-0",
			nth: "m[3]-0==i",
			eq: "m[3]-0==i",
			first: "i==0",
			last: "i==r.length-1",
			even: "i%2==0",
			odd: "i%2",

			// Child Checks
			"nth-child": "jQuery.nth(a.parentNode.firstChild,m[3],'nextSibling',a)==a",
			"first-child": "jQuery.nth(a.parentNode.firstChild,1,'nextSibling')==a",
			"last-child": "jQuery.nth(a.parentNode.lastChild,1,'previousSibling')==a",
			"only-child": "jQuery.sibling(a.parentNode.firstChild).length==1",

			// Parent Checks
			parent: "a.firstChild",
			empty: "!a.firstChild",

			// Text Check
			contains: "jQuery.fn.text.apply([a]).indexOf(m[3])>=0",

			// Visibility
			visible: 'a.type!="hidden"&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden"',
			hidden: 'a.type=="hidden"||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden"',

			// Form attributes
			enabled: "!a.disabled",
			disabled: "a.disabled",
			checked: "a.checked",
			selected: "a.selected||jQuery.attr(a,'selected')",

			// Form elements
			text: "a.type=='text'",
			radio: "a.type=='radio'",
			checkbox: "a.type=='checkbox'",
			file: "a.type=='file'",
			password: "a.type=='password'",
			submit: "a.type=='submit'",
			image: "a.type=='image'",
			reset: "a.type=='reset'",
			button: 'a.type=="button"||jQuery.nodeName(a,"button")',
			input: "/input|select|textarea|button/i.test(a.nodeName)"
		},
		".": "jQuery.className.has(a,m[2])",
		"@": {
			"=": "z==m[4]",
			"!=": "z!=m[4]",
			"^=": "z&&!z.indexOf(m[4])",
			"$=": "z&&z.substr(z.length - m[4].length,m[4].length)==m[4]",
			"*=": "z&&z.indexOf(m[4])>=0",
			"": "z",
			_resort: function(m){
				return ["", m[1], m[3], m[2], m[5]];
			},
			_prefix: "z=a[m[3]];if(!z||/href|src/.test(m[3]))z=jQuery.attr(a,m[3]);"
		},
		"[": "jQuery.find(m[2],a).length"
	},
	
	// The regular expressions that power the parsing engine
	parse: [
		// Match: [@value='test'], [@foo]
		/^\[ *(@)([a-z0-9_-]*) *([!*$^=]*) *('?"?)(.*?)\4 *\]/i,

		// Match: [div], [div p]
		/^(\[)\s*(.*?(\[.*?\])?[^[]*?)\s*\]/,

		// Match: :contains('foo')
		/^(:)([a-z0-9_-]*)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/i,

		// Match: :even, :last-chlid
		/^([:.#]*)([a-z0-9_*-]*)/i
	],

	token: [
		/^(\/?\.\.)/, "a.parentNode",
		/^(>|\/)/, "jQuery.sibling(a.firstChild)",
		/^(\+)/, "jQuery.nth(a,2,'nextSibling')",
		/^(~)/, function(a){
			var s = jQuery.sibling(a.parentNode.firstChild);
			return s.slice(jQuery.inArray(a,s) + 1);
		}
	],

	multiFilter: function( expr, elems, not ) {
		var old, cur = [];

		while ( expr && expr != old ) {
			old = expr;
			var f = jQuery.filter( expr, elems, not );
			expr = f.t.replace(/^\s*,\s*/, "" );
			cur = not ? elems = f.r : jQuery.merge( cur, f.r );
		}

		return cur;
	},
	find: function( t, context ) {
		// Quickly handle non-string expressions
		if ( typeof t != "string" )
			return [ t ];

		// Make sure that the context is a DOM Element
		if ( context && !context.nodeType )
			context = null;

		// Set the correct context (if none is provided)
		context = context || document;

		// Handle the common XPath // expression
		if ( !t.indexOf("//") ) {
			context = context.documentElement;
			t = t.substr(2,t.length);

		// And the / root expression
		} else if ( !t.indexOf("/") ) {
			context = context.documentElement;
			t = t.substr(1,t.length);
			if ( t.indexOf("/") >= 1 )
				t = t.substr(t.indexOf("/"),t.length);
		}

		// Initialize the search
		var ret = [context], done = [], last = null;

		// Continue while a selector expression exists, and while
		// we're no longer looping upon ourselves
		while ( t && last != t ) {
			var r = [];
			last = t;

			t = jQuery.trim(t).replace( /^\/\//i, "" );

			var foundToken = false;

			// An attempt at speeding up child selectors that
			// point to a specific element tag
			var re = /^[\/>]\s*([a-z0-9*-]+)/i;
			var m = re.exec(t);

			if ( m ) {
				// Perform our own iteration and filter
				jQuery.each( ret, function(){
					for ( var c = this.firstChild; c; c = c.nextSibling )
						if ( c.nodeType == 1 && ( jQuery.nodeName(c, m[1]) || m[1] == "*" ) )
							r.push( c );
				});

				ret = r;
				t = t.replace( re, "" );
				if ( t.indexOf(" ") == 0 ) continue;
				foundToken = true;
			} else {
				// Look for pre-defined expression tokens
				for ( var i = 0; i < jQuery.token.length; i += 2 ) {
					// Attempt to match each, individual, token in
					// the specified order
					var re = jQuery.token[i];
					var m = re.exec(t);

					// If the token match was found
					if ( m ) {
						// Map it against the token's handler
						r = ret = jQuery.map( ret, jQuery.isFunction( jQuery.token[i+1] ) ?
							jQuery.token[i+1] :
							function(a){ return eval(jQuery.token[i+1]); });

						// And remove the token
						t = jQuery.trim( t.replace( re, "" ) );
						foundToken = true;
						break;
					}
				}
			}

			// See if there's still an expression, and that we haven't already
			// matched a token
			if ( t && !foundToken ) {
				// Handle multiple expressions
				if ( !t.indexOf(",") ) {
					// Clean the result set
					if ( ret[0] == context ) ret.shift();

					// Merge the result sets
					jQuery.merge( done, ret );

					// Reset the context
					r = ret = [context];

					// Touch up the selector string
					t = " " + t.substr(1,t.length);

				} else {
					// Optomize for the case nodeName#idName
					var re2 = /^([a-z0-9_-]+)(#)([a-z0-9\\*_-]*)/i;
					var m = re2.exec(t);
					
					// Re-organize the results, so that they're consistent
					if ( m ) {
					   m = [ 0, m[2], m[3], m[1] ];

					} else {
						// Otherwise, do a traditional filter check for
						// ID, class, and element selectors
						re2 = /^([#.]?)([a-z0-9\\*_-]*)/i;
						m = re2.exec(t);
					}

					// Try to do a global search by ID, where we can
					if ( m[1] == "#" && ret[ret.length-1].getElementById ) {
						// Optimization for HTML document case
						var oid = ret[ret.length-1].getElementById(m[2]);
						
						// Do a quick check for the existence of the actual ID attribute
						// to avoid selecting by the name attribute in IE
						if ( jQuery.browser.msie && oid && oid.id != m[2] )
							oid = jQuery('[@id="'+m[2]+'"]', ret[ret.length-1])[0];

						// Do a quick check for node name (where applicable) so
						// that div#foo searches will be really fast
						ret = r = oid && (!m[3] || jQuery.nodeName(oid, m[3])) ? [oid] : [];

					} else {
						// Pre-compile a regular expression to handle class searches
						if ( m[1] == "." )
							var rec = new RegExp("(^|\\s)" + m[2] + "(\\s|$)");

						// We need to find all descendant elements, it is more
						// efficient to use getAll() when we are already further down
						// the tree - we try to recognize that here
						jQuery.each( ret, function(){
							// Grab the tag name being searched for
							var tag = m[1] != "" || m[0] == "" ? "*" : m[2];

							// Handle IE7 being really dumb about <object>s
							if ( jQuery.nodeName(this, "object") && tag == "*" )
								tag = "param";

							jQuery.merge( r,
								m[1] != "" && ret.length != 1 ?
									jQuery.getAll( this, [], m[1], m[2], rec ) :
									this.getElementsByTagName( tag )
							);
						});

						// It's faster to filter by class and be done with it
						if ( m[1] == "." && ret.length == 1 )
							r = jQuery.grep( r, function(e) {
								return rec.test(e.className);
							});

						// Same with ID filtering
						if ( m[1] == "#" && ret.length == 1 ) {
							// Remember, then wipe out, the result set
							var tmp = r;
							r = [];

							// Then try to find the element with the ID
							jQuery.each( tmp, function(){
								if ( this.getAttribute("id") == m[2] ) {
									r = [ this ];
									return false;
								}
							});
						}

						ret = r;
					}

					t = t.replace( re2, "" );
				}

			}

			// If a selector string still exists
			if ( t ) {
				// Attempt to filter it
				var val = jQuery.filter(t,r);
				ret = r = val.r;
				t = jQuery.trim(val.t);
			}
		}

		// Remove the root context
		if ( ret && ret[0] == context ) ret.shift();

		// And combine the results
		jQuery.merge( done, ret );

		return done;
	},

	filter: function(t,r,not) {
		// Look for common filter expressions
		while ( t && /^[a-z[({<*:.#]/i.test(t) ) {

			var p = jQuery.parse, m;

			jQuery.each( p, function(i,re){
		
				// Look for, and replace, string-like sequences
				// and finally build a regexp out of it
				m = re.exec( t );

				if ( m ) {
					// Remove what we just matched
					t = t.substring( m[0].length );

					// Re-organize the first match
					if ( jQuery.expr[ m[1] ]._resort )
						m = jQuery.expr[ m[1] ]._resort( m );

					return false;
				}
			});

			// :not() is a special case that can be optimized by
			// keeping it out of the expression list
			if ( m[1] == ":" && m[2] == "not" )
				r = jQuery.filter(m[3], r, true).r;

			// Handle classes as a special case (this will help to
			// improve the speed, as the regexp will only be compiled once)
			else if ( m[1] == "." ) {

				var re = new RegExp("(^|\\s)" + m[2] + "(\\s|$)");
				r = jQuery.grep( r, function(e){
					return re.test(e.className || "");
				}, not);

			// Otherwise, find the expression to execute
			} else {
				var f = jQuery.expr[m[1]];
				if ( typeof f != "string" )
					f = jQuery.expr[m[1]][m[2]];

				// Build a custom macro to enclose it
				eval("f = function(a,i){" +
					( jQuery.expr[ m[1] ]._prefix || "" ) +
					"return " + f + "}");

				// Execute it against the current filter
				r = jQuery.grep( r, f, not );
			}
		}

		// Return an array of filtered elements (r)
		// and the modified expression string (t)
		return { r: r, t: t };
	},
	
	getAll: function( o, r, token, name, re ) {
		for ( var s = o.firstChild; s; s = s.nextSibling )
			if ( s.nodeType == 1 ) {
				var add = true;

				if ( token == "." )
					add = s.className && re.test(s.className);
				else if ( token == "#" )
					add = s.getAttribute("id") == name;
	
				if ( add )
					r.push( s );

				if ( token == "#" && r.length ) break;

				if ( s.firstChild )
					jQuery.getAll( s, r, token, name, re );
			}

		return r;
	},
	parents: function( elem ){
		var matched = [];
		var cur = elem.parentNode;
		while ( cur && cur != document ) {
			matched.push( cur );
			cur = cur.parentNode;
		}
		return matched;
	},
	nth: function(cur,result,dir,elem){
		result = result || 1;
		var num = 0;
		for ( ; cur; cur = cur[dir] ) {
			if ( cur.nodeType == 1 ) num++;
			if ( num == result || result == "even" && num % 2 == 0 && num > 1 && cur == elem ||
				result == "odd" && num % 2 == 1 && cur == elem ) return cur;
		}
	},
	sibling: function( n, elem ) {
		var r = [];

		for ( ; n; n = n.nextSibling ) {
			if ( n.nodeType == 1 && (!elem || n != elem) )
				r.push( n );
		}

		return r;
	}
});
/*
 * A number of helper functions used for managing events.
 * Many of the ideas behind this code orignated from 
 * Dean Edwards' addEvent library.
 */
jQuery.event = {

	// Bind an event to an element
	// Original by Dean Edwards
	add: function(element, type, handler, data) {
		// For whatever reason, IE has trouble passing the window object
		// around, causing it to be cloned in the process
		if ( jQuery.browser.msie && element.setInterval != undefined )
			element = window;

		// if data is passed, bind to handler
		if( data ) 
			handler.data = data;

		// Make sure that the function being executed has a unique ID
		if ( !handler.guid )
			handler.guid = this.guid++;

		// Init the element's event structure
		if (!element.$events)
			element.$events = {};

		// Get the current list of functions bound to this event
		var handlers = element.$events[type];

		// If it hasn't been initialized yet
		if (!handlers) {
			// Init the event handler queue
			handlers = element.$events[type] = {};

			// Remember an existing handler, if it's already there
			if (element["on" + type])
				handlers[0] = element["on" + type];
		}

		// Add the function to the element's handler list
		handlers[handler.guid] = handler;

		// And bind the global event handler to the element
		element["on" + type] = this.handle;

		// Remember the function in a global list (for triggering)
		if (!this.global[type])
			this.global[type] = [];
		this.global[type].push( element );
	},

	guid: 1,
	global: {},

	// Detach an event or set of events from an element
	remove: function(element, type, handler) {
		if (element.$events) {
			var i,j,k;
			if ( type && type.type ) { // type is actually an event object here
				handler = type.handler;
				type    = type.type;
			}
			
			if (type && element.$events[type])
				// remove the given handler for the given type
				if ( handler )
					delete element.$events[type][handler.guid];
					
				// remove all handlers for the given type
				else
					for ( i in element.$events[type] )
						delete element.$events[type][i];
						
			// remove all handlers		
			else
				for ( j in element.$events )
					this.remove( element, j );
			
			// remove event handler if no more handlers exist
			for ( k in element.$events[type] )
				if (k) {
					k = true;
					break;
				}
			if (!k) element["on" + type] = null;
		}
	},

	trigger: function(type, data, element) {
		// Clone the incoming data, if any
		data = jQuery.makeArray(data || []);

		// Handle a global trigger
		if ( !element )
			jQuery.each( this.global[type] || [], function(){
				jQuery.event.trigger( type, data, this );
			});

		// Handle triggering a single element
		else {
			var handler = element["on" + type ], val,
				fn = jQuery.isFunction( element[ type ] );

			if ( handler ) {
				// Pass along a fake event
				data.unshift( this.fix({ type: type, target: element }) );
	
				// Trigger the event
				if ( (val = handler.apply( element, data )) !== false )
					this.triggered = true;
			}

			if ( fn && val !== false )
				element[ type ]();

			this.triggered = false;
		}
	},

	handle: function(event) {
		// Handle the second event of a trigger and when
		// an event is called after a page has unloaded
		if ( typeof jQuery == "undefined" || jQuery.event.triggered ) return;

		// Empty object is for triggered events with no data
		event = jQuery.event.fix( event || window.event || {} ); 

		// returned undefined or false
		var returnValue;

		var c = this.$events[event.type];

		var args = [].slice.call( arguments, 1 );
		args.unshift( event );

		for ( var j in c ) {
			// Pass in a reference to the handler function itself
			// So that we can later remove it
			args[0].handler = c[j];
			args[0].data = c[j].data;

			if ( c[j].apply( this, args ) === false ) {
				event.preventDefault();
				event.stopPropagation();
				returnValue = false;
			}
		}

		// Clean up added properties in IE to prevent memory leak
		if (jQuery.browser.msie) event.target = event.preventDefault = event.stopPropagation = event.handler = event.data = null;

		return returnValue;
	},

	fix: function(event) {
		// Fix target property, if necessary
		if ( !event.target && event.srcElement )
			event.target = event.srcElement;

		// Calculate pageX/Y if missing and clientX/Y available
		if ( event.pageX == undefined && event.clientX != undefined ) {
			var e = document.documentElement, b = document.body;
			event.pageX = event.clientX + (e.scrollLeft || b.scrollLeft);
			event.pageY = event.clientY + (e.scrollTop || b.scrollTop);
		}
				
		// check if target is a textnode (safari)
		if (jQuery.browser.safari && event.target.nodeType == 3) {
			// store a copy of the original event object 
			// and clone because target is read only
			var originalEvent = event;
			event = jQuery.extend({}, originalEvent);
			
			// get parentnode from textnode
			event.target = originalEvent.target.parentNode;
			
			// add preventDefault and stopPropagation since 
			// they will not work on the clone
			event.preventDefault = function() {
				return originalEvent.preventDefault();
			};
			event.stopPropagation = function() {
				return originalEvent.stopPropagation();
			};
		}
		
		// fix preventDefault and stopPropagation
		if (!event.preventDefault)
			event.preventDefault = function() {
				this.returnValue = false;
			};
			
		if (!event.stopPropagation)
			event.stopPropagation = function() {
				this.cancelBubble = true;
			};
			
		return event;
	}
};

jQuery.fn.extend({
	bind: function( type, data, fn ) {
		return this.each(function(){
			jQuery.event.add( this, type, fn || data, data );
		});
	},
	one: function( type, data, fn ) {
		return this.each(function(){
			jQuery.event.add( this, type, function(event) {
				jQuery(this).unbind(event);
				return (fn || data).apply( this, arguments);
			}, data);
		});
	},
	unbind: function( type, fn ) {
		return this.each(function(){
			jQuery.event.remove( this, type, fn );
		});
	},
	trigger: function( type, data ) {
		return this.each(function(){
			jQuery.event.trigger( type, data, this );
		});
	},
	toggle: function() {
		// Save reference to arguments for access in closure
		var a = arguments;

		return this.click(function(e) {
			// Figure out which function to execute
			this.lastToggle = this.lastToggle == 0 ? 1 : 0;
			
			// Make sure that clicks stop
			e.preventDefault();
			
			// and execute the function
			return a[this.lastToggle].apply( this, [e] ) || false;
		});
	},
	hover: function(f,g) {
		
		// A private function for handling mouse 'hovering'
		function handleHover(e) {
			// Check if mouse(over|out) are still within the same parent element
			var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget;
	
			// Traverse up the tree
			while ( p && p != this ) try { p = p.parentNode } catch(e) { p = this; };
			
			// If we actually just moused on to a sub-element, ignore it
			if ( p == this ) return false;
			
			// Execute the right function
			return (e.type == "mouseover" ? f : g).apply(this, [e]);
		}
		
		// Bind the function to the two event listeners
		return this.mouseover(handleHover).mouseout(handleHover);
	},
	ready: function(f) {
		// If the DOM is already ready
		if ( jQuery.isReady )
			// Execute the function immediately
			f.apply( document, [jQuery] );
			
		// Otherwise, remember the function for later
		else {
			// Add the function to the wait list
			jQuery.readyList.push( function() { return f.apply(this, [jQuery]) } );
		}
	
		return this;
	}
});

jQuery.extend({
	/*
	 * All the code that makes DOM Ready work nicely.
	 */
	isReady: false,
	readyList: [],
	
	// Handle when the DOM is ready
	ready: function() {
		// Make sure that the DOM is not already loaded
		if ( !jQuery.isReady ) {
			// Remember that the DOM is ready
			jQuery.isReady = true;
			
			// If there are functions bound, to execute
			if ( jQuery.readyList ) {
				// Execute all of them
				jQuery.each( jQuery.readyList, function(){
					this.apply( document );
				});
				
				// Reset the list of functions
				jQuery.readyList = null;
			}
			// Remove event lisenter to avoid memory leak
			if ( jQuery.browser.mozilla || jQuery.browser.opera )
				document.removeEventListener( "DOMContentLoaded", jQuery.ready, false );
		}
	}
});

new function(){

	jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," +
		"mousedown,mouseup,mousemove,mouseover,mouseout,change,select," + 
		"submit,keydown,keypress,keyup,error").split(","), function(i,o){
		
		// Handle event binding
		jQuery.fn[o] = function(f){
			return f ? this.bind(o, f) : this.trigger(o);
		};
			
	});
	
	// If Mozilla is used
	if ( jQuery.browser.mozilla || jQuery.browser.opera )
		// Use the handy event callback
		document.addEventListener( "DOMContentLoaded", jQuery.ready, false );
	
	// If IE is used, use the excellent hack by Matthias Miller
	// http://www.outofhanwell.com/blog/index.php?title=the_window_onload_problem_revisited
	else if ( jQuery.browser.msie ) {
	
		// Only works if you document.write() it
		document.write("<scr" + "ipt id=__ie_init defer=true " + 
			"src=//:><\/script>");
	
		// Use the defer script hack
		var script = document.getElementById("__ie_init");
		
		// script does not exist if jQuery is loaded dynamically
		if ( script ) 
			script.onreadystatechange = function() {
				if ( this.readyState != "complete" ) return;
				this.parentNode.removeChild( this );
				jQuery.ready();
			};
	
		// Clear from memory
		script = null;
	
	// If Safari  is used
	} else if ( jQuery.browser.safari )
		// Continually check to see if the document.readyState is valid
		jQuery.safariTimer = setInterval(function(){
			// loaded and complete are both valid states
			if ( document.readyState == "loaded" || 
				document.readyState == "complete" ) {
	
				// If either one are found, remove the timer
				clearInterval( jQuery.safariTimer );
				jQuery.safariTimer = null;
	
				// and execute any waiting functions
				jQuery.ready();
			}
		}, 10); 

	// A fallback to window.onload, that will always work
	jQuery.event.add( window, "load", jQuery.ready );
	
};

// Clean up after IE to avoid memory leaks
if (jQuery.browser.msie)
	jQuery(window).one("unload", function() {
		var global = jQuery.event.global;
		for ( var type in global ) {
			var els = global[type], i = els.length;
			if ( i && type != 'unload' )
				do
					jQuery.event.remove(els[i-1], type);
				while (--i);
		}
	});
jQuery.fn.extend({
	loadIfModified: function( url, params, callback ) {
		this.load( url, params, callback, 1 );
	},
	load: function( url, params, callback, ifModified ) {
		if ( jQuery.isFunction( url ) )
			return this.bind("load", url);

		callback = callback || function(){};

		// Default to a GET request
		var type = "GET";

		// If the second parameter was provided
		if ( params )
			// If it's a function
			if ( jQuery.isFunction( params ) ) {
				// We assume that it's the callback
				callback = params;
				params = null;

			// Otherwise, build a param string
			} else {
				params = jQuery.param( params );
				type = "POST";
			}

		var self = this;

		// Request the remote document
		jQuery.ajax({
			url: url,
			type: type,
			data: params,
			ifModified: ifModified,
			complete: function(res, status){
				if ( status == "success" || !ifModified && status == "notmodified" )
					// Inject the HTML into all the matched elements
					self.attr("innerHTML", res.responseText)
					  // Execute all the scripts inside of the newly-injected HTML
					  .evalScripts()
					  // Execute callback
					  .each( callback, [res.responseText, status, res] );
				else
					callback.apply( self, [res.responseText, status, res] );
			}
		});
		return this;
	},
	serialize: function() {
		return jQuery.param( this );
	},
	evalScripts: function() {
		return this.find("script").each(function(){
			if ( this.src )
				jQuery.getScript( this.src );
			else
				jQuery.globalEval( this.text || this.textContent || this.innerHTML || "" );
		}).end();
	}

});

// If IE is used, create a wrapper for the XMLHttpRequest object
if ( !window.XMLHttpRequest )
	XMLHttpRequest = function(){
		return new ActiveXObject("Microsoft.XMLHTTP");
	};

// Attach a bunch of functions for handling common AJAX events

jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i,o){
	jQuery.fn[o] = function(f){
		return this.bind(o, f);
	};
});

jQuery.extend({
	get: function( url, data, callback, type, ifModified ) {
		// shift arguments if data argument was ommited
		if ( jQuery.isFunction( data ) ) {
			callback = data;
			data = null;
		}
		
		return jQuery.ajax({
			url: url,
			data: data,
			success: callback,
			dataType: type,
			ifModified: ifModified
		});
	},
	getIfModified: function( url, data, callback, type ) {
		return jQuery.get(url, data, callback, type, 1);
	},
	getScript: function( url, callback ) {
		return jQuery.get(url, null, callback, "script");
	},
	getJSON: function( url, data, callback ) {
		return jQuery.get(url, data, callback, "json");
	},
	post: function( url, data, callback, type ) {
		if ( jQuery.isFunction( data ) ) {
			callback = data;
			data = {};
		}

		return jQuery.ajax({
			type: "POST",
			url: url,
			data: data,
			success: callback,
			dataType: type
		});
	},

	// timeout (ms)
	//timeout: 0,
	ajaxTimeout: function( timeout ) {
		jQuery.ajaxSettings.timeout = timeout;
	},
	ajaxSetup: function( settings ) {
		jQuery.extend( jQuery.ajaxSettings, settings );
	},

	ajaxSettings: {
		global: true,
		type: "GET",
		timeout: 0,
		contentType: "application/x-www-form-urlencoded",
		processData: true,
		async: true,
		data: null
	},
	
	// Last-Modified header cache for next request
	lastModified: {},
	ajax: function( s ) {
		// TODO introduce global settings, allowing the client to modify them for all requests, not only timeout
		s = jQuery.extend({}, jQuery.ajaxSettings, s);

		// if data available
		if ( s.data ) {
			// convert data if not already a string
			if (s.processData && typeof s.data != "string")
    			s.data = jQuery.param(s.data);
			// append data to url for get requests
			if( s.type.toLowerCase() == "get" ) {
				// "?" + data or "&" + data (in case there are already params)
				s.url += ((s.url.indexOf("?") > -1) ? "&" : "?") + s.data;
				// IE likes to send both get and post data, prevent this
				s.data = null;
			}
		}

		// Watch for a new set of requests
		if ( s.global && ! jQuery.active++ )
			jQuery.event.trigger( "ajaxStart" );

		var requestDone = false;

		// Create the request object
		var xml = new XMLHttpRequest();

		// Open the socket
		xml.open(s.type, s.url, s.async);

		// Set the correct header, if data is being sent
		if ( s.data )
			xml.setRequestHeader("Content-Type", s.contentType);

		// Set the If-Modified-Since header, if ifModified mode.
		if ( s.ifModified )
			xml.setRequestHeader("If-Modified-Since",
				jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT" );

		// Set header so the called script knows that it's an XMLHttpRequest
		xml.setRequestHeader("X-Requested-With", "XMLHttpRequest");

		// Make sure the browser sends the right content length
		if ( xml.overrideMimeType )
			xml.setRequestHeader("Connection", "close");
			
		// Allow custom headers/mimetypes
		if( s.beforeSend )
			s.beforeSend(xml);
			
		if ( s.global )
		    jQuery.event.trigger("ajaxSend", [xml, s]);

		// Wait for a response to come back
		var onreadystatechange = function(isTimeout){
			// The transfer is complete and the data is available, or the request timed out
			if ( xml && (xml.readyState == 4 || isTimeout == "timeout") ) {
				requestDone = true;
				
				// clear poll interval
				if (ival) {
					clearInterval(ival);
					ival = null;
				}
				
				var status;
				try {
					status = jQuery.httpSuccess( xml ) && isTimeout != "timeout" ?
						s.ifModified && jQuery.httpNotModified( xml, s.url ) ? "notmodified" : "success" : "error";
					// Make sure that the request was successful or notmodified
					if ( status != "error" ) {
						// Cache Last-Modified header, if ifModified mode.
						var modRes;
						try {
							modRes = xml.getResponseHeader("Last-Modified");
						} catch(e) {} // swallow exception thrown by FF if header is not available
	
						if ( s.ifModified && modRes )
							jQuery.lastModified[s.url] = modRes;
	
						// process the data (runs the xml through httpData regardless of callback)
						var data = jQuery.httpData( xml, s.dataType );
	
						// If a local callback was specified, fire it and pass it the data
						if ( s.success )
							s.success( data, status );
	
						// Fire the global callback
						if( s.global )
							jQuery.event.trigger( "ajaxSuccess", [xml, s] );
					} else
						jQuery.handleError(s, xml, status);
				} catch(e) {
					status = "error";
					jQuery.handleError(s, xml, status, e);
				}

				// The request was completed
				if( s.global )
					jQuery.event.trigger( "ajaxComplete", [xml, s] );

				// Handle the global AJAX counter
				if ( s.global && ! --jQuery.active )
					jQuery.event.trigger( "ajaxStop" );

				// Process result
				if ( s.complete )
					s.complete(xml, status);

				// Stop memory leaks
				if(s.async)
					xml = null;
			}
		};
		
		// don't attach the handler to the request, just poll it instead
		var ival = setInterval(onreadystatechange, 13); 

		// Timeout checker
		if ( s.timeout > 0 )
			setTimeout(function(){
				// Check to see if the request is still happening
				if ( xml ) {
					// Cancel the request
					xml.abort();

					if( !requestDone )
						onreadystatechange( "timeout" );
				}
			}, s.timeout);
			
		// Send the data
		try {
			xml.send(s.data);
		} catch(e) {
			jQuery.handleError(s, xml, null, e);
		}
		
		// firefox 1.5 doesn't fire statechange for sync requests
		if ( !s.async )
			onreadystatechange();
		
		// return XMLHttpRequest to allow aborting the request etc.
		return xml;
	},

	handleError: function( s, xml, status, e ) {
		// If a local callback was specified, fire it
		if ( s.error ) s.error( xml, status, e );

		// Fire the global callback
		if ( s.global )
			jQuery.event.trigger( "ajaxError", [xml, s, e] );
	},

	// Counter for holding the number of active queries
	active: 0,

	// Determines if an XMLHttpRequest was successful or not
	httpSuccess: function( r ) {
		try {
			return !r.status && location.protocol == "file:" ||
				( r.status >= 200 && r.status < 300 ) || r.status == 304 ||
				jQuery.browser.safari && r.status == undefined;
		} catch(e){}
		return false;
	},

	// Determines if an XMLHttpRequest returns NotModified
	httpNotModified: function( xml, url ) {
		try {
			var xmlRes = xml.getResponseHeader("Last-Modified");

			// Firefox always returns 200. check Last-Modified date
			return xml.status == 304 || xmlRes == jQuery.lastModified[url] ||
				jQuery.browser.safari && xml.status == undefined;
		} catch(e){}
		return false;
	},

	/* Get the data out of an XMLHttpRequest.
	 * Return parsed XML if content-type header is "xml" and type is "xml" or omitted,
	 * otherwise return plain text.
	 * (String) data - The type of data that you're expecting back,
	 * (e.g. "xml", "html", "script")
	 */
	httpData: function( r, type ) {
		var ct = r.getResponseHeader("content-type");
		var data = !type && ct && ct.indexOf("xml") >= 0;
		data = type == "xml" || data ? r.responseXML : r.responseText;

		// If the type is "script", eval it in global context
		if ( type == "script" )
			jQuery.globalEval( data );

		// Get the JavaScript object, if JSON is used.
		if ( type == "json" )
			eval( "data = " + data );

		// evaluate scripts within html
		if ( type == "html" )
			jQuery("<div>").html(data).evalScripts();

		return data;
	},

	// Serialize an array of form elements or a set of
	// key/values into a query string
	param: function( a ) {
		var s = [];

		// If an array was passed in, assume that it is an array
		// of form elements
		if ( a.constructor == Array || a.jquery )
			// Serialize the form elements
			jQuery.each( a, function(){
				s.push( encodeURIComponent(this.name) + "=" + encodeURIComponent( this.value ) );
			});

		// Otherwise, assume that it's an object of key/value pairs
		else
			// Serialize the key/values
			for ( var j in a )
				// If the value is an array then the key names need to be repeated
				if ( a[j] && a[j].constructor == Array )
					jQuery.each( a[j], function(){
						s.push( encodeURIComponent(j) + "=" + encodeURIComponent( this ) );
					});
				else
					s.push( encodeURIComponent(j) + "=" + encodeURIComponent( a[j] ) );

		// Return the resulting serialization
		return s.join("&");
	},
	
	// evalulates a script in global context
	// not reliable for safari
	globalEval: function( data ) {
		if ( window.execScript )
			window.execScript( data );
		else if ( jQuery.browser.safari )
			// safari doesn't provide a synchronous global eval
			window.setTimeout( data, 0 );
		else
			eval.call( window, data );
	}

});
jQuery.fn.extend({

	show: function(speed,callback){
		var hidden = this.filter(":hidden");
		speed ?
			hidden.animate({
				height: "show", width: "show", opacity: "show"
			}, speed, callback) :
			
			hidden.each(function(){
				this.style.display = this.oldblock ? this.oldblock : "";
				if ( jQuery.css(this,"display") == "none" )
					this.style.display = "block";
			});
		return this;
	},

	hide: function(speed,callback){
		var visible = this.filter(":visible");
		speed ?
			visible.animate({
				height: "hide", width: "hide", opacity: "hide"
			}, speed, callback) :
			
			visible.each(function(){
				this.oldblock = this.oldblock || jQuery.css(this,"display");
				if ( this.oldblock == "none" )
					this.oldblock = "block";
				this.style.display = "none";
			});
		return this;
	},

	// Save the old toggle function
	_toggle: jQuery.fn.toggle,
	toggle: function( fn, fn2 ){
		var args = arguments;
		return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?
			this._toggle( fn, fn2 ) :
			this.each(function(){
				jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]
					.apply( jQuery(this), args );
			});
	},
	slideDown: function(speed,callback){
		return this.animate({height: "show"}, speed, callback);
	},
	slideUp: function(speed,callback){
		return this.animate({height: "hide"}, speed, callback);
	},
	slideToggle: function(speed, callback){
		return this.each(function(){
			var state = jQuery(this).is(":hidden") ? "show" : "hide";
			jQuery(this).animate({height: state}, speed, callback);
		});
	},
	fadeIn: function(speed, callback){
		return this.animate({opacity: "show"}, speed, callback);
	},
	fadeOut: function(speed, callback){
		return this.animate({opacity: "hide"}, speed, callback);
	},
	fadeTo: function(speed,to,callback){
		return this.animate({opacity: to}, speed, callback);
	},
	animate: function( prop, speed, easing, callback ) {
		return this.queue(function(){
		
			this.curAnim = jQuery.extend({}, prop);
			var opt = jQuery.speed(speed, easing, callback);
			
			for ( var p in prop ) {
				var e = new jQuery.fx( this, opt, p );
				if ( prop[p].constructor == Number )
					e.custom( e.cur(), prop[p] );
				else
					e[ prop[p] ]( prop );
			}
			
		});
	},
	queue: function(type,fn){
		if ( !fn ) {
			fn = type;
			type = "fx";
		}
	
		return this.each(function(){
			if ( !this.queue )
				this.queue = {};
	
			if ( !this.queue[type] )
				this.queue[type] = [];
	
			this.queue[type].push( fn );
		
			if ( this.queue[type].length == 1 )
				fn.apply(this);
		});
	}

});

jQuery.extend({
	
	speed: function(speed, easing, fn) {
		var opt = speed && speed.constructor == Object ? speed : {
			complete: fn || !fn && easing || 
				jQuery.isFunction( speed ) && speed,
			duration: speed,
			easing: fn && easing || easing && easing.constructor != Function && easing
		};

		opt.duration = (opt.duration && opt.duration.constructor == Number ? 
			opt.duration : 
			{ slow: 600, fast: 200 }[opt.duration]) || 400;
	
		// Queueing
		opt.old = opt.complete;
		opt.complete = function(){
			jQuery.dequeue(this, "fx");
			if ( jQuery.isFunction( opt.old ) )
				opt.old.apply( this );
		};
	
		return opt;
	},
	
	easing: {},
	
	queue: {},
	
	dequeue: function(elem,type){
		type = type || "fx";
	
		if ( elem.queue && elem.queue[type] ) {
			// Remove self
			elem.queue[type].shift();
	
			// Get next function
			var f = elem.queue[type][0];
		
			if ( f ) f.apply( elem );
		}
	},

	/*
	 * I originally wrote fx() as a clone of moo.fx and in the process
	 * of making it small in size the code became illegible to sane
	 * people. You've been warned.
	 */
	
	fx: function( elem, options, prop ){

		var z = this;

		// The styles
		var y = elem.style;
		
		// Store display property
		var oldDisplay = jQuery.css(elem, "display");

		// Make sure that nothing sneaks out
		y.overflow = "hidden";

		// Simple function for setting a style value
		z.a = function(){
			if ( options.step )
				options.step.apply( elem, [ z.now ] );

			if ( prop == "opacity" )
				jQuery.attr(y, "opacity", z.now); // Let attr handle opacity
			else if ( parseInt(z.now) ) // My hate for IE will never die
				y[prop] = parseInt(z.now) + "px";
			
			y.display = "block"; // Set display property to block for animation
		};

		// Figure out the maximum number to run to
		z.max = function(){
			return parseFloat( jQuery.css(elem,prop) );
		};

		// Get the current size
		z.cur = function(){
			var r = parseFloat( jQuery.curCSS(elem, prop) );
			return r && r > -10000 ? r : z.max();
		};

		// Start an animation from one number to another
		z.custom = function(from,to){
			z.startTime = (new Date()).getTime();
			z.now = from;
			z.a();

			z.timer = setInterval(function(){
				z.step(from, to);
			}, 13);
		};

		// Simple 'show' function
		z.show = function(){
			if ( !elem.orig ) elem.orig = {};

			// Remember where we started, so that we can go back to it later
			elem.orig[prop] = this.cur();

			options.show = true;

			// Begin the animation
			z.custom(0, elem.orig[prop]);

			// Stupid IE, look what you made me do
			if ( prop != "opacity" )
				y[prop] = "1px";
		};

		// Simple 'hide' function
		z.hide = function(){
			if ( !elem.orig ) elem.orig = {};

			// Remember where we started, so that we can go back to it later
			elem.orig[prop] = this.cur();

			options.hide = true;

			// Begin the animation
			z.custom(elem.orig[prop], 0);
		};
		
		//Simple 'toggle' function
		z.toggle = function() {
			if ( !elem.orig ) elem.orig = {};

			// Remember where we started, so that we can go back to it later
			elem.orig[prop] = this.cur();

			if(oldDisplay == "none")  {
				options.show = true;
				
				// Stupid IE, look what you made me do
				if ( prop != "opacity" )
					y[prop] = "1px";

				// Begin the animation
				z.custom(0, elem.orig[prop]);	
			} else {
				options.hide = true;

				// Begin the animation
				z.custom(elem.orig[prop], 0);
			}		
		};

		// Each step of an animation
		z.step = function(firstNum, lastNum){
			var t = (new Date()).getTime();

			if (t > options.duration + z.startTime) {
				// Stop the timer
				clearInterval(z.timer);
				z.timer = null;

				z.now = lastNum;
				z.a();

				if (elem.curAnim) elem.curAnim[ prop ] = true;

				var done = true;
				for ( var i in elem.curAnim )
					if ( elem.curAnim[i] !== true )
						done = false;

				if ( done ) {
					// Reset the overflow
					y.overflow = "";
					
					// Reset the display
					y.display = oldDisplay;
					if (jQuery.css(elem, "display") == "none")
						y.display = "block";

					// Hide the element if the "hide" operation was done
					if ( options.hide ) 
						y.display = "none";

					// Reset the properties, if the item has been hidden or shown
					if ( options.hide || options.show )
						for ( var p in elem.curAnim )
							if (p == "opacity")
								jQuery.attr(y, p, elem.orig[p]);
							else
								y[p] = "";
				}

				// If a callback was provided, execute it
				if ( done && jQuery.isFunction( options.complete ) )
					// Execute the complete function
					options.complete.apply( elem );
			} else {
				var n = t - this.startTime;
				// Figure out where in the animation we are and set the number
				var p = n / options.duration;
				
				// If the easing function exists, then use it 
				z.now = options.easing && jQuery.easing[options.easing] ?
					jQuery.easing[options.easing](p, n,  firstNum, (lastNum-firstNum), options.duration) :
					// else use default linear easing
					((-Math.cos(p*Math.PI)/2) + 0.5) * (lastNum-firstNum) + firstNum;

				// Perform the next step of the animation
				z.a();
			}
		};
	
	}
});
}
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/jquery.alias.js" 
 *
 */
window.$=jQuery;
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/jquery.class.js" 
 *
 */jQuery.newClass=function(path,aClassDescriptor){jQuery.classes=!jQuery.classes?{}:jQuery.classes;var context={start:jQuery.classes,current:void(0)};path=path.split('.');var className=path.pop();path.forEach(function(element){this.current=$tools.coalesce(this.current,this.start);this.current=this.current[element]={};},context);aClassDescriptor=jQuery.extend({init:function(){},statics:{},methods:{}},aClassDescriptor);context.current[className]=aClassDescriptor.init;for(p in aClassDescriptor.statics){context.current[className][p]=aClassDescriptor.statics[p];};for(p in aClassDescriptor.methods){context.current[className].prototype[p]=aClassDescriptor.methods[p];};};
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/packed.jquery.tabs.js" 
 *
 */
(function($){$.extend({tabs:{remoteCount:0}});$.fn.tabs=function(initial,settings){if(typeof initial=='object')settings=initial;settings=$.extend({initial:(initial&&typeof initial=='number'&&initial>0)?--initial:0,disabled:null,bookmarkable:$.ajaxHistory?true:false,remote:false,spinner:'Loading&#8230;',hashPrefix:'remote-tab-',fxFade:null,fxSlide:null,fxShow:null,fxHide:null,fxSpeed:'normal',fxShowSpeed:null,fxHideSpeed:null,fxAutoHeight:false,onClick:null,onHide:null,onShow:null,navClass:'tabs-nav',selectedClass:'tabs-selected',disabledClass:'tabs-disabled',containerClass:'tabs-container',hideClass:'tabs-hide',loadingClass:'tabs-loading',tabStruct:'div'},settings||{});$.browser.msie6=$.browser.msie6||$.browser.msie&&typeof XMLHttpRequest=='function';function unFocus(){scrollTo(0,0);}return this.each(function(){var container=this;var nav=$('ul.'+settings.navClass,container);nav=nav.size()&&nav||$('>ul:eq(0)',container);var tabs=$('a',nav);if(settings.remote){tabs.each(function(){var id=settings.hashPrefix+(++$.tabs.remoteCount),hash='#'+id,url=this.href;this.href=hash;$('<div id="'+id+'" class="'+settings.containerClass+'"></div>').appendTo(container);$(this).bind('loadRemoteTab',function(e,callback){var $$=$(this).addClass(settings.loadingClass),span=$('span',this)[0],tabTitle=span.innerHTML;if(settings.spinner){span.innerHTML='<em>'+settings.spinner+'</em>';}setTimeout(function(){$(hash).load(url,function(){if(settings.spinner){span.innerHTML=tabTitle;}$$.removeClass(settings.loadingClass);callback&&callback();});},0);});});}var containers=$('div.'+settings.containerClass,container);containers=containers.size()&&containers||$('>'+settings.tabStruct,container);nav.is('.'+settings.navClass)||nav.addClass(settings.navClass);containers.each(function(){var $$=$(this);$$.is('.'+settings.containerClass)||$$.addClass(settings.containerClass);});var hasSelectedClass=$('li',nav).index($('li.'+settings.selectedClass,nav)[0]);if(hasSelectedClass>=0){settings.initial=hasSelectedClass;}if(location.hash){tabs.each(function(i){if(this.hash==location.hash){settings.initial=i;if(($.browser.msie||$.browser.opera)&&!settings.remote){var toShow=$(location.hash);var toShowId=toShow.attr('id');toShow.attr('id','');setTimeout(function(){toShow.attr('id',toShowId);},500);}unFocus();return false;}});}if($.browser.msie){unFocus();}containers.filter(':eq('+settings.initial+')').show().end().not(':eq('+settings.initial+')').addClass(settings.hideClass);$('li',nav).removeClass(settings.selectedClass).eq(settings.initial).addClass(settings.selectedClass);tabs.eq(settings.initial).trigger('loadRemoteTab').end();if(settings.fxAutoHeight){var _setAutoHeight=function(reset){var heights=$.map(containers.get(),function(el){var h,jq=$(el);if(reset){if($.browser.msie6){el.style.removeExpression('behaviour');el.style.height='';el.minHeight=null;}h=jq.css({'min-height':''}).height();}else{h=jq.height();}return h;}).sort(function(a,b){return b-a;});if($.browser.msie6){containers.each(function(){this.minHeight=heights[0]+'px';this.style.setExpression('behaviour','this.style.height = this.minHeight ? this.minHeight : "1px"');});}else{containers.css({'min-height':heights[0]+'px'});}};_setAutoHeight();var cachedWidth=container.offsetWidth;var cachedHeight=container.offsetHeight;var watchFontSize=$('#tabs-watch-font-size').get(0)||$('<span id="tabs-watch-font-size">M</span>').css({display:'block',position:'absolute',visibility:'hidden'}).appendTo(document.body).get(0);var cachedFontSize=watchFontSize.offsetHeight;setInterval(function(){var currentWidth=container.offsetWidth;var currentHeight=container.offsetHeight;var currentFontSize=watchFontSize.offsetHeight;if(currentHeight>cachedHeight||currentWidth!=cachedWidth||currentFontSize!=cachedFontSize){_setAutoHeight((currentWidth>cachedWidth||currentFontSize<cachedFontSize));cachedWidth=currentWidth;cachedHeight=currentHeight;cachedFontSize=currentFontSize;}},50);}var showAnim={},hideAnim={},showSpeed=settings.fxShowSpeed||settings.fxSpeed,hideSpeed=settings.fxHideSpeed||settings.fxSpeed;if(settings.fxSlide||settings.fxFade){if(settings.fxSlide){showAnim['height']='show';hideAnim['height']='hide';}if(settings.fxFade){showAnim['opacity']='show';hideAnim['opacity']='hide';}}else{if(settings.fxShow){showAnim=settings.fxShow;}else{showAnim['min-width']=0;showSpeed=settings.bookmarkable?50:1;}if(settings.fxHide){hideAnim=settings.fxHide;}else{hideAnim['min-width']=0;hideSpeed=settings.bookmarkable?50:1;}}var onClick=settings.onClick,onHide=settings.onHide,onShow=settings.onShow;tabs.bind('triggerTab',function(){var li=$(this).parents('li:eq(0)');if(container.locked||li.is('.'+settings.selectedClass)||li.is('.'+settings.disabledClass)){return false;}var hash=this.hash;if($.browser.msie){$(this).trigger('click');if(settings.bookmarkable){$.ajaxHistory.update(hash);location.hash=hash.replace('#','');}}else if($.browser.safari){var tempForm=$('<form action="'+hash+'"><div><input type="submit" value="h" /></div></form>').get(0);tempForm.submit();$(this).trigger('click');if(settings.bookmarkable){$.ajaxHistory.update(hash);}}else{if(settings.bookmarkable){location.hash=hash.replace('#','');}else{$(this).trigger('click');}}});tabs.bind('disableTab',function(){var li=$(this).parents('li:eq(0)');if($.browser.safari){li.animate({opacity:0},1,function(){li.css({opacity:''});});}li.addClass(settings.disabledClass);});if(settings.disabled&&settings.disabled.length){for(var i=0,k=settings.disabled.length;i<k;i++){tabs.eq(--settings.disabled[i]).trigger('disableTab').end();}};tabs.bind('enableTab',function(){var li=$(this).parents('li:eq(0)');li.removeClass(settings.disabledClass);if($.browser.safari){li.animate({opacity:1},1,function(){li.css({opacity:''});});}});tabs.bind('click',function(e){var trueClick=e.clientX;var clicked=this,li=$(this).parents('li:eq(0)'),toShow=$(this.hash),toHide=containers.filter(':visible');if(container['locked']||li.is('.'+settings.selectedClass)||li.is('.'+settings.disabledClass)||typeof onClick=='function'&&onClick(this,toShow[0],toHide[0])===false){this.blur();return false;}container['locked']=true;if(toShow.size()){if($.browser.msie&&settings.bookmarkable){var toShowId=this.hash.replace('#','');toShow.attr('id','');setTimeout(function(){toShow.attr('id',toShowId);},0);}function switchTab(){if(settings.bookmarkable&&trueClick){$.ajaxHistory.update(clicked.hash);}toHide.animate(hideAnim,hideSpeed,function(){$(clicked).parents('li:eq(0)').addClass(settings.selectedClass).siblings().removeClass(settings.selectedClass);if(typeof onHide=='function'){onHide(clicked,toShow[0],toHide[0]);}var resetCSS={display:'',overflow:'',height:''};if(!$.browser.msie){resetCSS['opacity']='';}toHide.addClass(settings.hideClass).css(resetCSS);toShow.removeClass(settings.hideClass).animate(showAnim,showSpeed,function(){toShow.css(resetCSS);if($.browser.msie){toHide[0].style.filter='';toShow[0].style.filter='';}if(typeof onShow=='function'){onShow(clicked,toShow[0],toHide[0]);}container['locked']=null;});});}if(!settings.remote){switchTab();}else{$(clicked).trigger('loadRemoteTab',[switchTab]);}}else{alert('There is no such container.');}var scrollX=window.pageXOffset||document.documentElement&&document.documentElement.scrollLeft||document.body.scrollLeft||0;var scrollY=window.pageYOffset||document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop||0;setTimeout(function(){window.scrollTo(scrollX,scrollY);},0);this.blur();return settings.bookmarkable&&!!trueClick;});if(settings.bookmarkable){$.ajaxHistory.initialize(function(){tabs.eq(settings.initial).trigger('click').end();});}});};var tabEvents=['triggerTab','disableTab','enableTab'];for(var i=0;i<tabEvents.length;i++){$.fn[tabEvents[i]]=(function(tabEvent){return function(tab){return this.each(function(){var nav=$('ul.tabs-nav',this);nav=nav.size()&&nav||$('>ul:eq(0)',this);var a;if(!tab||typeof tab=='number'){a=$('li a',nav).eq((tab&&tab>0&&tab-1||0));}else if(typeof tab=='string'){a=$('li a[@href$="#'+tab+'"]',nav);}a.trigger(tabEvent);});};})(tabEvents[i]);}$.fn.activeTab=function(){var selectedTabs=[];this.each(function(){var nav=$('ul.tabs-nav',this);nav=nav.size()&&nav||$('>ul:eq(0)',this);var lis=$('li',nav);selectedTabs.push(lis.index(lis.filter('.tabs-selected')[0])+1);});return selectedTabs[0];};})(jQuery);
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/jquery.twostatebutton.js" 
 *
 */jQuery.newClass('letram.tofou.TwoStateButton',{init:function(){this.element=null;this.selected=false;this.currentState=false;this.part=jQuery.classes.letram.tofou.TwoStateButton.DEFAULT_PART;this.state={normal:{on:null,off:null},selected:{on:null,off:null}};this.sourceType=jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_IMAGE;this.suffix={normal:{on:jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_NORMAL_ON,off:jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_NORMAL_OFF},selected:{on:jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_SELECTED_ON,off:jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_SELECTED_OFF}};this.listeners=[];},statics:{DEFAULT_PART:3,IMAGE_NORMAL_OFF:0,IMAGE_NORMAL_ON:1,IMAGE_SELECTED_OFF:2,IMAGE_SELECTED_ON:3,MODE_GENERATE_URL:0,MODE_ALL_DEFINED:1,SOURCE_TYPE_IMAGE:0,SOURCE_TYPE_BACKGROUND:1,SUFFIX_NORMAL_OFF:'a',SUFFIX_NORMAL_ON:'b',SUFFIX_SELECTED_OFF:'c',SUFFIX_SELECTED_ON:'d',TOGGLE_IMAGE:function(){return this.$.classes.TwoStateButton.toggleImage();},TOGGLE_STATE:function(){return this.$.classes.TwoStateButton.toggleState();},isSelectedSource:function(src){var fi=src.getUrlInfo('-');if(fi===null){return false;};return fi.suffix==jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_SELECTED_ON||fi.suffix==jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_SELECTED_OFF;},subscribes:function(element,settings){var self=element;var options=jQuery.extend({mode:jQuery.classes.letram.tofou.TwoStateButton.MODE_GENERATE_URL,url:null,part:jQuery.classes.letram.tofou.TwoStateButton.DEFAULT_PART,source:jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_IMAGE,selected:false,images:{normal:{on:null,off:null},selected:{on:null,off:null}},onCreate:null},settings);if((!options.mode)||((options.mode!=jQuery.classes.letram.tofou.TwoStateButton.MODE_ALL_DEFINED)&&(options.mode!=jQuery.classes.letram.tofou.TwoStateButton.MODE_GENERATE_URL))){options.mode=jQuery.classes.letram.tofou.TwoStateButton.MODE_GENERATE_URL;};if(!options.url){options.url=null;};if((!options.source)||((options.source!=jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_IMAGE)&&(options.source!=jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_BACKGROUND))){options.source=jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_IMAGE;};$tools.$(self);self.$.classes.TwoStateButton=new jQuery.classes.letram.tofou.TwoStateButton();self.$.classes.TwoStateButton.element=self;self.$.classes.TwoStateButton.part=options.part;self.$.classes.TwoStateButton.sourceType=(self.nodeName.toLowerCase()=='img')?jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_IMAGE:jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_BACKGROUND;if(options.mode==jQuery.classes.letram.tofou.TwoStateButton.MODE_GENERATE_URL){self.$.classes.TwoStateButton.setImage(options.url,options.part);}else{if(options.normal){if(options.normal.on){self.$.classes.TwoStateButton.setOnImage(options.normal.on);};if(options.normal.off){self.$.classes.TwoStateButton.setOffImage(options.normal.off);};};if(options.selected){if(options.selected.on){self.$.classes.TwoStateButton.setSelectedOnImage(options.selected.on);};if(options.selected.off){self.$.classes.TwoStateButton.setSelectedOffImage(options.selected.off);};};};$(self).bind('mouseover',jQuery.classes.letram.tofou.TwoStateButton.TOGGLE_IMAGE).bind('mouseout',jQuery.classes.letram.tofou.TwoStateButton.TOGGLE_IMAGE).bind('click',jQuery.classes.letram.tofou.TwoStateButton.TOGGLE_STATE);if(options.onCreate!=null){options.onCreate.apply(self,[]);};}},methods:{getSourceImage:function(){if(!this.element.src){return null;};return this.element.src.unQuote('url(',')').unQuote();},getBackgroundImage:function(){url=$(this.element).css('background-image');if(!$tools.exists(url)){url=new String(this.element.getActualStyle('backgroundImage'));};if(!$tools.exists(url)){return null;};return url.unQuote('url(',')').unQuote();},setImage:function(url){if(url==null){if(!this.element){return false;};if(this.sourceType==jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_IMAGE){url=this.getSourceImage();}else if(this.sourceType==jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_BACKGROUND){url=this.getBackgroundImage();};if(!$tools.exists(url)){return false;};};switch(this.part){case 2:{this.set2Images(url);}break;case 3:{this.set3Images(url);}break;case 4:{this.set4Images(url);}break;default:{this.setOffImage(url);this.setOnImage(url);this.setSelectedOffImage(url);this.setSelectedOnImage(url);}break;};return true;},set2Images:function(url){var fi=(new String(url)).getUrlInfo('-');if(fi===null){return;};this.setOffImage(url);this.setOnImage(fi.changeSuffix(jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_NORMAL_ON));this.setSelectedOffImage(fi.changeSuffix(jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_NORMAL_OFF));this.setSelectedOnImage(fi.changeSuffix(jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_NORMAL_ON));},set3Images:function(url){var fi=(new String(url)).getUrlInfo('-');if(fi===null){return;};this.setOffImage(url);this.setOnImage(fi.changeSuffix(jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_NORMAL_ON));this.setSelectedOffImage(fi.changeSuffix(jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_SELECTED_OFF));this.setSelectedOnImage(fi.changeSuffix(jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_SELECTED_OFF));},set4Images:function(url){var fi=(new String(url)).getUrlInfo('-');if(fi===null){return;};this.setOffImage(url);this.setOnImage(fi.changeSuffix(jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_NORMAL_ON));this.setSelectedOffImage(fi.changeSuffix(jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_SELECTED_OFF));this.setSelectedOnImage(fi.changeSuffix(jQuery.classes.letram.tofou.TwoStateButton.SUFFIX_SELECTED_ON));},setOffImage:function(url){var img=new Image();img.src=url;this.state.normal.off=img.src;},setOnImage:function(url){var img=new Image();img.src=url;this.state.normal.on=img.src;},setSelectedOffImage:function(url){var img=new Image();img.src=url;this.state.selected.off=img.src;},setSelectedOnImage:function(url){var img=new Image();img.src=url;this.state.selected.on=img.src;},on:function(){if(this.element==null){return true;};var tmp=null;if(this.selected==true){if(this.sourceType==jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_IMAGE){if(this.element.src!=this.state.selected.on){this.element.src=this.state.selected.on;};}else if(this.sourceType==jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_BACKGROUND){if(this.getBackgroundImage()!=this.state.selected.on){$(this.element).css('background-image','url('+this.state.selected.on+')');};};}else{if(this.sourceType==jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_IMAGE){if(this.element.src!=this.state.normal.on){this.element.src=this.state.normal.on;};}else if(this.sourceType==jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_BACKGROUND){if(this.getBackgroundImage()!=this.state.normal.on){$(this.element).css('background-image','url('+this.state.normal.on+')');};};};this.currentState=true;return true;},off:function(){if(this.element==null){return true;};if(this.selected==true){if(this.sourceType==jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_IMAGE){if(this.element.src!=this.state.selected.off){this.element.src=this.state.selected.off;};}else if(this.sourceType==jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_BACKGROUND){if(this.getBackgroundImage()!=this.state.selected.off){$(this.element).css('background-image','url('+this.state.selected.off+')');};};}else{if(this.sourceType==jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_IMAGE){if(this.element.src!=this.state.normal.off){this.element.src=this.state.normal.off;};}else if(this.sourceType==jQuery.classes.letram.tofou.TwoStateButton.SOURCE_TYPE_BACKGROUND){if(this.getBackgroundImage()!=this.state.normal.off){$(this.element).css('background-image','url('+this.state.normal.off+')');};};};this.currentState=false;return true;},toggleImage:function(){return(this.currentState==true)?this.off():this.on();},unselect:function(){if(this.element==null){return true;};this.selected=false;return this.toggleImage();},select:function(){if(this.element==null){return true;};this.selected=true;return this.toggleImage();},toggleState:function(){if(this.element==null){return true;};return(this.selected==true)?this.unselect():this.select();}}});jQuery.fn.twoState=function(){var selected=$tools.coalesce(arguments[0],[]);var settings=$tools.coalesce(arguments[1],{checkUrl:true});return this.each(function(){var setting=jQuery.extend({},settings);var pr=this.parentNode;if((pr.href!=window.location)||(pr.nodeName.toLowerCase()!='a')){pr=null;};if((0<=selected.indexOf(this.id))||((pr!=null)&&(setting.checkUrl==true))||(jQuery.classes.letram.tofou.TwoStateButton.isSelectedSource(this.src))){var _onCreate=setting.onCreate||function(){};setting.onCreate=function(){arguments.callee._onCreate.apply(this,[]);this.$.classes.TwoStateButton.select();if(pr){$(pr).bind('click',function(event){event.preventDefault();event.stopPropagation();return false;}).css('cursor','default');};if([1,3].contains(this.$.classes.TwoStateButton.part)){$(this).unbind('click',jQuery.classes.letram.tofou.TwoStateButton.TOGGLE_STATE).unbind('mouseover',jQuery.classes.letram.tofou.TwoStateButton.TOGGLE_IMAGE).unbind('mouseout',jQuery.classes.letram.tofou.TwoStateButton.TOGGLE_IMAGE);};};setting.onCreate._onCreate=_onCreate;};jQuery.classes.letram.tofou.TwoStateButton.subscribes(this,setting);});};
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/jquery-form-ajax.js" 
 *
 */
jQuery.fn.ajaxSubmit=function(target,post_cb,pre_cb,url,mth,semantic){var a=this.formToArray(semantic);if(pre_cb&&pre_cb.constructor==Function&&pre_cb(a,this)===false)return;url=url||this.attr('action')||'';mth=(mth||this.attr('method')||'GET').toUpperCase();var q=jQuery.param(a);var get=mth=='GET';if(get)url=url+'?'+q;var t=target||post_cb||function(r){if(r.responseText)eval.call(window,r.responseText)};if(t&&t.constructor!=Function)
jQuery(t).load(url,get?null:a,post_cb);else
jQuery.ajax({url:url,success:t,data:get?null:q,type:mth});return this;};jQuery.fn.ajaxForm=function(target,post_cb,pre_cb,semantic){return this.each(function(){jQuery("input[@type=submit],input[@type=image]",this).click(function(ev){this.form.clk=this;if(ev.offsetX!=undefined){this.form.clk_x=ev.offsetX;this.form.clk_y=ev.offsetY;}else if(typeof jQuery.fn.offset=='function'){var offset=$(this).offset();this.form.clk_x=ev.pageX-offset.left;this.form.clk_y=ev.pageY-offset.top;}else{this.form.clk_x=ev.pageX-this.offsetLeft;this.form.clk_y=ev.pageY-this.offsetTop;}})}).submit(function(e){jQuery(this).ajaxSubmit(target,post_cb,pre_cb,null,null,semantic);return false;});};jQuery.fn.formToArray=function(semantic){var a=[];var q=semantic?':input':'input,textarea,select,button';jQuery(q,this).each(function(){var n=this.name;var t=this.type;if(!n||this.disabled||t=='reset'||(t=='checkbox'||t=='radio')&&!this.checked||(t=='submit'||t=='image'||t=='button')&&this.form&&this.form.clk!=this||this.tagName.toLowerCase()=='select'&&this.selectedIndex==-1)
return;if(t=='image'&&this.form.clk_x!=undefined)
return a.push({name:n+'_x',value:this.form.clk_x},{name:n+'_y',value:this.form.clk_y});if(t=='select-multiple'){jQuery('option:selected',this).each(function(){a.push({name:n,value:this.value});});return;}
a.push({name:n,value:this.value});});return a;};jQuery.fn.serialize=function(semantic){return jQuery.param(this.formToArray(semantic));};
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/jquery-tweenbox.js" 
 *
 */
new function(){var prev;var nex;var setup=false;var gallerySetup=false;var urlType;var curViewing=0;var params;var pos=function(){};$.fn.tweenbox=function(url){$.tweenbox.routeUrl(url)}
$.tweenbox={routeUrl:function(url){var urlString=/\.jpg|\.jpeg|\.png|\.gif|\.html|\.htm|\.php|\.cfm|\.asp|\.aspx|\.jsp|\.jst|\.rb|\.txt/g;urlType=url.toLowerCase().match(urlString);var queryString=url.replace(/^[^\?]+\??/,'');params=parseQuery(queryString);if(!params.type)params.type="tween";if(!params.speed)params.speed=300;if(setup===true){try{this[params.type](url);}catch(e){alert("method '"+params.type+"' not working properly. Error = "+e.message);}}else{this.setupTweenBox(url);}},launchPanel:function(){var self=this;if(document.getElementById('tweenLoad')!=null){$('#tweenLoad').remove();setTimeout(function(){this.launchPanel();},10);return;}
$("body").append('<div id="tweenLoad">'+'<img src="'+$.tweenbox.constants.repository+'images/circle_animation.gif" />'+'</div>'+'<div id="tweenOverlay"></div>'+'<div id="tweenWindow">'+'<div id="tweenClose"></div>'+'<div id="tweenContent"></div>'+'</div>');if(params.decorate)$.tweenbox.decorate[params.decorate]();$("#tweenOverlay, #tweenClose").bind("click",function(){self.tearDown()});$('select').hide();overlaySize();load_position();$("#tweenOverlay").fadeTo(300,.6);$("#tweenWindow").fadeTo(300,1);},closePanel:function(){var onCompleteOption=arguments.length<1?function(){}:arguments[0];var onComplete=function(){$('#tweenWindow,#tweenOverlay,#tweenLoad').remove();setup=false;onCompleteOption();}
$("#tweenWindow").fadeTo(300,0);$("#tweenOverlay").fadeTo(300,0,onComplete);},setupTweenBox:function(url){var self=this;this.launchPanel();if(params.setup=="gallery"||urlType=='.jpg'||urlType=='.jpeg'||urlType=='.png'||urlType=='.gif'){$("#tweenContent").append('<div id="tweenGalleryLeft"><a href=""></a></div>'+'<div id="tweenGalleryRight"><a href=""></a></div>').css("display","none");if(params.decorate=="shadow")
$("#tweenGalleryRight a").css("right","-34px");$("#tweenContent").prepend('<div id="tweenImageBox"></div>');setup=true;this.doTweenGallery(url,params);return;}
if(urlType=='.htm'||urlType=='.html'||urlType=='.php'||urlType=='.asp'||urlType=='.aspx'||urlType=='.jsp'||urlType=='.jst'||urlType=='.rb'||urlType=='.txt'||urlType=='.cfm'||(url.indexOf('TB_inline')!=-1)){setup=true;this.doTweenBox(url,params);return;}},doTweenGallery:function(url,params){var self=this;var pagesize=getPageSize();var arrayPageScroll=getPageScrollTop();this.position();$.post(url,{},function(json){$("#tweenLoad").fadeOut();$("#tweenWindow").show();eval("var args = "+json);imageArray=new Array();var i=0;for(j in args){imageArray[i++]=args[j];}
self.tweenImage(imageArray,curViewing);});},doTweenBox:function(url,params){var self=this;$("#tweenContent").load(url,function(){var thisTweenContent=this;self.position(thisTweenContent);getTweenLinks("#tweenContent a");$("#tweenLoad").remove();$("#tweenWindow").show();});},tween:function(url){var tweenContent=$("#tweenContent");var tweenWindow=$("#tweenWindow");var pagesize=getPageSize();var arrayPageScroll=getPageScrollTop();tweenContent.notAuto=true;tweenContent.fadeOut(parseInt(params.speed/2),function(){tweenContent.load(url,function(){getTweenLinks("#tweenContent a");var width=getWidth(this);var height=getHeight(this);tweenWindow.animate({left:parseInt((pagesize[0]-width)/2),width:parseInt(width)},parseInt(params.speed),function(){tweenWindow.animate({height:parseInt(height),top:parseInt(arrayPageScroll[1]+((pagesize[1]-height)/2))},parseInt(params.speed),function(){tweenContent.fadeIn(parseInt(params.speed/2));});});});});},imageCompleteCheck:function(curImage,k,pagesize,self,gallerySetup,params){if(!curImage.complete){$("#tweenLoad").html('loading'+k);return setTimeout($.tweenbox.imageCompleteCheck,k++,10);}else{$("#tweenLoad").hide();var x=pagesize[0]-100;var y=pagesize[1]-100;imageWidth=curImage.width;imageHeight=curImage.height;if(imageWidth>x){imageHeight=imageHeight*(x/imageWidth);imageWidth=x;if(imageHeight>y){imageWidth=imageWidth*(y/imageHeight);imageHeight=y;}}else if(imageHeight>y){imageWidth=imageWidth*(y/imageHeight);imageHeight=y;if(imageWidth>x){imageHeight=imageHeight*(x/imageWidth);imageWidth=x;}}
$("#tweenImageBox").html('<img src="'+curImage.src+'" height="'+imageHeight+'px" width="'+imageWidth+'px" />');if(gallerySetup===false){$("#tweenGalleryLeft a").bind("click",function(){self.tweenImage(imageArray,prev);return false;});$("#tweenGalleryRight a").bind("click",function(){self.tweenImage(imageArray,nex);return false;});gallerySetup=true;}
$("#tweenWindow").animate({left:parseInt((pagesize[0]-imageWidth)/2),width:parseInt(imageWidth+0)},parseInt(params.speed),function(){$("#tweenWindow").animate({height:parseInt(imageHeight+0),top:parseInt(arrayPageScroll[1]+((pagesize[1]-imageHeight)/2)-30)},parseInt(params.speed),function(){$("#tweenContent").fadeIn(parseInt(params.speed/2))
$("#tweenGalleryLeft a, #tweenGalleryRight a").css({top:(imageHeight/2-20)+"px"});$("#tweenWindow").css("overflow","visible");});});}},tweenImage:function(imageArray,curViewing){var curImage=new Image();var totalImages=imageArray.length;if(curViewing==0)
prev=(totalImages-1);else
prev=curViewing-1;if(curViewing==(totalImages-1))
nex=0;else
nex=curViewing+1;var self=this;curImage.src=imageArray[curViewing];var pagesize=getPageSize();var arrayPageScroll=getPageScrollTop();$("#tweenContent").fadeOut(parseInt(params.speed/2),function(){$("#tweenLoad").css({display:"block",font:"2em arial",color:"#888"});var k=0;$.tweenbox.imageCompleteCheck(curImage,k,pagesize,self,gallerySetup,params);});},position:function(o){var obj=o;var pagesize=getPageSize();var arrayPageScroll=getPageScrollTop();var width=getWidth(obj);var height=getHeight(obj);var newLeft=((pagesize[0]-width)/2);var newTop=(arrayPageScroll[1]+((pagesize[1]-height)/2));newLeft=newLeft<1?0:newLeft;newTop=newTop<1?0:newTop;$("#tweenWindow").css({width:width+"px",height:height+"px",left:newLeft+"px",top:newTop+"px"});overlaySize();},tearDownListener:[],appendTearDownListener:function(f){if(!Function.isInstance(f)){return;}
this.tearDownListener.push(f);},tearDown:function(){var self=this;this.closePanel(function(){self.tearDownListener.forEach(function(fn){fn.apply(this,[]);},self);});}}
function getWidth(o){return(params&&params.width)?params.width:parseInt($.css(o,"width"))}
function getHeight(o){return(params&&params.height)?params.height:parseInt($.css(o,"height"))}
function imageLoadedCheck(){if(!curImage.complete){return false;}else{return true;}}
function overlaySize(){if(window.innerHeight&&window.scrollMaxY){yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){yScroll=document.body.scrollHeight;}else{yScroll=document.body.offsetHeight;}
$("#tweenOverlay").css("height",yScroll+"px");}
function load_position(){var pagesize=getPageSize();var arrayPageScroll=getPageScrollTop();var pageSizeHeight=pagesize[1];var newLeft=((pagesize[0]-100)/2);var newTop=(arrayPageScroll[1]+((pagesize[1]-100)/2));$("#tweenLoad").css({display:"block",left:newLeft+"px",top:newTop+"px"});}
function parseQuery(query){var Params=new Object();if(!query)return Params;var Pairs=query.split(/[;&]/);for(var i=0;i<Pairs.length;i++){var KeyVal=Pairs[i].split('=');if(!KeyVal||KeyVal.length!=2)continue;var key=unescape(KeyVal[0]);var val=unescape(KeyVal[1]);val=val.replace(/\+/g,' ');Params[key]=val;}
return Params;}
function getPageScrollTop(){var yScrolltop;if(self.pageYOffset){yScrolltop=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScrolltop=document.documentElement.scrollTop;}else if(document.body){yScrolltop=document.body.scrollTop;}
arrayPageScroll=new Array('',yScrolltop)
return arrayPageScroll;}
function getPageSize(){var de=document.documentElement;if(document.body.clientWidth&&document.body.clientHeight){return[document.body.clientWidth,document.body.clientHeight];}
var w=window.innerWidth||self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;var h=window.innerHeight||self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight;arrayPageSize=new Array(w,h)
return arrayPageSize;}};$.tweenbox.decorate={shadow:function(){if($.browser.msie){}
$("#tweenClose").css("right","12px");$("#tweenWindow").prepend('<div class="white_tr"></div>'+'<div class="white_tl"></div>'+'<div class="white_bl"></div>').css({background:"url("+$.tweenbox.constants.repository+"images/shadow.gif) right bottom no-repeat",padding:"9px 19px 19px 9px"});}}
$.tweenbox.constants={repository:'/ressources/_global/third/tweenbox/',mainContener:null}
function getTweenLinks(url){$(url).click(function(){var t=this.title||this.name||this.href||null;$("body").tweenbox(this.href);this.blur();return false;});}
$(document).ready(function(){$.tweenbox.constants.mainContener=document.body;getTweenLinks("a.tweenbox");});
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/jquery-spin-button.js" 
 *
 */
$.fn.SpinButton=function(cfg){return this.each(function(){this.spinCfg={min:cfg&&cfg.min?Number(cfg.min):null,max:cfg&&cfg.max?Number(cfg.max):null,step:cfg&&cfg.step?Number(cfg.step):1,page:cfg&&cfg.page?Number(cfg.page):10,upClass:cfg&&cfg.upClass?cfg.upClass:'up',downClass:cfg&&cfg.downClass?cfg.downClass:'down',reset:cfg&&cfg.reset?cfg.reset:cfg.min?Number(cfg.min):0,delay:cfg&&cfg.delay?Number(cfg.delay):500,interval:cfg&&cfg.interval?Number(cfg.interval):100,_img_width:60,_btn_width:20,_btn_height:18,_direction:null,_delay:null,_repeat:null,onAdjustValue:cfg&&cfg.onAdjustValue?cfg.onAdjustValue:function(){}};this.adjustValue=function(i){var v=(isNaN(this.value)?this.spinCfg.reset:Number(this.value))+Number(i);if(this.spinCfg.min!==null)v=Math.max(v,this.spinCfg.min);if(this.spinCfg.max!==null)v=Math.min(v,this.spinCfg.max);var oldValue=arguments[1]||this.value;this.value=v;this.spinCfg.onAdjustValue.apply(this,[this.value,oldValue]);if(this.spinCfg.max!=null&&this.spinCfg.max==this.value&&this.spinCfg._direction==1){$(this).removeClass(this.spinCfg.upClass);}
if(this.spinCfg.min!=null&&this.spinCfg.min==this.value&&this.spinCfg._direction==-1){$(this).removeClass(this.spinCfg.downClass);}};$(this).addClass(cfg&&cfg.spinClass?cfg.spinClass:'spin-button').mousemove(function(e){var x=e.pageX||e.x;var y=e.pageY||e.y;var el=e.target||e.srcElement;var direction=(x>coord(el,'offsetLeft')+this.spinCfg._img_width-this.spinCfg._btn_width)?1:((x<=coord(el,'offsetLeft')+this.spinCfg._btn_width)?-1:0);if(direction!==this.spinCfg._direction){switch(direction){case 1:$(this).removeClass(this.spinCfg.downClass).addClass(this.spinCfg.upClass);break;case-1:$(this).removeClass(this.spinCfg.upClass).addClass(this.spinCfg.downClass);break;default:$(this).removeClass(this.spinCfg.upClass).removeClass(this.spinCfg.downClass);}
this.spinCfg._direction=direction;}
if(this.spinCfg.max!=null&&this.spinCfg.max==this.value&&this.spinCfg._direction==1){$(this).removeClass(this.spinCfg.upClass);}
if(this.spinCfg.min!=null&&this.spinCfg.min==this.value&&this.spinCfg._direction==-1){$(this).removeClass(this.spinCfg.downClass);}}).mouseout(function(){$(this).removeClass(this.spinCfg.upClass).removeClass(this.spinCfg.downClass);this.spinCfg._direction=null;}).mousedown(function(e){if(this.spinCfg._direction!=0){this.adjustValue(this.spinCfg._direction*this.spinCfg.step);}}).dblclick(function(e){if($.browser.msie)
this.adjustValue(this.spinCfg._direction*this.spinCfg.step);}).keydown(function(e){switch(e.keyCode){case 38:this.adjustValue(this.spinCfg.step);break;case 40:this.adjustValue(-this.spinCfg.step);break;case 33:this.adjustValue(this.spinCfg.page);break;case 34:this.adjustValue(-this.spinCfg.page);break;default:{var self=this;var oldValue=this.value;setTimeout(function(){self.adjustValue(0,oldValue);},10);}break;}
return true;}).change(function(e){});});function coord(el,prop){var c=el[prop],b=document.body;while((el=el.offsetParent)&&(el!=b)){if(!$.browser.msie||(el.currentStyle.position!='relative'))
c+=el[prop];}
return c;}};
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/accordion.js" 
 *
 */
window.appendNewEvent('load',function(){[{name:"depliant",nb:10},{name:"depliante",nb:10}].forEach(function(bloc){bloc.nb.times(function(i,sz){var id=this.name+(i+1);var tg=$id(id);if(($exists(tg)!=true)||(tg==null)){return;}
$(tg).find("div.close").each(function(){this.opened=false;}).parent().find("ul").hide();$(tg).find("div.open").each(function(){this.opened=true;}).parent().find("ul").show();$(tg).find("div").click(function(){var self=this;var img=$(this).find("img").get(0);var ul=$(this).parent().find("ul");if(self.opened==true){}else{}
ul.slideToggle("slow",function(){self.opened=(self.opened==true)?false:true;if(self.opened){img.src=img.src.getUrlInfo().changeFile("puce_fleche_open.gif");}else{img.src=img.src.getUrlInfo().changeFile("puce_fleche_close.gif");}});});},bloc);});});
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/rj/form.js" 
 *
 */
window.$mozForm=function(){};if(document.documentElement&&document.documentElement.style&&!(''+document.documentElement.style.MozBinding=='undefined')){window.$mozForm=function(){var lst=document.getElementsByTagName('form');var sz=lst.length;var sz2=0;var i=0;var j=0;var fr=null;var labels=null;var label=null;var data=null;var legends=null;var legend=null;var counter=0;var parent=null;var previous=null;var previousInput=null;for(i=0;i<sz;i++){fr=lst[i];if(!fr.$mozFormOk){fr.$mozFormOk=false;}else{continue;}
fr.$mozFormOk=true;DomTools.addHelpers(fr);if(fr.className.findWord('standard')!=true){continue;}
labels=fr.getElementsByTagName('label');sz2=labels.length;for(j=0;j<sz2;j++){label=labels[j];DomTools.addHelpers(label);if(label.parentNode.nodeName.toLowerCase()!='li'){continue;}
if(!!label.className.findWord('no-standard-form-class')){continue;}
if(!!label.previousSibling){previous=label.previousSibling;previousInput=null;while(previous!=null){if(previous.nodeName.toLowerCase()=='input'){previousInput=previous;break;}
previous=previous.previousSibling;}
if((previousInput!==null)&&(previousInput.type=='radio'||previousInput.type=='checkbox')){label.style.textAlign='left';label.style.display='inline';continue;}}
data={content:label.innerHTML,width:DomTools.getActualStyle(label,'width'),span:document.createElement('span')}
data.span.style.display='block';data.span.style.width=data.width;data.span.innerHTML=data.content;label.style.display='-moz-inline-box';label.innerHTML=null;label.appendChild(data.span);data=null;}
data=[];legends=fr.getElementsByTagName('legend');sz2=legends.length;for(j=0;j<sz2;j++){legend=legends[j];counter=0;parent=legend.parentNode;while(parent.nodeName.toLowerCase()!='form'){if(parent.nodeName.toLowerCase()=='fieldset'){counter++;}
parent=parent.parentNode;}
if(1<counter){data.push(legend);}}
legends=data;sz2=legends.length;for(j=0;j<sz2;j++){legend=legends[j];data={content:legend.innerHTML,width:DomTools.getActualStyle(legend,'width'),span:document.createElement('span')}
data.span.style.display='block';data.span.style.width=data.width;data.span.innerHTML=data.content;legend.style.display='-moz-inline-box';legend.innerHTML=null;legend.appendChild(data.span);data=null;legend=null;}}};document.addEventListener("DOMContentLoaded",function(){window.$mozForm();},false);}
window.$standardForm=function(){$('form.standard').each(function(){if(!this.$standardForm){this.$standardForm=false;}else{return;}
this.$standardForm=true;this.$validators=$coalesce(this.$validators,[]);this.$errors=$coalesce(this.$errors,new TreeMap());this.$noerrorPerformers=$coalesce(this.$noerrorPerformers,[]);this.$errorPerformers=$coalesce(this.$errorPerformers,[]);this.$performErrors=function(event){var sz=this.$errorPerformers.length;if(sz<1){return true;}
var i=0;var fn=null;var result=null;var fn=null;for(i=0;i<sz;i++){result=this.$errorPerformers[i].apply(this,[event]);result=$coalesce(result,true);if(result==false){return;}}
return;}
this.$performNoError=function(event){var sz=this.$noerrorPerformers.length;if(sz<1){return true;}
var i=0;var fn=null;var result=null;var fn=null;for(i=0;i<sz;i++){this.$noerrorPerformers[i].apply(this,[event]);}
return;}
this.appendValidator=function(fn){if((fn instanceof Function)!=true){return;}
this.$validators.push(fn);}
this.appendErrorPerformer=function(fn){if((fn instanceof Function)!=true){return;}
this.$errorPerformers.push(fn);}
this.appendNoErrorPerformer=function(fn){if((fn instanceof Function)!=true){return;}
this.$noerrorPerformers.push(fn);}
this.validate=function(){var debug=$coalesce(arguments[0],false);if(!$exists(this.$validators)){return true;}
this.$errors=new TreeMap();var sz=this.$validators.length;if(sz<1){return true;}
var i=0;var fn=null;var result=null;var fn=null;var result=true;var tmp=null;for(i=0;i<sz;i++){if(debug)alert('validator('+i+'):\n'+this.$validators[i]);tmp=this.$validators[i].apply(this,[]);tmp=$coalesce(tmp,true);result=tmp==false?false:result;}
return result;}
$(this).bind('submit',function(event){var validated=this.validate();this.$performNoError(event);if(validated==false){event.preventDefault();event.stopPropagation();this.$performErrors(event);return false;}
return true;});$(this).find('input, textarea').bind('focus',function(){if(this.type&&['radio','checkbox'].contains(this.type)){return;}
$(this).addClass('focused');}).bind('blur',function(){$(this).removeClass('focused');});});};window.appendLoadEvent(function(){window.$standardForm();});
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/SWFObject_v1.4.4/swfobject.js" 
 *
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}
if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}
if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}
deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){if(!document.getElementById){return;}
this.DETECT_KEY=_b?_b:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}
if(id){this.setAttribute("id",id);}
if(w){this.setAttribute("width",w);}
if(h){this.setAttribute("height",h);}
if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(c){this.addParam("bgcolor",c);}
var q=_8?_8:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",_7);this.setAttribute("doExpressInstall",false);var _d=(_9)?_9:window.location;this.setAttribute("xiRedirectUrl",_d);this.setAttribute("redirectUrl","");if(_a){this.setAttribute("redirectUrl",_a);}};deconcept.SWFObject.prototype={setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16.push(key+"="+_18[key]);}
return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");}
_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}
var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}
_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}
return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}
return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}
catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}
catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}
catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}
return _23;};deconcept.PlayerVersion=function(_27){this.major=_27[0]!=null?parseInt(_27[0]):0;this.minor=_27[1]!=null?parseInt(_27[1]):0;this.rev=_27[2]!=null?parseInt(_27[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}
if(this.major>fv.major){return true;}
if(this.minor<fv.minor){return false;}
if(this.minor>fv.minor){return true;}
if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_29){var q=document.location.search||document.location.hash;if(q){var _2b=q.substring(1).split("&");for(var i=0;i<_2b.length;i++){if(_2b[i].substring(0,_2b[i].indexOf("="))==_29){return _2b[i].substring((_2b[i].indexOf("=")+1));}}}
return"";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){if(window.opera||!document.all){return;}
var _2d=document.getElementsByTagName("OBJECT");for(var i=0;i<_2d.length;i++){_2d[i].style.display="none";for(var x in _2d[i]){if(typeof _2d[i][x]=="function"){_2d[i][x]=function(){};}}}};deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};if(typeof window.onunload=="function"){var _30=window.onunload;window.onunload=function(){deconcept.SWFObjectUtil.cleanupSWFs();_30();};}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}};if(typeof window.onbeforeunload=="function"){var oldBeforeUnload=window.onbeforeunload;window.onbeforeunload=function(){deconcept.SWFObjectUtil.prepUnload();oldBeforeUnload();};}else{window.onbeforeunload=deconcept.SWFObjectUtil.prepUnload;}
if(Array.prototype.push==null){Array.prototype.push=function(_31){this[this.length]=_31;return this.length;};}
var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/accordion.js" 
 *
 */
if(jQuery==null)jQuery={};if(jQuery.ruFx==null)jQuery.ruFx={};jQuery.ruFx={accordionBlock:[],accordion:function(bloc){var tg=document.getElementById(bloc.name);if(!tg)return;$(bloc.elt2Click+".closed").each(function(){this.opened=false;}).parent().find(bloc.elt2Hide).hide();$(bloc.elt2Click+".opened").each(function(){this.opened=true;}).parent().find(bloc.elt2Hide).show();$(tg).find(bloc.elt2Click).hover(function(){if(this.opened===false){var img2=$(this).find("img").get(1);if(img2&&bloc.rollOver)img2.src=bloc.rollOver.imgOver;}},function(){if(this.opened===false){var img2=$(this).find("img").get(1);if(img2&&bloc.rollOver)img2.src=bloc.rollOver.imgOut;}});$(tg).find(bloc.elt2Click).click(function(){var that=this,img=$(this).find("img").get(0),img2=$(this).find("img").get(1),div=$(this).parent().find(bloc.elt2Hide);div.slideToggle("slow",function(p1){that.opened=(that.opened==false)?true:false;if(that.opened){if(img&&bloc.puce)img.src=bloc.puce.puceOpened;if(img2&&bloc.rollOver)img2.src=bloc.rollOver.imgOver;}else{if(img&&bloc.puce)img.src=bloc.puce.puceClosed;if(img2&&bloc.rollOver)img2.src=bloc.rollOver.imgOut;}});});},fadeIn:function(elt){var elt=$(elt);elt.css("opacity","1");return elt;},fadeOut:function(elt){var elt=$(elt);elt.css("opacity","0");return elt;}}
/**
 * aggregate from file "/home/jennaderosnay/test/ressources/_global/scripts/full-cache/~sources/jenna.js" 
 *
 */
$(document).ready(function(){var selected=(document.location.pathname=='/')?['menu.main']:[];$('#main_header_nav img').twoState(selected);});$(document).ready(function(){$('button.chevrons').hover(function(){$(this).addClass("hover");},function(){$(this).removeClass("hover");});});window.appendLoadEvent(function(){$.tweenbox.constants={repository:'/ressources/_global/third/tweenbox/'}});