
var Clientcide={version:'754',setAssetLocation:function(baseHref){if(window.StickyWin&&StickyWin.ui){StickyWin.UI.refactor({options:{baseHref:baseHref+'/stickyWinHTML/'}});if(StickyWin.alert){var CGFsimpleErrorPopup=StickyWin.alert.bind(window);StickyWin.alert=function(msghdr,msg,base){return CGFsimpleErrorPopup(msghdr,msg,base||baseHref+"/simple.error.popup");};}}
if(window.TagMaker){TagMaker=TagMaker.refactor({options:{baseHref:baseHref+'/tips/'}});}
if(window.ProductPicker){ProductPicker.refactor({options:{baseHref:baseHref+'/Picker'}});}
if(window.Autocompleter){var AcClientcide={options:{baseHref:baseHref+'/autocompleter/'}};Autocompleter.Base.refactor(AcClientcide);if(Autocompleter.Ajax){["Base","Xhtml","Json"].each(function(c){if(Autocompleter.Ajax[c])Autocompleter.Ajax[c].refactor(AcClientcide);});}
if(Autocompleter.Local)Autocompleter.Local.refactor(AcClientcide);if(Autocompleter.JsonP)Autocompleter.JsonP.refactor(AcClientcide);}
if(window.Lightbox){Lightbox.refactor({options:{assetBaseUrl:baseHref+'/slimbox/'}});}
if(window.Waiter){Waiter.refactor({options:{baseHref:baseHref+'/waiter/'}});}},preLoadCss:function(){if(window.DatePicker)new DatePicker();if(window.ProductPicker)new ProductPicker();if(window.TagMaker)new TagMaker();if(window.StickyWin&&StickyWin.ui)StickyWin.ui();if(window.StickyWin&&StickyWin.pointy)StickyWin.pointy();Clientcide.preloaded=true;return true;},preloaded:false};(function(){if(!window.addEvent)return;var preload=function(){if(window.dbug)dbug.log('preloading clientcide css');if(!Clientcide.preloaded)Clientcide.preLoadCss();};window.addEvent('domready',preload);window.addEvent('load',preload);})();setCNETAssetBaseHref=Clientcide.setAssetLocation;var dbug={logged:[],timers:{},firebug:false,enabled:false,log:function(){dbug.logged.push(arguments);},nolog:function(msg){dbug.logged.push(arguments);},time:function(name){dbug.timers[name]=new Date().getTime();},timeEnd:function(name){if(dbug.timers[name]){var end=new Date().getTime()-dbug.timers[name];dbug.timers[name]=false;dbug.log('%s: %s',name,end);}else dbug.log('no such timer: %s',name);},enable:function(silent){if(dbug.firebug){try{dbug.enabled=true;dbug.log=function(){(console.debug||console.log).apply(console,arguments);};dbug.time=function(){console.time.apply(console,arguments);};dbug.timeEnd=function(){console.timeEnd.apply(console,arguments);};if(!silent)dbug.log('enabling dbug');for(var i=0;i<dbug.logged.length;i++){dbug.log.apply(console,dbug.logged[i]);}
dbug.logged=[];}catch(e){dbug.enable.delay(400);}}},disable:function(){if(dbug.firebug)dbug.enabled=false;dbug.log=dbug.nolog;dbug.time=function(){};dbug.timeEnd=function(){};},cookie:function(set){var value=document.cookie.match('(?:^|;)\\s*jsdebug=([^;]*)');var debugCookie=value?unescape(value[1]):false;if((!$defined(set)&&debugCookie!='true')||($defined(set)&&set)){dbug.enable();dbug.log('setting debugging cookie');var date=new Date();date.setTime(date.getTime()+(24*60*60*1000));document.cookie='jsdebug=true;expires='+date.toGMTString()+';path=/;';}else dbug.disableCookie();},disableCookie:function(){dbug.log('disabling debugging cookie');document.cookie='jsdebug=false;path=/;';}};(function(){var fb=typeof console!="undefined";var debugMethods=['debug','info','warn','error','assert','dir','dirxml'];var otherMethods=['trace','group','groupEnd','profile','profileEnd','count'];function set(methodList,defaultFunction){for(var i=0;i<methodList.length;i++){dbug[methodList[i]]=(fb&&console[methodList[i]])?console[methodList[i]]:defaultFunction;}};set(debugMethods,dbug.log);set(otherMethods,function(){});})();if(typeof console!="undefined"&&console.warn){dbug.firebug=true;var value=document.cookie.match('(?:^|;)\\s*jsdebug=([^;]*)');var debugCookie=value?unescape(value[1]):false;if(window.location.href.indexOf("jsdebug=true")>0||debugCookie=='true')dbug.enable();if(debugCookie=='true')dbug.log('debugging cookie enabled');if(window.location.href.indexOf("jsdebugCookie=true")>0){dbug.cookie();if(!dbug.enabled)dbug.enable();}
if(window.location.href.indexOf("jsdebugCookie=false")>0)dbug.disableCookie();}
Class.refactor=function(orig,props){props=$extend($unlink(props),{Extends:orig});var update=new Class(props);$each(orig,function(v,k){update[k]=update[k]||v;});return update;};$extend(Class.prototype,{refactor:function(props){this.prototype=Class.refactor(this,props).prototype;return this;}});var ToElement=new Class({toElement:function(){return this.element;}});$extend(Browser,{fixPNG:function(el){try{if(Browser.Engine.trident4){el=$(el);if(!el)return el;if(el.get('tag')=="img"&&el.get('src').test(".png")){var vis=el.isVisible();try{dim=el.getSize();}catch(e){}
if(!vis){var before={};['visibility','display','position'].each(function(style){before[style]=this.style[style]||'';},this);this.setStyles({visibility:'hidden',display:'block',position:'absolute'});dim=el.getSize();this.setStyles(before);el.hide();}
var replacement=new Element('span',{id:(el.id)?el.id:'','class':(el.className)?el.className:'',title:(el.title)?el.title:(el.alt)?el.alt:'',styles:{display:vis?'inline-block':'none',width:dim.x,height:dim.y,filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader (src='"
+el.src+"', sizingMethod='scale');"},src:el.src});if(el.style.cssText){try{var styles={};var s=el.style.cssText.split(';');s.each(function(style){var n=style.split(':');styles[n[0]]=n[1];});replacement.setStyle(styles);}catch(e){dbug.log('fixPNG1: ',e)}}
if(replacement.cloneEvents)replacement.cloneEvents(el);replacement.replaces(el);}else if(el.get('tag')!="img"){var imgURL=el.getStyle('background-image');if(imgURL.test(/\((.+)\)/)){el.setStyles({background:'',filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='crop', src="+imgURL.match(/\((.+)\)/)[1]+")"});};}}}catch(e){dbug.log('fixPNG2: ',e)}},pngTest:/\.png$/,scanForPngs:function(el,className){className=className||'fixPNG';if(document.getElements){el=$(el||document.body);el.getElements('img[src$=.png]').addClass(className);}else{var els=$$('img').each(function(img){if(Browser.pngTest(img.src)){img.addClass(className);}});}}});if(Browser.Engine.trident4)window.addEvent('domready',function(){$$('img.fixPNG').each(Browser.fixPNG)});var IframeShim=new Class({Implements:[Options,Events],options:{name:'',className:'iframeShim',display:false,zindex:null,margin:0,offset:{x:0,y:0},browsers:(Browser.Engine.trident4||(Browser.Engine.gecko&&!Browser.Engine.gecko19&&Browser.Platform.mac))},initialize:function(element,options){this.setOptions(options);if(this.options.offset&&this.options.offset.top)this.options.offset.y=this.options.offset.top;if(this.options.offset&&this.options.offset.left)this.options.offset.x=this.options.offset.left;this.element=$(element);this.makeShim();return;},makeShim:function(){this.shim=new Element('iframe');this.id=this.options.name||new Date().getTime()+"_shim";if(!this.options.browsers)return;if(this.element.getStyle('z-Index').toInt()<1||isNaN(this.element.getStyle('z-Index').toInt()))
this.element.setStyle('z-Index',5);var z=this.element.getStyle('z-Index')-1;if($chk(this.options.zindex)&&this.element.getStyle('z-Index').toInt()>this.options.zindex)
z=this.options.zindex;this.shim.setStyles({'position':'absolute','zIndex':z,'border':'none','filter':'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)'}).setProperties({'src':(window.location.protocol=='https')?'://0':'javascript:void(0)','frameborder':'0','scrolling':'no','id':this.id}).addClass(this.options.className);this.element.store('shim',this);var inject=function(){this.shim.inject(this.element,'after');if(this.options.display)this.show();else this.hide();this.fireEvent('onInject');};if(this.options.browsers){if(Browser.Engine.trident&&!IframeShim.ready){window.addEvent('load',inject.bind(this));}else{inject.run(null,this);}}},position:function(shim){if(!this.options.browsers||!IframeShim.ready)return this;var putItBack=this.element.expose();var size=this.element.getSize();putItBack();if($type(this.options.margin)){size.x=size.x-(this.options.margin*2);size.y=size.y-(this.options.margin*2);this.options.offset.x+=this.options.margin;this.options.offset.y+=this.options.margin;}
this.shim.setStyles({'width':size.x,'height':size.y}).setPosition({relativeTo:this.element,offset:this.options.offset});return this;},hide:function(){if(this.options.browsers)this.shim.setStyle('display','none');return this;},show:function(){if(!this.options.browsers)return this;this.shim.setStyle('display','block');return this.position();},dispose:function(){if(this.options.browsers)this.shim.dispose();return this;}});window.addEvent('load',function(){IframeShim.ready=true;});new Native({name:'Date',initialize:Date,protect:true});['now','parse','UTC'].each(function(method){Native.genericize(Date,method,true);});Date.$Methods=new Hash();["Date","Day","FullYear","Hours","Milliseconds","Minutes","Month","Seconds","Time","TimezoneOffset","Week","Timezone","GMTOffset","DayOfYear","LastMonth","UTCDate","UTCDay","UTCFullYear","AMPM","UTCHours","UTCMilliseconds","UTCMinutes","UTCMonth","UTCSeconds"].each(function(method){Date.$Methods.set(method.toLowerCase(),method);});$each({ms:"Milliseconds",year:"FullYear",min:"Minutes",mo:"Month",sec:"Seconds",hr:"Hours"},function(value,key){Date.$Methods.set(key,value);});Date.implement({set:function(key,value){key=key.toLowerCase();var m=Date.$Methods;if(m.has(key))this['set'+m.get(key)](value);return this;},get:function(key){key=key.toLowerCase();var m=Date.$Methods;if(m.has(key))return this['get'+m.get(key)]();return null;},clone:function(){return new Date(this.get('time'));},increment:function(interval,times){return this.multiply(interval,times);},decrement:function(interval,times){return this.multiply(interval,times,false);},multiply:function(interval,times,increment){interval=interval||'day';times=$pick(times,1);increment=$pick(increment,true);var multiplier=increment?1:-1;var month=this.format("%m").toInt()-1;var year=this.format("%Y").toInt();var time=this.get('time');var offset=0;switch(interval){case'year':times.times(function(val){if(Date.isLeapYear(year+val)&&month>1&&multiplier>0)val++;if(Date.isLeapYear(year+val)&&month<=1&&multiplier<0)val--;offset+=Date.$units.year(year+val);});break;case'month':times.times(function(val){if(multiplier<0)val++;var mo=month+(val*multiplier);var year=year;if(mo<0){year--;mo=12+mo;}
if(mo>11||mo<0){year+=(mo/12).toInt()*multiplier;mo=mo%12;}
offset+=Date.$units.month(mo,year);});break;case'day':return this.set('date',this.get('date')+(multiplier*times));default:offset=Date.$units[interval]()*times;break;}
this.set('time',time+(offset*multiplier));return this;},isLeapYear:function(){return Date.isLeapYear(this.get('year'));},clearTime:function(){['hr','min','sec','ms'].each(function(t){this.set(t,0);},this);return this;},diff:function(d,resolution){resolution=resolution||'day';if($type(d)=='string')d=Date.parse(d);switch(resolution){case'year':return d.format("%Y").toInt()-this.format("%Y").toInt();break;case'month':var months=(d.format("%Y").toInt()-this.format("%Y").toInt())*12;return months+d.format("%m").toInt()-this.format("%m").toInt();break;default:var diff=d.get('time')-this.get('time');if(diff<0&&Date.$units[resolution]()>(-1*(diff)))return 0;else if(diff>=0&&diff<Date.$units[resolution]())return 0;return((d.get('time')-this.get('time'))/Date.$units[resolution]()).round();}},getWeek:function(){var day=(new Date(this.get('year'),0,1)).get('date');return Math.round((this.get('dayofyear')+(day>3?day-4:day+3))/7);},getTimezone:function(){return this.toString().replace(/^.*? ([A-Z]{3}).[0-9]{4}.*$/,'$1').replace(/^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/,'$1$2$3');},getGMTOffset:function(){var off=this.get('timezoneOffset');return((off>0)?'-':'+')
+Math.floor(Math.abs(off)/60).zeroise(2)
+(off%60).zeroise(2);},parse:function(str){this.set('time',Date.parse(str));return this;},format:function(f){f=f||"%x %X";if(!this.valueOf())return'invalid date';if(Date.$formats[f.toLowerCase()])f=Date.$formats[f.toLowerCase()];var d=this;return f.replace(/\%([aAbBcdHIjmMpSUWwxXyYTZ])/g,function($1,$2){switch($2){case'a':return Date.$days[d.get('day')].substr(0,3);case'A':return Date.$days[d.get('day')];case'b':return Date.$months[d.get('month')].substr(0,3);case'B':return Date.$months[d.get('month')];case'c':return d.toString();case'd':return d.get('date').zeroise(2);case'H':return d.get('hr').zeroise(2);case'I':return((d.get('hr')%12)||12);case'j':return d.get('dayofyear').zeroise(3);case'm':return(d.get('mo')+1).zeroise(2);case'M':return d.get('min').zeroise(2);case'p':return d.get('hr')<12?'AM':'PM';case'S':return d.get('seconds').zeroise(2);case'U':return d.get('week').zeroise(2);case'W':throw new Error('%W is not supported yet');case'w':return d.get('day');case'x':var c=Date.$cultures[Date.$culture];return d.format('%'+c[0].substr(0,1)+
c[3]+'%'+c[1].substr(0,1)+
c[3]+'%'+c[2].substr(0,1).toUpperCase());case'X':return d.format('%I:%M%p');case'y':return d.get('year').toString().substr(2);case'Y':return d.get('year');case'T':return d.get('GMTOffset');case'Z':return d.get('Timezone');case'%':return'%';}
return $2;});},setAMPM:function(ampm){ampm=ampm.toUpperCase();if(this.format("%H").toInt()>11&&ampm=="AM")
return this.decrement('hour',12);else if(this.format("%H").toInt()<12&&ampm=="PM")
return this.increment('hour',12);return this;}});Date.prototype.compare=Date.prototype.diff;Date.prototype.strftime=Date.prototype.format;Date.$nativeParse=Date.parse;$extend(Date,{$months:['January','February','March','April','May','June','July','August','September','October','November','December'],$days:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],$daysInMonth:function(monthIndex,year){if(Date.isLeapYear(year.toInt())&&monthIndex===1)return 29;return[31,28,31,30,31,30,31,31,30,31,30,31][monthIndex];},$epoch:-1,$era:-2,$units:{ms:function(){return 1},second:function(){return 1000},minute:function(){return 60000},hour:function(){return 3600000},day:function(){return 86400000},week:function(){return 608400000},month:function(monthIndex,year){var d=new Date();return Date.$daysInMonth($pick(monthIndex,d.format("%m").toInt()),$pick(year,d.format("%Y").toInt()))*86400000;},year:function(year){year=year||new Date().format("%Y").toInt();return Date.isLeapYear(year.toInt())?31622400000:31536000000;}},$formats:{db:'%Y-%m-%d %H:%M:%S',compact:'%Y%m%dT%H%M%S',iso8601:'%Y-%m-%dT%H:%M:%S%T',rfc822:'%a, %d %b %Y %H:%M:%S %Z','short':'%d %b %H:%M','long':'%B %d, %Y %H:%M'},isLeapYear:function(yr){return new Date(yr,1,29).getDate()==29;},parseUTC:function(value){var localDate=new Date(value);var utcSeconds=Date.UTC(localDate.get('year'),localDate.get('mo'),localDate.get('date'),localDate.get('hr'),localDate.get('min'),localDate.get('sec'));return new Date(utcSeconds);},parse:function(from){var type=$type(from);if(type=='number')return new Date(from);if(type!='string')return from;if(!from.length)return null;for(var i=0,j=Date.$parsePatterns.length;i<j;i++){var r=Date.$parsePatterns[i].re.exec(from);if(r){try{return Date.$parsePatterns[i].handler(r);}catch(e){dbug.log('date parse error: ',e);return null;}}}
return new Date(Date.$nativeParse(from));},parseMonth:function(month,num){var ret=-1;switch($type(month)){case'object':ret=Date.$months[month.get('mo')];break;case'number':ret=Date.$months[month-1]||false;if(!ret)throw new Error('Invalid month index value must be between 1 and 12:'+index);break;case'string':var match=Date.$months.filter(function(name){return this.test(name);},new RegExp('^'+month,'i'));if(!match.length)throw new Error('Invalid month string');if(match.length>1)throw new Error('Ambiguous month');ret=match[0];}
return(num)?Date.$months.indexOf(ret):ret;},parseDay:function(day,num){var ret=-1;switch($type(day)){case'number':ret=Date.$days[day-1]||false;if(!ret)throw new Error('Invalid day index value must be between 1 and 7');break;case'string':var match=Date.$days.filter(function(name){return this.test(name);},new RegExp('^'+day,'i'));if(!match.length)throw new Error('Invalid day string');if(match.length>1)throw new Error('Ambiguous day');ret=match[0];}
return(num)?Date.$days.indexOf(ret):ret;},fixY2K:function(d){if(!isNaN(d)){var newDate=new Date(d);if(newDate.get('year')<2000&&d.toString().indexOf(newDate.get('year'))<0){newDate.increment('year',100);}
return newDate;}else return d;},$cultures:{'US':['month','date','year','/'],'GB':['date','month','year','/']},$culture:'US',$language:'enUS',$cIndex:function(unit){return Date.$cultures[Date.$culture].indexOf(unit)+1;},$parsePatterns:[{re:/^(\d{1,2})[\.\-\/](\d{1,2})[\.\-\/](\d{2,4})$/,handler:function(bits){var d=new Date();var culture=Date.$cultures[Date.$culture];d.set('year',bits[Date.$cIndex('year')]);d.set('month',bits[Date.$cIndex('month')]-1);d.set('date',bits[Date.$cIndex('date')]);return Date.fixY2K(d);}},{re:/^(\d{1,2})[\.\-\/](\d{1,2})[\.\-\/](\d{2,4})\s(\d{1,2}):(\d{1,2})(\w{2})$/,handler:function(bits){var d=new Date();d.set('year',bits[Date.$cIndex('year')]);d.set('month',bits[Date.$cIndex('month')]-1);d.set('date',bits[Date.$cIndex('date')]);d.set('hr',bits[4]);d.set('min',bits[5]);d.set('ampm',bits[6]);return Date.fixY2K(d);}},{re:/^(\d{1,2})[\.\-\/](\d{1,2})[\.\-\/](\d{2,4})\s(\d{1,2}):(\d{1,2}):(\d{1,2})/,handler:function(bits){var d=new Date();var culture=Date.$cultures[Date.$culture];d.set('year',bits[Date.$cIndex('year')]);d.set('month',bits[Date.$cIndex('month')]-1);d.set('date',bits[Date.$cIndex('date')]);d.set('hours',bits[4]);d.set('minutes',bits[5]);d.set('seconds',bits[6]);return Date.fixY2K(d);}}]});Number.implement({zeroise:function(length){return String(this).zeroise(length);}});String.implement({repeat:function(times){var ret=[];for(var i=0;i<times;i++)ret.push(this);return ret.join('');},zeroise:function(length){return'0'.repeat(length-this.length)+this;}});Hash.implement({getFromPath:function(notation){var source=this.getClean();notation.replace(/\[([^\]]+)\]|\.([^.[]+)|[^[.]+/g,function(match){if(!source)return;var prop=arguments[2]||arguments[1]||arguments[0];source=(prop in source)?source[prop]:null;return match;});return source;},cleanValues:function(method){method=method||$defined;this.each(function(v,k){if(!method(v))this.erase(k);},this);return this;},run:function(){var args=$arguments;this.each(function(v,k){if($type(v)=="function")v.run(args);});}});String.implement({stripTags:function(){return this.replace(/<\/?[^>]+>/gi,'');},parseQuery:function(encodeKeys,encodeValues){encodeKeys=$pick(encodeKeys,true);encodeValues=$pick(encodeValues,true);var vars=this.split(/[&;]/);var rs={};if(vars.length)vars.each(function(val){var keys=val.split('=');if(keys.length&&keys.length==2){rs[(encodeKeys)?encodeURIComponent(keys[0]):keys[0]]=(encodeValues)?encodeURIComponent(keys[1]):keys[1];}});return rs;},tidy:function(){var txt=this.toString();$each({"[\xa0\u2002\u2003\u2009]":" ","\xb7":"*","[\u2018\u2019]":"'","[\u201c\u201d]":'"',"\u2026":"...","\u2013":"-","\u2014":"--","\uFFFD":"&raquo;"},function(value,key){txt=txt.replace(new RegExp(key,'g'),value);});return txt;},cleanQueryString:function(method){return this.split("&").filter(method||function(set){return $chk(set.split("=")[1]);}).join("&");},findAllEmails:function(){return this.match(new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?","gi"))||[];}});Element.implement({tidy:function(){this.set('value',this.get('value').tidy());},getTextInRange:function(start,end){return this.get('value').substring(start,end);},getSelectedText:function(){if(Browser.Engine.trident)return document.selection.createRange().text;return this.get('value').substring(this.getSelectionStart(),this.getSelectionEnd());},getIERanges:function(){this.focus();var range=document.selection.createRange();var re=this.createTextRange();var dupe=re.duplicate();re.moveToBookmark(range.getBookmark());dupe.setEndPoint('EndToStart',re);return{start:dupe.text.length,end:dupe.text.length+range.text.length,length:range.text.length,text:range.text};},getSelectionStart:function(){if(Browser.Engine.trident)return this.getIERanges().start;return this.selectionStart;},getSelectionEnd:function(){if(Browser.Engine.trident)return this.getIERanges().end;return this.selectionEnd;},getSelectedRange:function(){return{start:this.getSelectionStart(),end:this.getSelectionEnd()}},setCaretPosition:function(pos){if(pos=='end')pos=this.get('value').length;this.selectRange(pos,pos);return this;},getCaretPosition:function(){return this.getSelectedRange().start;},selectRange:function(start,end){this.focus();if(Browser.Engine.trident){var range=this.createTextRange();range.collapse(true);range.moveStart('character',start);range.moveEnd('character',end-start);range.select();return this;}
this.setSelectionRange(start,end);return this;},insertAtCursor:function(value,select){var start=this.getSelectionStart();var end=this.getSelectionEnd();this.set('value',this.get('value').substring(0,start)+value+this.get('value').substring(end,this.get('value').length));if($pick(select,true))this.selectRange(start,start+value.length);else this.setCaretPosition(start+value.length);return this;},insertAroundCursor:function(options,select){options=$extend({before:'',defaultMiddle:'SOMETHING HERE',after:''},options);value=this.getSelectedText()||options.defaultMiddle;var start=this.getSelectionStart();var end=this.getSelectionEnd();if(start==end){var text=this.get('value');this.set('value',text.substring(0,start)+options.before+value+options.after+text.substring(end,text.length));this.selectRange(start+options.before.length,end+options.before.length+value.length);text=null;}else{text=this.get('value').substring(start,end);this.set('value',this.get('value').substring(0,start)+options.before+text+options.after+this.get('value').substring(end,this.get('value').length));var selStart=start+options.before.length;if($pick(select,true))this.selectRange(selStart,selStart+text.length);else this.setCaretPosition(selStart+text.length);}
return this;}});Element.Properties.inputValue={get:function(){switch(this.get('tag')){case'select':vals=this.getSelected().map(function(op){var v=$pick(op.get('value'),op.get('text'));return(v=="")?op.get('text'):v;});return this.get('multiple')?vals:vals[0];case'input':switch(this.get('type')){case'checkbox':return this.get('checked')?this.get('value'):false;case'radio':var checked;if(this.get('checked'))return this.get('value');$(this.getParent('form')||document.body).getElements('input').each(function(input){if(input.get('name')==this.get('name')&&input.get('checked'))checked=input.get('value');},this);return checked||null;}
case'input':case'textarea':return this.get('value');default:return this.get('inputValue');}},set:function(value){switch(this.get('tag')){case'select':this.getElements('option').each(function(op){var v=$pick(op.get('value'),op.get('text'));if(v=="")v=op.get('text');op.set('selected',$splat(value).contains(v));});break;case'input':if(['radio','checkbox'].contains(this.get('type'))){this.set('checked',$type(value)=="boolean"?value:$splat(value).contains(this.get('value')));break;}
case'textarea':case'input':this.set('value',value);break;default:this.set('inputValue',value);}
return this;},erase:function(){switch(this.get('tag')){case'select':this.getElements('option').each(function(op){op.erase('selected');});break;case'input':if(['radio','checkbox'].contains(this.get('type'))){this.set('checked',false);break;}
case'input':case'textarea':this.set('value','');break;default:this.set('inputValue','');}
return this;}};Element.implement({expose:function(){if(this.getStyle('display')!='none')return $empty;var before={};var styles={visibility:'hidden',display:'block',position:'absolute'};$each(styles,function(value,style){before[style]=this.style[style]||'';},this);this.setStyles(styles);return(function(){this.setStyles(before);}).bind(this);},getDimensions:function(options){options=$merge({computeSize:false},options);var dim={};function getSize(el,options){return(options.computeSize)?el.getComputedSize(options):el.getSize();};if(this.getStyle('display')=='none'){var restore=this.expose();dim=getSize(this,options);restore();}else{try{dim=getSize(this,options);}catch(e){}}
return $chk(dim.x)?$extend(dim,{width:dim.x,height:dim.y}):$extend(dim,{x:dim.width,y:dim.height});},getComputedSize:function(options){options=$merge({styles:['padding','border'],plains:{height:['top','bottom'],width:['left','right']},mode:'both'},options);var size={width:0,height:0};switch(options.mode){case'vertical':delete size.width;delete options.plains.width;break;case'horizontal':delete size.height;delete options.plains.height;break;};var getStyles=[];$each(options.plains,function(plain,key){plain.each(function(edge){options.styles.each(function(style){getStyles.push((style=="border")?style+'-'+edge+'-'+'width':style+'-'+edge);});});});var styles=this.getStyles.apply(this,getStyles);var subtracted=[];$each(options.plains,function(plain,key){size['total'+key.capitalize()]=0;size['computed'+key.capitalize()]=0;plain.each(function(edge){size['computed'+edge.capitalize()]=0;getStyles.each(function(style,i){if(style.test(edge)){styles[style]=styles[style].toInt();if(isNaN(styles[style]))styles[style]=0;size['total'+key.capitalize()]=size['total'+key.capitalize()]+styles[style];size['computed'+edge.capitalize()]=size['computed'+edge.capitalize()]+styles[style];}
if(style.test(edge)&&key!=style&&(style.test('border')||style.test('padding'))&&!subtracted.contains(style)){subtracted.push(style);size['computed'+key.capitalize()]=size['computed'+key.capitalize()]-styles[style];}});});});if($chk(size.width)){size.width=size.width+this.offsetWidth+size.computedWidth;size.totalWidth=size.width+size.totalWidth;delete size.computedWidth;}
if($chk(size.height)){size.height=size.height+this.offsetHeight+size.computedHeight;size.totalHeight=size.height+size.totalHeight;delete size.computedHeight;}
return $extend(styles,size);}});window.addEvent('domready',function(){var test=new Element('div').setStyles({position:'fixed',top:0,right:0}).inject(document.body);var supported=(test.offsetTop===0);test.dispose();Browser.supportsPositionFixed=supported;});Element.implement({pin:function(enable){if(!Browser.loaded)dbug.log('cannot pin '+this+' natively because the dom is not ready');if(this.getStyle('display')=='none'){dbug.log('cannot pin '+this+' because it is hidden');return;}
if(enable!==false){var p=this.getPosition();if(!this.retrieve('pinned')){var pos={top:(p.y-window.getScroll().y),left:(p.x-window.getScroll().x)};if(Browser.supportsPositionFixed){this.setStyle('position','fixed').setStyles(pos);}else{this.store('pinnedByJS',true);this.setStyles({position:'absolute',top:p.y,left:p.x});this.store('scrollFixer',function(){if(this.retrieve('pinned')){var to={top:(pos.top.toInt()+window.getScroll().y),left:(pos.left.toInt()+window.getScroll().x)};this.setStyles(to);}}.bind(this));window.addEvent('scroll',this.retrieve('scrollFixer'));}
this.store('pinned',true);}}else{var op;if(!Browser.Engine.trident){if(this.getParent().getComputedStyle('position')!='static')op=this.getParent();else op=this.getParent().getOffsetParent();}
var p=this.getPosition(op);this.store('pinned',false);var reposition;if(Browser.supportsPositionFixed&&!this.retrieve('pinnedByJS')){reposition={top:(p.y+window.getScroll().y),left:(p.x+window.getScroll().x)};}else{this.store('pinnedByJS',false);window.removeEvent('scroll',this.retrieve('scrollFixer'));reposition={top:(p.y),left:(p.x)};}
this.setStyles($merge(reposition,{position:'absolute'}));}
return this.addClass('isPinned');},unpin:function(){return this.pin(false).removeClass('isPinned');},togglepin:function(){this.pin(!this.retrieve('pinned'));}});Element.implement({setPosition:function(options){$each(options||{},function(v,k){if(!$defined(v))delete options[k];});options=$merge({relativeTo:document.body,position:{x:'center',y:'center'},edge:false,offset:{x:0,y:0},returnPos:false,relFixedPosition:false,ignoreMargins:false,allowNegative:false},options);var parentOffset={x:0,y:0};var parentPositioned=false;var putItBack=this.expose();var offsetParent=$(this.getOffsetParent());putItBack();if(offsetParent&&offsetParent!=this.getDocument().body){var putItBack=offsetParent.expose();parentOffset=offsetParent.getPosition();putItBack();parentPositioned=true;options.offset.x=options.offset.x-parentOffset.x;options.offset.y=options.offset.y-parentOffset.y;}
function fixValue(option){if($type(option)!="string")return option;option=option.toLowerCase();var val={};if(option.test('left'))val.x='left';else if(option.test('right'))val.x='right';else val.x='center';if(option.test('upper')||option.test('top'))val.y='top';else if(option.test('bottom'))val.y='bottom';else val.y='center';return val;};options.edge=fixValue(options.edge);options.position=fixValue(options.position);if(!options.edge){if(options.position.x=='center'&&options.position.y=='center')options.edge={x:'center',y:'center'};else options.edge={x:'left',y:'top'};}
this.setStyle('position','absolute');var rel=$(options.relativeTo)||document.body;var top=(rel==document.body)?window.getScroll().y:rel.getPosition().y;var left=(rel==document.body)?window.getScroll().x:rel.getPosition().x;var dim=this.getDimensions({computeSize:true,styles:['padding','border','margin']});if(options.ignoreMargins){options.offset.x=options.offset.x-dim['margin-left'];options.offset.y=options.offset.y-dim['margin-top'];}
var pos={};var prefY=options.offset.y.toInt();var prefX=options.offset.x.toInt();switch(options.position.x){case'left':pos.x=left+prefX;break;case'right':pos.x=left+prefX+rel.offsetWidth;break;default:pos.x=left+(((rel==document.body)?window.getSize().x:rel.offsetWidth)/2)+prefX;break;};switch(options.position.y){case'top':pos.y=top+prefY;break;case'bottom':pos.y=top+prefY+rel.offsetHeight;break;default:pos.y=top+(((rel==document.body)?window.getSize().y:rel.offsetHeight)/2)+prefY;break;};if(options.edge){var edgeOffset={};switch(options.edge.x){case'left':edgeOffset.x=0;break;case'right':edgeOffset.x=-dim.x-dim.computedRight-dim.computedLeft;break;default:edgeOffset.x=-(dim.x/2);break;};switch(options.edge.y){case'top':edgeOffset.y=0;break;case'bottom':edgeOffset.y=-dim.y-dim.computedTop-dim.computedBottom;break;default:edgeOffset.y=-(dim.y/2);break;};pos.x=pos.x+edgeOffset.x;pos.y=pos.y+edgeOffset.y;}
pos={left:((pos.x>=0||parentPositioned||options.allowNegative)?pos.x:0).toInt(),top:((pos.y>=0||parentPositioned||options.allowNegative)?pos.y:0).toInt()};if(rel.getStyle('position')=="fixed"||options.relFixedPosition){pos.top=pos.top.toInt()+window.getScroll().y;pos.left=pos.left.toInt()+window.getScroll().x;}
if(options.returnPos)return pos;else this.setStyles(pos);return this;}});Element.implement({isVisible:function(){return this.getStyle('display')!='none';},toggle:function(){return this[this.isVisible()?'hide':'show']();},hide:function(){var d;try{if('none'!=this.getStyle('display'))d=this.getStyle('display');}catch(e){}
this.store('originalDisplay',d||'block');this.setStyle('display','none');return this;},show:function(display){original=this.retrieve('originalDisplay')?this.retrieve('originalDisplay'):this.get('originalDisplay');this.setStyle('display',(display||original||'block'));return this;},swapClass:function(remove,add){return this.removeClass(remove).addClass(add);},fxOpacityOk:function(){return!Browser.Engine.trident4;}});$G=function(elements){return $splat($(elements)||$$(elements));};var StyleWriter=new Class({createStyle:function(css,id){window.addEvent('domready',function(){try{if($(id)&&id)return;var style=new Element('style',{id:id||''}).inject($$('head')[0]);if(Browser.Engine.trident)style.styleSheet.cssText=css;else style.set('text',css);}catch(e){dbug.log('error: %s',e);}}.bind(this));}});var StickyWin=new Class({Implements:[Options,Events,StyleWriter,ToElement],options:{closeClassName:'closeSticky',pinClassName:'pinSticky',content:'',zIndex:10000,className:'',width:false,height:false,timeout:-1,allowMultipleByClass:false,allowMultiple:true,showNow:true,useIframeShim:true,iframeShimSelector:''},css:'.SWclearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}'+'.SWclearfix {display: inline-table;}'+'* html .SWclearfix {height: 1%;}'+'.SWclearfix {display: block;}',initialize:function(options){this.options.inject={target:document.body,where:'bottom'};this.setOptions(options);this.id=this.options.id||'StickyWin_'+new Date().getTime();this.makeWindow();if(this.options.content)this.setContent(this.options.content);if(this.options.timeout>0){this.addEvent('onDisplay',function(){this.hide.delay(this.options.timeout,this)}.bind(this));}
if(this.options.showNow)this.show();this.createStyle(this.css,'StickyWinClearFix');},makeWindow:function(){this.destroyOthers();if(!$(this.id)){this.win=new Element('div',{id:this.id}).addClass(this.options.className).addClass('StickyWinInstance').addClass('SWclearfix').setStyles({display:'none',position:'absolute',zIndex:this.options.zIndex}).inject(this.options.inject.target,this.options.inject.where).store('StickyWin',this);}else this.win=$(this.id);this.element=this.win;if(this.options.width&&$type(this.options.width.toInt())=="number")this.win.setStyle('width',this.options.width.toInt());if(this.options.height&&$type(this.options.height.toInt())=="number")this.win.setStyle('height',this.options.height.toInt());return this;},show:function(){this.fireEvent('onDisplay');this.showWin();if(this.options.useIframeShim)this.showIframeShim();this.visible=true;return this;},showWin:function(){if(!this.positioned)this.position();this.win.show();},hide:function(suppressEvent){if(!suppressEvent)this.fireEvent('onClose');this.hideWin();if(this.options.useIframeShim)this.hideIframeShim();this.visible=false;return this;},hideWin:function(){this.win.setStyle('display','none');},destroyOthers:function(){if(!this.options.allowMultipleByClass||!this.options.allowMultiple){$$('div.StickyWinInstance').each(function(sw){if(!this.options.allowMultiple||(!this.options.allowMultipleByClass&&sw.hasClass(this.options.className)))
sw.retrieve('StickyWin').destroy();},this);}},setContent:function(html){if(this.win.getChildren().length>0)this.win.empty();if($type(html)=="string")this.win.set('html',html);else if($(html))this.win.adopt(html);this.win.getElements('.'+this.options.closeClassName).each(function(el){el.addEvent('click',this.hide.bind(this));},this);this.win.getElements('.'+this.options.pinClassName).each(function(el){el.addEvent('click',this.togglepin.bind(this));},this);return this;},position:function(options){this.positioned=true;this.setOptions(options);this.win.setPosition({allowNegative:true,relativeTo:this.options.relativeTo,position:this.options.position,offset:this.options.offset,edge:this.options.edge});if(this.shim)this.shim.position();return this;},pin:function(pin){if(!this.win.pin){dbug.log('you must include element.pin.js!');return this;}
this.pinned=$pick(pin,true);this.win.pin(pin);return this;},unpin:function(){return this.pin(false);},togglepin:function(){return this.pin(!this.pinned);},makeIframeShim:function(){if(!this.shim){var el=(this.options.iframeShimSelector)?this.win.getElement(this.options.iframeShimSelector):this.win;this.shim=new IframeShim(el,{display:false,name:'StickyWinShim'});}},showIframeShim:function(){if(this.options.useIframeShim){this.makeIframeShim();this.shim.show();}},hideIframeShim:function(){if(this.shim)this.shim.hide();},destroy:function(){if(this.win)this.win.dispose();if(this.options.useIframeShim&&this.shim)this.shim.dispose();if($('modalOverlay'))$('modalOverlay').dispose();}});StickyWin.UI=new Class({Implements:[Options,ToElement,StyleWriter],options:{width:300,css:"div.DefaultStickyWin div.body{font-family:verdana; font-size:11px; line-height: 13px;}"+"div.DefaultStickyWin div.top_ul{background:url({%baseHref%}full.png) top left no-repeat; height:30px; width:15px; float:left}"+"div.DefaultStickyWin div.top_ur{position:relative; left:0px !important; left:-4px; background:url({%baseHref%}full.png) top right !important; height:30px; margin:0px 0px 0px 15px !important; margin-right:-4px; padding:0px}"+"div.DefaultStickyWin h1.caption{clear: none !important; margin:0px 5px 0px 0px !important; overflow: hidden; padding:0 !important; font-weight:bold; color:#555; font-size:14px !important; position:relative; top:8px !important; left:5px !important; float: left; height: 22px !important;}"+"div.DefaultStickyWin div.middle, div.DefaultStickyWin div.closeBody {background:url({%baseHref%}body.png) top left repeat-y; margin:0px 20px 0px 0px !important; margin-bottom: -3px; position: relative; top: 0px !important; top: -3px;}"+"div.DefaultStickyWin div.body{background:url({%baseHref%}body.png) top right repeat-y; padding:8px 30px 8px 0px !important; margin-left:5px !important; position:relative; right:-20px !important;}"+"div.DefaultStickyWin div.bottom{clear:both}"+"div.DefaultStickyWin div.bottom_ll{background:url({%baseHref%}full.png) bottom left no-repeat; width:15px; height:15px; float:left}"+"div.DefaultStickyWin div.bottom_lr{background:url({%baseHref%}full.png) bottom right; position:relative; left:0px !important; left:-4px; margin:0px 0px 0px 15px !important; margin-right:-4px; height:15px}"+"div.DefaultStickyWin div.closeButtons{text-align: center; background:url({%baseHref%}body.png) top right repeat-y; padding: 0px 30px 8px 0px; margin-left:5px; position:relative; right:-20px}"+"div.DefaultStickyWin a.button:hover{background:url({%baseHref%}big_button_over.gif) repeat-x}"+"div.DefaultStickyWin a.button {background:url({%baseHref%}big_button.gif) repeat-x; margin: 2px 8px 2px 8px; padding: 2px 12px; cursor:pointer; border: 1px solid #999 !important; text-decoration:none; color: #000 !important;}"+"div.DefaultStickyWin div.closeButton{width:13px; height:13px; background:url({%baseHref%}closebtn.gif) no-repeat; position: absolute; right: 0px; margin:10px 15px 0px 0px !important; cursor:pointer;top:0px}"+"div.DefaultStickyWin div.dragHandle { width: 11px; height: 25px; position: relative; top: 5px; left: -3px; cursor: move; background: url({%baseHref%}drag_corner.gif); float: left;}",cornerHandle:false,cssClass:'',baseHref:'http://www.cnet.com/html/rb/assets/global/stickyWinHTML/',buttons:[],cssId:'defaultStickyWinStyle',cssClassName:'DefaultStickyWin',closeButton:true},initialize:function(){var args=this.getArgs(arguments);this.setOptions(args.options);this.legacy();var css=this.options.css.substitute({baseHref:this.options.baseHref},/\\?\{%([^}]+)%\}/g);if(Browser.Engine.trident4)css=css.replace(/png/g,'gif');this.createStyle(css,this.options.cssId);this.build();this.setContent(args.caption,args.body);},getArgs:function(){return StickyWin.UI.getArgs.apply(this,arguments);},legacy:function(){var opt=this.options;if(opt.confirmTxt)opt.buttons.push({text:opt.confirmTxt,onClick:opt.onConfirm||$empty});if(opt.closeTxt)opt.buttons.push({text:opt.closeTxt,onClick:opt.onClose||$empty});},build:function(){var opt=this.options;var container=new Element('div',{'class':opt.cssClassName});if(opt.width)container.setStyle('width',opt.width);this.element=container;this.element.store('StickyWinUI',this);if(opt.cssClass)container.addClass(opt.cssClass);var bodyDiv=new Element('div').addClass('body');this.body=bodyDiv;var top_ur=new Element('div').addClass('top_ur');this.top_ur=top_ur;this.top=new Element('div').addClass('top').adopt(new Element('div').addClass('top_ul')).adopt(top_ur);container.adopt(this.top);if(opt.cornerHandle)new Element('div').addClass('dragHandle').inject(top_ur,'top');container.adopt(new Element('div').addClass('middle').adopt(bodyDiv));if(opt.buttons.length>0){var closeButtons=new Element('div').addClass('closeButtons');opt.buttons.each(function(button){if(button.properties&&button.properties.className){button.properties['class']=button.properties.className;delete button.properties.className;}
var properties=$merge({'class':'closeSticky'},button.properties);new Element('a').addEvent('click',button.onClick||$empty).appendText(button.text).inject(closeButtons).setProperties(properties).addClass('button');});container.adopt(new Element('div').addClass('closeBody').adopt(closeButtons));}
container.adopt(new Element('div').addClass('bottom').adopt(new Element('div').addClass('bottom_ll')).adopt(new Element('div').addClass('bottom_lr')));if(this.options.closeButton)container.adopt(new Element('div').addClass('closeButton').addClass('closeSticky'));return this;},makeCaption:function(caption){if(!caption)return this.destroyCaption();this.caption=caption;var opt=this.options;var h1Caption=new Element('h1').addClass('caption');if(opt.width)h1Caption.setStyle('width',(opt.width-(opt.cornerHandle?70:60)));if($(this.caption))h1Caption.adopt(this.caption);else h1Caption.set('html',this.caption);this.top_ur.adopt(h1Caption);this.h1=h1Caption;if(!this.options.cornerHandle)this.h1.addClass('dragHandle');return this;},destroyCaption:function(){if(this.h1){this.h1.destroy();this.h1=null;}
return this;},setContent:function(){var args=this.getArgs.apply(this,arguments);var caption=args.caption;var body=args.body;if(this.h1)this.destroyCaption();this.makeCaption(caption);if($(body))this.body.empty().adopt(body);else this.body.set('html',body);return this;}});StickyWin.UI.getArgs=function(){var input=$type(arguments[0])=="arguments"?arguments[0]:arguments;var cap=input[0],bod=input[1];var args=Array.link(input,{options:Object.type});if(input.length==3||(!args.options&&input.length==2)){args.caption=cap;args.body=bod;}else if(($type(bod)=='object'||!bod)&&cap&&$type(cap)!='object'){args.body=cap;}
return args;};StickyWin.ui=function(caption,body,options){return $(new StickyWin.UI(caption,body,options))};var DatePicker;(function(){var DPglobal=function(){if(DatePicker.pickers)return;DatePicker.pickers=[];DatePicker.hideAll=function(){DatePicker.pickers.each(function(picker){picker.hide();});};};DatePicker=new Class({Implements:[Options,Events,StyleWriter],options:{format:"%x",defaultCss:'div.calendarHolder {height:177px;position: absolute;top: -21px !important;top: -27px;left: -3px;width: 100%;}'+'div.calendarHolder table.cal {margin-right: 15px !important;margin-right: 8px;width: 205px;}'+'div.calendarHolder td {text-align:center;}'+'div.calendarHolder tr.dayRow td {padding: 2px;width: 22px;cursor: pointer;}'+'div.calendarHolder table.datePicker * {font-size:11px;line-height:16px;}'+'div.calendarHolder table.datePicker {margin: 0;padding:0 5px;float: left;}'+'div.calendarHolder table.datePicker table.cal td {cursor:pointer;}'+'div.calendarHolder tr.dateNav {font-weight: bold;height:22px;margin-top:8px;}'+'div.calendarHolder tr.dayNames {height: 23px;}'+'div.calendarHolder tr.dayNames td {color:#666;font-weight:700;border-bottom:1px solid #ddd;}'+'div.calendarHolder table.datePicker tr.dayRow td:hover {background:#ccc;}'+'div.calendarHolder table.datePicker tr.dayRow td {margin: 1px;}'+'div.calendarHolder td.today {color:#bb0904;}'+'div.calendarHolder td.otherMonthDate {border:1px solid #fff;color:#ccc;background:#f3f3f3 !important;margin: 0px !important;}'+'div.calendarHolder td.selectedDate {border: 1px solid #20397b;background:#dcddef;margin: 0px !important;}'+'div.calendarHolder a.leftScroll, div.calendarHolder a.rightScroll {cursor: pointer; color: #000}'+'div.datePickerSW div.body {height: 160px !important;height: 149px;}'+'div.datePickerSW .clearfix:after {content: ".";display: block;height: 0;clear: both;visibility: hidden;}'+'div.datePickerSW .clearfix {display: inline-table;}'+'* html div.datePickerSW .clearfix {height: 1%;}'+'div.datePickerSW .clearfix {display: block;}',calendarId:false,stickyWinOptions:{draggable:true,dragOptions:{},position:"bottomLeft",offset:{x:10,y:10},fadeDuration:400},stickyWinUiOptions:{},updateOnBlur:true,additionalShowLinks:[],showOnInputFocus:true,useDefaultCss:true,hideCalendarOnPick:true,weekStartOffset:0,showMoreThanOne:true},initialize:function(input,options){DPglobal();if($(input))this.inputs=$H({start:$(input)});this.today=new Date();var StickyWinToUse=(typeof StickyWin.Fx=="undefined")?StickyWin:StickyWin.Fx;this.setOptions({stickyWinToUse:StickyWinToUse},options);if(this.options.useDefaultCss)this.createStyle(this.options.defaultCss,'datePickerStyle');if(!this.inputs)return;this.whens=this.whens||['start'];if(!this.calendarId)this.calendarId="popupCalendar"+new Date().getTime();this.setUpObservers();this.getCalendar();this.formValidatorInterface();DatePicker.pickers.push(this);},formValidatorInterface:function(){this.inputs.each(function(input){var props;if(input.get('validatorProps')){try{props=JSON.decode(input.get('validatorProps'));}catch(e){}}
if(props&&props.dateFormat){dbug.log('using date format specified in validatorProps property of element to play nice with FormValidator');this.setOptions({format:props.dateFormat});}else{if(!props)props={};props.dateFormat=this.options.format;input.set('validatorProps',JSON.encode(props));}},this);},calWidth:280,inputDates:{},selectedDates:{},setUpObservers:function(){this.inputs.each(function(input){if(this.options.showOnInputFocus)input.addEvent('focus',this.show.bind(this));input.addEvent('blur',function(e){if(e){this.selectedDates=this.getDates(null,true);this.fillCalendar(this.selectedDates.start);if(this.options.updateOnBlur)this.updateInput();}}.bind(this));},this);this.options.additionalShowLinks.each(function(lnk){$(lnk).addEvent('click',this.show.bind(this))},this);},getDates:function(dates,getFromInputs){var d={};if(!getFromInputs)dates=dates||this.selectedDates;var getFromInput=function(when){var input=this.inputs.get(when);if(input)d[when]=this.validDate(input.get('value'));}.bind(this);this.whens.each(function(when){switch($type(dates)){case"object":if(dates)d[when]=dates[when]?dates[when]:dates;if(!d[when]&&!d[when].format)getFromInput(when);break;default:getFromInput(when);break;}
if(!d[when])d[when]=this.selectedDates[when]||new Date();},this);return d;},updateInput:function(){var d={};$each(this.getDates(),function(value,key){var input=this.inputs.get(key);if(!input)return;input.set('value',(value)?this.formatDate(value)||"":"");},this);return this;},validDate:function(val){if(!$chk(val))return null;var date=Date.parse(val.trim());return isNaN(date)?null:date;},formatDate:function(date){return date.format(this.options.format);},getCalendar:function(){if(!this.calendar){var cal=new Element("table",{'id':this.options.calendarId||'','border':'0','cellpadding':'0','cellspacing':'0','class':'datePicker'});var tbody=new Element('tbody').inject(cal);var rows=[];(8).times(function(i){var row=new Element('tr').inject(tbody);(7).times(function(i){var td=new Element('td').inject(row).set('html','&nbsp;');});});var rows=tbody.getElements('tr');rows[0].addClass('dateNav');rows[1].addClass('dayNames');(6).times(function(i){rows[i+2].addClass('dayRow');});this.rows=rows;var dayCells=rows[1].getElements('td');dayCells.each(function(cell,i){cell.firstChild.data=Date.$days[(i+this.options.weekStartOffset)%7].substring(0,3);},this);[6,5,4,3].each(function(i){rows[0].getElements('td')[i].dispose()});this.prevLnk=rows[0].getElement('td').setStyle('text-align','right');this.prevLnk.adopt(new Element('a').set('html',"&lt;").addClass('rightScroll'));this.month=rows[0].getElements('td')[1];this.month.set('colspan',5);this.nextLnk=rows[0].getElements('td')[2].setStyle('text-align','left');this.nextLnk.adopt(new Element('a').set('html','&gt;').addClass('leftScroll'));cal.addEvent('click',this.clickCalendar.bind(this));this.calendar=cal;this.container=new Element('div').adopt(cal).addClass('calendarHolder');this.content=StickyWin.ui('',this.container,$merge(this.options.stickyWinUiOptions,{cornerHandle:this.options.stickyWinOptions.draggable,width:this.calWidth}));var opts=$merge(this.options.stickyWinOptions,{content:this.content,className:'datePickerSW',allowMultipleByClass:true,showNow:false,relativeTo:this.inputs.get('start')});this.stickyWin=new this.options.stickyWinToUse(opts);this.stickyWin.addEvent('onDisplay',this.positionClose.bind(this));this.container.setStyle('z-index',this.stickyWin.win.getStyle('z-index').toInt()+1);}
return this.calendar;},positionClose:function(){if(this.closePositioned)return;var closer=this.content.getElement('div.closeButton');if(closer){closer.inject(this.container,'after').setStyle('z-index',this.stickyWin.win.getStyle('z-index').toInt()+2);(function(){this.content.setStyle('width',this.calendar.getSize().x+(this.options.time?240:40));closer.setPosition({relativeTo:this.stickyWin.win.getElement('.top'),position:'upperRight',edge:'upperRight'});}).delay(3,this);}
this.closePositioned=true;},hide:function(){this.stickyWin.hide();this.fireEvent('onHide');return this;},hideOthers:function(){DatePicker.pickers.each(function(picker){if(picker!=this)picker.hide();});return this;},show:function(){this.selectedDates={};var dates=this.getDates(null,true);this.whens.each(function(when){this.inputDates[when]=dates[when]?dates[when].clone():dates.start?dates.start.clone():this.today;this.selectedDates[when]=!this.inputDates[when]||isNaN(this.inputDates[when])?this.today:this.inputDates[when].clone();this.getCalendar(when);},this);this.fillCalendar(this.selectedDates.start);if(!this.options.showMoreThanOne)this.hideOthers();this.stickyWin.show();this.fireEvent('onShow');return this;},handleScroll:function(e){if(e.target.hasClass('rightScroll')||e.target.hasClass('leftScroll')){var newRef=e.target.hasClass('rightScroll')?this.rows[2].getElement('td').refDate-Date.$units.day():this.rows[7].getElements('td')[6].refDate+Date.$units.day();this.fillCalendar(new Date(newRef));return true;}
return false;},setSelectedDates:function(e,newDate){this.selectedDates.start=newDate;},onPick:function(){this.updateSelectors();this.inputs.each(function(input){input.fireEvent("change");input.fireEvent("blur");});this.fireEvent('onPick');if(this.options.hideCalendarOnPick)this.hide();},clickCalendar:function(e){if(this.options.format=="%d/%m/%Y")Date.$culture="GB";if(this.handleScroll(e))return;if(!e.target.firstChild||!e.target.firstChild.data)return;var val=e.target.firstChild.data;if(e.target.refDate){var newDate=new Date(e.target.refDate);this.setSelectedDates(e,newDate);this.updateInput();this.onPick();}},fillCalendar:function(date){if($type(date)=="string")date=new Date(date);var startDate=(date)?new Date(date.getTime()):new Date();var hours=startDate.get('hours');startDate.setDate(1);startDate.setTime((startDate.getTime()-(Date.$units.day()*(startDate.getDay())))+
(Date.$units.day()*this.options.weekStartOffset));var monthyr=new Element('span',{html:Date.$months[date.getMonth()]+" "+date.getFullYear()});$(this.rows[0].getElements('td')[1]).empty().adopt(monthyr);var atDate=startDate.clone();this.rows.each(function(row,i){if(i<2)return;row.getElements('td').each(function(td){atDate.set('hours',hours);td.firstChild.data=atDate.getDate();td.refDate=atDate.getTime();atDate.setTime(atDate.getTime()+Date.$units.day());},this);},this);this.updateSelectors();},updateSelectors:function(){var atDate;var month=new Date(this.rows[5].getElement('td').refDate).getMonth();this.rows.each(function(row,i){if(i<2)return;row.getElements('td').each(function(td){td.className='';atDate=new Date(td.refDate);if(atDate.format("%x")==this.today.format("%x"))td.addClass('today');this.whens.each(function(when){var date=this.selectedDates[when];if(date&&atDate.format("%x")==date.format("%x")){td.addClass('selectedDate');this.fireEvent('selectedDateMatch',[td,when]);}},this);this.fireEvent('rowDateEvaluated',[atDate,td]);if(atDate.getMonth()!=month)td.addClass('otherMonthDate');atDate.setTime(atDate.getTime()+Date.$units.day());},this);},this);}});})();DatePicker.refactor({options:{extraCSS:'a.finish {position: relative;height: 13px !important;top: -31px !important;left: 85px !important;top: -34px;left: 77px;height: 16px;display:block;float: left;padding: 1px 12px 3px !important;}'+'div.calendarHolder div.time {border: #999 1px solid;width: 55px;position: relative;left: 3px;height: 17px;}'+'div.calendarHolder td.timeTD {width: 140px;} div.calendarHolder td.label{width:35px; text-align:right}'+'div.calendarHolder div.time select {font-size: 10px !important; font-size: 15px;padding: 0px;left:60px;position:absolute;top:-1px !important; width: auto !important;}'+'div.calendarHolder div.time input {width: 16px !important;width: 12px;padding: 2px;height: 13px;border: none !important;border: 1px solid #fff;}'+'div.calendarHolder div.timeSub {clear:both;position: relative;width: 65px;}'+'div.calendarHolder div.timeSub span {text-align: center;color: #999;margin: 5px;}'+'div.calendarHolder span.seperator {position:relative;top:-3px;}'+'div.calendarHolder table.stamp {position:relative;top: 35px !important;top: 50px;left: 0px;}'+'div.calendarHolder table.stamp a {left:123px;position:relative;top:9px;}'+'div.calendarHolder table.stamp td {border: none !important;}'+'div.calendarHolder td.selected_end {border-width: 1px 1px 1px 0px !important;margin: 0px 0px 0px 1px !important;}'+'div.calendarHolder td.selected_start {border-width: 1px 0px 1px 1px !important;margin: 0px 1px 0px 0px !important;}'+'div.calendarHolder table.datePicker td.range {background: #dcddef;border: solid #20397b;border-width: 1px 0px;margin: 0px 1px !important;}',range:false,time:false},initialize:function(inputs,options){if(options&&(options.range||options.time)){options=$merge({hideCalendarOnPick:false},options);}
if(options&&options.time&&!options.format){options.format="%x %X";}
this.setOptions(options);this.whens=(this.options.range)?['start','end']:['start'];if($type(inputs)=='object'){this.inputs=$H(inputs);}else if($type($(inputs))=="element"){this.inputs=$H({'start':$(inputs)});}else if($type(inputs)=="array"){inputs=$$(inputs);this.inputs=$H({});this.whens.each(function(when,i){this.inputs.set(when,inputs[i]);},this);}
if(this.options.time)this.calWidth=460;this.parent(inputs,this.options);this.createStyle(this.options.extraCSS,'datePickerPlusStyle');this.addEvent('rowDateEvaluated',function(atDate,td){if(this.options.range&&this.selectedDates.start.diff(atDate,'minute')>0&&this.selectedDates.end.diff(atDate,'minute')<0)td.addClass('range');}.bind(this));this.addEvent('selectedDateMatch',function(td,when){if(this.options.range)td.addClass('selected_'+when);}.bind(this));},updateInput:function(){this.parent();if(this.options.time)this.updateView();},updateView:function(){this.whens.each(function(when){var stamp=this.stamps[when];var date=this.getDates()[when];stamp.date.set('html',date?date.format("%b. %d, %Y"):"");if(stamp.hr){stamp.hr.set('value',date?date.format("%I"):"");stamp.min.set('value',date?date.format("%M"):"");}},this);},stamps:{},setupWideView:function(){var timeStampMap={hr:'%I','min':'%M'};timeSetMap={hr:'setHours','min':'setMinutes'};var dates=this.getDates();if(!this.options.range&&!this.options.time)return;this.stamps.table=new Element('table',{'class':'stamp'}).inject(this.container);this.stamps.tbody=new Element('tbody').inject(this.stamps.table);this.whens.each(function(when){this.stamps[when]={};var s=this.stamps[when];s.container=new Element('tr').addClass(when+'_stamp').inject(this.stamps.tbody);s.label=new Element('td').inject(s.container).addClass('label');if(this.whens.length==1){s.label.set('html','date:');}else{s.label.set('html',when=="start"?"from:":"to:");}
s.date=new Element('td').inject(s.container);if(this.options.time){currentWhen=dates[when]||new Date();s.time=new Element('tr').inject(this.stamps.tbody);new Element('td').inject(s.time);s.timeTD=new Element('td').inject(s.time);s.timeInputs=new Element('div').addClass('time clearfix').inject(s.timeTD);s.timeSub=new Element('div',{'class':'timeSub'}).inject(s.timeTD);['hr','min'].each(function(t,i){s[t]=new Element('input',{type:'text','class':t,name:t,events:{focus:function(){this.select();},change:function(){this.selectedDates[when][timeSetMap[t]](s[t].get('value'));this.selectedDates[when].setAMPM(s.ampm.get('value'));this.updateInput();}.bind(this)}}).inject(s.timeInputs);s[t].set('value',currentWhen.format(timeStampMap[t]));if(i<1)s.timeInputs.adopt(new Element('span',{'class':'seperator'}).set('html',":"));new Element('span',{'class':t}).set('html',t).inject(s.timeSub);},this);s.ampm=new Element('select').inject(s.timeInputs);['AM','PM'].each(function(ampm){var opt=new Element('option',{value:ampm,text:ampm.toLowerCase()}).set('html',ampm).inject(s.ampm);if(ampm==currentWhen.format("%p"))opt.selected=true;});s.ampm.addEvent('change',function(){var date=this.getDates()[when];var ampm=s.ampm.get('value');if(ampm!=date.format("%p")){date.setAMPM(ampm);this.updateInput();}}.bind(this));}},this);new Element('tr').inject(this.stamps.tbody).adopt(new Element('td',{colspan:2}).adopt(new Element('a',{'class':'closeSticky button',events:{click:function(){this.hide();}.bind(this)}}).set('html','Ok')));},show:function(){this.parent();if(this.options.time){if(!this.stamps.table)this.setupWideView();this.updateView();}},startSet:false,onPick:function(){if((this.options.range&&this.selectedDates.start&&this.selectedDates.end)||!this.options.range){this.parent();}},setSelectedDates:function(e,newDate){if(this.options.range){if(this.selectedDates.start&&this.startSet){if(this.selectedDates.start.getTime()>newDate.getTime()){this.selectedDates.end=new Date(this.selectedDates.start);this.selectedDates.start=newDate;}else{this.selectedDates.end=newDate;}
this.startSet=false;}else{this.selectedDates.start=newDate;if(this.selectedDates.end&&this.selectedDates.start.getTime()>this.selectedDates.end.getTime())
this.selectedDates.end=new Date(newDate);this.startSet=true;}}else{this.parent(e,newDate);}
if(this.options.time){this.whens.each(function(when){var hr=this.stamps[when].hr.get('value').toInt();if(this.stamps[when].ampm.get('value')=="PM"&&hr<12)hr+=12;this.selectedDates[when].setHours(hr);this.selectedDates[when].setMinutes(this.stamps[when]['min'].get('value')||"0");this.selectedDates[when].setAMPM(this.stamps[when].ampm.get('value')||"AM");},this);}}});var InputValidator=new Class({Implements:[Options],options:{errorMsg:'Validation failed.',test:function(field){return true;}},initialize:function(className,options){this.setOptions(options);this.className=className;},test:function(field,props){if($(field))return this.options.test($(field),props||this.getProps(field));else return false;},getError:function(field,props){var err=this.options.errorMsg;if($type(err)=="function")err=err($(field),props||this.getProps(field));return err;},getProps:function(field){if(!$(field))return{};return field.get('validatorProps');}});Element.Properties.validatorProps={set:function(props){return this.eliminate('validatorProps').store('validatorProps',props);},get:function(props){if(props)this.set(props);if(this.retrieve('validatorProps'))return this.retrieve('validatorProps');if(this.getProperty('validatorProps')){try{this.store('validatorProps',JSON.decode(this.getProperty('validatorProps')));}catch(e){return{}}}else{var vals=this.get('class').split(' ').filter(function(cls){return cls.test(':');});if(!vals.length){this.store('validatorProps',{});}else{props={};vals.each(function(cls){var split=cls.indexOf(':');props[cls.substring(0,split)]=JSON.decode(cls.substring(split+1,cls.length))});this.store('validatorProps',props);}}
return this.retrieve('validatorProps');}};var FormValidator=new Class({Implements:[Options,Events],options:{fieldSelectors:"input, select, textarea",ignoreHidden:true,useTitles:false,evaluateOnSubmit:true,evaluateFieldsOnBlur:true,evaluateFieldsOnChange:true,serial:true,stopOnFailure:true,scrollToErrorsOnSubmit:true,warningPrefix:function(){return FormValidator.resources[FormValidator.language].warningPrefix||'Warning: ';},errorPrefix:function(){return FormValidator.resources[FormValidator.language].errorPrefix||'Error: ';}},initialize:function(form,options){this.setOptions(options);this.form=$(form);this.form.store('validator',this);this.warningPrefix=$lambda(this.options.warningPrefix)();this.errorPrefix=$lambda(this.options.errorPrefix)();if(this.options.evaluateOnSubmit)this.form.addEvent('submit',this.onSubmit.bind(this));if(this.options.evaluateFieldsOnBlur)this.watchFields();},toElement:function(){return this.form;},getFields:function(){return this.fields=this.form.getElements(this.options.fieldSelectors);},watchFields:function(){this.getFields().each(function(el){el.addEvent('blur',this.validateField.pass([el,false],this));if(this.options.evaluateFieldsOnChange)
el.addEvent('change',this.validateField.pass([el,true],this));},this);},onSubmit:function(event){if(!this.validate(event)&&event)event.preventDefault();else this.reset();},reset:function(){this.getFields().each(this.resetField,this);return this;},validate:function(event){var result=this.getFields().map(function(field){return this.validateField(field,true);},this).every(function(v){return v;});this.fireEvent('onFormValidate',[result,this.form,event]);if(this.options.stopOnFailure&&!result&&event)event.preventDefault();if(this.options.scrollToErrorsOnSubmit&&!result){var par=this.form.getParent();var isScrolled=function(p){return p.getScrollSize().y!=p.getSize().y};var scrolls;while(par!=document.body&&!isScrolled(par)){par=par.getParent();};var fx=par.retrieve('fvScroller');if(!fx&&window.Fx){fx=new Fx.Scroll(par,{transition:'quad:out',offset:{y:-20}});par.store('fvScroller',fx);}
var failed=this.form.getElement('.validation-failed');if(failed){if(fx)fx.toElement(failed);else par.scrollTo(par.getScroll().x,failed.getPosition(par).y-20);}}
return result;},validateField:function(field,force){if(this.paused)return true;field=$(field);var passed=!field.hasClass('validation-failed');var failed,warned;if(this.options.serial&&!force){failed=this.form.getElement('.validation-failed');warned=this.form.getElement('.warning');}
if(field&&(!failed||force||field.hasClass('validation-failed')||(failed&&!this.options.serial))){var validators=field.className.split(" ").some(function(cn){return this.getValidator(cn);},this);var validatorsFailed=[];field.className.split(" ").each(function(className){if(!this.test(className,field))validatorsFailed.include(className);},this);passed=validatorsFailed.length===0;if(validators&&!field.hasClass('warnOnly')){if(passed){field.addClass('validation-passed').removeClass('validation-failed');this.fireEvent('onElementPass',field);}else{field.addClass('validation-failed').removeClass('validation-passed');this.fireEvent('onElementFail',[field,failed]);}}
if(!warned){var warnings=field.className.split(" ").some(function(cn){if(cn.test('^warn-')||field.hasClass('warnOnly'))
return this.getValidator(cn.replace(/^warn-/,""));else return null;},this);field.removeClass('warning');var warnResult=field.className.split(" ").map(function(cn){if(cn.test('^warn-')||field.hasClass('warnOnly'))
return this.test(cn.replace(/^warn-/,""),field,true);else return null;},this);}}
return passed;},getPropName:function(className){return'advice'+className;},test:function(className,field,warn){field=$(field);if(field.hasClass('ignoreValidation'))return true;warn=$pick(warn,false);if(field.hasClass('warnOnly'))warn=true;var isValid=true;var validator=this.getValidator(className);if(validator&&this.isVisible(field)){isValid=validator.test(field);if(!isValid&&validator.getError(field)){if(warn)field.addClass('warning');var advice=this.makeAdvice(className,field,validator.getError(field),warn);this.insertAdvice(advice,field);this.showAdvice(className,field);}else this.hideAdvice(className,field);this.fireEvent('onElementValidate',[isValid,field,className]);}
if(warn)return true;return isValid;},getAllAdviceMessages:function(field,force){var advice=[];if(field.hasClass('ignoreValidation')&&!force)return advice;var validators=field.className.split(" ").some(function(cn){var warner=cn.test('^warn-')||field.hasClass('warnOnly');if(warner)cn=cn.replace(/^warn-/,"");var validator=this.getValidator(cn);if(!validator)return;advice.push({message:validator.getError(field),warnOnly:warner,passed:validator.test(),validator:validator});},this);return advice;},showAdvice:function(className,field){var advice=this.getAdvice(className,field);if(advice&&!field.retrieve(this.getPropName(className))&&(advice.getStyle('display')=="none"||advice.getStyle('visiblity')=="hidden"||advice.getStyle('opacity')==0)){field.store(this.getPropName(className),true);if(advice.reveal)advice.reveal();else advice.setStyle('display','block');}},hideAdvice:function(className,field){var advice=this.getAdvice(className,field);if(advice&&field.retrieve(this.getPropName(className))){field.store(this.getPropName(className),false);if(advice.dissolve)advice.dissolve();else advice.setStyle('display','none');}},isVisible:function(field){if(!this.options.ignoreHidden)return true;while(field!=document.body){if($(field).getStyle('display')=="none")return false;field=field.getParent();}
return true;},getAdvice:function(className,field){return field.retrieve('advice-'+className);},makeAdvice:function(className,field,error,warn){var errorMsg=(warn)?this.warningPrefix:this.errorPrefix;errorMsg+=(this.options.useTitles)?field.title||error:error;var advice=this.getAdvice(className,field);if(!advice){var cssClass=(warn)?'warning-advice':'validation-advice';advice=new Element('div',{text:errorMsg,styles:{display:'none'},id:'advice-'+className+'-'+this.getFieldId(field)}).addClass(cssClass);}else{advice.set('html',errorMsg);}
field.store('advice-'+className,advice);return advice;},insertAdvice:function(advice,field){var props=field.get('validatorProps');if(!props.msgPos||!$(props.msgPos)){switch(field.type.toLowerCase()){case'radio':var p=field.getParent().adopt(advice);break;default:advice.inject($(field),'after');};}else{$(props.msgPos).grab(advice);}},getFieldId:function(field){return field.id?field.id:field.id="input_"+field.name;},resetField:function(field){field=$(field);if(field){var cn=field.className.split(" ");cn.each(function(className){if(className.test('^warn-'))className=className.replace(/^warn-/,"");var prop=this.getPropName(className);if(field.retrieve(prop))this.hideAdvice(className,field);field.removeClass('validation-failed');field.removeClass('warning');field.removeClass('validation-passed');},this);}
return this;},stop:function(){this.paused=true;return this;},start:function(){this.paused=false;return this;},ignoreField:function(field,warn){field=$(field);if(field){this.enforceField(field);if(warn)field.addClass('warnOnly');else field.addClass('ignoreValidation');}
return this;},enforceField:function(field){field=$(field);if(field)field.removeClass('warnOnly').removeClass('ignoreValidation');return this;}});FormValidator.resources={enUS:{required:'This field is required.',minLength:'Please enter at least {minLength} characters (you entered {length} characters).',maxLength:'Please enter no more than {maxLength} characters (you entered {length} characters).',integer:'Please enter an integer in this field. Numbers with decimals (e.g. 1.25) are not permitted.',numeric:'Please enter only numeric values in this field (i.e. "1" or "1.1" or "-1" or "-1.1").',digits:'Please use numbers and punctuation only in this field (for example, a phone number with dashes or dots is permitted).',alpha:'Please use letters only (a-z) with in this field. No spaces or other characters are allowed.',alphanum:'Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed.',dateSuchAs:'Please enter a valid date such as {date}',dateInFormatMDY:'Please enter a valid date such as MM/DD/YYYY (i.e. "12/31/1999")',email:'Please enter a valid email address. For example "fred@domain.com".',url:'Please enter a valid URL such as http://www.google.com.',currencyDollar:'Please enter a valid $ amount. For example $100.00 .',oneRequired:'Please enter something for at least one of these inputs.',errorPrefix:'Error: ',warningPrefix:'Warning: '}};FormValidator.language="enUS";FormValidator.getMsg=function(key,language){return FormValidator.resources[language||FormValidator.language][key];};FormValidator.adders={validators:{},add:function(className,options){this.validators[className]=new InputValidator(className,options);if(!this.initialize){this.implement({validators:this.validators});}},addAllThese:function(validators){$A(validators).each(function(validator){this.add(validator[0],validator[1]);},this);},getValidator:function(className){return this.validators[className.split(":")[0]];}};$extend(FormValidator,FormValidator.adders);FormValidator.implement(FormValidator.adders);FormValidator.add('IsEmpty',{errorMsg:false,test:function(element){if(element.type=="select-one"||element.type=="select")
return!(element.selectedIndex>=0&&element.options[element.selectedIndex].value!="");else
return((element.get('value')==null)||(element.get('value').length==0));}});FormValidator.addAllThese([['required',{errorMsg:function(){return FormValidator.getMsg('required');},test:function(element){return!FormValidator.getValidator('IsEmpty').test(element);}}],['minLength',{errorMsg:function(element,props){if($type(props.minLength))
return FormValidator.getMsg('minLength').substitute({minLength:props.minLength,length:element.get('value').length});else return'';},test:function(element,props){if($type(props.minLength))return(element.get('value').length>=$pick(props.minLength,0));else return true;}}],['maxLength',{errorMsg:function(element,props){if($type(props.maxLength))
return FormValidator.getMsg('maxLength').substitute({maxLength:props.maxLength,length:element.get('value').length});else return'';},test:function(element,props){return(element.get('value').length<=$pick(props.maxLength,10000));}}],['validate-integer',{errorMsg:FormValidator.getMsg.pass('integer'),test:function(element){return FormValidator.getValidator('IsEmpty').test(element)||/^-?[1-9]\d*$/.test(element.get('value'));}}],['validate-numeric',{errorMsg:FormValidator.getMsg.pass('numeric'),test:function(element){return FormValidator.getValidator('IsEmpty').test(element)||/^-?(?:0$0(?=\d*\.)|[1-9]|0)\d*(\.\d+)?$/.test(element.get('value'));}}],['validate-digits',{errorMsg:FormValidator.getMsg.pass('digits'),test:function(element){return FormValidator.getValidator('IsEmpty').test(element)||(/^[\d() .:\-\+#]+$/.test(element.get('value')));}}],['validate-alpha',{errorMsg:FormValidator.getMsg.pass('alpha'),test:function(element){return FormValidator.getValidator('IsEmpty').test(element)||/^[a-zA-Z]+$/.test(element.get('value'))}}],['validate-alphanum',{errorMsg:FormValidator.getMsg.pass('alphanum'),test:function(element){return FormValidator.getValidator('IsEmpty').test(element)||!/\W/.test(element.get('value'))}}],['validate-date',{errorMsg:function(element,props){if(Date.parse){var format=props.dateFormat||"%x";return FormValidator.getMsg('dateSuchAs').substitute({date:new Date().format(format)});}else{return FormValidator.getMsg('dateInFormatMDY');}},test:function(element,props){if(FormValidator.getValidator('IsEmpty').test(element))return true;if(Date.parse){var format=props.dateFormat||"%x";var d=Date.parse(element.get('value'));var formatted=d.format(format);if(formatted!="invalid date")element.set('value',formatted);return!isNaN(d);}else{var regex=/^(\d{2})\/(\d{2})\/(\d{4})$/;if(!regex.test(element.get('value')))return false;var d=new Date(element.get('value').replace(regex,'$1/$2/$3'));return(parseInt(RegExp.$1,10)==(1+d.getMonth()))&&(parseInt(RegExp.$2,10)==d.getDate())&&(parseInt(RegExp.$3,10)==d.getFullYear());}}}],['validate-email',{errorMsg:FormValidator.getMsg.pass('email'),test:function(element){return FormValidator.getValidator('IsEmpty').test(element)||/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(element.get('value'));}}],['validate-url',{errorMsg:FormValidator.getMsg.pass('url'),test:function(element){return FormValidator.getValidator('IsEmpty').test(element)||/^(https?|ftp|rmtp|mms):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(element.get('value'));}}],['validate-currency-dollar',{errorMsg:FormValidator.getMsg.pass('currencyDollar'),test:function(element){return FormValidator.getValidator('IsEmpty').test(element)||/^\$?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/.test(element.get('value'));}}],['validate-one-required',{errorMsg:FormValidator.getMsg.pass('oneRequired'),test:function(element){var p=element.parentNode;return p.getElements('input').some(function(el){if(['checkbox','radio'].contains(el.get('type')))return el.get('checked');return el.get('value');});}}]]);Element.Properties.validator={set:function(options){var validator=this.retrieve('validator');if(validator)validator.setOptions(options);return this.store('validator:options');},get:function(options){if(options||!this.retrieve('validator')){if(options||!this.retrieve('validator:options'))this.set('validator',options);this.store('validator',new FormValidator(this,this.retrieve('validator:options')));}
return this.retrieve('validator');}};Element.implement({validate:function(options){this.set('validator',options);return this.get('validator',options).validate();}});var OverText=new Class({Implements:[Options,Events],options:{positionOptions:{position:"upperLeft",edge:"upperLeft",offset:{x:4,y:2}},poll:false,pollInterval:250},overTxtEls:[],initialize:function(inputs,options){this.setOptions(options);$G(inputs).each(this.addElement,this);OverText.instances.push(this);if(this.options.poll)this.poll();},addElement:function(el){if(el.retrieve('OverText'))return;var val=this.options.textOverride||el.get('alt')||el.get('title');if(!val)return;this.overTxtEls.push(el);var txt=new Element('div',{'class':'overTxtDiv',styles:{lineHeight:'normal'},html:val,events:{click:this.hideTxt.pass([el,true],this)}}).inject(el,'after');el.addEvents({focus:this.hideTxt.pass([el,true],this),blur:this.testOverTxt.pass(el,this),change:this.testOverTxt.pass(el,this)}).store('OverTextDiv',txt).store('OverText',this);window.addEvent('resize',this.repositionAll.bind(this));this.testOverTxt(el);this.repositionOverTxt(el);},startPolling:function(){this.pollingPaused=false;return this.poll();},poll:function(stop){if(this.poller&&!stop)return this;var test=function(){if(this.pollingPaused==true)return;this.overTxtEls.each(function(el){if(el.retrieve('ot_paused'))return;this.testOverTxt(el);},this);}.bind(this);if(stop)$clear(this.poller);else this.poller=test.periodical(this.options.pollInterval,this);return this;},stopPolling:function(){this.pollingPaused=true;return this.poll(true);},hideTxt:function(el,focus){var txt=el.retrieve('OverTextDiv');if(txt&&txt.isVisible()&&!el.get('disabled')){txt.hide();try{if(focus)el.fireEvent('focus').focus();}catch(e){}
this.fireEvent('onTextHide',[txt,el]);el.store('ot_paused',true);}
return this;},showTxt:function(el){var txt=el.retrieve('OverTextDiv');if(txt&&!txt.isVisible()){txt.show();this.fireEvent('onTextShow',[txt,el]);el.store('ot_paused',false);}
return this;},testOverTxt:function(el){if(el.get('value'))this.hideTxt(el);else this.showTxt(el);},repositionAll:function(){this.overTxtEls.each(this.repositionOverTxt.bind(this));return this;},repositionOverTxt:function(el){if(!el)return;try{var txt=el.retrieve('OverTextDiv');if(!txt||!el.getParent())return;this.testOverTxt(el);txt.setPosition($merge(this.options.positionOptions,{relativeTo:el}));if(el.offsetHeight)this.testOverTxt(el);else this.hideTxt(el);}catch(e){dbug.log('overTxt error: ',e);}
return this;}});OverText.instances=[];OverText.update=function(){return OverText.instances.map(function(ot){return ot.repositionAll();});};FormValidator.resources.IT={required:'Il campo è richiesto.',minLength:'Si prega di inserire un minimo di {minLength} caratteri (Lei ne ha inseriti {length}).',maxLength:'Si prega di non inserire più di {maxLength} caratteri (Lei ne ha inseriti {length}).',integer:'Si prega di inserire un numero intero. Numeri con decimali (es.: 1.25) non sono permessi.',numeric:'Si prega di inserire esclusivamente valori numerici (es.: "1" oppure "1.1" oppure "-1" oppure "-1.1").',digits:'Si prega di usare esclusivamente valori numerici e punteggiatura in questo campo di testo (per esempio, un numero di telefono con trattini o barre non può essere accettato).',alpha:'Si prega di utilizzare esclusivamente lettere (a-z) in questo campo di testo. Spazi o altri caratteri non sono accettatti.',alphanum:'Si prega di utilizzare esclusivamente lettere (a-z) o numeri (0-9) in questo campo di testo. Spazi o altri caratteri non sono accettatti.',dateSuchAs:'Si prega di inserire correttamente la data: {date}',dateInFormatMDY:'Si prega di inserire la data nel formato: GG/MM/AAAA (es.: "31/12/1999")',email:'Si prega di inserire un indirizzo e-mail valido. Per esempio: "mionome@tuodominio.com".',url:'Si prega di inserire una URL valida. Per esempio: "http://www.miodominio.com".',currencyDollar:'Si prega di inserire una valuta $ corretta. Per esempio: "$100.00".',oneRequired:'Si prega di riempire almeno uno dei campi richiesti.',warningPrefix:'Avvertimento: ',errorPrefix:'Errore: '};FormValidator.resources.itIT=FormValidator.resources.IT
if(Date.$culture=="US"){try{console.log("WARNING: this validator (Catalan) is designed to use European style formatting, but Date.$culture is set to US. Consider changing this value to 'GB' for DD/MM/YYYY.")}catch(e){}}
String.implement({evalScripts:function(){var scripts=this.match(/<script[^>]*?>.*?<\/script>/g);if(scripts)scripts.each(function(script){eval(script.replace(/^<script[^>]*?>/,"").replace(/<\/script>$/,""));});},startsWith:function(s){return this.substr(0,s.length)==s;},replaceAll:function(searchValue,replaceValue,regExOptions){return this.replace(new RegExp(searchValue,$pick(regExOptions,"gi")),replaceValue);},gsub:function(search,replace){return this.split(search).join(replace);},urlEncode:function(){if(this.indexOf("%")>-1)return this;else return escape(this);},htmlEntitiesEncode:function(){var enc=this.toString();enc=enc.gsub("&","&amp;");enc=enc.gsub("<","&lt;");enc=enc.gsub(">","&gt;");return enc;},injectHTML:function(inside){var container=new Element("DIV",{"html":this.toString()});var children=container.getChildren();children.each(function(child){child.inject(inside);});container.dispose();return children;},toClipboard:function(){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");}catch(e){if(Browser.Engine.gecko)
alert("Browser security settings doesn't allow this action to be taken.\n\nSet the 'signed.applets.codebase_principal_support' property in the 'about:config' page to true/1 if you want to enable this feature.");return false;}
try{clip=Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);}catch(e){return false;}
try{transf=Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);}catch(e){return false;}
transf.addDataFlavor("text/unicode");suppstr=Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);suppstr.data=this.toString();transf.setTransferData("text/unicode",suppstr,this.length*2);try{clipi=Components.interfaces.nsIClipboard;}catch(e){return false;}
clip.setData(transf,null,clipi.kGlobalClipboard);}});Element.implement({isVisible:function(recursive){if(recursive&&this.getParent()){var visible=this.getStyle('display')!='none'&&this.getStyle('visibility')!='hidden'&&this.getStyle('opacity')!=0;if(!visible)
return false;else
return this.getParent().isVisible(true);}else{return this.getStyle('display')!='none';}},inlineEdit:function(options){return new InlineEdit(this,options);},hide:function(){var d;try{d=this.getStyle('display');if(d=='none')d='';}catch(e){}
this.store('originalDisplay',d||'');this.setStyle('display','none');return this;},show:function(display){original=this.retrieve('originalDisplay')?this.retrieve('originalDisplay'):this.get('originalDisplay');this.setStyle('display',(display||original||''));return this;},getCells:function(){if($defined(this.cells))
return this.cells;else
return this.getElements("td");},getSiblings:function(){return this.getAllPrevious().extend(this.getAllNext());},toQueryString:function(){var queryString=[];this.getElements('input[name][type!=submit], select[name], textarea[name]').each(function(el){if(el.disabled)return;var value=(el.tagName.toLowerCase()=='select')?Element.getSelected(el).map(function(opt){return opt.value;}):((el.type=='radio'||el.type=='checkbox')&&!el.checked)?null:el.value;$splat(value).each(function(val){queryString.push(el.name+'='+encodeURIComponent(val));});});return queryString.join('&');},toHash:function(){var hash={};this.getElements('input[name][type!=submit], select[name], textarea[name]').each(function(el){if(el.disabled)return;var value=(el.tagName.toLowerCase()=='select')?Element.getSelected(el).map(function(opt){return opt.value;}):((el.type=='radio'||el.type=='checkbox')&&!el.checked)?null:el.value;hash[el.name]=value;});return hash;},cloneWithEvents:function(contents,keepid,type){return this.clone(contents,keepid).cloneEvents(this,type);},isBody:function(){return(/^(?:body|html)$/i).test(this.tagName);},getOffsetParent:function(){var element=this;if(element.isBody())return null;if(!Browser.Engine.trident&&!Browser.Engine.gecko19)return element.offsetParent;while((element=element.parentNode)&&!element.isBody()){if(Element.getComputedStyle(element,'position')!='static')return element;}
return null;},fxBlindDown:function(options){options=$merge({direction:'auto'},options);if(!this.fullHeight)this.fullHeight=this.getDimensions().y;if(options.direction=='auto')
options.direction=this.getHeight()==0?'down':'up';var dim;if(options.direction=='down')
dim=[0,this.fullHeight];else
dim=[this.fullHeight,0];return this.setStyles({height:dim[0]+"px",overflow:'hidden'}).show().tween('height',dim);},getFxFadedShowHide:function(){var fx=this.retrieve("fxFadedShowHide");if(!fx){fx=new Fx.Morph(this,{link:"cancel"}).addEvent("onChainComplete",function(){if(this.getStyle("opacity")==0){this.hide();}else{this.setStyle("height","");}}.bind(this));this.store("fxFadedShowHide",fx);}
return fx;},fxFadedHide:function(){if(this.isVisible()){this.store("fxFadedShowHide-Height",this.getSize().y);this.getFxFadedShowHide().start({opacity:0,height:0});}
return this;},fxFadedShow:function(){if(!this.isVisible()){var h=$pick(this.retrieve("fxFadedShowHide-Height"),0);this.store("fxFadedShowHide-Height",0);var morph={opacity:1};if(h>0)
morph.height=h;this.setStyles({display:'',opacity:0}).getFxFadedShowHide().start(morph);}
return this;}});Number.implement({format:function(precision,decimal_point,thousands_sep){decimal_point=$pick(decimal_point,".");thousands_sep=$pick(thousands_sep,"");var x=this.toFloat().round(precision).toString().split("."),x1,x2;x1=x[0];if(precision>0){if(x.length>1){if(x[1].length<precision)
x[1]+="0".repeat(precision-x[1].length)
x2=x.length>1?decimal_point+x[1]:"";}else{x2=decimal_point+"0".repeat(precision);}}else{x2="";}
if(thousands_sep!=""){if(!$defined(this.format_regex))
this.format_regex=/(\d+)(\d{3})/;while(this.format_regex.test(x1)){x1=x1.replace(this.format_regex,"$1"+thousands_sep+"$2");}}
return x1+x2;},humanize:function(precision,options){options=$merge({startUnit:"",machineK:false,unitType:""},options);precision=$pick(precision,0);num=this.toFloat();var units=["","K","M","G","T","P"];var unitX=units.indexOf(options.startUnit);var divisor=options.machineK?1024:1000;while(num>=divisor&&unitX<units.length){unitX++;num/=divisor;}
return num.localized()+units[unitX]+options.unitType;},localized:function(monetary){var n="",num=this.toFloat(),sign,sign_posn,sep_by_space,cs_precedes;if(num>=0){sign=localeconv['positive_sign'];sign_posn=localeconv['p_sign_posn'];sep_by_space=localeconv['p_sep_by_space'];cs_precedes=localeconv['p_cs_precedes'];}else{sign=localeconv['negative_sign'];sign_posn=localeconv['n_sign_posn'];sep_by_space=localeconv['n_sep_by_space'];cs_precedes=localeconv['n_cs_precedes'];}
if(monetary){var symbol=localeconv['currency_symbol'];var a=new Array(9);switch(sign_posn){case 1:a[3]=sign;break;case 2:a[5]=sign;break;case 3:symbol=sign+symbol;break;case 4:symbol+=sign;break;default:n+=" [error sign_posn="+sign_posn+"&nbsp;!]";}
if(cs_precedes){a[1]=symbol;if(sep_by_space)a[2]=" ";}else{if(sep_by_space)a[6]=" ";a[7]=symbol;}
a[4]=Math.abs(num).format(localeconv['frac_digits'],localeconv['mon_decimal_point'],localeconv['mon_thousands_sep']);n=a.join("");}else{n=Math.abs(num).format(localeconv['frac_digits'],localeconv['decimal_point'],localeconv['thousands_sep']);switch(sign_posn){case 0:n="("+n+")";break;case 2:case 4:n+=sign;break;case 1:case 3:n=sign+n;break;default:n+=" [error sign_posn="+sign_posn+"&nbsp;!]";}}
return n;}});Window.implement({getMedia:function(){var el=new Element("DIV",{"class":"no_print",styles:{"height":"0","width":"0"}}).inject(this.document.documentElement);var media=(el.getStyle("display")=="none")?"print":"screen";el.dispose();return media;}});Element.Events.valuechange={base:"keyup",condition:function(event){if($pick(event.target.retrieve("last_value"),"")!=event.target.value){event.target.store("last_value",event.target.value);return true;}else return false;}}
if(typeof(Sortables)!='undefined'){Sortables.implement({getClone:function(element){if(!this.options.clone)return new Element('div').inject(document.body);if($type(this.options.clone)=='function')return this.options.clone.call(this,event,element,this.list);return element.clone(true).setStyles({'margin':'0px','position':'absolute','display':'none','width':element.getStyle('width')}).inject(this.list).position(element.getPosition(element.offsetParent));},serialize:function(){var serial=[];this.list.getChildren().each(function(el,i){serial.push("ids[]="+el.id.replace(/\D+/,""));},this);return serial.join("&");}});}
if(document.querySelectorAll){Native.implement([Document,Element],{getElements:function(expression,nocash){if(expression.contains('!')){expression=expression.split(',');var items,local={};for(var i=0,l=expression.length;i<l;i++){var selector=expression[i],elements=Selectors.Utils.search(this,selector,local);if(i!=0&&elements.item)elements=$A(elements);items=(i==0)?elements:(items.item)?$A(items).concat(elements):items.concat(elements);}
return new Elements(items,{ddup:(expression.length>1),cash:!nocash});}else
return new Elements(this.querySelectorAll(expression),{ddup:expression.contains(','),cash:!nocash});}});}
if(!document.getElementsByClassName){Native.implement([Document,Element],{getElementsByClassName:function(className){return this.getElements("."+className);}});}
(function(){var events;var check=function(e){var target=$(e.target);var parents=target.getParents();events.each(function(item){var element=item.element;if(element!=target&&!parents.contains(element))
item.fn.call(element,e);});};Element.Events.outerClick={onAdd:function(fn){if(!events){window.addEvent('click',check);events=[];}
events.push({element:this,fn:fn});},onRemove:function(fn){events=events.filter(function(item){return item.element!=this||item.fn!=fn;},this);if(!events.length){window.removeEvent('click',check);events=null;}}};})();var InlineEdit=new Class({Implements:[Options,Events],options:{type:"input"},initialize:function(element,options){this.setOptions(options);if(element.get("tag")!=this.options.type.toLowerCase()){this.element=element;this.oldContent=this.element.get("html");var content=this.oldContent.trim().replace(new RegExp("<br />","gi"),"\n");this.inputBox=new Element(this.options.type,{value:content}).setStyles({margin:0,backgroundColor:"transparent",width:"99.5%",fontSize:"1em",borderWidth:0});if(!this.inputBox.get("value"))this.inputBox.set("html",content);this.setAllStyles();this.element.set("html","");this.inputBox.inject(this.element);this.inputBox.focus.delay(300,this.inputBox);this.inputBox.addEvent("change",this.onSave.bind(this));this.inputBox.addEvent("blur",this.onSave.bind(this));this.inputBox.addEvent("keyup",this.onKeyUp.bindWithEvent(this));}},onKeyUp:function(e){if("enter"==e.key)this.onSave();},onSave:function(){this.inputBox.removeEvents();this.newContent=this.inputBox.get("value").trim().replace(new RegExp("\n","gi"),"<br />");this.element.set("html",this.newContent);this.fireEvent("onComplete",[this.element,this.oldContent,this.newContent]);},setAllStyles:function(){["text-align","font","font-family","font-weight","line-height","letter-spacing","color"].each(function(property){if(this.element.getStyle(property))this.inputBox.setStyle(property,this.element.getStyle(property));}.bind(this));}});var InlineSelect=new Class({Implements:[Options,Events],value:0,initialize:function(options){this.setOptions(options);if(!this.options.element||!this.options.url)return null;this.build();},build:function(){this.element=$(this.options.element).addEvent("click",this.onClick.bind(this));document.documentElement.addEvent("click",this.documentClick.bindWithEvent(this));this.request=new Request({url:this.options.url,onSuccess:this.fillOptions.bind(this),onFailure:function(){onAjaxFailure();this.waiter.stop();}.bind(this)});this.optionsContainer=new Element("DIV",{"class":"inlineSelect"}).hide().inject(this.element,"after");if(this.options.className)
this.optionsContainer.addClass(this.options.className);this.waiter=new Waiter(this.element);},onClick:function(){if(this.optionsContainer.isVisible())
this.hideOptions();else
this.showOptions();},documentClick:function(e){e=new Event(e);if(e.target!=this.element&&!e.target.getParents().contains(this.element))
this.hideOptions();},showOptions:function(){this.optionsContainer.set("html","").show();this.waiter.start();this.request.send(this.options.requestOptions);},hideOptions:function(){this.optionsContainer.hide();this.waiter.stop();this.request.cancel();},fillOptions:function(response){var options=JSON.decode(response);options.each(function(option){var optionDiv=new Element("DIV",{"class":"option","html":option.text}).store("value",option.value).inject(this.optionsContainer);optionDiv.addEvent("click",this.onOptionClick.bind(this,[optionDiv]));},this);if(tooltips)tooltips.init(this.optionsContainer);this.waiter.stop();},onOptionClick:function(option){this.value=option.retrieve("value");this.fireEvent("change",[option]);}});var InlineSelectStatic=new Class({Implements:[Options,Events],value:0,initialize:function(options){this.setOptions(options);if(!this.options.element)return null;this.build();},build:function(){this.element=$(this.options.element).addEvent("click",this.elementClick.bind(this));document.documentElement.addEvent("click",this.documentClick.bindWithEvent(this));this.optionsContainer=new Element("DIV",{"class":"inlineSelect"}).hide().inject(this.element,"after");if(this.options.className)
this.optionsContainer.addClass(this.options.className);},elementClick:function(){if(this.optionsContainer.isVisible())
this.hideOptions();else
this.showOptions();},documentClick:function(e){e=new Event(e);if(e.target!=this.element&&!e.target.getParents().contains(this.element))
this.hideOptions();},showOptions:function(){this.optionsContainer.set("html","").show();this.fillOptions(this.element.retrieve("inlineSelectData"));},hideOptions:function(){this.optionsContainer.hide();},fillOptions:function(options){options=$pick(options,[]);options.each(function(option){var optionDiv=new Element("DIV",{"class":"option","html":option}).inject(this.optionsContainer);optionDiv.addEvent("click",this.onOptionClick.bindWithEvent(this,[optionDiv]));},this);if(tooltips)tooltips.init(this.optionsContainer);},onOptionClick:function(e,option){e=new Event(e);e.stop();this.hideOptions();this.value=option.get("html");this.fireEvent("change",[option]);}});dbug.enable(true);Date.$culture="GB";Date.$language="itIT";FormValidator.language="itIT";setCNETAssetBaseHref("images/cnet");var EventDelegator=new Class({Implements:[Options,Events],initialize:function(options){this.rules=new Hash();this.setOptions(options);},addRule:function(ev,selector,fn){if(!$defined(this.rules[ev])){this.rules[ev]=new Hash();$(document.body).addEvent(ev,this.checkEvent.bindWithEvent(this,ev));}
if(!$defined(this.rules[ev][selector]))
this.rules[ev][selector]=new Array();this.rules[ev][selector].push(fn);},addRules:function(rules){$H(rules).each(function(ev,evRules){evRules.each(function(selector,fn){this.addRule(ev,selector,fn);}.bind(this));}.bind(this));},checkEvent:function(e,evName){this.rules[evName].each(function(fns,selector){var selectorMatches=$$(selector);var elem=selectorMatches.contains(e.target)?e.target:false;if(!elem){var parents=e.target.getParents();for(var x=parents.length;x>=0&&!elem;--x)
if(selectorMatches.contains(parents[x]))
elem=parents[x];}
if(elem)
for(var x=0,l=fns.length;x<l;++x)
fns[x](e,elem);});}});var ed=new EventDelegator();window.addEvent('domready',TB_init);TB_WIDTH=0;TB_HEIGHT=0;var TB_doneOnce=0;function TB_init(){$$("a.smoothbox").each(function(el){el.onclick=TB_bind});}
function TB_bind(event){var event=new Event(event);event.preventDefault();this.blur();var caption=this.title||this.name||"";var group=this.rel||false;TB_show(caption,this.href,group);this.onclick=TB_bind;return false;}
function TB_show(caption,url,rel){if(!$("TB_overlay")){new Element('iframe').setProperty('id','TB_HideSelect').injectInside(document.body);$('TB_HideSelect').setOpacity(0);new Element('div').setProperty('id','TB_overlay').injectInside(document.body);$('TB_overlay').setOpacity(0);TB_overlaySize();new Element('div').setProperty('id','TB_load').injectInside(document.body);$('TB_load').innerHTML="<img src='loading.gif' />";TB_load_position();$('TB_overlay').set('tween',{duration:400});$('TB_overlay').tween('opacity',0,0.6);}
if(!$("TB_load")){new Element('div').setProperty('id','TB_load').injectInside(document.body);$('TB_load').innerHTML="<img src='loading.gif' />";TB_load_position();}
if(!$("TB_window")){new Element('div').setProperty('id','TB_window').injectInside(document.body);$('TB_window').setOpacity(0);}
$("TB_overlay").onclick=TB_remove;window.onscroll=TB_position;var baseURL=url.match(/(.+)?/)[1]||url;var imageURL=/\.(jpe?g|png|gif|bmp)/gi;if(baseURL.match(imageURL)){var dummy={caption:"",url:"",html:""};var prev=dummy,next=dummy,imageCount="";if(rel){function getInfo(image,id,label){return{caption:image.title,url:image.href,html:"<span id='TB_"+id+"'>&nbsp;&nbsp;<a href='#'>"+label+"</a></span>"}}
var imageGroup=[];$$("a.smoothbox").each(function(el){if(el.rel==rel){imageGroup[imageGroup.length]=el;}})
var foundSelf=false;for(var i=0;i<imageGroup.length;i++){var image=imageGroup[i];var urlTypeTemp=image.href.match(imageURL);if(image.href==url){foundSelf=true;imageCount="Image "+(i+1)+" of "+(imageGroup.length);}
else{if(foundSelf){next=getInfo(image,"next","Next &gt;");break;}
else{prev=getInfo(image,"prev","&lt; Prev");}}}}
imgPreloader=new Image();imgPreloader.onload=function(){imgPreloader.onload=null;var x=window.getWidth()-150;var y=window.getHeight()-150;var imageWidth=imgPreloader.width;var imageHeight=imgPreloader.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;}}
TB_WIDTH=imageWidth+30;TB_HEIGHT=imageHeight+60;$("TB_window").innerHTML+="<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>"+"<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>"+imageCount+prev.html+next.html+"</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a></div>";$("TB_closeWindowButton").onclick=TB_remove;function buildClickHandler(image){return function(){$("TB_window").dispose();new Element('div').setProperty('id','TB_window').injectInside(document.body);TB_show(image.caption,image.url,rel);return false;};}
var goPrev=buildClickHandler(prev);var goNext=buildClickHandler(next);if($('TB_prev')){$("TB_prev").onclick=goPrev;}
if($('TB_next')){$("TB_next").onclick=goNext;}
document.onkeydown=function(event){var event=new Event(event);switch(event.code){case 27:TB_remove();break;case 190:if($('TB_next')){document.onkeydown=null;goNext();}
break;case 188:if($('TB_prev')){document.onkeydown=null;goPrev();}
break;}}
$("TB_ImageOff").onclick=TB_remove;TB_position();TB_showWindow();}
imgPreloader.src=url;}
else{var queryString=url.match(/\?(.+)/)[1];var params=TB_parseQuery(queryString);TB_WIDTH=(params['width']*1)+30;TB_HEIGHT=(params['height']*1)+40;var ajaxContentW=TB_WIDTH-30,ajaxContentH=TB_HEIGHT-45;if(url.indexOf('TB_iframe')!=-1){urlNoQuery=url.split('TB_');$("TB_window").innerHTML+="<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a></div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;' onload='TB_showWindow()'> </iframe>";}
else{$("TB_window").innerHTML+="<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a></div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>";}
$("TB_closeWindowButton").onclick=TB_remove;if(url.indexOf('TB_inline')!=-1){$("TB_ajaxContent").innerHTML=($(params['inlineId']).innerHTML);TB_position();TB_showWindow();}
else
if(url.indexOf('TB_iframe')!=-1){TB_position();if(frames['TB_iframeContent']==undefined){$(document).keyup(function(e){var key=e.keyCode;if(key==27){TB_remove()}});TB_showWindow();}}
else{var handlerFunc=function(){TB_position();TB_showWindow();};new Request.HTML({method:'get',update:$("TB_ajaxContent"),onComplete:handlerFunc}).get(url);}}
window.onresize=function(){TB_position();TB_load_position();TB_overlaySize();}
document.onkeyup=function(event){var event=new Event(event);if(event.code==27){TB_remove();}}}
function TB_showWindow(){if(TB_doneOnce==0){TB_doneOnce=1;$('TB_window').set('tween',{duration:250,onComplete:function(){if($('TB_load')){$('TB_load').dispose();}}});$('TB_window').tween('opacity',0,1);}
else{$('TB_window').setStyle('opacity',1);if($('TB_load')){$('TB_load').dispose();}}}
function TB_remove(){$("TB_overlay").onclick=null;document.onkeyup=null;document.onkeydown=null;if($('TB_imageOff'))
$("TB_imageOff").onclick=null;if($('TB_closeWindowButton'))
$("TB_closeWindowButton").onclick=null;if($('TB_prev')){$("TB_prev").onclick=null;}
if($('TB_next')){$("TB_next").onclick=null;}
$('TB_window').set('tween',{duration:250,onComplete:function(){$('TB_window').dispose();}});$('TB_window').tween('opacity',1,0);$('TB_overlay').set('tween',{duration:400,onComplete:function(){$('TB_overlay').dispose();}});$('TB_overlay').tween('opacity',0.6,0);window.onscroll=null;window.onresize=null;$('TB_HideSelect').dispose();TB_init();TB_doneOnce=0;return false;}
function TB_position(){$('TB_window').set('morph',{duration:75});$('TB_window').morph({width:TB_WIDTH+'px',left:(window.getScrollLeft()+(window.getWidth()-TB_WIDTH)/2)+'px',top:(window.getScrollTop()+(window.getHeight()-TB_HEIGHT)/2)+'px'});}
function TB_overlaySize(){$("TB_overlay").setStyles({"height":'0px',"width":'0px'});$("TB_HideSelect").setStyles({"height":'0px',"width":'0px'});$("TB_overlay").setStyles({"height":window.getScrollHeight()+'px',"width":window.getScrollWidth()+'px'});$("TB_HideSelect").setStyles({"height":window.getScrollHeight()+'px',"width":window.getScrollWidth()+'px'});}
function TB_load_position(){if($("TB_load")){$("TB_load").setStyles({left:(window.getScrollLeft()+(window.getWidth()-56)/2)+'px',top:(window.getScrollTop()+((window.getHeight()-20)/2))+'px',display:"block"});}}
function TB_parseQuery(query){if(!query)
return{};var params={};var pairs=query.split(/[;&]/);for(var i=0;i<pairs.length;i++){var pair=pairs[i].split('=');if(!pair||pair.length!=2)
continue;params[unescape(pair[0])]=unescape(pair[1]).replace(/\+/g,' ');}
return params;}
var AdvancedFormValidator=new Class({Extends:FormValidator,makeAdvice:function(className,field,error,warn){var advice=this.parent(className,field,error,warn);if(["text","password"].contains(field.get("type"))||field.get("tag")=="select"){advice.reveal=null;advice.addClass("validation-overfield");advice.setStyle("width",field.getSize().x-2);}
advice.addEvent("click",function(){this.resetField(field);field.focus();}.bind(this));return advice;},insertAdvice:function(advice,field){if(field.hasClass("datePicker")){advice.inject(field.getNext(),'after');}else{this.parent(advice,field);}}});FormValidator.resources.itIT.dateSuchAs="Formato data errato.";FormValidator.resources.itIT.email="Formato email errato.";FormValidator.resources.itIT.numeric="Importo errato. (es 10.58)";function tr(msg){return msg;}
function trpure(msg){return msg;}
function NewPage(){if(!document.getElementsByTagName){return;}
var anchors=document.getElementsByTagName("a");for(var loop=0;loop<anchors.length;loop++){var anchor=anchors[loop];if(anchor.getAttribute("href")&&anchor.getAttribute("rel")=="external"){anchor.target="_blank";}}}
function initLoad(){NewPage();var overtext=new Array();$$('input[type="text"][alt]').each(function(e){overtext.include(new OverText(e));});if($defined(overtext))overtext.each(function(ar){ar.repositionAll();});}
function initElementsDom(){$$('form').each(function(elem){var secToken=elem.getElement(".security");if(secToken&&secToken.get("tag")=="input")
new Request({url:"antibotkey.ajax.php",data:{name:secToken.get("name")},onSuccess:function(key){secToken.set("value",key);}}).send();elem.store("validator",new AdvancedFormValidator(elem,{warningPrefix:"",errorPrefix:""}));if(elem.hasClass("target-blank"))elem.target="_blank";if(elem.hasClass("waiter"))elem.store("waiter",new Waiter(elem));elem.addEvent("submit",function(e){e=new Event(e);if(this.retrieve("validator").validate()){var waiter=this.retrieve("waiter");if(waiter)waiter.start();return true;}else{e.stop();return false;}}.bindWithEvent(elem));});$$('a').each(function(e){var href=e.get('href');if((href.indexOf('http://')==0)&&(href.indexOf('inexere.it')==-1))
e.set('rel','external');});}
window.addEvent('load',initLoad);window.addEvent('domready',initElementsDom);function checkChoose(form){var procedi=false;form.getElements('input[name="risposta"]').each(function(e){if(e.get('checked'))procedi=true;});return procedi;}
;dbug.log('lastmtime = 14:07 06/11/2009');