
var pageTracker;var unsavedItems={};Event.stopAndBlur=function(event){if(event){var element=Event.element(event);if(element.blur)element.blur();Event.stop(event);}};window.onbeforeunload=function(event){var hash=$H(unsavedItems);if(hash.size()){var r=hash.values().join("\r\n");if(event)
event.returnValue=r;return r;}};document.observe('body:rendered',function(event){var eventElement=Event.element(event);if(eventElement==document)eventElement=$(document.body);eventElement.getElementsBySelector('ul.metabox').each(function(ul){ul.hide();var li=$(ul.parentNode);var shadow=new Shadow(ul,1);li.observe('mouseover',(function(shadow){this.show();shadow.redraw();}).bind(ul,shadow));li.observe('mouseout',ul.hide.bind(ul));});if(!Prototype.Browser.MobileSafari){eventElement.getElementsBySelector('a.thumbnailLink[title]').each(function(a){var span=a.appendChild(new Element('span',{className:'toolTip'}).update(a.title));});}
eventElement.getElementsBySelector('.noJS').each(function(element){element.removeClassName('noJS');});if($('menu')&&eventElement==document.body)
$('menu').observe('click',function(event){var element=Event.element(event);element=element.up('a');if(element&&element.blur)element.blur();});eventElement.getElementsBySelector('a.scrollTo').each(function(element){element.observe('click',function(event){if(typeof Effect!='undefined'){Effect.ScrollTo(element.hash.replace('#',''),{offset:-5,duration:0.5});Event.stop(event);}});});eventElement.getElementsBySelector('.pseudoHover').each(function(element){element.observe('mouseover',element.addClassName.bind(element,'hover'));element.observe('mouseout',element.removeClassName.bind(element,'hover'));});eventElement.getElementsBySelector('a.track').each(function(a){a.target='_new';var pathname=a.pathname;pathnames=[pathname];if(a.hash.startsWith('#track_'))
pathnames=a.hash.substr(7).split('|');pathnames.each(function(pathname){pathname=pathname+'?ext=1';if(pathname.substr(0,1)!='/')pathname='/'+pathname;a.onclick=TrackOther.bind(window,pathname);});});eventElement.getElementsBySelector('a.ext,a.extNoStyle,area.ext').each(function(a){a.target='_new';a.onclick=TrackOther.bind(window,'/ext/'+a.href);});eventElement.getElementsBySelector('a.ext,span.favicon').each(function(a){if(a.hasClassName('noIcon'))return;var host;switch(a.nodeName){case'A':host=a.host.replace(':80','');break;case'SPAN':host=a.title;break;}
a.style.backgroundImage='url("http://s2.googleusercontent.com/s2/favicons?domain_url='+escape('http://'+host)+'")';});eventElement.getElementsBySelector('form').each(function(f){f.setAttribute('autocomplete','off');});eventElement.getElementsBySelector('ul.concertList li.past').invoke('setOpacity',0.5);});document.observe('adsense:loaded',function(){if(typeof _gat!='undefined'){window.google_analytics_uacct="UA-765410-10";pageTracker=_gat._getTracker("UA-765410-10");pageTracker._setDomainName(Cantorion.session.domain);pageTracker._initData();pageTracker._trackPageview();}});var TrackOther=function(pathname){if(typeof pageTracker!='undefined')
pageTracker._trackPageview(pathname);};var TrackListen=function(pathname){if(typeof pathname=='undefined')pathname=location.pathname;if(typeof pageTracker!='undefined')
pageTracker._trackPageview('/listen'+pathname);};var UncheckToEnable=Class.create({initialize:function(checkbox,textbox){this.checkbox=$(checkbox);this.textbox=$(textbox);this.checkbox.observe('change',this.change.bindAsEventListener(this));this.checkbox.observe('click',this.change.bindAsEventListener(this));this.change();},change:function(event){this.textbox.disabled=this.checkbox.checked;this.textbox.disabled?this.textbox.addClassName('disabled'):this.textbox.removeClassName('disabled');}});var InputToggles=Class.create({initialize:function(input,inputs,outputs,mapping){this.input=input;this.outputs=outputs;this.mapping=mapping;inputs.each(function(input){$(input).observe('change',this.change.bind(this));},this);this.change();},change:function(){var value=this.input()[0][0];if(this.mapping[value]){this.mapping[value].each(function(display,i){display?$(this.outputs[i]).show():$(this.outputs[i]).hide();},this);}else{this.outputs.each(function(output){$(output).hide();});}}});var TextArea=Class.create({initialize:function(element,options){options=Object.extend({hiddenTextClass:'hiddenTextarea',maxHeight:200},options||{});this.element=$(element);this.copy=new Element('div');this.copy.addClassName(options.hiddenTextClass);this.maxHeight=options.maxHeight;document.body.appendChild(this.copy);if(options.resizing){this.element.observe('keyup',this.resize.bindAsEventListener(this));document.observe('dom:loaded',this.resize.bindAsEventListener(this));}
if(options.maxLength){this.maxLength=options.maxLength[0];this.maxLengthCounter=typeof options.maxLength[1]!='undefined'?$(options.maxLength[1]):null;this.element.observe('keyup',this.truncate.bindAsEventListener(this));this.truncate();}
if(options.expanding){this.collapsed=true;var dims=this.element.getDimensions();this.originalHeight=dims.height-6;this.originalWidth=dims.width-6;this.element.observe('focus',this.expand.bindAsEventListener(this));this.element.observe('blur',this.collapse.bindAsEventListener(this));if(options.expandTopMargin)
this.expandTopMargin=$(options.expandTopMargin);}},expand:function(event){if(!this.isMultiLine())return;this.collapsed=false;this.doExpand.bind(this).delay(0.1);},doExpand:function(){new Effect.Morph(this.element,{style:{width:'559px',marginTop:Math.max((this.expandTopMargin?this.expandTopMargin.getDimensions().height:0),25)+'px',height:this.getHeight()+'px'},duration:0.5,afterUpdate:(function(){if(this.element.positionedOffset().left<5)
this.element.style.left='5px';}).bind(this),afterFinish:(function(){this.element.style.overflow=(this.overflow?'auto':'hidden');}).bind(this)});},collapse:function(event){MouseUp?this.doCollapse(event):MouseUpEvents.push(this.doCollapse.bind(this,event));},doCollapse:function(event){if(this.collapsed)return;this.collapsed=true;this.element.style.overflow='hidden';new Effect.Morph(this.element,{style:{width:this.originalWidth+'px',marginTop:'0px',height:this.originalHeight+'px'},duration:0.5});},resize:function(event){if(this.collapsed){if(event.eventName!='dom:loaded')this.expand();}else{this.element.style.height=this.getHeight()+'px';this.element.style.overflow=(this.overflow?'auto':'hidden');}},isMultiLine:function(){return this.element.value.length>this.element.cols||this.element.value.match("\n")!=null;},getHeight:function(){this.copy.update(this.element.value.escapeHTML().replace(/\n/g,'<br />')+"\r\n&nbsp;");var h=this.copy.getDimensions().height+20;this.overflow=(h>this.maxHeight);return Math.min(h,this.maxHeight);},truncate:function(event){var l=this.element.value.length;if(l>this.maxLength){this.element.value=this.element.value.substring(0,this.maxLength);l=this.maxLength;}
if(this.maxLengthCounter)
this.maxLengthCounter.update(l+' of '+this.maxLength+' characters used');},doOnChange:function(event){},getSelection:function(){if(!!document.selection)
return document.selection.createRange().text;else if(!!this.element.setSelectionRange)
return this.element.value.substring(this.element.selectionStart,this.element.selectionEnd);else
return false;},replaceSelection:function(text){var scroll_top=this.element.scrollTop;if(!!document.selection){this.element.focus();var range=(this.range)?this.range:document.selection.createRange();range.text=text;range.select();}else if(!!this.element.setSelectionRange){var selection_start=this.element.selectionStart;this.element.value=this.element.value.substring(0,selection_start)+text+this.element.value.substring(this.element.selectionEnd);this.element.setSelectionRange(selection_start+text.length,selection_start+text.length);}
this.doOnChange();this.element.focus();this.element.scrollTop=scroll_top;},wrapSelection:function(before,after){this.replaceSelection(before+this.getSelection()+after);},insertBeforeSelection:function(text){this.replaceSelection(text+this.getSelection());},insertAfterSelection:function(text){this.replaceSelection(this.getSelection()+text);}});var TextboxShadowLabel=Class.create({initialize:function(element,text,hideLabel){this.text='';this.element=$(element);if(text){this.text=text;}else if(this.element.id){var labels=$$('label[for="'+$(element).id+'"]');if(labels.length){var label=labels.pop();this.text=label.innerHTML.strip();label.hide();}}
if(this.element.value==this.text)this.element.value='';this.element.observe('focus',this.focus.bindAsEventListener(this));this.element.observe('blur',this.blur.bindAsEventListener(this));this.element.observe('value:changed',this.change.bindAsEventListener(this));this.blur();},focus:function(event){if(this.empty)
this.element.value='';this.empty=false;this.element.removeClassName('empty');},blur:function(event){if(this.element.value==''){this.element.value=this.text;this.element.addClassName('empty');this.empty=true;}},change:function(event){this.empty=(this.element.value=='');this.element.value==''?this.blur(event):this.focus(event);}});var TabList=Class.create({initialize:function(list){this.list=$(list);this.tabs=[];var selectedIndex=0;var hash=window.location.hash.replace(/^#tab_/,"");this.list.getElementsBySelector('li a').each(function(link,i){var tab={};var panelId=link.href.replace(/.*\#/,'');if(hash==panelId)
selectedIndex=i;tab.panel=$(panelId);tab.link=link;tab.link.observe('click',this.setTab.bindAsEventListener(this,tab));this.tabs.push(tab);},this);if(this.tabs.length)
this.setTab.bind(this,null,this.tabs[selectedIndex]).delay(0.1);},setTab:function(event,newTab){Event.stopAndBlur(event);if(newTab.panel&&event)
window.location.href=window.location.href.replace(/#.*/,'')+'#tab_'+newTab.panel.id;this.tabs.each(function(tab){if(tab.panel)
(tab==newTab)?tab.panel.show():tab.panel.hide();(tab==newTab)?tab.link.addClassName('selected'):tab.link.removeClassName('selected');});}});var Shadow=Class.create({initialize:function(container,border){this.container=container;this.border=border||0;this.shadowNE=container.appendChild(new Element('div',{className:'shadowNE'}));this.shadowSW=container.appendChild(new Element('div',{className:'shadowSW'}));this.shadowSE=container.appendChild(new Element('div',{className:'shadowSE'}));this.shadowS=container.appendChild(new Element('div',{className:'shadowS'}));this.shadowE=container.appendChild(new Element('div',{className:'shadowE'}));this.redraw();},redraw:function(){var containerOffset=this.container.cumulativeOffset();var w=this.container.getWidth();var h=this.container.getHeight();var b=-this.border;this.shadowNE.style.left=(w+b)+'px';this.shadowNE.style.top=b+'px';this.shadowE.style.left=(w+b)+'px';this.shadowE.style.top=(b+6)+'px';this.shadowSE.style.left=(w+b)+'px';this.shadowSE.style.top=(h+b)+'px';this.shadowS.style.left=(6+b)+'px';this.shadowS.style.top=(h+b)+'px';this.shadowSW.style.left=b+'px';this.shadowSW.style.top=(h+b)+'px';this.shadowS.style.width=Math.max(w-6,0)+'px';this.shadowE.style.height=Math.max(h-6,0)+'px';}});var CustomSelect=Class.create({initialize:function(element,submitOnChange){this.element=$(element);this.submitOnChange=submitOnChange;this.form=this.element.up('form');this.element.hide();var container=new Element('div',{className:'customSelectContainer'});this.element.insert({'before':container});this.textbox=container.appendChild(new Element('div',{className:'customSelectTextbox'}));this.dropdown=$('content').appendChild(new Element('ul',{className:'customSelectDropdown customSelectDropdown-'+this.element.id}));this.dropdown.hide();this.element.observe('change',this.change.bind(this));this.textbox.observe('mouseout',this.hide.bind(this));this.dropdown.observe('mouseout',this.hide.bind(this));this.textbox.observe('mouseover',this.show.bind(this));this.dropdown.observe('mouseover',this.show.bind(this));this.updateTextbox();this.buildDropdown();},hide:function(){this.hideTimer=this.dropdown.hide.bind(this.dropdown).delay(0.1);},show:function(){if(this.hideTimer)
window.clearTimeout(this.hideTimer);this.dropdown.show();},change:function(){this.updateTextbox();if(this.submitOnChange){this.form.fire('form:submit',this.element.value);this.form.submit();}},updateTextbox:function(){this.textbox.update(this.element[this.element.selectedIndex].text);},buildDropdown:function(){$A(this.element.options).each(function(option,i){var li=this.dropdown.appendChild(new Element('li',{className:option.className}));var a=li.appendChild(new Element('a',{href:'javascript:void(0);'}).update(option.text));if(i==0)
a.addClassName('first');a.onclick=this.setVal.bindAsEventListener(this,option.value);},this);},setVal:function(event,val){if(val.substring(0,3)=='js:'){if(!eval(val.substring(3)));return;}
this.element.value=val;this.change();Event.stop(event);},showAll:function(){this.dropdown.getElementsBySelector('li').each(function(li){li.removeClassName('hidden');});this.dropdown.show();return false;}});var OverrideSubmit=Class.create({initialize:function(element,override){$(element).observe('keydown',function(event){if(event.keyCode==Event.KEY_RETURN){Event.stop(event);if(override)override();}});}});var FieldWatcher=Class.create({initialize:function(fields,callback,events){if(events==null)events=['keyup','blur'];this.fields=fields.collect(function(field){return $(field);});this.callback=callback;this.fields.each(function(field){events.each(function(eventName){field.observe(eventName,this.changed.bindAsEventListener(this));},this);},this);},changed:function(event){var vals=[];this.fields.each(function(field){vals.push(field.getValue());});this.callback(event,vals);}});var ReadMore=Class.create({initialize:function(element,height,scroll){this.element=$(element);this.height=height;this.scroll=scroll;this.originalSize=this.element.getDimensions();if(this.height>this.originalSize.height-15)return;this.element.makeClipping().setStyle({height:this.height+'px'}).show();this.buttonContainer=new Element('div',{className:'readMore'});this.buttonContainer.setStyle({width:this.originalSize.width+'px'});this.button=this.buttonContainer.appendChild((new Element('a',{href:'javascript:void(0)'})).update(language('button-show-more')));this.button.observe('click',this.expand.bindAsEventListener(this));this.element.insert({'after':this.buttonContainer});this.expanded=false;},expand:function(event){var scaleMode={originalHeight:this.originalSize.height,originalWidth:this.originalSize.width};var scaleSize=100*this.height/this.originalSize.height;if(this.expanded){this.buttonContainer.removeClassName('readMoreExpanded');Effect.BlindUp(this.element,{scaleMode:scaleMode,scaleTo:scaleSize,restoreAfterFinish:false,afterFinish:(function(){this.element.makeClipping().setStyle({height:this.height+'px'}).show();if(this.scroll)
Effect.ScrollTo(this.element,{offset:-30,duration:0.5});}).bind(this)});this.button.update(language('button-show-more'));}else{Effect.BlindDown(this.element,{scaleMode:scaleMode,scaleFrom:scaleSize,restoreAfterFinish:false,afterFinish:(function(){this.element.undoClipping().setStyle({height:'auto'});this.buttonContainer.addClassName('readMoreExpanded');if(this.scroll)
Effect.ScrollTo(this.element,{offset:this.height-15,duration:0.5});}).bind(this)});this.button.update(language('button-show-less'));}
this.expanded=!this.expanded;}});var redirectMatch=window.location.hash.match(/#_redirect_(.*)/);if(redirectMatch){var parts=urlParts(redirectMatch[1]);window.location.href=parts.pathname+parts.search;}
var UpdatePanel=Class.create({initialize:function(element,renders){this.element=$(element);this.renders=renders?renders:[this.element.id];},update:function(url,method,params){this.element.setOpacity(0.5);wait(true);if(!method)method='post';if(!params)params={};var urlParams=url+(method=='get'?'?'+$H(params).toQueryString():'');if(typeof pageTracker!='undefined')
pageTracker._trackPageview(urlParams);if(method=='post')
url+='?_render='+escape(this.renders.join(','));else
params._render=this.renders.join(',');new Ajax.Request(url,{method:method,parameters:params,onSuccess:(function(transport,json){this.element.setOpacity(1);wait(false);var data=transport.responseText.split('<!-- "START SCRIPT" -->');this.element.update(data[0]);if(data.length>1)
eval(data[1]);this.element.fire('body:rendered');window.location.href=window.location.href.replace(/#.*/,'')+'#_redirect_'+json.url;}).bind(this),onFailure:(function(transport){this.element.setOpacity(1);wait(false);}).bind(this)});}});var UpdatePanelForm=Class.create(UpdatePanel,{initialize:function($super,element,renders,form){$super(element,renders);this.form=$(form);this.form.observe('submit',this.submit.bindAsEventListener(this));this.form.submit=this.submit.bindAsEventListener(this);},submit:function(event){var data=this.form.serialize(true);var parts=urlParts(this.form.action);this.update(parts.pathname,this.form.method,data);Event.stopAndBlur(event);}});var PlayWindow=function(event,id){Event.stopAndBlur(event);};var PlayList=Class.create({initialize:function(){this.plays=[];this.currentPlay=0;},add:function(play){this.plays.push(play);},play:function(i){this.plays[this.currentPlay].play();},stopAll:function(){this.plays.invoke('stop');}});var Play=Class.create({initialize:function(id,url,playlist){this.id=id;this.url=url;var playButton=$('playButton_'+this.id);if(playButton)playButton.observe('click',this.toggle.bindAsEventListener(this));var playButtonAlt=$('playButtonAlt_'+this.id);if(playButtonAlt)playButtonAlt.observe('click',this.toggle.bindAsEventListener(this));this.wrapper=$('playWrapper_'+id);this.downloadButton=$('downloadButton_'+this.id);if(this.downloadButton)
this.downloadButton.hide();this.playlist=playlist;if(this.playlist)
this.playlist.add(this);this.playing=false;},toggle:function(event){this.playing?this.stop(event):this.play(event);},play:function(event){if(this.playlist)
this.playlist.stopAll();if(this.downloadButton)
this.downloadButton.show();if(event)Event.stopAndBlur(event);if(!this.playing){this.show();Effect.SlideDown(this.wrapper,{duration:0.5,afterFinish:this.afterShow.bind(this)});}
this.playing=true;},stop:function(event){if(this.downloadButton)
this.downloadButton.hide();if(event)Event.stopAndBlur(event);if(this.playing){Effect.SlideUp(this.wrapper,{duration:0.5,afterFinish:this.hide.bind(this)});}
this.playing=false;},show:function(){},afterShow:function(){},hide:function(){}});var PlayMp3=Class.create(Play,{initialize:function($super,id,url,playlist){$super(id,url,playlist);this.movie=$('playMovie_'+this.id);this.object=this.movie.down('object');this.movie.addClassName('hidden');},play:function($super,event){$super(event);},stop:function($super,event){$super(event);},show:function($super){$super();this.movie.removeClassName('hidden');if(this.movieSWF)
this.object.movie=this.movieSWF;},hide:function($super){$super();this.movie.addClassName('hidden');this.movieSWF=this.object.movie;this.object.movie='/null';}});var PlayOgg=Class.create(Play,{initialize:function($super,id,url,playlist,autoplay){$super(id,url,playlist);this.autoplay=autoplay;},play:function($super,event){$super(event);},stop:function($super,event){$super(event);},afterShow:function($super){$super();if(typeof(wgOggPlayer)!='undefined')
wgOggPlayer.init(false,{'id':this.wrapper.id,'videoUrl':this.url,'width':290,'height':0,'length':180,'offset':0,'isVideo':false,'autoplay':this.autoplay});},hide:function($super){$super();this.wrapper.down('div').innerHTML='';}});var PlayFlv=PlayMp3;var TranslateHandles={};var TranslateGroup=Class.create({initialize:function(id,ids){this.ids=ids;this.langs={};this.currentLang='original';$(id+'_controls').getElementsBySelector('li a').each(function(a){lang=a.hash.substr(1);this.langs[lang]={};this.langs[lang].a=a;a.observe('click',this.setLang.bindAsEventListener(this,lang));},this);this.setLang(null,this.currentLang);},setLang:function(event,lang){if(event)Event.stopAndBlur(event);var langObject=this.langs[lang];this.ids.each(function(id){TranslateHandles[id].setLang(null,lang);});$(this.langs[this.currentLang].a.parentNode).removeClassName('selected');$(this.langs[lang].a.parentNode).addClassName('selected');this.currentLang=lang;}});var Translate=Class.create({initialize:function(id,sourceLang,inline){var sourceLangElement=$(id);TranslateHandles[id]=this;this.wrapperElement=(inline?'span':'div');this.wrapper=sourceLangElement.wrap(new Element(this.wrapperElement));this.sourceLang=sourceLang;this.langs={};this.currentLang=sourceLang;$(id+'_controls').getElementsBySelector('li a').each(function(a){lang=a.hash.substr(1);this.langs[lang]={};this.langs[lang].a=a;if(lang!=sourceLang){this.langs[lang].element=this.wrapper.appendChild(new Element(this.wrapperElement,{className:sourceLangElement.className}));this.langs[lang].translated=false;this.langs[lang].element.hide();}else{this.langs[lang].element=sourceLangElement;this.langs[lang].translated=true;}
var clickEvent=this.setLang.bindAsEventListener(this,lang);a.observe('click',clickEvent);this.langs[lang].clickEvent=clickEvent;},this);this.showLang(this.sourceLang);},setLang:function(event,lang){if(event)Event.stopAndBlur(event);if(lang=='original')lang=this.sourceLang;var langObject=this.langs[lang];if(this.translating)return;this.translating=true;this.langs[this.currentLang].element.setOpacity(0.5);if(langObject.translated){this.showLang(lang);}else{new Ajax.Request('rpc.php',{parameters:{method:'com.google.translate',text:this.langs[this.sourceLang].element.innerHTML.strip(),target:lang,source:this.sourceLang},onSuccess:(function(transport){langObject.element.update(transport.responseText.evalJSON().text);langObject.translated=true;this.showLang(lang);}).bind(this),onFailure:(function(transport){this.showLang(this.currentLang);}).bind(this)});}},showLang:function(lang){var langObject=this.langs[lang];this.translating=false;this.langs[this.currentLang].element.setOpacity(1);this.langs[this.currentLang].element.hide();$(this.langs[this.currentLang].a.parentNode).removeClassName('selected');langObject.element.show();$(langObject.a.parentNode).addClassName('selected');this.currentLang=lang;if(this.onChangeLang)this.onChangeLang();}});var Favourites={add:function(a,id,table){var a=$(a);if(a.blur)a.blur();if(a.hasClassName('favSelected')&&!confirm(language('confirm-remove-favourite-recording')))
return false;new Ajax.Request('rpc.php',{parameters:{method:'internal.favourites.toggle',id:id,table:table},onSuccess:(function(transport){var isFav=transport.responseText.evalJSON();isFav?a.addClassName('favSelected'):a.removeClassName('favSelected');}).bind(this),onFailure:(function(transport){}).bind(this)});}};var MouseUpEvents=[];var MouseUp=true;document.observe('mouseup',function(){MouseUp=true;MouseUpEvents.each(function(e){e();});MouseUpEvents=[];});document.observe('mousedown',function(){MouseUp=false;});var Bookmark=Class.create({initialize:function(element){var a=$(element);this.href=a.href=location.href;if(window.opera){a.rel='sidebar';}else{a.onclick=(function(event){this.click(this.href,document.title);if(typeof pageTracker!='undefined')
pageTracker._trackPageview('/bookmark/'+a.href);Event.stopAndBlur(event);}).bind(this);}
return a;},click:function(url,title){if(window.external&&(!document.createTextNode||(typeof(window.external.AddFavorite)=='unknown'))){window.external.AddFavorite(url,title);}else if(Bookmark.isKonq){alert('You need to press CTRL + B to bookmark our site.');}else if(window.opera){void(0);}else if(window.home||this.isSafari){alert('You need to press '+Bookmark.buttonStr+' + D to bookmark our site.');}else if(!window.print||Bookmark.isMac){alert('You need to press Command/Cmd + D to bookmark our site.');}else{alert('In order to bookmark this site you need to do so manually through your browser.');}}});Bookmark.ua=navigator.userAgent.toLowerCase();Bookmark.isKonq=(Bookmark.ua.indexOf('konqueror')!=-1);Bookmark.isSafari=(Bookmark.ua.indexOf('webkit')!=-1);Bookmark.isMac=(Bookmark.ua.indexOf('mac')!=-1);Bookmark.buttonStr=(Bookmark.isMac?'Command/Cmd':'CTRL');function wait(set){set?$(document.body).addClassName('wait'):$(document.body).removeClassName('wait');}
function language(lang_var,vars){if(typeof vars!='undefined'){if(typeof languages[lang_var]!='undefined'){var output=languages[lang_var];$H(vars).each(function(pair){output=output.replace(new RegExp("\{"+pair[0]+"\}"),pair[1]);});return output.unescapeHTML();}else{return'--'+lang_var+'--';}}else{return(typeof languages!='undefined'&&typeof languages[lang_var]!='undefined')?languages[lang_var].unescapeHTML():'--'+lang_var+'--';}}
function button_src(text,icon,type,w){if(typeof icon=='undefined')icon='next';if(typeof type=='undefined')type='';if(typeof w=='undefined')w=0;return'images/button.php?'+$H({t:text,icon:icon,type:type,w:w}).toQueryString();}
function createCookie(name,value,expires,path,domain,secure)
{var today=new Date();today.setTime(today.getTime());if(expires)
expires=expires*1000*60*60*24;var expires_date=new Date(today.getTime()+(expires));document.cookie=name+"="+escape(value)+
((expires)?";expires="+expires_date.toGMTString():"")+
((path)?";path="+path:"")+
((domain)?";domain="+domain:"")+
((secure)?";secure":"");}
function urlParts(url){var a=new Element('a',{href:url});return{host:a.host,hostname:a.hostname,pathname:(a.pathname.substr(0,1)!='/')?'/'+a.pathname:a.pathname,protocol:a.protocol,search:a.search,hash:a.hash};}
if(Prototype.Browser.MobileSafari){Element.observe(window,'load',function(){window.setTimeout(function(){window.scrollTo(0,1);},100);updateOrientation();});var updateOrientation=function(){document.body.setAttribute('orient',(window.orientation==0)?'portrait':'landscape');};window.onorientationchange=updateOrientation;}
var baseHref=$$('base')[0].href;Ajax.Request.prototype.abort=function(){this.transport.onreadystatechange=Prototype.emptyFunction;this.transport.abort();Ajax.activeRequestCount--;};if((typeof Prototype=='undefined')||(typeof Element=='undefined')||(typeof Element.Methods=='undefined'))
throw new Error('Cleverform requires the Prototype JavaScript framework');var Cleverform=Class.create();Cleverform.prototype.initialize=function(element,trackBase){this.element=element;this.trackBase=trackBase;if(typeof this.element=='undefined')
throw new Error('Element \''+element+'\' not found');this.formelements={};this.fields={};this.formValidators=[];this.formValidatorsByField={};this.formMasksByField={};this.init($(this.element));document.observe('dom:loaded',(function(event){if(event.target&&event.target!=document&&event.target.descendantOf(this.element))
this.init(event.target);}).bind(this));};Cleverform.prototype.init=function(parentElement){if(!parentElement)return;parentElement.select('.cf_formelement').each(function(formelementElement){var formelement=this.formelements[formelementElement.id]=new Formelement(formelementElement,this);var inputs=Form.getElements(formelementElement);inputs.each(function(inputElement){delete this.fields[inputElement.name];},this);inputs.each(function(inputElement){if(this.fields[inputElement.name]){this.fields[inputElement.name].addElement(inputElement);}else{this.fields[inputElement.name]=new CFField(inputElement,formelement);}
if(inputElement.getValue()!=''&&inputElement.getValue()!=null)
this.fields[inputElement.name].touched=true;},this);inputs.each(function(inputElement){if(this.formValidatorsByField&&this.formValidatorsByField[inputElement.name]){this.formValidatorsByField[inputElement.name].each(function(validator){validator.init();validator.validate();});}},this);inputs.each(function(inputElement){if(this.formMasksByField&&this.formMasksByField[inputElement.name]){this.formMasksByField[inputElement.name].each(function(formMask){formMask.init();});}},this);},this);};Cleverform.prototype.setActiveFormelement=function(formelement){if(this.lastFormelement)
this.lastFormelement.element.removeClassName('cf_highlighted');if(formelement){formelement.element.addClassName('cf_highlighted');this.focusedFormelement=formelement;this.lastFormelement=formelement;}};Cleverform.prototype.validateAll=function(focusFirstFailed,fieldNames){var allValidated=true;var formValidators=this.formValidators;if(fieldNames){formValidators=[];fieldNames.each(function(fieldName){if(this.formValidatorsByField[fieldName])
this.formValidatorsByField[fieldName].each(function(validator){formValidators.push(validator);});},this);};formValidators.each(function(formValidator){var result=formValidator.validate(true);if(!result&&focusFirstFailed&&formValidator.fieldsExist){var jumpToTarget=this.fields[formValidator.fieldNames[0]].formelement.element;if(typeof Effect!='undefined'){Effect.ScrollTo(jumpToTarget,{offset:-30,duration:0.7});}else{jumpToTarget.id=jumpToTarget.id||'e'+Math.round(Math.random()*10000);window.location.href='#'+jumpToTarget.id;}
this.fields[formValidator.fieldNames[0]].elements[0].focus();focusFirstFailed=false;}
allValidated=allValidated&&result;},this);return allValidated;};Cleverform.prototype.fieldValues=function(fieldNames){var fieldValues=[];fieldNames.each(function(fieldName){if(typeof this.fields[fieldName]=='undefined')
throw new Error('Field with name \''+fieldName+'\' not found');var fields=this.fields[fieldName].elements;var val;if(fields.length==1){val=fields[0].getValue();}else{val=null;fields.each(function(field){if(field.checked){val=field.value;throw $break;}});}
fieldValues.push([val,this.fields[fieldName].touched]);},this);return fieldValues;};Cleverform.prototype.addValidator=function(fieldNames,validator,options){if(!(options instanceof Object))
options={};if(!(fieldNames instanceof Array))
fieldNames=[fieldNames];if(!options.formelementFieldname)
options.formelementFieldname=fieldNames[0];var formValidator=new FormValidator(fieldNames,validator,this,options);this.formValidators.push(formValidator);fieldNames.each(function(fieldName){if(!this.formValidatorsByField[fieldName])this.formValidatorsByField[fieldName]=[];this.formValidatorsByField[fieldName].push(formValidator);},this);};Cleverform.prototype.addMask=function(fieldNames,mask){fieldNames=!(fieldNames instanceof Array)?[fieldNames]:fieldNames;var formMask=new FormMask(this,fieldNames,mask);fieldNames.each(function(fieldName){if(!this.formMasksByField[fieldName])this.formMasksByField[fieldName]=[];this.formMasksByField[fieldName].push(formMask);},this);};Cleverform.prototype.zopaNext=function(globalAlert,button){if(button.disabled||button.clickDisabled)
return false;if(!this.validateAll(true)){$(globalAlert).show();return false;}else{button=$(button);button.src+='&disable=';button.clickDisabled=true;return true;}};var FormMask=Class.create({initialize:function(cleverform,fieldNames,mask){this.fieldNames=fieldNames;this.mask=mask;this.cleverform=cleverform;this.init();},init:function(){this.fieldNames.each(function(fieldName){if(this.cleverform.fields[fieldName])
Event.observe(this.cleverform.fields[fieldName].elements[0],'keyup',(function(event){var element=Event.element(event);var maskedValue=this.mask(element.value);if(element.value!=maskedValue){var charPos=Masks.getCharPos(element);var startLength=element.value.length;element.value=maskedValue;if(charPos!==null){charPos[0]-=(startLength-element.value.length);charPos[1]-=(startLength-element.value.length);Masks.setCharPos(element,charPos[0],charPos[1]);}}}).bindAsEventListener(this));},this);}});var Formelement=Class.create();Formelement.prototype.initialize=function(element,cleverform){this.element=element;this.cleverform=cleverform;this.errors={};this.errorMessages={};this.defaultError;var errorElements=this.element.select('.cf_error');errorElements.each(function(errorElement){var errorName=errorElement.classNames().find(function(name){return name.substring(0,9)=='cf_error_';});if(errorName){this.errorMessages[errorName.substring(9)]=errorElement;}else{this.defaultError=errorElement;}},this);Event.observe(this.element,'mouseover',(function(){this.cleverform.setActiveFormelement(this);this.cleverform.focusedFormelement=null;}).bind(this));};Formelement.prototype.setState=function(state){['valid','failed','wait'].each((function(s){(s==state)?this.element.addClassName('cf_element'+s):this.element.removeClassName('cf_element'+s);}).bind(this));};var CFField=Class.create();CFField.prototype.initialize=function(element,formelement){this.elements=[];this.formelement=formelement;this.touched=false;this.addElement(element);};CFField.prototype.addElement=function(element){this.elements.push(element);Event.observe(element,'focus',this.formelement.cleverform.setActiveFormelement.bind(this.formelement.cleverform,this.formelement));Event.observe(element,'blur',(function(){if(this.formelement.cleverform.focusedFormelement==this.formelement)
this.formelement.cleverform.setActiveFormelement(false);}).bind(this));};CFField.prototype.setValue=function(value){var fields=this.elements;if(fields[0].nodeName.toLowerCase()=='input'&&(fields[0].type.toLowerCase()=='checkbox'||fields[0].type.toLowerCase()=='radio')){fields.each(function(field){if(field.value==value){field.selected=true;field.checked=true;}else{field.selected=false;field.checked=false;}});}else{fields[0].value=value;}};var FormValidator=Class.create();FormValidator.prototype.initialize=function(fieldNames,validator,cleverform,options){this.fieldNames=fieldNames;this.validator=validator;this.cleverform=cleverform;this.options=options;this.init();if(this.formelement&&!this.formelement.element.hasClassName('cf_elementfailed'))
this.validate();};FormValidator.prototype.init=function(){if(!this.cleverform.fields[this.options.formelementFieldname])return;this.formelement=this.cleverform.fields[this.options.formelementFieldname].formelement;this.errorName=this.options.errorName;var listenerFieldNames=this.options.listenerFieldNames||this.fieldNames;var eventName=this.options.keyPress?'keypress':'blur';this.fieldsExist=true;listenerFieldNames.each(function(listenerFieldName){if(typeof this.cleverform.fields[listenerFieldName]=='undefined'){this.fieldsExist=false;throw $break;}
this.cleverform.fields[listenerFieldName].elements.each(function(element){element.field=this.cleverform.fields[listenerFieldName];if(element.type=='checkbox'&&eventName=='blur')eventName='click';Event.observe(element,eventName,(function(event){element.field.touched=true;var valid=this.validate(false,event);if(valid!==null&&this.cleverform.trackBase&&typeof pageTracker!='undefined')
pageTracker._trackPageview('/'+this.cleverform.trackBase+'/'+element.name+'/'+(valid?'valid':'invalid'));}).bindAsEventListener(this));},this);},this);};FormValidator.prototype.validate=function(force,event){if(!this.fieldsExist)return true;var args=[];var allTouched=true;var fieldPairs=this.cleverform.fieldValues(this.fieldNames);fieldPairs.each(function(fieldPair){args.push(fieldPair[0]);allTouched=allTouched&&fieldPair[1];});if(allTouched||force||(this.options.forceTouch&&event!=null)){if(this.validator.rpc){if(!force){this.validator.formValidator=this;this.validator(args,event);this.processResult(null);}
return true;}else{return this.processResult(this.validator(args,event));}}else{return null;}};FormValidator.prototype.processResult=function(result){var noErrors=true;if(this.errorName){this.formelement.errors[this.errorName]=false;if(this.formelement.errorMessages[this.errorName])
this.formelement.errorMessages[this.errorName].removeClassName('cf_failed');$H(this.formelement.errors).each(function(pair){if(pair[1]){noErrors=false;throw $break;}});}
if(result){if(noErrors){this.formelement.setState('valid');if(this.formelement.defaultError)
this.formelement.defaultError.removeClassName('cf_failed');}
return true;}else if(result==null){if(this.errorName)
this.formelement.errors[this.errorName]=true;this.formelement.setState('wait');}else{if(this.errorName){this.formelement.errors[this.errorName]=true;if(this.formelement.errorMessages[this.errorName])
this.formelement.errorMessages[this.errorName].addClassName('cf_failed');}
this.formelement.setState('failed');if(this.formelement.defaultError)
this.formelement.defaultError.addClassName('cf_failed');return false;}};var Validators={capsLock:function(args,event){if(!event)return true;var keyCode=event.which?event.which:(event.keyCode?event.keyCode:(event.charCode?event.charCode:0));var shiftKey=!!(event.shiftKey||(event.modifiers&&(event.modifiers&4)));var upperCase=(keyCode>=65&&keyCode<=90);var lowerCase=(keyCode>=97&&keyCode<=122);return!((upperCase&&!shiftKey)||(lowerCase&&shiftKey));},rpcJSON:function(url,varNames,orMode,params){var f=Validators.rpc(function(transport,json){return json;},url,varNames,orMode,params);return f;},rpcXML:function(url,parseOptions,varNames,method,params){var f=Validators.rpc(function(transport){var result=false;var xml=transport.responseXML;if(parseOptions.element){var elements=xml.getElementsByTagName(parseOptions.element);if(elements){var element=elements[parseOptions.elementIndex||0];if(element){var data=parseOptions.attribute?element.getAttribute(parseOptions.attribute):element.firstChild.data;if(parseOptions.resultValid){var result=(data==parseOptions.resultValid);}else{try{var result=eval(data);}catch(e){}}}}}
return result;},url,varNames,method);return f;},rpcText:function(url,varNames,method,params)
{var f=Validators.rpc(function(transport){var result=false;try{var result=new Boolean(transport.responseText.evalJSON()).valueOf();}catch(e){}
return result;},url,varNames,method,params);return f;},rpc:function(parser,url,varNames,method,params){var f=function(args){varNames=varNames||[];if(!(varNames instanceof Array))
varNames=[varNames];var parameters=Object.extend({},params);args.each(function(arg,i){varName=varNames[i]||'arg'+i;parameters[varName]=arg;});new Ajax.Request(url,{method:method||'post',parameters:parameters,onSuccess:function(transport,json){f.formValidator.processResult(parser(transport,json));}});return true;};f.rpc=true;return f;},regExp:function(expression,orMode){var f=function(args){expression.test('');return expression.test(args[0]);};return orMode?Validators.orArgs(f):Validators.andArgs(f);},validEmail:function(orMode){var emailRegex=/^([\w\!\#\$\%\*\/\?\|\^\{\}\`\~\&\'\+\-\=\_\.]+)*@([\w-]+)(\.[\w-]{2,}){1,}$/;var f=function(args){return emailRegex.test(args[0]);};return orMode?Validators.orArgs(f):Validators.andArgs(f);},isNumeric:function(orMode){var f=function(args){return args[0]==parseFloat(args[0])&&args[0]!='';};return orMode?Validators.orArgs(f):Validators.andArgs(f);},isMultipleOf:function(factor,orMode){var f=function(args){return args[0]%factor==0;};return orMode?Validators.orArgs(f):Validators.andArgs(f);},numericRange:function(from,to,orMode){var f=function(args){var val=parseFloat(args[0]);return Validators.isNumeric(args)&&(from===null||val>=from)&&(to===null||val<=to);};return orMode?Validators.orArgs(f):Validators.andArgs(f);},validDate:function(minDate,maxDate){return function(args){if(args.length!=3)
throw new Error('validDate must be connected to three input fields');if(args[0]<1900)return false;args[1]-=1;var date=new Date(args[0],args[1],args[2]);return(date.getYear()==args[0]||date.getYear()+1900==args[0])&&date.getMonth()==args[1]&&date.getDate()==args[2]&&(!minDate||minDate.getTime()<=date.getTime())&&(!maxDate||maxDate.getTime()>=date.getTime());};},validDatetime:function(minDate,maxDate){return function(args){if(args.length!=6)
throw new Error('validDatetime must be connected to six input fields');if(args[0]<1900)return false;args[1]-=1;var date=new Date(args[0],args[1],args[2],args[3],args[4],args[5]);return(date.getYear()==args[0]||date.getYear()+1900==args[0])&&date.getMonth()==args[1]&&date.getDate()==args[2]&&date.getHours()==args[3]&&date.getMinutes()==args[4]&&date.getSeconds()==args[5]&&(!minDate||minDate.getTime()<=date.getTime())&&(!maxDate||maxDate.getTime()>=date.getTime());};},validTime:function(minTime,maxTime){return function(args){if(args.length!=3)
throw new Error('validTime must be connected to three input fields');var h=parseFloat(args[0]);var m=parseFloat(args[1]);var s=parseFloat(args[2]);if(args[0]!=h||args[1]!=m||args[2]!=s)return false;var seconds=(h*3600)+(m*60)+s;return h>=0&&m>=0&&m<60&&s>=0&&s<60&&(minTime===null||minTime<=seconds)&&(maxTime===null||maxTime>=seconds);};},stringLength:function(from,to,orMode){var f=function(args){var l=args[0].length;return(from===null||l>=from)&&(to===null||l<=to);};return orMode?Validators.orArgs(f):Validators.andArgs(f);},notEquals:function(value,orMode){var f=function(args){return args[0]!=value;};return orMode?Validators.orArgs(f):Validators.andArgs(f);},isEmpty:function(orMode){var f=function(args){return args[0]=='';};return orMode?Validators.orArgs(f):Validators.andArgs(f);},matchFields:function(orMode){if(orMode){return function(args){var passed=false;args.each(function(arg1){args.each(function(arg2){passed=passed||(arg1==arg2);});});return passed;};}else{return function(args){var passed=true;args.each(function(arg){passed=passed&&(arg==args[0]);});return passed;};}},compareFieldsLT:function(){return function(args){if(!Validators.isNumeric()(args))
return false;var passed=true;for(var i=1,il=args.length;i<il;i++){passed=passed&&(parseFloat(args[i-1])<parseFloat(args[i]));};return passed;};},compareFieldsLTE:function(){return function(args){if(!Validators.isNumeric()(args))
return false;var passed=true;for(var i=1,il=args.length;i<il;i++){passed=passed&&(parseFloat(args[i-1])<=parseFloat(args[i]));};return passed;};},and:function(validators,serial){return function(args){var passed=true;validators.each(function(validator,i){if(typeof validator!='function')throw new Error('Invalid validator used');passed=passed&&validator(serial?[args[i]]:args);});return passed;};},or:function(validators,serial){return function(args){var passed=false;validators.each(function(validator,i){if(typeof validator!='function')throw new Error('Invalid validator used');passed=passed||validator(serial?[args[i]]:args);});return passed;};},andArgs:function(validator){return function(args){return args.all(function(arg){return validator([arg]);});};},orArgs:function(validator){return function(args){return args.any(function(arg){return validator([arg]);});};}};var Masks={regExp:function(expression){return function(arg){return arg.replace(expression,'');};}};Masks['digits']=Masks.regExp(new RegExp('[^0-9]','g'));Masks['float']=Masks.regExp(new RegExp('[^0-9\.\-]','g'));Masks['word']=Masks.regExp(new RegExp('[^\w]','g'));Masks['postcode']=Masks.regExp(new RegExp('[^a-zA-Z0-9 ]','g'));Masks.getCharPos=function(input){if(input.selectionStart||input.selectionStart=='0')
return[input.selectionStart,input.selectionEnd];if(document.selection&&document.selection.createRange){var range=document.selection.createRange();var isCollapsed=range.compareEndPoints('StartToEnd',range)==0;if(!isCollapsed)range.collapse(true);var a=range.getBookmark();range=document.selection.createRange();isCollapsed=range.compareEndPoints("StartToEnd",range)==0;if(!isCollapsed)range.collapse(false);var b=range.getBookmark();return[a.charCodeAt(2)-2,b.charCodeAt(2)-2];}
return null;};Masks.setCharPos=function(input,start,end){if(input.selectionStart||input.selectionStart=='0'){input.setSelectionRange(start,end);}else if(document.selection&&document.selection.createRange){var range=input.createTextRange();range.collapse(true);range.moveStart("character",start);range.moveEnd("character",end-start);range.select();}};var SuggestBox=Class.create({initialize:function(options)
{this.func=options.func;this.initText=options.initText;this.instructions=options.instructions;this.updatingMessage=options.updatingMessage;this.textBox=$(options.textBox);this.selectBox=$(options.selectBox);if(this.selectBox)
this.selectBox.hide();this.RPCUri=options.RPCUri;this.RPCParams=options.RPCParams;this.highlight=options.highlight;this.searchList=options.searchList?options.searchList.collect(function(x){return{text:x};}):null;this.startsWith=options.startsWith;this.truncate=options.truncate||40;this.updateSearchList();this.suggestionsContainer=new Element('div',{className:'suggest_box_container'});this.textBox.insert({after:this.suggestionsContainer});this.suggestions=this.suggestionsContainer.appendChild(new Element('div',{className:'suggest_box'})).hide();this.results=[];Event.observe(document,'mouseup',(function(){if(!this.mouseDown)
this.suggestions.hide();this.mouseDown=false;}).bind(this));this.textBox.observe('keypress',this.keydown.bindAsEventListener(this));this.textBox.observe('keydown',this.keydown.bindAsEventListener(this));this.textBox.observe('keyup',this.keyup.bindAsEventListener(this));this.textBox.observe('blur',this.blur.bindAsEventListener(this));this.textBox.observe('focus',this.focus.bindAsEventListener(this));this.textBox.observe('mousedown',(function(){this.mouseDown=true;}).bind(this));this.textBox.autocomplete='off';if(this.initText){this.textBox.value=this.initText;this.textBox.addClassName('empty');}
this.mouseDown=false;if(options.initId){new Ajax.Request(this.RPCUri,{parameters:Object.extend({id:options.initId},this.RPCParams),onSuccess:this.updateSuggestions.bind(this,true)});}},focus:function(event){if(!this.init&&this.textBox.value==this.initText){this.textBox.removeClassName('empty');this.textBox.value='';this.init=true;}
this.loadSuggestions();},blur:function(event){if(this.hoverIndex>=0)this.clickVal(null,this.hoverIndex);if(!this.mouseDown)
this.suggestions.hide();},keydown:function(event){switch(event.keyCode){case Event.KEY_RETURN:if(this.hoverIndex>=0){this.clickVal(null,this.hoverIndex);Event.stop(event);}
break;}},keyup:function(event){switch(event.keyCode){case Event.KEY_UP:if(this.hoverIndex>=0){this.updateHover(this.hoverIndex-1);Event.stop(event);}
break;case Event.KEY_DOWN:if(this.hoverIndex<this.results.length-1){this.updateHover(this.hoverIndex+1);Event.stop(event);}
break;case Event.KEY_ESC:break;}
if(!SuggestBox.controlKeys.member(event.keyCode))this.loadSuggestions();},loadSuggestions:function(){this.updateHover(-1);if(this.highlight)
this.textBox.removeClassName('selected');if(!this.RPCUri){this.update();}else{if(this.request)this.request.abort();if(this.delay)window.clearTimeout(this.delay);if(this.lastRequestText==this.textBox.value){this.update();return;}
if(!this.textBox.value){this.updateSuggestions();return;}
if(this.updatingMessage){this.suggestions.innerHTML='';this.suggestions.appendChild(new Element('span',{className:'first help'})).update(this.updatingMessage);this.suggestions.show();}
this.delay=(function(){this.request=new Ajax.Request(this.RPCUri,{parameters:Object.extend({text:this.textBox.value},this.RPCParams),onSuccess:this.updateSuggestions.bind(this,false),onFailure:(function(){this.request=null;}).bind(this)});}).bind(this).delay(0.5);}},updateSuggestions:function(forceSelect,transport){this.lastRequestText=this.textBox.value;this.request=null;this.options=transport?(transport.responseText?transport.responseText.evalJSON():[]):[];this.selectBox.innerHTML='';this.selectBox.appendChild(new Element('option'));this.options.each(function(option){this.selectBox.appendChild(new Element('option',{value:option.value,alt:option.alt}).update(option.label));},this);this.updateSearchList();this.update(true,forceSelect);},updateSearchList:function(){if(!this.selectBox)return;this.searchList=$A(this.selectBox.getElementsByTagName('option'));this.searchList=this.searchList.without(this.searchList[0]);},update:function(showAll,forceSelect){var val=this.textBox.value;var valL=val.toLowerCase();this.results=[];var exact=false;if(val!==''){var startsWith=this.startsWith;this.results=this.searchList.findAll(function(result){if(result.text==val)exact=true;if(showAll)return true;var i=result.text.toLowerCase().indexOf(valL);if(startsWith)
return i==0;else
return i!=-1;});}
this.suggestions.innerHTML='';if(this.results.length){if(this.instructions)
this.suggestions.appendChild(new Element('span',{className:'first help'})).update(this.instructions);this.suggestions.show();this.results.each(function(result,i){var displayName=result.text.truncate(this.truncate);result.element=this.suggestions.appendChild(new Element('a',{href:'#',tabIndex:-1})).update(displayName);result.element.onclick=this.clickVal.bindAsEventListener(this,i);result.element.onmouseover=this.updateHover.bind(this,i);result.element.onmousedown=(function(){this.mouseDown=true;}).bind(this);if(result.text.toLowerCase()==val)this.updateHover(i);if(result.getAttribute&&result.getAttribute('alt'))
result.element.appendChild(new Element('span').update(result.getAttribute('alt')));if(i>15){this.suggestions.appendChild(new Element('span')).update('...');throw $break;}},this);if(!this.instructions)
this.results[0].element.addClassName('first');}else{this.suggestions.hide();}
if(forceSelect){this.clickVal(null,0);}},clickVal:function(event,i){this.updateHover(i);this.textBox.value=this.results[i].text;if(this.highlight)
this.textBox.addClassName('selected');if(this.func)
this.func(this.results[i]);this.suggestions.hide();if(i>=0&&this.selectBox)
this.selectBox.fire('value:set',this.options[i]);if(event)Event.stop(event);},updateHover:function(newHover){if(this.hoverIndex>=0)
this.results[this.hoverIndex].element.removeClassName('hover');if(newHover>=0){this.results[newHover].element.addClassName('hover');this.results[newHover].selected=true;}else{if(this.selectBox)
this.selectBox[0].selected=true;}
this.hoverIndex=newHover;}});SuggestBox.controlKeys=[Event.KEY_LEFT,Event.KEY_RIGHT,Event.KEY_UP,Event.KEY_DOWN,Event.KEY_RETURN,Event.KEY_TAB];try{document.execCommand("BackgroundImageCache",false,true);}catch(e){}
var lightwindow=Class.create();lightwindow.prototype={element:null,contentToFetch:null,windowActive:false,dataEffects:[],dimensions:{cruft:null,container:null,viewport:{height:null,width:null,offsetTop:null,offsetLeft:null}},pagePosition:{x:0,y:0},pageDimensions:{width:null,height:null},preloadImage:[],preloadedImage:[],galleries:[],resizeTo:{height:null,heightPercent:null,width:null,widthPercent:null,fixedTop:null,fixedLeft:null},scrollbarOffset:18,navigationObservers:{previous:null,next:null},containerChange:{height:0,width:0},activeGallery:false,galleryLocation:{current:0,total:0},initialize:function(options){this.options=Object.extend({resizeSpeed:10,contentOffset:{height:20,width:20},dimensions:{image:{height:250,width:250},page:{height:250,width:250},inline:{height:250,width:250},media:{height:250,width:250},external:{height:250,width:250},titleHeight:25},classNames:{standard:'lightwindow',action:'lightwindow_action'},fileTypes:{page:['asp','aspx','cgi','cfm','htm','html','pl','php4','php3','php','php5','phtml','rhtml','shtml','txt','vbs','rb'],media:['aif','aiff','asf','avi','divx','m1v','m2a','m2v','m3u','mid','midi','mov','moov','movie','mp2','mp3','mpa','mpa','mpe','mpeg','mpg','mpg','mpga','pps','qt','rm','ram','swf','viv','vivo','wav'],image:['bmp','gif','jpg','png','tiff']},mimeTypes:{avi:'video/avi',aif:'audio/aiff',aiff:'audio/aiff',gif:'image/gif',bmp:'image/bmp',jpeg:'image/jpeg',m1v:'video/mpeg',m2a:'audio/mpeg',m2v:'video/mpeg',m3u:'audio/x-mpequrl',mid:'audio/x-midi',midi:'audio/x-midi',mjpg:'video/x-motion-jpeg',moov:'video/quicktime',mov:'video/quicktime',movie:'video/x-sgi-movie',mp2:'audio/mpeg',mp3:'audio/mpeg3',mpa:'audio/mpeg',mpa:'video/mpeg',mpe:'video/mpeg',mpeg:'video/mpeg',mpg:'audio/mpeg',mpg:'video/mpeg',mpga:'audio/mpeg',pdf:'application/pdf',png:'image/png',pps:'application/mspowerpoint',qt:'video/quicktime',ram:'audio/x-pn-realaudio-plugin',rm:'application/vnd.rn-realmedia',swf:'application/x-shockwave-flash',tiff:'image/tiff',viv:'video/vivo',vivo:'video/vivo',wav:'audio/wav',wmv:'application/x-mplayer2'},classids:{mov:'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',swf:'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000',wmv:'clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6'},codebases:{mov:'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',swf:'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0',wmv:'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715'},viewportPadding:10,EOLASFix:'swf,wmv,fla,flv',overlay:{opacity:0.7,image:'images/white.png',presetImage:'images/white-70.png'},skin:{main:'<div id="lightwindow_container" >'+'<div id="lightwindow_title_bar" >'+'<div id="lightwindow_title_bar_inner" >'+'<span id="lightwindow_title_bar_title"></span>'+'<a id="lightwindow_title_bar_close_link" ><img src="images/close.png" alt="close" /></a>'+'</div>'+'</div>'+'<div id="lightwindow_stage" >'+'<div id="lightwindow_contents" >'+'</div>'+'<div id="lightwindow_navigation" >'+'<a href="#" id="lightwindow_previous" >'+'<span id="lightwindow_previous_title"></span>'+'</a>'+'<a href="#" id="lightwindow_next" >'+'<span id="lightwindow_next_title"></span>'+'</a>'+'<iframe name="lightwindow_navigation_shim" id="lightwindow_navigation_shim" src="javascript:false;" frameBorder="0" scrolling="no"></iframe>'+'</div>'+'<div id="lightwindow_galleries">'+'<div id="lightwindow_galleries_tab_container" >'+'<a href="#" id="lightwindow_galleries_tab" >'+'<span id="lightwindow_galleries_tab_span" class="up" >Galleries</span>'+'</a>'+'</div>'+'<div id="lightwindow_galleries_list" >'+'</div>'+'</div>'+'</div>'+'<div id="lightwindow_data_slide" >'+'<div id="lightwindow_data_slide_inner" >'+'<div id="lightwindow_data_details" >'+'<div id="lightwindow_data_gallery_container" >'+'<span id="lightwindow_data_gallery_current"></span>'+' of '+'<span id="lightwindow_data_gallery_total"></span>'+'</div>'+'<div id="lightwindow_data_author_container" >'+'by <span id="lightwindow_data_author"></span>'+'</div>'+'</div>'+'<div id="lightwindow_data_caption" >'+'</div>'+'</div>'+'</div>'+'</div>',loading:'<div id="lightwindow_loading" >'+'<img src="images/throbber.gif" alt="loading" />'+'<span>'+language('form-ins-suggest-loading')+' (<a href="javascript: myLightWindow.deactivate();">'+language('button-cancel')+'</a>)</span>'+'<iframe name="lightwindow_loading_shim" id="lightwindow_loading_shim" src="javascript:false;" frameBorder="0" scrolling="no"></iframe>'+'</div>',iframe:'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'+'<html xmlns="http://www.w3.org/1999/xhtml">'+'<body>'+'{body_replace}'+'</body>'+'</html>',gallery:{top:'<div class="lightwindow_galleries_list">'+'<h1>{gallery_title_replace}</h1>'+'<ul>',middle:'<li>'+'{gallery_link_replace}'+'</li>',bottom:'</ul>'+'</div>'}},formMethod:'get',hideFlash:false,hideGalleryTab:false,showTitleBar:true,animationHandler:false,navigationHandler:false,transitionHandler:false,finalAnimationHandler:false,formHandler:false,galleryAnimationHandler:false,showGalleryCount:true},options||{});this.duration=((11-this.options.resizeSpeed)*0.15);this._setupLinks();this._getScroll();this._getPageDimensions();this._browserDimensions();this._addLightWindowMarkup(false);this._setupDimensions();this.buildGalleryList();},activate:function(e,link){this._clearWindowContents(true);this._addLoadingWindowMarkup();this._setupWindowElements(link);this._getScroll();this._browserDimensions();this._setupDimensions();this._toggleTroubleElements('hidden',false);this._displayLightWindow('block','hidden');this._setStatus(true);this._monitorKeyboard(true);this._prepareIE(true);this._loadWindow();},deactivate:function(){this.windowActive=false;this.activeGallery=false;if(!this.options.hideGalleryTab){this._handleGalleryAnimation(false);}
this.animating=false;this.element=null;this._displayLightWindow('none','visible');this._clearWindowContents(false);var queue=Effect.Queues.get('lightwindowAnimation').each(function(e){e.cancel();});this._prepareIE(false);this._setupDimensions();this._toggleTroubleElements('visible',false);this._monitorKeyboard(false);},createWindow:function(element,attributes){this._processLink($(element));},activateWindow:function(options){this.element=Object.extend({href:null,title:null,author:null,caption:null,rel:null,top:null,left:null,type:null,showImages:null,height:null,width:null,loadingAnimation:null,iframeEmbed:null,form:null},options||{});this.contentToFetch=this.element.href;this.windowType=this.element.type?this.element.type:this._fileType(this.element.href);this._clearWindowContents(true);this._addLoadingWindowMarkup();this._getScroll();this._browserDimensions();this._setupDimensions();this._toggleTroubleElements('hidden',false);this._displayLightWindow('block','hidden');this._setStatus(true);this._monitorKeyboard(true);this._prepareIE(true);this._loadWindow();},submitForm:function(e){if(this.options.formHandler){this.options.formHandler(e);}else{this._defaultFormHandler(e);}},openWindow:function(element){var element=$(element);this.windowActive=true;this._clearWindowContents(true);this._addLoadingWindowMarkup();this._setupWindowElements(element);this._setStatus(true);this._handleTransition();},navigateWindow:function(direction){this._handleNavigation(false);if(direction=='previous'){this.openWindow(this.navigationObservers.previous);}else if(direction=='next'){this.openWindow(this.navigationObservers.next);}},buildGalleryList:function(){var output='';var galleryLink;for(i in this.galleries){if(typeof this.galleries[i]=='object'){output+=(this.options.skin.gallery.top).replace('{gallery_title_replace}',unescape(i));for(j in this.galleries[i]){if(typeof this.galleries[i][j]=='object'){galleryLink='<a href="#" id="lightwindow_gallery_'+i+'_'+j+'" >'+unescape(j)+'</a>';output+=(this.options.skin.gallery.middle).replace('{gallery_link_replace}',galleryLink);}}
output+=this.options.skin.gallery.bottom;}}
new Insertion.Top('lightwindow_galleries_list',output);for(i in this.galleries){if(typeof this.galleries[i]=='object'){for(j in this.galleries[i]){if(typeof this.galleries[i][j]=='object'){Event.observe($('lightwindow_gallery_'+i+'_'+j),'click',this.openWindow.bind(this,this.galleries[i][j][0]),false);$('lightwindow_gallery_'+i+'_'+j).onclick=function(){return false;};}}}}},_setupLinks:function(){var links=$$('.'+this.options.classNames.standard);links.each(function(link){this._processLink(link);}.bind(this));},_processLink:function(link){if((this._fileType(link.getAttribute('href'))=='image'||this._fileType(link.getAttribute('href'))=='media')){if(gallery=this._getGalleryInfo(link.rel)){if(!this.galleries[gallery[0]]){this.galleries[gallery[0]]=new Array();}
if(!this.galleries[gallery[0]][gallery[1]]){this.galleries[gallery[0]][gallery[1]]=new Array();}
this.galleries[gallery[0]][gallery[1]].push(link);}}
var url=link.getAttribute('href');if(url.indexOf('?')>-1){url=url.substring(0,url.indexOf('?'));}
var container=url.substring(url.indexOf('#')+1);if($(container)){$(container).setStyle({display:'none'});}
Event.observe(link,'click',this.activate.bindAsEventListener(this,link),false);link.onclick=function(){return false;};},_setupActions:function(){var links=$$('#lightwindow_container .'+this.options.classNames.action);links.each(function(link){Event.observe(link,'click',this[link.getAttribute('rel')].bindAsEventListener(this,link),false);link.onclick=function(){return false;};}.bind(this));},_addLightWindowMarkup:function(rebuild){var overlay=Element.extend(document.createElement('div'));overlay.setAttribute('id','lightwindow_overlay');if(Prototype.Browser.Gecko){overlay.setStyle({backgroundImage:'url('+this.options.overlay.presetImage+')',backgroundRepeat:'repeat',height:this.pageDimensions.height+'px'});}else{overlay.setStyle({opacity:this.options.overlay.opacity,backgroundImage:'url('+this.options.overlay.image+')',backgroundRepeat:'repeat',height:this.pageDimensions.height+'px'});}
var lw=document.createElement('div');lw.setAttribute('id','lightwindow');lw.innerHTML=this.options.skin.main;var body=document.getElementsByTagName('body')[0];body.appendChild(overlay);body.appendChild(lw);if($('lightwindow_title_bar_close_link')){Event.observe('lightwindow_title_bar_close_link','click',this.deactivate.bindAsEventListener(this));$('lightwindow_title_bar_close_link').onclick=function(){return false;};}
Event.observe($('lightwindow_previous'),'click',this.navigateWindow.bind(this,'previous'),false);$('lightwindow_previous').onclick=function(){return false;};Event.observe($('lightwindow_next'),'click',this.navigateWindow.bind(this,'next'),false);$('lightwindow_next').onclick=function(){return false;};if(!this.options.hideGalleryTab){Event.observe($('lightwindow_galleries_tab'),'click',this._handleGalleryAnimation.bind(this,true),false);$('lightwindow_galleries_tab').onclick=function(){return false;};}
if(Prototype.Browser.IE){Event.observe(document,'mousewheel',this._stopScrolling.bindAsEventListener(this),false);}else{Event.observe(window,'DOMMouseScroll',this._stopScrolling.bindAsEventListener(this),false);}
Event.observe(overlay,'click',this.deactivate.bindAsEventListener(this),false);overlay.onclick=function(){return false;};},_addLoadingWindowMarkup:function(){$('lightwindow_contents').innerHTML+=this.options.skin.loading;},_setupWindowElements:function(link){this.element=link;this.element.title=null?'':link.getAttribute('title');this.element.author=null?'':link.getAttribute('author');this.element.caption=null?'':link.getAttribute('caption');this.element.rel=null?'':link.getAttribute('rel');this.element.params=null?'':link.getAttribute('params');this.contentToFetch=this.element.href;this.windowType=this._getParameter('lightwindow_type')?this._getParameter('lightwindow_type'):this._fileType(this.contentToFetch);},_clearWindowContents:function(contents){if($('lightwindow_iframe')){Element.remove($('lightwindow_iframe'));}
if($('lightwindow_media_primary')){try{$('lightwindow_media_primary').Stop();}catch(e){}
Element.remove($('lightwindow_media_primary'));}
if($('lightwindow_media_secondary')){try{$('lightwindow_media_secondary').Stop();}catch(e){}
Element.remove($('lightwindow_media_secondary'));}
this.activeGallery=false;this._handleNavigation(this.activeGallery);if(contents){$('lightwindow_contents').innerHTML='';$('lightwindow_contents').setStyle({overflow:'hidden'});if(!this.windowActive){$('lightwindow_data_slide_inner').setStyle({display:'none'});$('lightwindow_title_bar_title').innerHTML='';}
$('lightwindow_data_slide').setStyle({height:'auto'});}
this.resizeTo.height=null;this.resizeTo.width=null;},_setStatus:function(status){this.animating=status;if(status){Element.show('lightwindow_loading');}
if(!(/MSIE 6./i.test(navigator.userAgent))){this._fixedWindow(status);}},_fixedWindow:function(status){if(status){if(this.windowActive){this._getScroll();$('lightwindow').setStyle({position:'absolute',top:parseFloat($('lightwindow').getStyle('top'))+this.pagePosition.y+'px',left:parseFloat($('lightwindow').getStyle('left'))+this.pagePosition.x+'px'});}else{$('lightwindow').setStyle({position:'absolute'});}}else{if(this.windowActive){this._getScroll();$('lightwindow').setStyle({position:'fixed',top:parseFloat($('lightwindow').getStyle('top'))-this.pagePosition.y+'px',left:parseFloat($('lightwindow').getStyle('left'))-this.pagePosition.x+'px'});}else{if($('lightwindow_iframe')){this._browserDimensions();}
$('lightwindow').setStyle({position:'fixed',top:(parseFloat(this._getParameter('lightwindow_top'))?parseFloat(this._getParameter('lightwindow_top'))+'px':this.dimensions.viewport.height/2+'px'),left:(parseFloat(this._getParameter('lightwindow_left'))?parseFloat(this._getParameter('lightwindow_left'))+'px':this.dimensions.viewport.width/2+'px')});}}},_prepareIE:function(setup){if(Prototype.Browser.IE){var height,overflowX,overflowY;if(setup){var height='100%';}else{var height='auto';}
var body=document.getElementsByTagName('body')[0];var html=document.getElementsByTagName('html')[0];html.style.height=body.style.height=height;}},_stopScrolling:function(e){if(this.animating){if(e.preventDefault){e.preventDefault();}
e.returnValue=false;}},_getScroll:function(){if(typeof(window.pageYOffset)=='number'){this.pagePosition.x=window.pageXOffset;this.pagePosition.y=window.pageYOffset;}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){this.pagePosition.x=document.body.scrollLeft;this.pagePosition.y=document.body.scrollTop;}else if(document.documentElement){this.pagePosition.x=document.documentElement.scrollLeft;this.pagePosition.y=document.documentElement.scrollTop;}},_setScroll:function(x,y){document.documentElement.scrollLeft=x;document.documentElement.scrollTop=y;},_toggleTroubleElements:function(visibility,content){if(content){var selects=$('lightwindow_contents').getElementsByTagName('select');}else{var selects=document.getElementsByTagName('select');}
for(var i=0;i<selects.length;i++){selects[i].style.visibility=visibility;}
if(!content){if(this.options.hideFlash){var objects=document.getElementsByTagName('object');for(i=0;i!=objects.length;i++){objects[i].style.visibility=visibility;}
var embeds=document.getElementsByTagName('embed');for(i=0;i!=embeds.length;i++){embeds[i].style.visibility=visibility;}}
var iframes=document.getElementsByTagName('iframe');for(i=0;i!=iframes.length;i++){iframes[i].style.visibility=visibility;}}},_getPageDimensions:function(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){this.pageDimensions.height=windowHeight;}else{this.pageDimensions.height=yScroll;}
if(xScroll<windowWidth){this.pageDimensions.width=windowWidth;}else{this.pageDimensions.width=xScroll;}},_displayLightWindow:function(display,visibility){$('lightwindow_overlay').style.display=$('lightwindow').style.display=$('lightwindow_container').style.display=display;$('lightwindow_overlay').style.visibility=$('lightwindow').style.visibility=$('lightwindow_container').style.visibility=visibility;},_setupDimensions:function(){var originalHeight,originalWidth;switch(this.windowType){case'page':originalHeight=this.options.dimensions.page.height;originalWidth=this.options.dimensions.page.width;break;case'image':originalHeight=this.options.dimensions.image.height;originalWidth=this.options.dimensions.image.width;break;case'media':originalHeight=this.options.dimensions.media.height;originalWidth=this.options.dimensions.media.width;break;case'external':originalHeight=this.options.dimensions.external.height;originalWidth=this.options.dimensions.external.width;break;case'inline':originalHeight=this.options.dimensions.inline.height;originalWidth=this.options.dimensions.inline.width;break;default:originalHeight=this.options.dimensions.page.height;originalWidth=this.options.dimensions.page.width;break;}
var offsetHeight=this._getParameter('lightwindow_top')?parseFloat(this._getParameter('lightwindow_top'))+this.pagePosition.y:this.dimensions.viewport.height/2+this.pagePosition.y;var offsetWidth=this._getParameter('lightwindow_left')?parseFloat(this._getParameter('lightwindow_left'))+this.pagePosition.x:this.dimensions.viewport.width/2+this.pagePosition.x;$('lightwindow').setStyle({top:offsetHeight+'px',left:offsetWidth+'px'});$('lightwindow_container').setStyle({height:originalHeight+'px',width:originalWidth+'px',left:-(originalWidth/2)+'px',top:-(originalHeight/2)+'px'});$('lightwindow_contents').setStyle({height:originalHeight+'px',width:originalWidth+'px'});},_fileType:function(url){var image=new RegExp("[^\.]\.("+this.options.fileTypes.image.join('|')+")\s*$","i");if(image.test(url))return'image';if(url.indexOf('#')>-1&&(document.domain==this._getDomain(url)))return'inline';if(url.indexOf('?')>-1)url=url.substring(0,url.indexOf('?'));var type='unknown';var page=new RegExp("[^\.]\.("+this.options.fileTypes.page.join('|')+")\s*$","i");var media=new RegExp("[^\.]\.("+this.options.fileTypes.media.join('|')+")\s*$","i");if(document.domain!=this._getDomain(url))type='external';if(media.test(url))type='media';if(type=='external'||type=='media')return type;if(page.test(url)||url.substr((url.length-1),url.length)=='/')type='page';return type;},_fileExtension:function(url){if(url.indexOf('?')>-1){url=url.substring(0,url.indexOf('?'));}
var extenstion='';for(var x=(url.length-1);x>-1;x--){if(url.charAt(x)=='.'){return extenstion;}
extenstion=url.charAt(x)+extenstion;}},_monitorKeyboard:function(status){if(status)document.onkeydown=this._eventKeypress.bind(this);else document.onkeydown='';},_eventKeypress:function(e){if(e==null){var keycode=event.keyCode;}else{var keycode=e.which;}
switch(keycode){case 27:this.deactivate();break;case 13:return;default:break;}
if(this.animating){return false;}
switch(String.fromCharCode(keycode).toLowerCase()){case'p':if(this.navigationObservers.previous){this.navigateWindow('previous');}
break;case'n':if(this.navigationObservers.next){this.navigateWindow('next');}
break;default:break;}},_getGalleryInfo:function(rel){if(!rel)return false;if(rel.indexOf('[')>-1){return new Array(escape(rel.substring(0,rel.indexOf('['))),escape(rel.substring(rel.indexOf('[')+1,rel.indexOf(']'))));}else{return false;}},_getDomain:function(url){var leadSlashes=url.indexOf('//');var domainStart=leadSlashes+2;var withoutResource=url.substring(domainStart,url.length);var nextSlash=withoutResource.indexOf('/');var domain=withoutResource.substring(0,nextSlash);if(domain.indexOf(':')>-1){var portColon=domain.indexOf(':');domain=domain.substring(0,portColon);}
return domain;},_getParameter:function(parameter,parameters){if(!this.element)return false;if(parameter=='lightwindow_top'&&this.element.top){return unescape(this.element.top);}else if(parameter=='lightwindow_left'&&this.element.left){return unescape(this.element.left);}else if(parameter=='lightwindow_type'&&this.element.type){return unescape(this.element.type);}else if(parameter=='lightwindow_show_images'&&this.element.showImages){return unescape(this.element.showImages);}else if(parameter=='lightwindow_height'&&this.element.height){return unescape(this.element.height);}else if(parameter=='lightwindow_width'&&this.element.width){return unescape(this.element.width);}else if(parameter=='lightwindow_loading_animation'&&this.element.loadingAnimation){return unescape(this.element.loadingAnimation);}else if(parameter=='lightwindow_iframe_embed'&&this.element.iframeEmbed){return unescape(this.element.iframeEmbed);}else if(parameter=='lightwindow_form'&&this.element.form){return unescape(this.element.form);}else{if(!parameters){if(this.element.params)parameters=this.element.params;else return;}
var value;var parameterArray=parameters.split(',');var compareString=parameter+'=';var compareLength=compareString.length;for(var i=0;i<parameterArray.length;i++){if(parameterArray[i].substr(0,compareLength)==compareString){var currentParameter=parameterArray[i].split('=');value=currentParameter[1];break;}}
if(!value)return false;else return unescape(value);}},_browserDimensions:function(){if(Prototype.Browser.IE){this.dimensions.viewport.height=document.documentElement.clientHeight;this.dimensions.viewport.width=document.documentElement.clientWidth;}else{this.dimensions.viewport.height=window.innerHeight;this.dimensions.viewport.width=document.width||document.body.offsetWidth;}},_getScrollerWidth:function(){var scrollDiv=Element.extend(document.createElement('div'));scrollDiv.setAttribute('id','lightwindow_scroll_div');scrollDiv.setStyle({position:'absolute',top:'-10000px',left:'-10000px',width:'100px',height:'100px',overflow:'hidden'});var contentDiv=Element.extend(document.createElement('div'));contentDiv.setAttribute('id','lightwindow_content_scroll_div');contentDiv.setStyle({width:'100%',height:'200px'});scrollDiv.appendChild(contentDiv);var body=document.getElementsByTagName('body')[0];body.appendChild(scrollDiv);var noScroll=$('lightwindow_content_scroll_div').offsetWidth;scrollDiv.style.overflow='auto';var withScroll=$('lightwindow_content_scroll_div').offsetWidth;Element.remove($('lightwindow_scroll_div'));this.scrollbarOffset=noScroll-withScroll;},_addParamToObject:function(name,value,object,id){var param=document.createElement('param');param.setAttribute('value',value);param.setAttribute('name',name);if(id){param.setAttribute('id',id);}
object.appendChild(param);return object;},_outerHTML:function(object){if(Prototype.Browser.IE){return object.outerHTML;}else{var clone=object.cloneNode(true);var cloneDiv=document.createElement('div');cloneDiv.appendChild(clone);return cloneDiv.innerHTML;}},_convertToMarkup:function(object,closeTag){var markup=this._outerHTML(object).replace('</'+closeTag+'>','');if(Prototype.Browser.IE){for(var i=0;i<object.childNodes.length;i++){markup+=this._outerHTML(object.childNodes[i]);}
markup+='</'+closeTag+'>';}
return markup;},_appendObject:function(object,closeTag,appendTo){if(Prototype.Browser.IE){appendTo.innerHTML+=this._convertToMarkup(object,closeTag);if(this.options.EOLASFix.indexOf(this._fileType(this.element.href))>-1){var objectElements=document.getElementsByTagName('object');for(var i=0;i<objectElements.length;i++){if(objectElements[i].getAttribute("data"))objectElements[i].removeAttribute('data');objectElements[i].outerHTML=objectElements[i].outerHTML;objectElements[i].style.visibility="visible";}}}else{appendTo.appendChild(object);}},_appendIframe:function(scroll){var iframe=document.createElement('iframe');iframe.setAttribute('id','lightwindow_iframe');iframe.setAttribute('name','lightwindow_iframe');iframe.setAttribute('src','about:blank');iframe.setAttribute('height','100%');iframe.setAttribute('width','100%');iframe.setAttribute('frameborder','0');iframe.setAttribute('marginwidth','0');iframe.setAttribute('marginheight','0');iframe.setAttribute('scrolling',scroll);this._appendObject(iframe,'iframe',$('lightwindow_contents'));},_writeToIframe:function(content){var template=this.options.skin.iframe;template=template.replace('{body_replace}',content);if($('lightwindow_iframe').contentWindow){$('lightwindow_iframe').contentWindow.document.open();$('lightwindow_iframe').contentWindow.document.write(template);$('lightwindow_iframe').contentWindow.document.close();}else{$('lightwindow_iframe').contentDocument.open();$('lightwindow_iframe').contentDocument.write(template);$('lightwindow_iframe').contentDocument.close();}},_loadWindow:function(){switch(this.windowType){case'image':var current=0;var images=[];this.checkImage=[];this.resizeTo.height=this.resizeTo.width=0;this.imageCount=this._getParameter('lightwindow_show_images')?parseInt(this._getParameter('lightwindow_show_images')):1;if(gallery=this._getGalleryInfo(this.element.rel)){for(current=0;current<this.galleries[gallery[0]][gallery[1]].length;current++){if(this.contentToFetch.indexOf(this.galleries[gallery[0]][gallery[1]][current].href)>-1){break;}}
if(this.galleries[gallery[0]][gallery[1]][current-this.imageCount]){this.navigationObservers.previous=this.galleries[gallery[0]][gallery[1]][current-this.imageCount];}else{this.navigationObservers.previous=false;}
if(this.galleries[gallery[0]][gallery[1]][current+this.imageCount]){this.navigationObservers.next=this.galleries[gallery[0]][gallery[1]][current+this.imageCount];}else{this.navigationObservers.next=false;}
this.activeGallery=true;}else{this.navigationObservers.previous=false;this.navigationObservers.next=false;this.activeGallery=false;}
for(var i=current;i<(current+this.imageCount);i++){if(gallery&&this.galleries[gallery[0]][gallery[1]][i]){this.contentToFetch=this.galleries[gallery[0]][gallery[1]][i].href;this.galleryLocation={current:(i+1)/this.imageCount,total:(this.galleries[gallery[0]][gallery[1]].length)/this.imageCount};if(!this.galleries[gallery[0]][gallery[1]][i+this.imageCount]){$('lightwindow_next').setStyle({display:'none'});}else{$('lightwindow_next').setStyle({display:'block'});$('lightwindow_next_title').innerHTML=this.galleries[gallery[0]][gallery[1]][i+this.imageCount].title;}
if(!this.galleries[gallery[0]][gallery[1]][i-this.imageCount]){$('lightwindow_previous').setStyle({display:'none'});}else{$('lightwindow_previous').setStyle({display:'block'});$('lightwindow_previous_title').innerHTML=this.galleries[gallery[0]][gallery[1]][i-this.imageCount].title;}}
images[i]=document.createElement('img');images[i].setAttribute('id','lightwindow_image_'+i);images[i].setAttribute('border','0');images[i].setAttribute('src',this.contentToFetch);$('lightwindow_contents').appendChild(images[i]);this.checkImage[i]=new PeriodicalExecuter(function(i){if(!(typeof $('lightwindow_image_'+i).naturalWidth!="undefined"&&$('lightwindow_image_'+i).naturalWidth==0)){this.checkImage[i].stop();var imageHeight=$('lightwindow_image_'+i).getHeight();if(imageHeight>this.resizeTo.height){this.resizeTo.height=imageHeight;}
this.resizeTo.width+=$('lightwindow_image_'+i).getWidth();this.imageCount--;$('lightwindow_image_'+i).setStyle({height:'100%'});if(this.imageCount==0){this._processWindow();}}}.bind(this,i),1);}
break;case'media':var current=0;this.resizeTo.height=this.resizeTo.width=0;if(gallery=this._getGalleryInfo(this.element.rel)){for(current=0;current<this.galleries[gallery[0]][gallery[1]].length;current++){if(this.contentToFetch.indexOf(this.galleries[gallery[0]][gallery[1]][current].href)>-1){break;}}
if(this.galleries[gallery[0]][gallery[1]][current-1]){this.navigationObservers.previous=this.galleries[gallery[0]][gallery[1]][current-1];}else{this.navigationObservers.previous=false;}
if(this.galleries[gallery[0]][gallery[1]][current+1]){this.navigationObservers.next=this.galleries[gallery[0]][gallery[1]][current+1];}else{this.navigationObservers.next=false;}
this.activeGallery=true;}else{this.navigationObservers.previous=false;this.navigationObservers.next=false;this.activeGallery=false;}
if(gallery&&this.galleries[gallery[0]][gallery[1]][current]){this.contentToFetch=this.galleries[gallery[0]][gallery[1]][current].href;this.galleryLocation={current:current+1,total:this.galleries[gallery[0]][gallery[1]].length};if(!this.galleries[gallery[0]][gallery[1]][current+1]){$('lightwindow_next').setStyle({display:'none'});}else{$('lightwindow_next').setStyle({display:'block'});$('lightwindow_next_title').innerHTML=this.galleries[gallery[0]][gallery[1]][current+1].title;}
if(!this.galleries[gallery[0]][gallery[1]][current-1]){$('lightwindow_previous').setStyle({display:'none'});}else{$('lightwindow_previous').setStyle({display:'block'});$('lightwindow_previous_title').innerHTML=this.galleries[gallery[0]][gallery[1]][current-1].title;}}
if(this._getParameter('lightwindow_iframe_embed')){this.resizeTo.height=this.dimensions.viewport.height;this.resizeTo.width=this.dimensions.viewport.width;}else{this.resizeTo.height=this._getParameter('lightwindow_height');this.resizeTo.width=this._getParameter('lightwindow_width');}
this._processWindow();break;case'external':this._appendIframe('auto');this.resizeTo.height=this.dimensions.viewport.height;this.resizeTo.width=this.dimensions.viewport.width;this._processWindow();break;case'page':var newAJAX=new Ajax.Request(this.contentToFetch,{method:'get',parameters:'',onComplete:function(response){$('lightwindow_contents').innerHTML+=response.responseText;this.resizeTo.height=$('lightwindow_contents').scrollHeight+(this.options.contentOffset.height);this.resizeTo.width=$('lightwindow_contents').scrollWidth+(this.options.contentOffset.width);this._processWindow();}.bind(this)});break;case'inline':var content=this.contentToFetch;if(content.indexOf('?')>-1){content=content.substring(0,content.indexOf('?'));}
content=content.substring(content.indexOf('#')+1);new Insertion.Top($('lightwindow_contents'),$(content).innerHTML);this.resizeTo.height=$('lightwindow_contents').scrollHeight+(this.options.contentOffset.height);this.resizeTo.width=$('lightwindow_contents').scrollWidth+(this.options.contentOffset.width);this._toggleTroubleElements('hidden',true);this._processWindow();break;default:throw("Page Type could not be determined, please amend this lightwindow URL "+this.contentToFetch);break;}},_resizeWindowToFit:function(){if(this.resizeTo.height+this.dimensions.cruft.height>this.dimensions.viewport.height){var heightRatio=this.resizeTo.height/this.resizeTo.width;this.resizeTo.height=this.dimensions.viewport.height-this.dimensions.cruft.height-(2*this.options.viewportPadding);if(this.windowType=='image'||(this.windowType=='media'&&!this._getParameter('lightwindow_iframe_embed'))){this.resizeTo.width=this.resizeTo.height/heightRatio;$('lightwindow_data_slide_inner').setStyle({width:this.resizeTo.width+'px'});}}
if(this.resizeTo.width+this.dimensions.cruft.width>this.dimensions.viewport.width){var widthRatio=this.resizeTo.width/this.resizeTo.height;this.resizeTo.width=this.dimensions.viewport.width-2*this.dimensions.cruft.width-(2*this.options.viewportPadding);if(this.windowType=='image'||(this.windowType=='media'&&!this._getParameter('lightwindow_iframe_embed'))){this.resizeTo.height=this.resizeTo.width/widthRatio;$('lightwindow_data_slide_inner').setStyle({height:this.resizeTo.height+'px'});}}},_presetWindowSize:function(){if(this._getParameter('lightwindow_height')){this.resizeTo.height=parseFloat(this._getParameter('lightwindow_height'));}
if(this._getParameter('lightwindow_width')){this.resizeTo.width=parseFloat(this._getParameter('lightwindow_width'));}},_processWindow:function(){this.dimensions.dataEffects=[];if(this.element.caption||this.element.author||(this.activeGallery&&this.options.showGalleryCount)){if(this.element.caption){$('lightwindow_data_caption').innerHTML=this.element.caption;$('lightwindow_data_caption').setStyle({display:'block'});}else{$('lightwindow_data_caption').setStyle({display:'none'});}
if(this.element.author){$('lightwindow_data_author').innerHTML=this.element.author;$('lightwindow_data_author_container').setStyle({display:'block'});}else{$('lightwindow_data_author_container').setStyle({display:'none'});}
if(this.activeGallery&&this.options.showGalleryCount){$('lightwindow_data_gallery_current').innerHTML=this.galleryLocation.current;$('lightwindow_data_gallery_total').innerHTML=this.galleryLocation.total;$('lightwindow_data_gallery_container').setStyle({display:'block'});}else{$('lightwindow_data_gallery_container').setStyle({display:'none'});}
$('lightwindow_data_slide_inner').setStyle({width:this.resizeTo.width+'px',height:'auto',visibility:'visible',display:'block'});$('lightwindow_data_slide').setStyle({height:$('lightwindow_data_slide').getHeight()+'px',width:'1px',overflow:'hidden',display:'block'});}else{$('lightwindow_data_slide').setStyle({display:'none',width:'auto'});$('lightwindow_data_slide_inner').setStyle({display:'none',visibility:'hidden',width:this.resizeTo.width+'px',height:'0px'});}
if(this.element.title!='null'){}else{$('lightwindow_title_bar_title').innerHTML='';}
var originalContainerDimensions={height:$('lightwindow_container').getHeight(),width:$('lightwindow_container').getWidth()};$('lightwindow_container').setStyle({height:'auto',width:$('lightwindow_container').getWidth()+this.options.contentOffset.width-(this.windowActive?this.options.contentOffset.width:0)+'px'});var newContainerDimensions={height:$('lightwindow_container').getHeight(),width:$('lightwindow_container').getWidth()};this.containerChange={height:originalContainerDimensions.height-newContainerDimensions.height,width:originalContainerDimensions.width-newContainerDimensions.width};this.dimensions.container={height:$('lightwindow_container').getHeight(),width:$('lightwindow_container').getWidth()};this.dimensions.cruft={height:this.dimensions.container.height-$('lightwindow_contents').getHeight()+this.options.contentOffset.height,width:this.dimensions.container.width-$('lightwindow_contents').getWidth()+this.options.contentOffset.width};this._presetWindowSize();this._resizeWindowToFit();if(!this.windowActive){$('lightwindow_container').setStyle({left:-(this.dimensions.container.width/2)+'px',top:-(this.dimensions.container.height/2)+'px'});}
$('lightwindow_container').setStyle({height:this.dimensions.container.height+'px',width:this.dimensions.container.width+'px'});this._displayLightWindow('block','visible');this._animateLightWindow();},_animateLightWindow:function(){if(this.options.animationHandler){this.options.animationHandler().bind(this);}else{this._defaultAnimationHandler();}},_handleNavigation:function(display){if(this.options.navigationHandler){this.options.navigationHandler().bind(this,display);}else{this._defaultDisplayNavigation(display);}},_handleTransition:function(){if(this.options.transitionHandler){this.options.transitionHandler().bind(this);}else{this._defaultTransitionHandler();}},_handleFinalWindowAnimation:function(delay){if(this.options.finalAnimationHandler){this.options.finalAnimationHandler().bind(this,delay);}else{this._defaultfinalWindowAnimationHandler(delay);}},_handleGalleryAnimation:function(list){if(this.options.galleryAnimationHandler){this.options.galleryAnimationHandler().bind(this,list);}else{this._defaultGalleryAnimationHandler(list);}},_defaultDisplayNavigation:function(display){if(display){$('lightwindow_navigation').setStyle({display:'block',height:$('lightwindow_contents').getHeight()+'px',width:'100%',marginTop:this.options.dimensions.titleHeight+'px'});}else{$('lightwindow_navigation').setStyle({display:'none',height:'auto',width:'auto'});}},_defaultAnimationHandler:function(){if(this.element.caption||this.element.author||(this.activeGallery&&this.options.showGalleryCount)){$('lightwindow_data_slide').setStyle({display:'none',width:'auto'});this.dimensions.dataEffects.push(new Effect.SlideDown('lightwindow_data_slide',{sync:true}),new Effect.Appear('lightwindow_data_slide',{sync:true,from:0.0,to:1.0}));}
$('lightwindow_title_bar_inner').setStyle({height:'0px',marginTop:this.options.dimensions.titleHeight+'px'});this.dimensions.dataEffects.push(new Effect.Morph('lightwindow_title_bar_inner',{sync:true,style:{height:this.options.dimensions.titleHeight+'px',marginTop:'0px'}}),new Effect.Appear('lightwindow_title_bar_inner',{sync:true,from:0.0,to:1.0}));if(!this.options.hideGalleryTab){this._handleGalleryAnimation(false);if($('lightwindow_galleries_tab_container').getHeight()==0){this.dimensions.dataEffects.push(new Effect.Morph('lightwindow_galleries_tab_container',{sync:true,style:{height:'20px',marginTop:'0px'}}));$('lightwindow_galleries').setStyle({width:'0px'});}}
var resized=false;var ratio=this.dimensions.container.width-$('lightwindow_contents').getWidth()+this.resizeTo.width+this.options.contentOffset.width;if(ratio!=$('lightwindow_container').getWidth()){new Effect.Parallel([new Effect.Scale('lightwindow_contents',100*(this.resizeTo.width/$('lightwindow_contents').getWidth()),{scaleFrom:100*($('lightwindow_contents').getWidth()/($('lightwindow_contents').getWidth()+(this.options.contentOffset.width))),sync:true,scaleY:false,scaleContent:false}),new Effect.Scale('lightwindow_container',100*(ratio/(this.dimensions.container.width)),{sync:true,scaleY:false,scaleFromCenter:true,scaleContent:false})],{duration:this.duration,delay:0.25,queue:{position:'end',scope:'lightwindowAnimation'}});}
ratio=this.dimensions.container.height-$('lightwindow_contents').getHeight()+this.resizeTo.height+this.options.contentOffset.height;if(ratio!=$('lightwindow_container').getHeight()){new Effect.Parallel([new Effect.Scale('lightwindow_contents',100*(this.resizeTo.height/$('lightwindow_contents').getHeight()),{scaleFrom:100*($('lightwindow_contents').getHeight()/($('lightwindow_contents').getHeight()+(this.options.contentOffset.height))),sync:true,scaleX:false,scaleContent:false}),new Effect.Scale('lightwindow_container',100*(ratio/(this.dimensions.container.height)),{sync:true,scaleX:false,scaleFromCenter:true,scaleContent:false})],{duration:this.duration,afterFinish:function(){if(this.dimensions.dataEffects.length>0){if(!this.options.hideGalleryTab){$('lightwindow_galleries').setStyle({width:this.resizeTo.width+'px'});}
new Effect.Parallel(this.dimensions.dataEffects,{duration:this.duration,afterFinish:function(){this._finishWindow();}.bind(this),queue:{position:'end',scope:'lightwindowAnimation'}});}}.bind(this),queue:{position:'end',scope:'lightwindowAnimation'}});resized=true;}
if(!resized&&this.dimensions.dataEffects.length>0){new Effect.Parallel(this.dimensions.dataEffects,{duration:this.duration,beforeStart:function(){if(!this.options.hideGalleryTab){$('lightwindow_galleries').setStyle({width:this.resizeTo.width+'px'});}
if(this.containerChange.height!=0||this.containerChange.width!=0){new Effect.MoveBy('lightwindow_container',this.containerChange.height,this.containerChange.width,{transition:Effect.Transitions.sinoidal});}}.bind(this),afterFinish:function(){this._finishWindow();}.bind(this),queue:{position:'end',scope:'lightwindowAnimation'}});}},_defaultfinalWindowAnimationHandler:function(delay){if(this.windowType=='media'||this._getParameter('lightwindow_loading_animation')){Element.hide('lightwindow_loading');this._handleNavigation(this.activeGallery);this._setStatus(false);}else{Effect.Fade('lightwindow_loading',{duration:0.75,delay:1.0,afterFinish:function(){if(this.windowType!='image'&&this.windowType!='media'&&this.windowType!='external'){$('lightwindow_contents').setStyle({overflow:'auto'});}
this._handleNavigation(this.activeGallery);this._defaultGalleryAnimationHandler();this._setStatus(false);}.bind(this),queue:{position:'end',scope:'lightwindowAnimation'}});}},_defaultGalleryAnimationHandler:function(list){if(this.activeGallery){$('lightwindow_galleries').setStyle({display:'block',marginBottom:$('lightwindow_data_slide').getHeight()+this.options.contentOffset.height/2+'px'});$('lightwindow_navigation').setStyle({height:$('lightwindow_contents').getHeight()-20+'px'});}else{$('lightwindow_galleries').setStyle({display:'none'});$('lightwindow_galleries_tab_container').setStyle({height:'0px',marginTop:'20px'});$('lightwindow_galleries_list').setStyle({height:'0px'});return false;}
if(list){if($('lightwindow_galleries_list').getHeight()==0){var height=$('lightwindow_contents').getHeight()*0.80;$('lightwindow_galleries_tab_span').className='down';}else{var height=0;$('lightwindow_galleries_tab_span').className='up';}
new Effect.Morph('lightwindow_galleries_list',{duration:this.duration,transition:Effect.Transitions.sinoidal,style:{height:height+'px'},beforeStart:function(){$('lightwindow_galleries_list').setStyle({overflow:'hidden'});},afterFinish:function(){$('lightwindow_galleries_list').setStyle({overflow:'auto'});},queue:{position:'end',scope:'lightwindowAnimation'}});}},_defaultTransitionHandler:function(){this.dimensions.dataEffects=[];if($('lightwindow_data_slide').getStyle('display')!='none'){this.dimensions.dataEffects.push(new Effect.SlideUp('lightwindow_data_slide',{sync:true}),new Effect.Fade('lightwindow_data_slide',{sync:true,from:1.0,to:0.0}));}
if(!this.options.hideGalleryTab){if($('lightwindow_galleries').getHeight()!=0&&!this.options.hideGalleryTab){this.dimensions.dataEffects.push(new Effect.Morph('lightwindow_galleries_tab_container',{sync:true,style:{height:'0px',marginTop:'20px'}}));}
if($('lightwindow_galleries_list').getHeight()!=0){$('lightwindow_galleries_tab_span').className='up';this.dimensions.dataEffects.push(new Effect.Morph('lightwindow_galleries_list',{sync:true,style:{height:'0px'},transition:Effect.Transitions.sinoidal,beforeStart:function(){$('lightwindow_galleries_list').setStyle({overflow:'hidden'});},afterFinish:function(){$('lightwindow_galleries_list').setStyle({overflow:'auto'});}}));}}
this.dimensions.dataEffects.push(new Effect.Morph('lightwindow_title_bar_inner',{sync:true,style:{height:'0px',marginTop:this.options.dimensions.titleHeight+'px'}}),new Effect.Fade('lightwindow_title_bar_inner',{sync:true,from:1.0,to:0.0}));new Effect.Parallel(this.dimensions.dataEffects,{duration:this.duration,afterFinish:function(){this._loadWindow();}.bind(this),queue:{position:'end',scope:'lightwindowAnimation'}});},_defaultFormHandler:function(e){var element=Event.element(e).parentNode;var parameterString=Form.serialize(this._getParameter('lightwindow_form',element.getAttribute('params')));if(this.options.formMethod=='post'){var newAJAX=new Ajax.Request(element.href,{method:'post',postBody:parameterString,onComplete:this.openWindow.bind(this,element)});}else if(this.options.formMethod=='get'){var newAJAX=new Ajax.Request(element.href,{method:'get',parameters:parameterString,onComplete:this.openWindow.bind(this,element)});}},_finishWindow:function(){if(this.windowType=='external'){$('lightwindow_iframe').setAttribute('src',this.element.href);this._handleFinalWindowAnimation(1);}else if(this.windowType=='media'){var outerObject=document.createElement('object');outerObject.setAttribute('classid',this.options.classids[this._fileExtension(this.contentToFetch)]);outerObject.setAttribute('codebase',this.options.codebases[this._fileExtension(this.contentToFetch)]);outerObject.setAttribute('id','lightwindow_media_primary');outerObject.setAttribute('name','lightwindow_media_primary');outerObject.setAttribute('width',this.resizeTo.width);outerObject.setAttribute('height',this.resizeTo.height);outerObject=this._addParamToObject('movie',this.contentToFetch,outerObject);outerObject=this._addParamToObject('src',this.contentToFetch,outerObject);outerObject=this._addParamToObject('controller','true',outerObject);outerObject=this._addParamToObject('wmode','transparent',outerObject);outerObject=this._addParamToObject('cache','false',outerObject);outerObject=this._addParamToObject('quality','high',outerObject);if(!Prototype.Browser.IE){var innerObject=document.createElement('object');innerObject.setAttribute('type',this.options.mimeTypes[this._fileExtension(this.contentToFetch)]);innerObject.setAttribute('data',this.contentToFetch);innerObject.setAttribute('id','lightwindow_media_secondary');innerObject.setAttribute('name','lightwindow_media_secondary');innerObject.setAttribute('width',this.resizeTo.width);innerObject.setAttribute('height',this.resizeTo.height);innerObject=this._addParamToObject('controller','true',innerObject);innerObject=this._addParamToObject('wmode','transparent',innerObject);innerObject=this._addParamToObject('cache','false',innerObject);innerObject=this._addParamToObject('quality','high',innerObject);outerObject.appendChild(innerObject);}
if(this._getParameter('lightwindow_iframe_embed')){this._appendIframe('no');this._writeToIframe(this._convertToMarkup(outerObject,'object'));}else{this._appendObject(outerObject,'object',$('lightwindow_contents'));}
this._handleFinalWindowAnimation(0);}else{this._handleFinalWindowAnimation(0);}
this._setupActions();}}
Event.observe(window,'load',lightwindowInit,false);var myLightWindow=null;function lightwindowInit(){myLightWindow=new lightwindow();document.fire('lightwindow:loaded');}
if(typeof(Control)=='undefined')
Control={};var $proc=function(proc){return typeof(proc)=='function'?proc:function(){return proc};};var $value=function(value){return typeof(value)=='function'?value():value;};Object.Event={extend:function(object){object._objectEventSetup=function(event_name){this._observers=this._observers||{};this._observers[event_name]=this._observers[event_name]||[];};object.observe=function(event_name,observer){if(typeof(event_name)=='string'&&typeof(observer)!='undefined'){this._objectEventSetup(event_name);if(!this._observers[event_name].include(observer))
this._observers[event_name].push(observer);}else
for(var e in event_name)
this.observe(e,event_name[e]);};object.stopObserving=function(event_name,observer){this._objectEventSetup(event_name);if(event_name&&observer)
this._observers[event_name]=this._observers[event_name].without(observer);else if(event_name)
this._observers[event_name]=[];else
this._observers={};};object.observeOnce=function(event_name,outer_observer){var inner_observer=function(){outer_observer.apply(this,arguments);this.stopObserving(event_name,inner_observer);}.bind(this);this._objectEventSetup(event_name);this._observers[event_name].push(inner_observer);};object.notify=function(event_name){this._objectEventSetup(event_name);var collected_return_values=[];var args=$A(arguments).slice(1);try{for(var i=0;i<this._observers[event_name].length;++i)
collected_return_values.push(this._observers[event_name][i].apply(this._observers[event_name][i],args)||null);}catch(e){if(e==$break)
return false;else
throw e;}
return collected_return_values;};if(object.prototype){object.prototype._objectEventSetup=object._objectEventSetup;object.prototype.observe=object.observe;object.prototype.stopObserving=object.stopObserving;object.prototype.observeOnce=object.observeOnce;object.prototype.notify=function(event_name){if(object.notify){var args=$A(arguments).slice(1);args.unshift(this);args.unshift(event_name);object.notify.apply(object,args);}
this._objectEventSetup(event_name);var args=$A(arguments).slice(1);var collected_return_values=[];try{if(this.options&&this.options[event_name]&&typeof(this.options[event_name])=='function')
collected_return_values.push(this.options[event_name].apply(this,args)||null);for(var i=0;i<this._observers[event_name].length;++i)
collected_return_values.push(this._observers[event_name][i].apply(this._observers[event_name][i],args)||null);}catch(e){if(e==$break)
return false;else
throw e;}
return collected_return_values;};}}};Element.addMethods({observeOnce:function(element,event_name,outer_callback){var inner_callback=function(){outer_callback.apply(this,arguments);Element.stopObserving(element,event_name,inner_callback);};Element.observe(element,event_name,inner_callback);}});Object.extend(Event,(function(){var cache=Event.cache;function getEventID(element){if(element._prototypeEventID)return element._prototypeEventID[0];arguments.callee.id=arguments.callee.id||1;return element._prototypeEventID=[++arguments.callee.id];}
function getDOMEventName(eventName){if(eventName&&eventName.include(':'))return"dataavailable";if(!Prototype.Browser.IE){eventName={mouseenter:'mouseover',mouseleave:'mouseout'}[eventName]||eventName;}
return eventName;}
function getCacheForID(id){return cache[id]=cache[id]||{};}
function getWrappersForEventName(id,eventName){var c=getCacheForID(id);return c[eventName]=c[eventName]||[];}
function createWrapper(element,eventName,handler){var id=getEventID(element);var c=getWrappersForEventName(id,eventName);if(c.pluck("handler").include(handler))return false;var wrapper=function(event){if(!Event||!Event.extend||(event.eventName&&event.eventName!=eventName))
return false;Event.extend(event);handler.call(element,event);};if(!(Prototype.Browser.IE)&&['mouseenter','mouseleave'].include(eventName)){wrapper=wrapper.wrap(function(proceed,event){var rel=event.relatedTarget;var cur=event.currentTarget;if(rel&&rel.nodeType==Node.TEXT_NODE)
rel=rel.parentNode;if(rel&&rel!=cur&&!rel.descendantOf(cur))
return proceed(event);});}
wrapper.handler=handler;c.push(wrapper);return wrapper;}
function findWrapper(id,eventName,handler){var c=getWrappersForEventName(id,eventName);return c.find(function(wrapper){return wrapper.handler==handler});}
function destroyWrapper(id,eventName,handler){var c=getCacheForID(id);if(!c[eventName])return false;c[eventName]=c[eventName].without(findWrapper(id,eventName,handler));}
function destroyCache(){for(var id in cache)
for(var eventName in cache[id])
cache[id][eventName]=null;}
if(window.attachEvent){window.attachEvent("onunload",destroyCache);}
return{observe:function(element,eventName,handler){element=$(element);var name=getDOMEventName(eventName);var wrapper=createWrapper(element,eventName,handler);if(!wrapper)return element;if(element.addEventListener){element.addEventListener(name,wrapper,false);}else{element.attachEvent("on"+name,wrapper);}
return element;},stopObserving:function(element,eventName,handler){element=$(element);var id=getEventID(element),name=getDOMEventName(eventName);if(!handler&&eventName){getWrappersForEventName(id,eventName).each(function(wrapper){element.stopObserving(eventName,wrapper.handler);});return element;}else if(!eventName){var keys=Object.keys(getCacheForID(id));if(keys.toJSON()!=["load"].toJSON())
keys.each(function(eventName){if(element&&element.stopObserving)
element.stopObserving(eventName);});return element;}
var wrapper=findWrapper(id,eventName,handler);if(!wrapper)return element;if(element.removeEventListener){element.removeEventListener(name,wrapper,false);}else{element.detachEvent("on"+name,wrapper);}
destroyWrapper(id,eventName,handler);return element;},fire:function(element,eventName,memo){element=$(element);if(element==document&&document.createEvent&&!element.dispatchEvent)
element=document.documentElement;var event;if(document.createEvent){event=document.createEvent("HTMLEvents");event.initEvent("dataavailable",true,true);}else{event=document.createEventObject();event.eventType="ondataavailable";}
event.eventName=eventName;event.memo=memo||{};if(document.createEvent){element.dispatchEvent(event);}else{element.fireEvent(event.eventType,event);}
return Event.extend(event);}};})());Object.extend(Event,Event.Methods);Element.addMethods({fire:Event.fire,observe:Event.observe,stopObserving:Event.stopObserving});Object.extend(document,{fire:Element.Methods.fire.methodize(),observe:Element.Methods.observe.methodize(),stopObserving:Element.Methods.stopObserving.methodize()});(function(){function wheel(event){var delta;if(event.wheelDelta)
delta=event.wheelDelta/120;else if(event.detail)
delta=-event.detail/3;if(!delta)
return;var custom_event=Event.element(event).fire('mouse:wheel',{delta:delta});if(custom_event.stopped){Event.stop(event);return false;}}
document.observe('mousewheel',wheel);document.observe('DOMMouseScroll',wheel);})();var IframeShim=Class.create({initialize:function(){this.element=new Element('iframe',{style:'position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);display:none',src:'javascript:void(0);',frameborder:0});$(document.body).insert(this.element);},hide:function(){this.element.hide();return this;},show:function(){this.element.show();return this;},positionUnder:function(element){var element=$(element);var offset=element.cumulativeOffset();var dimensions=element.getDimensions();this.element.setStyle({left:offset[0]+'px',top:offset[1]+'px',width:dimensions.width+'px',height:dimensions.height+'px',zIndex:element.getStyle('zIndex')-1}).show();return this;},setBounds:function(bounds){for(prop in bounds)
bounds[prop]+='px';this.element.setStyle(bounds);return this;},destroy:function(){if(this.element)
this.element.remove();return this;}});if(typeof(Prototype)=="undefined")
throw"Control.Rating requires Prototype to be loaded.";if(typeof(Object.Event)=="undefined")
throw"Control.Rating requires Object.Event to be loaded.";Control.Rating=Class.create({initialize:function(container,options){Control.Rating.instances.push(this);this.value=false;this.links=[];this.container=$(container);this.container.update('');this.options={min:1,max:5,rated:false,input:false,reverse:false,capture:true,multiple:false,classNames:{off:'rating_off',half:'rating_half',on:'rating_on',selected:'rating_selected'},updateUrl:false,updateParameterName:'value',afterChange:Prototype.emptyFunction};Object.extend(this.options,options||{});if(this.options.value){this.value=Math.round(this.options.value*2)/2;delete this.options.value;}
if(this.options.input){this.options.input=$(this.options.input);this.options.input.observe('change',function(input){this.setValueFromInput(input);}.bind(this,this.options.input));}
var range=$R(this.options.min,this.options.max);(this.options.reverse?$A(range).reverse():range).each(function(i){var link=this.buildLink(i);this.container.appendChild(link);this.links.push(link);}.bind(this));this.setValue(this.value||this.options.min-1,false,true);},buildLink:function(rating){var link=$(document.createElement('a'));link.addClassName('star');link.value=rating;if(this.options.multiple||(!this.options.rated&&!this.options.multiple)){link.href='';link.onmouseover=this.mouseOver.bind(this,link);link.onmouseout=this.mouseOut.bind(this,link);link.onclick=this.click.bindAsEventListener(this,link);}else{link.style.cursor='default';link.observe('click',function(event){Event.stop(event);return false;}.bindAsEventListener(this));}
link.addClassName(this.options.classNames.off);return link;},disable:function(){this.links.each(function(link){link.onmouseover=Prototype.emptyFunction;link.onmouseout=Prototype.emptyFunction;link.onclick=Prototype.emptyFunction;link.observe('click',function(event){Event.stop(event);return false;}.bindAsEventListener(this));link.style.cursor='default';}.bind(this));},setValueFromInput:function(input,prevent_callbacks){this.setValue($F(input),true,prevent_callbacks);},setValue:function(value,force_selected,prevent_callbacks){this.value=value;if(this.options.input){if(this.options.input.options){$A(this.options.input.options).each(function(option,i){if(option.value==this.value){this.options.input.options.selectedIndex=i;throw $break;}}.bind(this));}else
this.options.input.value=this.value;}
this.render(this.value,force_selected);if(!prevent_callbacks){if(this.options.updateUrl){var params={};params[this.options.updateParameterName]=this.value;new Ajax.Request(this.options.updateUrl,{parameters:params});}
this.notify('afterChange',this.value);}},render:function(rating,force_selected){(this.options.reverse?this.links.reverse():this.links).each(function(link,i){if(link.value<=Math.ceil(rating)){link.className='star '+this.options.classNames[link.value<=rating?'on':'half'];if(this.options.rated||force_selected)
link.addClassName(this.options.classNames.selected);}else{link.className='star '+this.options.classNames.off;}}.bind(this));},mouseOver:function(link){this.render(link.value,true);},mouseOut:function(link){this.render(this.value);},click:function(event,link){this.options.rated=true;this.setValue((link.value?link.value:link),true);if(!this.options.multiple)
this.disable();if(link.blur)link.blur();if(this.options.input)
this.options.input.fire('control:change');if(this.options.capture){Event.stop(event);return false;}}});Object.extend(Control.Rating,{instances:[],findByElementId:function(id){return Control.Rating.instances.find(function(instance){return(instance.container.id&&instance.container.id==id);});}});Object.Event.extend(Control.Rating);var fb_isLoggedIn;document.observe('dom:loaded',function(event){if(typeof FB!='undefined'){FB.ensureInit(function(){FB.Facebook.get_sessionState().waitUntilReady(function(session){document.fire('facebook:loaded',session);});});}});var FB_logout=function(){return true;};document.observe('facebook:loaded',function(event){var fb_isLoggedIn=event.memo?true:false;FB_logout=function(){if(fb_isLoggedIn){FB.Connect.logoutAndRedirect(baseHref+'?logout=1');return false;}else{return true;}};});