// Kameleon Digital, <http://www.kameleondigital.com>, Copyright (c) 2008-2012

var kamUi=null;document.addEvent("domready",function(){kamUi=new kamUiController();kamUi.videos=kamPublicUi.videos;kamUi.object=kamPublicUi.object});var kamUiController=new Class({Implements:[Options,Events],className:"kamUiController",elementInitialisedClass:"kamInitialised",kcmsVersion:5,options:{cssClasses:{fileLink:"kamFileLink",fileLinkTypePrefix:"kamFileLink",first:"first",last:"last",selectedLink:"selected",currentUrl:"kamCurrentUrl",elementInitialised:"kamInitialised"},selectors:{aElements:"a",customCheckboxes:"input.kamCustomCheckbox[type=checkbox]",managedForms:"form.kamForm",countrySelect:"select.kamCountries",blockLinkContainers:"kamBlockLink",firstLastPrefixes:["ul li","table tr","tr td","tr th"]},validFileExtensions:["jpg","jpeg","png","gif","ico","pdf","doc","ppt","xls","zip","rar","docx","docm","dotx","dotm","xlsx","xlsm","xltx","xltm","xlsb","xlam","pptx","pptm","potx","potm","ppam","ppsx","ppsm","vcf","txt","rtf","wri","wav","wma","mp4","flv"],autoInitialise:{initialiseSource:false,links:{kamPopUp:true,kamVideoModal:true,kamVideoEmbed:true},kamForm:true},kamVideoModal:{closeMaskOnClick:true,width:null,height:null,autoPlay:true},kamForm:{}},setInitialiseOptions:function(a){this.setOptions(a)},googleAnalytics:{enabled:false,categories:{fileLinks:{key:"File links",actions:{clicked:"Clicked"}},mailToLinks:{key:"Email-to links",actions:{clicked:"Clicked"}}}},useAnimations:true,counter:0,initialize:function(){element=document.id(document.body);if(element){element.toggleClass("domReady",true)}this.googleAnalytics.enabled=!(typeof(_gaq)=="undefined");kamForm.__addCustomValidators()},disableAnimations:function(a,b){if(a&&b){if(Browser.name==a&&Browser.version.toInt()<=b.toInt()){this.useAnimations=false}}else{if(a){if(Browser.name==a){this.useAnimations=false}}else{this.useAnimations=false}}},initialiseSource:function(a){if(this.options.autoInitialise.initialiseSource){a.innerHTML=a.innerHTML.replace(/®/g,'<span class="superscript">®</span>')}},initialise:function(c){var e=this.elementInitialisedClass;var d={element:c};if(!c){c=document.body}this.initialiseSource(c);c=document.id(c);this.options.selectors.firstLastPrefixes.each(function(f){c.getElements(f+":first-child").each(function(g){g.toggleClass(this.options.cssClasses.first,true)}.bind(this));c.getElements(f+":last-child").each(function(g){g.toggleClass(this.options.cssClasses.last,true)}.bind(this))}.bind(this));var a=new URI(window.location).toString();var b=new URI(window.location);b.setData({});b=b.toString();c.getElements(this.options.selectors.aElements).each(function(l){if(!l.hasClass(e)){l.addClass(e);var q=l.get("rel");if(q){switch(q){case"kamPopUp":if(this.options.autoInitialise.links.kamPopUp){l.addEvent("click",function(s){s.preventDefault();window.open(l.href)})}break;default:var k=q.indexOf("kamVideoModal")>=0;var f=q.indexOf("kamVideoEmbed")>=0;if(k||f){var g=l.get("href");if(g){var i=Object.clone(this.options.kamVideoModal);var j=q.split("-");if(j.length>=2){i.videoWidth=j[1]}if(j.length>=3){i.videoHeight=j.videoHeight}if(typeof(i.title)=="undefined"){var n=l.get("title");i.title=!n?"Video":n}if(k&&this.options.autoInitialise.links.kamVideoModal){l.addEvent("click",function(s){s.preventDefault();new kamVideoModal(g,i).show()}.bind(this))}else{if(this.options.autoInitialise.links.kamVideoEmbed){var p=new Element("div",{"class":l.get("class"),style:l.get("style")}).replaces(l);new kamPublicUi.videos.player(p,g,i)}}}}else{if(q.indexOf("kamAjaxModal")>=0){l.addEvent("click",function(u){u.preventDefault();var v=l.get("href");if(v){var t=Object.clone(this.options.kamAjaxModal);if(!t){t={}}t.resizeToContent=true;t.contentRequestOptions={retrieve:"kamModalContent"};var s=q.split("-");if(s.length>=2){t.width=s[1]}if(s.length>=3){t.resizeToContent=false;t.height=s[2]}if(typeof(t.title)=="undefined"){var w=l.get("title");if(w){t.title=w}}new kamAjaxContentModal(v,t).show()}}.bind(this))}}break}}var r=l.get("href");if(r){if(r!="#"){var h=new URI(r);if(h.toString()==a){l.toggleClass(this.options.cssClasses.currentUrl,true);if(l.parentNode.tagName=="LI"){document.id(l.parentNode).toggleClass(this.options.cssClasses.currentUrl,true)}}h.setData({});if(h.toString()==b){l.toggleClass(this.options.cssClasses.selectedLink,true);if(l.parentNode.tagName=="LI"){document.id(l.parentNode).toggleClass(this.options.cssClasses.selectedLink,true)}}}var m=r.lastIndexOf(".");if(m){var o=r.substring(m+1).toLowerCase();if(o.test(/^[a-z0-9]+$/)){if(this.options.validFileExtensions.contains(o)){l.toggleClass(this.options.cssClasses.fileLink,true);l.toggleClass(this.options.cssClasses.fileLinkTypePrefix+o.substr(0,1).toUpperCase()+o.substr(1),true);if(this.googleAnalytics.enabled){l.addEvent("click",function(){var s=this.googleAnalytics.categories.fileLinks;_gaq.push(["_trackEvent",s.key,s.actions.clicked,r])}.bind(this))}}}}if(this.googleAnalytics.enabled){if(r.substring(0,7).toLowerCase()=="mailto:"){l.addEvent("click",function(){var s=this.googleAnalytics.categories.mailToLinks;_gaq.push(["_trackEvent",s.key,s.actions.clicked,r.substring(7)])}.bind(this))}}}}}.bind(this));c.getElements(this.options.selectors.customCheckboxes).each(function(f){if(!f.hasClass(e)){new kamForms.checkbox(f)}}.bind(this));if(this.options.autoInitialise.kamForm){d.forms=[];c.getElements(this.options.selectors.managedForms).each(function(g){if(!g.hasClass(e)){g.addClass(e);var f=new kamForm(g,Object.clone(this.options.kamForm));d.forms.push(f);g.getElements("a.kamSubmit").each(function(h){h.addEvent("click",function(i){i.preventDefault();g.set("action",h.get("href"));f.submitForm()})})}}.bind(this))}if(this.options.autoInitialise.kamForm){d.countrySelects=[];c.getElements(this.options.selectors.countrySelect).each(function(f){if(!f.hasClass(e)){f.addClass(e);kamForm.populateCountrySelect(f);d.countrySelects.push(f)}}.bind(this))}c.getElements("[class*="+this.options.selectors.blockLinkContainers+"]").each(function(k){if(!k.hasClass(e)){k.addClass(e);var h=k.get("class");var g=h.indexOf(this.options.selectors.blockLinkContainers);var f=h.indexOf(" ",g);var i=h.substr(g,(f>0?f-g:undefined));i=i.split(":");if(i.length===2){var j=k.getElement(i[1]);if(j&&j.tagName==="A"){k.addEvent("click",function(l){new URI(j.get("href")).go()})}}}}.bind(this));this.fireEvent("initialiseElement",c);this.fireEvent("elementInitialised",d)},isGoogleAnalyticsEnabled:function(){return this.googleAnalytics.enabled},getId:function(a){return(a)?a+ ++this.counter:++this.counter},formatSecondsToHumanReadable:function(a){var b=(a/60).toInt();a=(a-(b*60)).toInt();if(a<10){a="0"+a}return b+":"+a},getElementDimensions:function(b){var a=null;var c=function(){if(!a){a=b.measure(function(){return this.getSize()})}return a};var d=function(e){var f=b.getStyle(e);if(f&&(Browser.ie===false||f!="0px")){var f=f.replace("px","");if(isNaN(f)==false){return f.toInt()}else{return(e=="width")?c().x:c().y}}else{return(e=="width")?c().x:c().y}};return{x:d("width"),y:d("height")}},parseCssString:function(b){var a={};b.split(";").each(function(c){var d=c.split(":");if(d.length==2){a[d[0].trim()]=d[1].trim()}});return a},getNewClear:function(){return new Element("div[class=kamAdminClear][html=&#160;]")}});var kamGlobalEvents=new Class({Extends:Events,fireEvent:function(c,a,b){if(typeof b!=="object"){b={}}b.owner=a;this.parent(c,b)}});var kamUiEvents=new Class({Extends:Events,globalEventsHandler:null,fireEvent:function(b,a){this.parent(b,a);if(this.globalEventsHandler){this.globalEventsHandler.fireEvent(b,this,a)}}});var kamBrowserCommands={};kamBrowserCommands.process=function(a){if(a.commands){a.commands.each(function(c){var b=c.key;if(b){if(kamBrowserCommands.commandTypes[b]){kamBrowserCommands.commandTypes[b](c)}}})}};kamBrowserCommands.commandTypes={};kamBrowserCommands.defineCommand=function(a,b){kamBrowserCommands.commandTypes[a]=b};kamBrowserCommands.defineCommand("redirectBrowser",function(a){if(a.url){new URI(a.url).go()}});kamBrowserCommands.defineCommand("setContent",function(a){var b=document.id(a.targetId);if(b){kamFx.updateContent(b,a.content)}});var kamContentRequest=new Class({Implements:[Events],className:"kamContentRequests",options:{useUrlTimestamping:true,onSuccess:null,onFailure:null,retrieve:null,evalScripts:false,method:"get",data:null,autoHandleJavascriptResponses:true},url:null,initialize:function(b,a){this.url=(typeof b=="string")?b:b.toString();if(typeof(this.url)=="string"){this.setOptions(a);a=this.options;if(a.onSuccess){this.addEvent("onSuccess",this.options.onSuccess)}if(a.onJavascriptHandled){this.addEvent("onJavascriptHandled",this.options.onJavascriptHandled)}if(a.onFailure){this.addEvent("onFailure",this.options.onFailure)}}else{alert("ERROR > kamContentRequest > initialize > url is not a string")}},setOptions:function(a){this.options=Object.merge(this.options,a)},execute:function(){var b=this.options;var a=this.url;if(b.useUrlTimestamping){var d=new URI(a);d.setData({kamReqTime:new Date().getTime()},true);a=d.toString()}var c=new Request.HTML({method:b.method,url:a,data:b.data,evalScripts:b.evalScripts,onSuccess:function(m,l,h,f){var k=false;if(b.autoHandleJavascriptResponses&&c.getHeader("Content-type").contains("javascript")){if(h.substr(0,1)==="{"){var j=JSON.decode(h);if(j.type){switch(j.type){case"commands":k=true;kamBrowserCommands.process(j);break}}if(k){this.fireEvent("onJavascriptHandled")}}}if(k===false){var i=false;var e=b.retrieve;if(e){switch(typeof(e)){case"string":l.each(function(n){if(n.get("id")==e){i=n}});break;case"object":i={};l.each(function(o){var n=o.get("id");if(n){e.each(function(p){if(n===p){i[p]=o}})}});break}}else{var i=h}this.fireEvent("onSuccess",[i,m,l,h,f]);if(kamUi.isGoogleAnalyticsEnabled()){var g=new URI(this.url);_gaq.push(["_trackPageview",g.toAbsolute()])}}}.bind(this),onFailure:function(){this.fireEvent("onFailure")}.bind(this)});this.fireEvent("requestInitialise",c);c.send()}});var kamContentChangerBase=new Class({Implements:[Events],options:{cellsElement:null,contentCellSelector:".cell",linksElement:null,linksElementIsNavigation:false,linkSelector:"a",onCellAdd:null,onCellLoad:null,navigationWrapperElement:null,navigationSelectedClass:"active",cellStoreParent:null,adoptCellElements:true},storeElement:null,storeElementClass:"kamContentChangerStore",navigationElement:null,cells:[],pointer:null,previousPointer:null,storeKeyLinkCellIndex:"kamContentChangerBaseCellIndex",initialize:function(b){this.setOptions(b);if(this.options.onCellAdd){this.addEvent("cellAdded",this.options.onCellAdd)}if(this.options.onCellLoad){this.addEvent("cellLoaded",this.options.onCellLoad)}var c=null;if(this.options.linksElement){var c=document.id(this.options.linksElement);if(c){this.options.linksElement=c}else{this.options.linksElement=null}}this.__createBaseComponents();if(this.options.cellsElement){var a=document.id(this.options.cellsElement);if(a){a.getElements(this.options.contentCellSelector).each(function(d){this.addCellElement(d)}.bind(this))}}if(c){if(c){c.getElements(this.options.linkSelector).each(function(f){if(f.tagName=="A"){var e=f.get("href");var d=f.get("rel");if(e&&d){this.addCellLink(e,d,f)}}}.bind(this))}}},setOptions:function(a){this.options=Object.merge(this.options,a)},__createBaseComponents:function(){this.storeElement=new Element("div",{"class":this.storeElementClass,styles:{position:"absolute",left:"-100000px",top:"-100000px"}});var b=document.id(this.options.cellStoreParent?this.options.cellStoreParent:document.body);b.grab(this.storeElement);if(this.options.navigationWrapperElement){var a=document.id(this.options.navigationWrapperElement);if(a){this.navigationElement=new Element("ul");a.set("html","");a.grab(this.navigationElement)}}else{if(this.options.linksElementIsNavigation&&this.options.linksElement){this.navigationElement=this.options.linksElement;this.navigationElement.getElements("a").each(function(d,c){d.addEvent("click",function(e){e.preventDefault();this.skipTo(c)}.bind(this));d.store(this.storeKeyLinkCellIndex,c)}.bind(this))}}},__updateNavigation:function(){var a=this.navigationElement;if(a){var d="li";if(a.tagName!="UL"){d="a"}var c=this.pointer;var b=this.options.navigationSelectedClass;this.navigationElement.getElements(d).each(function(g,f){var e=f==c;g.toggleClass(b,e)})}},addCellElement:function(a){var a=this.options.adoptCellElements?a:a.clone();this.storeElement.adopt(a);this.__addCellObject({element:a,isLoaded:true,linkElement:null,elementId:null})},addCellLink:function(d,b,g){if(d&&b){var f=new URI(d);d=f.toString();f=new URI(window.location);var c=f.toString();var a=false;if(d==f){var e=document.id(b);if(e){this.addCellElement(e);a=true}}if(!a){this.__addCellObject({element:null,isLoaded:false,url:d,elementId:b,aElement:g})}}else{alert("ERROR > kamContentSlider > addCellLink > either the URL or elementId is missing")}},__addCellObject:function(a){a.index=this.cells.length;this.cells.push(a);var b=this.cells.length;if(this.navigationElement){if(!this.options.linksElementIsNavigation){var d=new Element("li");var c=new Element("a",{href:"#",html:b});d.grab(c);c.addEvent("click",function(e){e.preventDefault();this.skipTo(a.index)}.bind(this));c.store(this.storeKeyLinkCellIndex,a.index);if(b==1){d.addClass(this.options.navigationSelectedClass)}this.navigationElement.grab(d)}}this.fireEvent("cellAdded",a)},__getIndexFromNavigationLink:function(a){if(a){return a.retrieve(this.storeKeyLinkCellIndex)}return false},__loadCell:function(a,b){new kamContentRequest(a.url,{retrieve:a.elementId,onSuccess:function(c){if(c){c.erase("id");a.element=c;this.storeElement.adopt(a.element);a.isLoaded=true;kamUi.initialiseSource(a.element);kamUi.initialise(a.element);if(typeof(b)=="function"){b()}this.fireEvent("cellLoaded",a)}}.bind(this)}).execute()}});var kamContentChanger=new Class({Extends:kamContentChangerBase,className:"kamContentChanger",autoChangeHandler:null,changing:false,initialised:false,wrapperElement:null,changerElements:{mask:null},initialize:function(b,f){b=document.id(b);if(b){this.wrapperElement=b;this.setOptions({maskClass:"kamContentChangerMask",maskWidth:null,maskHeight:null,maskZIndex:10000,autoChange:false,fade:true,changeInterval:5000,changeDuration:1000,startingIndex:null,fadeInitialiseCell:false,onBeginChange:null,onChangeComplete:null,onChangeCancelled:null,onChangeCancelled:null});this.parent(f);f=f;this.__buildChangerComponents();if(f.onBeginChange){this.addEvent("beginChange",f.onBeginChange)}if(f.onChangeComplete){this.addEvent("changeComplete",f.onChangeComplete)}if(f.onChangeCancelled){this.addEvent("changeCancelled",f.onChangeCancelled)}var g=f.fade;f.fade=f.fadeInitialiseCell;var c=0;if(f.startingIndex){if(f.startingIndex=="random"){c=Number.random(0,(this.cells.length-1))}else{c=f.startingIndex}}else{var d=this.navigationElement;if(d){if(d.tagName!="UL"){var a=d.getElement("a."+f.navigationSelectedClass)}else{var a=d.getElement("li."+f.navigationSelectedClass+" a")}if(a){var e=this.__getIndexFromNavigationLink(a);if(e){c=e}}}}this.skipTo(c);f.fade=g;if(f.autoChange){this.toggleAutoChange(true)}this.initialised=true}else{alert("ERROR > kamContentChanger > unable to find the wrapper element in the DOM")}},__buildChangerComponents:function(){var a=new Element("div",{"class":this.options.maskClass,styles:{position:"absolute",display:"none",zIndex:this.options.maskZIndex}});this.changerElements.mask=a;document.body.grab(a)},toggleAutoChange:function(a){if(a==true){this.options.autoChange=true}else{if(a==false){this.options.autoChange=false}else{this.options.autoChange=!this.options.autoChange}}if(this.options.autoChange){if(!this.autoChangeHandler){this.autoChangeHandler=function(){this.next()}.periodical(this.options.changeInterval,this)}}else{if(this.autoChangeHandler){clearInterval(this.autoChangeHandler);this.autoChangeHandler=null}}},isChanging:function(){return this.changing},next:function(){this.__change(true)},previous:function(){this.__change(false)},skipTo:function(b){if(isNaN(b)==false){if(b>=0&&b<(this.cells.length)){if(b!=this.pointer){var a=(b>this.pointer);this.__change(a,b)}else{this.fireEvent("changeCancelled")}}else{this.fireEvent("changeCancelled")}}},__change:function(a,f){if(!this.changing){var e=this.cells.length;if(e>1||this.initialised==false){this.changing=true;var g=this.options.autoChange;this.toggleAutoChange(false);this.previousPointer=(typeof this.pointer=="null")?0:this.pointer;if(a){this.pointer++;if(this.pointer>(e-1)){this.pointer=0}}else{this.pointer--;if(this.pointer<0){this.pointer=(e-1)}}if(isNaN(f)==false){this.pointer=f}var c=this.cells[this.pointer];var b=function(){this.__populateWrapper(c);this.__updateNavigation();this.changerElements.mask.setStyle("display","none");this.changing=false;this.fireEvent("changeComplete",c);if(g==true){this.toggleAutoChange(true)}}.bind(this);var d=null;if(kamUi.useAnimations&&this.options.fade){var d=function(){var h=new Fx.Morph(this.changerElements.mask,{duration:this.options.changeDuration,onComplete:function(){b()}.bind(this)});var i={opacity:1};if(Browser.firefox){this.changerElements.mask.setStyle("margin-left","1px")}this.fireEvent("morphInitialise",[h,i]);h.start(i)}.bind(this)}if(c.isLoaded){this.__prepareMask(c);this.fireEvent("beginChange",c);if(d){d()}else{b()}}else{this.__loadCell(c,function(){this.__prepareMask(c);this.fireEvent("beginChange",c);if(d){d()}else{b()}}.bind(this))}}}else{this.fireEvent("changeCancelled")}},__populateWrapper:function(a){var c=this.wrapperElement;var b=c.retrieve("kamContentChangerCurrentCell");if(b){this.storeElement.adopt(b.element)}c.adopt(a.element);c.store("kamContentChangerCurrentCell",a)},__prepareMask:function(a){this.changerElements.mask.adopt(a.element);var b=this.changerElements.mask;b.setStyle("opacity",0);b.setStyle("display","block");var c=this.wrapperElement.getPosition();b.setStyles({left:c.x,top:c.y});var d=this.wrapperElement.measure(function(){return this.getSize()});if(!this.options.maskWidth){b.setStyle("width",d.x+"px")}else{b.setStyle("width",this.options.maskWidth+"px")}if(!this.options.maskHeight){b.setStyle("height",d.y+"px")}else{b.setStyle("height",this.options.maskHeight+"px")}},destroy:function(){this.toggleAutoChange(false);var a=function(){this.fireEvent("destroy");this.storeElement.destroy();if(this.navigationElement){this.navigationElement.destroy()}this.changerElements.mask.destroy()}.bind(this);this.changing?this.addEvent("changeComplete",a):a()}});var kamContentSlider=new Class({Extends:kamContentChangerBase,className:"kamContentSlider",autoSlideHandler:null,sliding:false,wrapperElement:null,sliderElements:{slider:null,previousCell:null,currentCell:null,nextCell:null},initialize:function(c,g){c=document.id(c);if(c){this.wrapperElement=c;this.setOptions({sliderClass:"kamSlider",sliderCellClass:"cell",sliderCellWidth:null,sliderCellHeight:null,autoSlide:true,slideInterval:5000,slideDuration:1000,onBeginSlide:null,onSlideComplete:null,vertical:false,wrap:true});this.setOptions(g);this.__buildSliderComponents();this.parent(g);if(this.options.onBeginSlide){this.addEvent("beginSlide",this.options.onBeginSlide)}if(this.options.onSlideComplete){this.addEvent("slideComplete",this.options.onSlideComplete)}if(this.options.onChangeCancelled){this.addEvent("changeCancelled",this.options.onChangeCancelled)}var d=0;if(g.startingIndex){if(g.startingIndex=="random"){d=Number.random(0,(this.cells.length-1))}else{d=g.startingIndex}}else{var e=this.navigationElement;if(e){if(e.tagName!="UL"){var b=e.getElement("a."+g.navigationSelectedClass)}else{var b=e.getElement("li."+g.navigationSelectedClass+" a")}if(b){var f=this.__getIndexFromNavigationLink(b);if(f){d=f}}}}if(d>=0&&d<this.cells.length){this.pointer=d;var a=this.cells[d];if(a.isLoaded){this.__populateSliderCell(this.sliderElements.currentCell,a,true);if(this.options.autoSlide){this.toggleAutoSlide(true)}}else{this.__loadCell(a,function(){this.__populateSliderCell(this.sliderElements.currentCell,a,true);if(this.options.autoSlide){this.toggleAutoSlide(true)}}.bind(this))}}else{if(this.options.autoSlide){this.toggleAutoSlide(true)}}}else{alert("ERROR > kamContentSlider > unable to find the slider wrapper element in the DOM")}},__buildSliderComponents:function(){var a=this.wrapperElement;var d=new Element("div[class="+this.options.sliderClass+"]");a.grab(d);this.sliderElements.slider=d;this.sliderElements.previousCell=new Element("div[class="+this.options.sliderCellClass+"]");this.sliderElements.currentCell=new Element("div[class="+this.options.sliderCellClass+"]");this.sliderElements.nextCell=new Element("div[class="+this.options.sliderCellClass+"]");d.adopt([this.sliderElements.previousCell,this.sliderElements.currentCell,this.sliderElements.nextCell]);var c=d.getElement("."+this.options.sliderCellClass);var b=kamUi.getElementDimensions(c);if(!this.options.sliderCellWidth){this.options.sliderCellWidth=b.x}if(!this.options.sliderCellHeight){this.options.sliderCellHeight=b.y}this.setCellDimensions(this.options.sliderCellWidth,this.options.sliderCellHeight)},__addCellObject:function(a){this.parent(a);if(this.cells.length==1){if(a.isLoaded){this.__populateSliderCell(this.sliderElements.currentCell,a,true)}else{this.__loadCell(a,function(){this.__populateSliderCell(this.sliderElements.currentCell,a,true)}.bind(this))}}},toggleAutoSlide:function(a){if(a==true){this.options.autoSlide=true}else{if(a==false){this.options.autoSlide=false}else{this.options.autoSlide=!this.options.autoSlide}}if(this.options.autoSlide){if(!this.autoSlideHandler){this.autoSlideHandler=function(){this.next()}.periodical(this.options.slideInterval,this)}}else{if(this.autoSlideHandler){clearInterval(this.autoSlideHandler);this.autoSlideHandler=null}}},isSliding:function(){return this.sliding},next:function(){this.__slide(true)},previous:function(){this.__slide(false)},skipTo:function(b,a){if(isNaN(b)==false){if(b>=0&&b<(this.cells.length)){if(b!=this.pointer){var c=(b>this.pointer);if(a){switch(a){case"previous":c=false;break;case"next":c=true;break}}this.__slide(c,b)}else{this.fireEvent("changeCancelled")}}else{this.fireEvent("changeCancelled")}}},__slide:function(l,e){var j=this.cells.length;if(!this.sliding&&(this.options.wrap||(l&&this.pointer<(j-1))||(l===false&&this.pointer>0))){if(this.sliderElements.slider.getStyle){if(j>1){this.sliding=true;var d=this.options.autoSlide;this.toggleAutoSlide(false);var c=this.options.vertical;if(c){var g="margin-top";var a=this.options.sliderCellHeight}else{var g="margin-left";var a=this.options.sliderCellWidth}var i=parseFloat(this.sliderElements.slider.getStyle(g));this.previousPointer=(typeof this.pointer=="null")?0:this.pointer;if(l){this.pointer++;if(this.pointer>(j-1)){this.pointer=0}var b=this.sliderElements.nextCell;var f=i-a}else{this.pointer--;if(this.pointer<0){this.pointer=(j-1)}var b=this.sliderElements.previousCell;var f=i+a}if(isNaN(e)==false){this.pointer=e}var k=this.cells[this.pointer];var h=function(){this.__populateSliderCell(b,k);this.fireEvent("beginSlide",k);var m=function(){this.__populateSliderCell(this.sliderElements.currentCell,k,true);this.__updateNavigation();this.sliderElements.slider.setStyle(g,"-"+a+"px");this.sliding=false;this.fireEvent("slideComplete",k);if(d==true){this.toggleAutoSlide(true)}}.bind(this);if(kamUi.useAnimations){var n=new Fx.Morph(this.sliderElements.slider,{duration:this.options.slideDuration,onComplete:m});var o={};o[g]=f;this.fireEvent("morphInitialise",[n,o]);n.start(o)}else{m()}}.bind(this);if(k.isLoaded){h()}else{this.__loadCell(k,function(){h()}.bind(this))}}}}else{this.fireEvent("changeCancelled")}},__populateSliderCell:function(d,a,b){if(b){var c=d.retrieve("kamSliderCurrentCell");if(c){this.storeElement.adopt(c.element)}}d.adopt(a.element);d.store("kamSliderCurrentCell",a)},setCellDimensions:function(b,a){if(b){this.options.sliderCellWidth=b;this.sliderElements.previousCell.setStyle("width",this.options.sliderCellWidth+"px");this.sliderElements.currentCell.setStyle("width",this.options.sliderCellWidth+"px");this.sliderElements.nextCell.setStyle("width",this.options.sliderCellWidth+"px")}if(a){this.options.sliderCellHeight=a;this.sliderElements.previousCell.setStyle("height",this.options.sliderCellHeight+"px");this.sliderElements.currentCell.setStyle("height",this.options.sliderCellHeight+"px");this.sliderElements.nextCell.setStyle("height",this.options.sliderCellHeight+"px")}if(this.options.vertical){this.sliderElements.slider.setStyle("margin-top","-"+this.options.sliderCellHeight+"px");this.sliderElements.slider.setStyle("height",((this.options.sliderCellHeight*3)+20)+"px")}else{this.sliderElements.slider.setStyle("margin-left","-"+this.options.sliderCellWidth+"px");this.sliderElements.slider.setStyle("width",((this.options.sliderCellWidth*3)+20)+"px")}},destroy:function(){this.toggleAutoSlide(false);var a=function(){this.fireEvent("destroy");this.storeElement.destroy();if(this.navigationElement){this.navigationElement.destroy()}this.sliderElements.slider.destroy()}.bind(this);this.sliding?this.addEvent("slideComplete",a):a()}});var kamForm=new Class({Extends:Events,className:"kamForm",options:{submitHandler:null,errorReporting:"none",errorModalIntroduction:null,errorModalOptions:{closeMaskOnClick:true},submitViaAjax:true,ajaxCompleteHandler:null,ajaxSpinnerOptions:{message:"Sending...","class":"kamFormSendingMask"},ajaxSpinnerOpacity:0.8,onInvalidForm:null,autoHandleJavascriptResponses:true,externalValidators:[]},cssClasses:{blockAjax:"kamNoAjax",rememberDetailsPrefix:"kamRememberFieldValues"},visibleControl:null,failingInputs:{},validator:null,initialize:function(c,b){this.setOptions(b);if(this.options.submitViaAjax===false||c.get("id")){this.visibleControl=c;if(this.options.submitViaAjax===false||this.visibleControl.hasClass(this.cssClasses.blockAjax)){var a=this.visibleControl.getElement("#submit");if(a){alert("ERROR > kamForm > an input with an ID of 'submit' has been found within the form. This will prevent the form submitting")}}c.store(kamForm.storeKey,this);this.__setupValidation();if(this.options.onInvalidForm){this.addEvent("invalidForm",this.options.onInvalidForm)}c.getElements("[class*=required]").each(function(e){var f=e.get("id");if(f){var d=c.getElement("label[for="+f+"]");if(d){d.addClass("required")}}})}else{alert("ERROR > kamForm > AJAX submission cannot be used because the form has no ID attribute")}},setOptions:function(a){this.options=Object.merge(this.options,a)},__setupValidation:function(){this.validator=validator=new Form.Validator(this.visibleControl,{evaluateOnSubmit:false,evaluateFieldsOnBlur:false,evaluateFieldsOnChange:false,ignoreHidden:false,serial:false,onElementFail:function(c,b){if(c){c=document.id(c);if(c.tagName=="OPTION"){c=c.getElement("! select");if(!c){return true}}var a=c.get("name");this.failingInputs[a]={element:c,failedValidators:b}}}.bind(this),onElementPass:function(b){if(b){b=document.id(b);if(b.tagName=="OPTION"){b=b.getElement("! select");if(!b){return true}}var a=b.get("name");if(this.failingInputs[a]){delete (this.failingInputs[a])}}}.bind(this)});this.visibleControl.addEvent("submit",function(a){a.preventDefault();this.submitForm()}.bind(this))},addExternalValidator:function(a){this.options.externalValidators.push(a)},submitForm:function(){this.fireEvent("submitting");var a=true;this.options.externalValidators.each(function(c){var b=c(this);if(b===false){a=false}}.bind(this));if(a){this.failingInputs={};if(this.validator.validate()){this.__transmitForm()}else{this.__fireInvalidFormEvent()}}},__fireInvalidFormEvent:function(){var a=[];Object.each(this.failingInputs,function(h,c){var f=h.element.get("id");var g=false;var e=null;if(f){e=this.visibleControl.getElement("label[for="+f+"]");if(e){g=e.get("html")}}if(g==false){var b=h.element.get("title");g=b?b:c}var d=[];h.failedValidators.each(function(l){var n=l.indexOf(":");var k=false;if(n&&n>0){m=l.substr(0,n);k=true}else{var m=l}validatorProperties=k?JSON.decode("{"+l+"}"):{};var j=Form.Validator.adders.getValidator(m);var i=j.getError(h.element,validatorProperties);d.push({type:m,validator:l,message:i})}.bind(this));a.push({element:h.element,label:g,labelElement:e,failedValidators:d})}.bind(this));this.fireEvent("invalidForm",{inputs:a});this.__reportErrors(a)},__transmitForm:function(){if(this.options.submitHandler){this.options.submitHandler(this.visibleControl)}else{if(this.options.submitViaAjax&&!this.visibleControl.hasClass(this.cssClasses.blockAjax)){this.__transmitFormViaAjax()}else{if(typeof this.visibleControl.submit==="function"){this.visibleControl.submit()}else{this.visibleControl.submit()}}}},__transmitFormViaAjax:function(){var b=kamUi.useAnimations;var e=new Spinner(this.visibleControl,this.options.ajaxSpinnerOptions);var a=this.visibleControl;var d=a.get("id");e.show();var c=function(){new kamContentRequest(a.get("action"),{method:"post",data:this.visibleControl,autoHandleJavascriptResponses:this.options.autoHandleJavascriptResponses,onSuccess:function(g,i,f,j,h){if(this.options.ajaxCompleteHandler){this.options.ajaxCompleteHandler(g,i,f,j,h)}else{f.each(function(l){var p=l.get("id");if(p&&p==d){var o=a.measure(function(){return this.getSize().y});var n=a.hasClass("kamResizeWindowOnSubmit");a.erase("id");l.setStyle("display","none");l.inject(document.body);kamUi.initialise(l);var m=l.measure(function(){return this.getSize().y});var k=function(){if(b){new Fx.Morph(e,{onComplete:function(){e.destroy()}}).start({opacity:0})}else{e.destroy()}l.replaces(a);l.setStyles({opacity:0,display:"block",height:o+"px"});var s=false;var q=false;var r=l.getElement("! .kamModal");if(r){q=kamModal.getModalInstance(r);if(q){s=true}}if(b){new Fx.Morph(l).start({opacity:1,height:m,onComplete:function(){if(s){if(n){q.resizeToContent()}}else{new Fx.Scroll(window).toElement(l)}}})}else{l.setStyles({opacity:1,height:m});if(s){if(n){q.resizeToContent()}}else{new Fx.Scroll(window).toElement(l)}}};if(b){new Fx.Morph(a,{onComplete:k}).start({opacity:0})}else{k()}}})}e.hide()}.bind(this),onJavascriptHandled:function(){e.hide()}}).execute()}.bind(this);if(b){new Fx.Morph(e,{onComplete:c}).start({opacity:[0,this.options.ajaxSpinnerOpacity]})}else{document.id(e).setStyle("opacity",this.options.ajaxSpinnerOpacity);c()}},__reportErrors:function(f){var c=this.options.errorReporting;if(c&&c!="none"){switch(c){case"alert":var e="There are errors with your form:\n";f.each(function(h){e+="\n"+h.label+":\n";h.failedValidators.each(function(i){e+="\t-"+i.message+"\n"})});alert(e);break;case"modal":var g=new Element("dl");f.each(function(i){new Element("dt",{html:i.label}).inject(g);var j=new Element("dd").inject(g);var h=new Element("ul").inject(j);i.failedValidators.each(function(k){new Element("li",{html:k.message}).inject(h)})});var a=this.options.errorModalOptions;if(!a.title){a.title="There are errors with your form"}var d=new Element("div",{"class":"clear",html:"&#160"});var b=this.options.errorModalIntroduction;if(b){if(typeof(b)=="string"){b=new Element("p",{html:b})}a.content=[b,g,d]}else{a.content=[g,d]}new kamModal(a).show();break}}}});kamForm.storeKey="kamForm";kamForm.getFormInstance=function(a){a=document.id(a);if(a){return a.retrieve(kamForm.storeKey)}return false};kamForm.__addCustomValidators=function(){Form.Validator.add("mustMatch",{errorMsg:function(element,props){if(props.mustMatch){var masterInput=document.id(props.mustMatch);if(masterInput){var label=document.getElement("label[for="+props.mustMatch+"]");return'The value must match that of "'+(label?label.get("html"):materInput.get("name"))+'"'}}return""},test:function(element,props){if(props.mustMatch){var masterInput=document.id(props.mustMatch);if(masterInput){return masterInput.value==element.value}}return false}});Form.Validator.add("ajax",{errorMsg:function(element,props){var ajaxResult=element.retrieve("kamAjaxValidationResult");if(ajaxResult){if(ajaxResult.message){return ajaxResult.message}}return""},test:function(element,props){var result=false;if(props.ajax){var uri=new URI(props.ajax);uri.setData({kamReqTime:new Date().getTime()},true);new Request({url:uri.toString(),method:"post",data:{value:element.get("value")},async:false,onSuccess:function(responseText){var ajaxResponse=null;eval(responseText);if(ajaxResponse){if(ajaxResponse.result){element.eliminate("kamAjaxValidationResult");result=true}else{element.store("kamAjaxValidationResult",ajaxResponse)}}}}).send()}return result}});Form.Validator.add("validate-oneInFieldOptions",{errorMsg:function(element,props){return"At least one item must be selected"},test:function(element,props){var itemSet=false;var containerElement=element.getElement("! .kamFormFieldOptions");if(containerElement){var elementType=element.get("type");if(elementType){containerElement.getElements("input[type="+elementType+"]").each(function(item){if(item.get("checked")){itemSet=true}})}}return itemSet}})};kamForm.populateCountrySelect=function(b,c){var a=[{name:"United Kingdom",iso:"GB"},{name:"Afghanistan",iso:"AF"},{name:"Åland Islands",iso:"AX"},{name:"Albania",iso:"AL"},{name:"Algeria",iso:"DZ"},{name:"American Samoa",iso:"AS"},{name:"Andorra",iso:"AD"},{name:"Angola",iso:"AO"},{name:"Anguilla",iso:"AI"},{name:"Antarctica",iso:"AQ"},{name:"Antigua and Barbuda",iso:"AG"},{name:"Argentina",iso:"AR"},{name:"Armenia",iso:"AM"},{name:"Aruba",iso:"AW"},{name:"Australia",iso:"AU"},{name:"Austria",iso:"AT"},{name:"Azerbaijan",iso:"AZ"},{name:"Bahamas",iso:"BS"},{name:"Bahrain",iso:"BH"},{name:"Bangladesh",iso:"BD"},{name:"Barbados",iso:"BB"},{name:"Belarus",iso:"BY"},{name:"Belgium",iso:"BE"},{name:"Belize",iso:"BZ"},{name:"Benin",iso:"BJ"},{name:"Bermuda",iso:"BM"},{name:"Bhutan",iso:"BT"},{name:"Bolivia",iso:"BO"},{name:"Bosnia and Herzegovina",iso:"BA"},{name:"Botswana",iso:"BW"},{name:"Bouvet Island",iso:"BV"},{name:"Brazil",iso:"BR"},{name:"British Indian Ocean Territory",iso:"IO"},{name:"Brunei Darussalam",iso:"BN"},{name:"Bulgaria",iso:"BG"},{name:"Burkina Faso",iso:"BF"},{name:"Burundi",iso:"BI"},{name:"Cambodia",iso:"KH"},{name:"Cameroon",iso:"CM"},{name:"Canada",iso:"CA"},{name:"Cape Verde",iso:"CV"},{name:"Cayman Islands",iso:"KY"},{name:"Central African Republic",iso:"CF"},{name:"Chad",iso:"TD"},{name:"Chile",iso:"CL"},{name:"China",iso:"CN"},{name:"Christmas Island",iso:"CX"},{name:"Cocos (Keeling) Islands",iso:"CC"},{name:"Colombia",iso:"CO"},{name:"Comoros",iso:"KM"},{name:"Congo",iso:"CG"},{name:"Congo, The Democratic Republic of The",iso:"CD"},{name:"Cook Islands",iso:"CK"},{name:"Costa Rica",iso:"CR"},{name:"Cote D'ivoire",iso:"CI"},{name:"Croatia",iso:"HR"},{name:"Cuba",iso:"CU"},{name:"Cyprus",iso:"CY"},{name:"Czech Republic",iso:"CZ"},{name:"Denmark",iso:"DK"},{name:"Djibouti",iso:"DJ"},{name:"Dominica",iso:"DM"},{name:"Dominican Republic",iso:"DO"},{name:"Ecuador",iso:"EC"},{name:"Egypt",iso:"EG"},{name:"El Salvador",iso:"SV"},{name:"Equatorial Guinea",iso:"GQ"},{name:"Eritrea",iso:"ER"},{name:"Estonia",iso:"EE"},{name:"Ethiopia",iso:"ET"},{name:"Falkland Islands (Malvinas)",iso:"FK"},{name:"Faroe Islands",iso:"FO"},{name:"Fiji",iso:"FJ"},{name:"Finland",iso:"FI"},{name:"France",iso:"FR"},{name:"French Guiana",iso:"GF"},{name:"French Polynesia",iso:"PF"},{name:"French Southern Territories",iso:"TF"},{name:"Gabon",iso:"GA"},{name:"Gambia",iso:"GM"},{name:"Georgia",iso:"GE"},{name:"Germany",iso:"DE"},{name:"Ghana",iso:"GH"},{name:"Gibraltar",iso:"GI"},{name:"Greece",iso:"GR"},{name:"Greenland",iso:"GL"},{name:"Grenada",iso:"GD"},{name:"Guadeloupe",iso:"GP"},{name:"Guam",iso:"GU"},{name:"Guatemala",iso:"GT"},{name:"Guernsey",iso:"GG"},{name:"Guinea",iso:"GN"},{name:"Guinea-bissau",iso:"GW"},{name:"Guyana",iso:"GY"},{name:"Haiti",iso:"HT"},{name:"Heard Island and Mcdonald Islands",iso:"HM"},{name:"Holy See (Vatican City State)",iso:"VA"},{name:"Honduras",iso:"HN"},{name:"Hong Kong",iso:"HK"},{name:"Hungary",iso:"HU"},{name:"Iceland",iso:"IS"},{name:"India",iso:"IN"},{name:"Indonesia",iso:"ID"},{name:"Iran, Islamic Republic of",iso:"IR"},{name:"Iraq",iso:"IQ"},{name:"Ireland",iso:"IE"},{name:"Isle of Man",iso:"IM"},{name:"Israel",iso:"IL"},{name:"Italy",iso:"IT"},{name:"Jamaica",iso:"JM"},{name:"Japan",iso:"JP"},{name:"Jersey",iso:"JE"},{name:"Jordan",iso:"JO"},{name:"Kazakhstan",iso:"KZ"},{name:"Kenya",iso:"KE"},{name:"Kiribati",iso:"KI"},{name:"Korea, Democratic People's Republic of",iso:"KP"},{name:"Korea, Republic of",iso:"KR"},{name:"Kuwait",iso:"KW"},{name:"Kyrgyzstan",iso:"KG"},{name:"Lao People's Democratic Republic",iso:"LA"},{name:"Latvia",iso:"LV"},{name:"Lebanon",iso:"LB"},{name:"Lesotho",iso:"LS"},{name:"Liberia",iso:"LR"},{name:"Libyan Arab Jamahiriya",iso:"LY"},{name:"Liechtenstein",iso:"LI"},{name:"Lithuania",iso:"LT"},{name:"Luxembourg",iso:"LU"},{name:"Macao",iso:"MO"},{name:"Macedonia, The Former Yugoslav Republic of",iso:"MK"},{name:"Madagascar",iso:"MG"},{name:"Malawi",iso:"MW"},{name:"Malaysia",iso:"MY"},{name:"Maldives",iso:"MV"},{name:"Mali",iso:"ML"},{name:"Malta",iso:"MT"},{name:"Marshall Islands",iso:"MH"},{name:"Martinique",iso:"MQ"},{name:"Mauritania",iso:"MR"},{name:"Mauritius",iso:"MU"},{name:"Mayotte",iso:"YT"},{name:"Mexico",iso:"MX"},{name:"Micronesia, Federated States of",iso:"FM"},{name:"Moldova, Republic of",iso:"MD"},{name:"Monaco",iso:"MC"},{name:"Mongolia",iso:"MN"},{name:"Montenegro",iso:"ME"},{name:"Montserrat",iso:"MS"},{name:"Morocco",iso:"MA"},{name:"Mozambique",iso:"MZ"},{name:"Myanmar",iso:"MM"},{name:"Namibia",iso:"NA"},{name:"Nauru",iso:"NR"},{name:"Nepal",iso:"NP"},{name:"Netherlands",iso:"NL"},{name:"Netherlands Antilles",iso:"AN"},{name:"New Caledonia",iso:"NC"},{name:"New Zealand",iso:"NZ"},{name:"Nicaragua",iso:"NI"},{name:"Niger",iso:"NE"},{name:"Nigeria",iso:"NG"},{name:"Niue",iso:"NU"},{name:"Norfolk Island",iso:"NF"},{name:"Northern Mariana Islands",iso:"MP"},{name:"Norway",iso:"NO"},{name:"Oman",iso:"OM"},{name:"Pakistan",iso:"PK"},{name:"Palau",iso:"PW"},{name:"Palestinian Territory, Occupied",iso:"PS"},{name:"Panama",iso:"PA"},{name:"Papua New Guinea",iso:"PG"},{name:"Paraguay",iso:"PY"},{name:"Peru",iso:"PE"},{name:"Philippines",iso:"PH"},{name:"Pitcairn",iso:"PN"},{name:"Poland",iso:"PL"},{name:"Portugal",iso:"PT"},{name:"Puerto Rico",iso:"PR"},{name:"Qatar",iso:"QA"},{name:"Reunion",iso:"RE"},{name:"Romania",iso:"RO"},{name:"Russian Federation",iso:"RU"},{name:"Rwanda",iso:"RW"},{name:"Saint Helena",iso:"SH"},{name:"Saint Kitts and Nevis",iso:"KN"},{name:"Saint Lucia",iso:"LC"},{name:"Saint Pierre and Miquelon",iso:"PM"},{name:"Saint Vincent and The Grenadines",iso:"VC"},{name:"Samoa",iso:"WS"},{name:"San Marino",iso:"SM"},{name:"Sao Tome and Principe",iso:"ST"},{name:"Saudi Arabia",iso:"SA"},{name:"Senegal",iso:"SN"},{name:"Serbia",iso:"RS"},{name:"Seychelles",iso:"SC"},{name:"Sierra Leone",iso:"SL"},{name:"Singapore",iso:"SG"},{name:"Slovakia",iso:"SK"},{name:"Slovenia",iso:"SI"},{name:"Solomon Islands",iso:"SB"},{name:"Somalia",iso:"SO"},{name:"South Africa",iso:"ZA"},{name:"South Georgia and The South Sandwich Islands",iso:"GS"},{name:"Spain",iso:"ES"},{name:"Sri Lanka",iso:"LK"},{name:"Sudan",iso:"SD"},{name:"Suriname",iso:"SR"},{name:"Svalbard and Jan Mayen",iso:"SJ"},{name:"Swaziland",iso:"SZ"},{name:"Sweden",iso:"SE"},{name:"Switzerland",iso:"CH"},{name:"Syrian Arab Republic",iso:"SY"},{name:"Taiwan, Province of China",iso:"TW"},{name:"Tajikistan",iso:"TJ"},{name:"Tanzania, United Republic of",iso:"TZ"},{name:"Thailand",iso:"TH"},{name:"Timor-leste",iso:"TL"},{name:"Togo",iso:"TG"},{name:"Tokelau",iso:"TK"},{name:"Tonga",iso:"TO"},{name:"Trinidad and Tobago",iso:"TT"},{name:"Tunisia",iso:"TN"},{name:"Turkey",iso:"TR"},{name:"Turkmenistan",iso:"TM"},{name:"Turks and Caicos Islands",iso:"TC"},{name:"Tuvalu",iso:"TV"},{name:"Uganda",iso:"UG"},{name:"Ukraine",iso:"UA"},{name:"United Arab Emirates",iso:"AE"},{name:"United States",iso:"US"},{name:"United States Minor Outlying Islands",iso:"UM"},{name:"Uruguay",iso:"UY"},{name:"Uzbekistan",iso:"UZ"},{name:"Vanuatu",iso:"VU"},{name:"Venezuela",iso:"VE"},{name:"Viet Nam",iso:"VN"},{name:"Virgin Islands, British",iso:"VG"},{name:"Virgin Islands, U.S.",iso:"VI"},{name:"Wallis and Futuna",iso:"WF"},{name:"Western Sahara",iso:"EH"},{name:"Yemen",iso:"YE"},{name:"Zambia",iso:"ZM"},{name:"Zimbabwe",iso:"ZW"}];if(!c){c=b.get("title")}b.empty();a.each(function(e){var d=new Element("option",{html:e.name,value:e.iso});if(e.iso==c){d.set("selected","selected")}d.inject(b)})};var kamForms={};kamForms.checkbox=new Class({elements:{input:null,parent:null},cssClasses:{main:"kamCustomCheckbox",selected:"selected"},initialize:function(b){if(document.id(b)){this.elements.input=b;b.set("type","hidden");var a=b.getParent();this.elements.parent=a;a.addEvent("click",this.toggle.bind(this));this.elements.input=new Element("input",{type:"hidden","class":this.cssClasses.main,name:b.get("name"),value:b.get("value")}).inject(a);this.set(b.get("checked"));b.destroy();this.elements.input.store(kamForms.checkbox.storeKey,this)}},toggle:function(){this.set(this.elements.input.get("disabled"))},set:function(c){var b=this.elements.input;var a=this.cssClasses.selected;b.erase("disabled");this.elements.parent.toggleClass(a,c);if(c){b.erase("disabled")}else{b.set("disabled","disabled")}}});kamForms.checkbox.storeKey="kamForms.checkbox";kamForms.checkbox.getInstance=function(a){return document.id(a).retrieve(kamForms.checkbox.storeKey)};kamForms.fedSelect=new Class({Implements:Options,masterInput:null,slaveInput:null,optionData:[],originalSlaveValue:null,options:{defaultItem:{enabled:true,label:"Please select",value:null},labelKey:"label",valueKey:"value"},initialize:function(c,b,d,a){if(document.id(c)){if(document.id(b).tagName==="SELECT"){this.setOptions(a);this.masterInput=c;this.slaveInput=b;this.optionData=d;this.originalSlaveValue=this.slaveInput.get("value");c.addEvent("change",this._change.bind(this));this._change()}else{alert("kamFedSelect > the slaveInput is not a SELECT")}}else{alert("kamFedSelect > parentInput is not valid")}},_change:function(a){var e=this.masterInput;var k=this.options;var c=k.labelKey;var j=k.valueKey;var g=this.originalSlaveValue;var b=this.slaveInput;b.empty();var h=k.defaultItem;if(h.enabled){var d=Element("option",{html:h.label}).inject(b);if(h.value){d.set("value",h.value)}}var f=e.get("value");var i=false;Object.each(this.optionData,function(m,l){if(f==l){m.each(function(o){if(o[c]){var p=o[c];var n=Element("option",{html:p}).inject(b);if(o[j]){p=o[j];if(p===""){n.value=""}else{n.set("value",p)}}if(p==g){n.set("selected","selected")}}})}});b.fireEvent("change")}});var kamModal=new Class({Extends:kamUiEvents,className:"kamModal",options:{closeMaskOnClick:false,width:null,height:null,id:null,modalClass:"kamModal",useMask:true,maskClass:"kamModalMask",title:"",content:"",zIndex:999999,useAnimations:true,maskOpacity:0.8,expandTransition:Fx.Transitions.Quad.easeOut,expandDuration:250,onTitleSet:null,onContentSet:null,position:null,offset:null,onShow:null,onClose:null,onDestroy:null,disablePageScrolling:true,resizeToContent:false,resizeToFitViewPane:true,positionOnViewPaneScroll:true},cssClasses:{outer:"outer",header:"header",title:"title",closeButton:"close",content:"content"},elements:{outer:null,title:null,content:null},mask:null,maskElement:null,visibleControl:null,modalVisible:false,resizeHandler:function(){if(this.modalVisible){if(this.options.positionOnViewPaneScroll){this.visibleControl.position("center");var b=this.__getPositionOverrides();if(typeof b.x!=="undefined"){this.visibleControl.setStyle("left",b.x)}if(typeof b.y!=="undefined"){this.visibleControl.setStyle("top",b.y)}var a=this.__getPositionOffset();var c=this.visibleControl.getCoordinates();if(typeof a.x!=="undefined"){this.visibleControl.setStyle("left",c.left+a.x)}if(typeof a.y!=="undefined"){this.visibleControl.setStyle("top",c.top+a.y)}}if(this.options.useMask){this.mask.resize()}}},resizeListenerHandle:null,scrollListenerHandle:null,setOptions:function(a){this.options=Object.merge(this.options,a)},initialize:function(a){this.globalEventsHandler=kamModal.events;this.setOptions(a);this.__createControls();this.__addTrackingEvents();var a=this.options;if(a.onTitleSet){this.addEvent("titleSet",a.onTitleSet)}if(a.onContentSet){this.addEvent("contentSet",a.onContentSet)}if(a.onShow){this.addEvent("show",a.onShow)}if(a.onClose){this.addEvent("close",a.onClose)}if(a.onDestroy){this.addEvent("destroy",a.onDestroy)}},__createControls:function(){if(this.options.useMask){var a=this.options.maskClass+kamUi.getId();this.mask=new Mask(document.body,{hideOnClick:false,destroyOnClick:false,"class":this.options.maskClass,id:a,style:{opacity:this.options.maskOpacity}});this.maskElement=document.id(a);this.mask.addEvent("click",function(){if(this.modalVisible){if(this.options.closeMaskOnClick){this.close()}}}.bind(this))}this.visibleControl=new Element("div",{"class":this.options.modalClass,styles:{position:"absolute",zIndex:this.options.zIndex,display:"none"}}).inject(document.body);if(this.options.id){this.visibleControl.set("id",this.options.id)}this.elements.outer=new Element("div",{"class":this.cssClasses.outer}).inject(this.visibleControl);this.elements.header=new Element("div",{"class":this.cssClasses.header}).inject(this.elements.outer);this.elements.title=new Element("p",{"class":this.cssClasses.title,html:this.options.title}).inject(this.elements.header);var c=new Element("a",{"class":this.cssClasses.closeButton,href:"#",html:"close"}).inject(this.elements.header);c.addEvent("click",function(e){e.preventDefault();this.close()}.bind(this));new Element("div",{html:"&#160;",styles:{display:"block",clear:"both"}}).inject(this.elements.header);this.elements.content=new Element("div",{"class":this.cssClasses.content}).inject(this.elements.outer);this.setContent(this.options.content);var b=kamUi.getElementDimensions(this.visibleControl);if(!this.options.width){this.options.width=b.x}if(!this.options.height){this.options.height=b.y}var d=window.getSize();if(this.options.width>d.x){this.options.width=(d.x-50)}if(this.options.height>d.y){this.options.height=(d.y-50)}this.visibleControl.setStyles({width:this.options.width,height:this.options.height});this.visibleControl.store(kamModal.storeKey,this)},resize:function(d,p){var m=window.getSize();if(d>m.x){d=(m.x-50)}var i=false;if(this.options.resizeToFitViewPane&&p>m.y){var i=true;p=(m.y-50)}var e=this.options.width;var f=this.options.height;this.options.width=d;this.options.height=p;var l=kamUi.getElementDimensions(this.elements.header);var o=p-l.y;var c="visible";if(i){c="auto"}this.elements.content.setStyles({height:o,"overflow-y":c});if(this.modalVisible){var a=this.visibleControl.getCoordinates();var b=a.left;var h=a.top;var g=this.__getPositionOverrides();if(typeof g.x!=="undefined"){var n=g.x}else{if(d>e){var n=b-((d-e)/2)}else{var n=b+((e-d)/2)}}if(typeof g.y!=="undefined"){var k=g.y}else{if(p>f){var k=h-((p-f)/2)}else{var k=h+((f-p)/2)}}var j=this.__getPositionOffset();if(typeof j.x!=="undefined"){n+=j.x}if(typeof j.y!=="undefined"){k+=j.y}if(kamUi.useAnimations&&this.options.useAnimations){new Fx.Morph(this.visibleControl).start({left:[b,n],top:[h,k],width:[e,this.options.width],height:[f,this.options.height]})}else{this.visibleControl.setStyles({left:n,top:k,width:this.options.width,height:this.options.height})}}},resizeToContent:function(){var a=this.elements.content.getStyle("height").replace("px","");this.elements.content.setStyles({height:"",overflow:"visible","overflow-y":"visible"});var b=kamUi.getElementDimensions(this.elements.outer).y;this.elements.content.setStyle("height",(a>0?a:0));this.resize(this.options.width,b)},__addTrackingEvents:function(){this.resizeListenerHandle=this.resizeHandler.bind(this);window.addEvent("resize",this.resizeListenerHandle);this.scrollListenerHandle=this.resizeHandler.bind(this);window.addEvent("scroll",this.scrollListenerHandle)},setTitle:function(a){if(typeof(a)=="string"){this.elements.title.set("html",a)}else{this.elements.title.set("html","");this.elements.title.adopt(a)}this.fireEvent("titleSet",this.elements.title)},setContent:function(a){if(typeof(a)=="string"){this.elements.content.set("html",a)}else{this.elements.content.set("html","");this.elements.content.adopt(a)}this.fireEvent("contentSet",this.elements.content);if(this.options.resizeToContent){this.resizeToContent()}},show:function(){this.__showMask(true)},__showMask:function(a){if(this.options.useMask){if(kamUi.useAnimations&&this.options.useAnimations){if(this.options.disablePageScrolling){document.id(document.body).setStyle("overflow","hidden")}this.maskElement.setStyle("opacity",0);this.mask.show();new Fx.Morph(this.maskElement,{onComplete:function(){if(a){this.__showModal()}}.bind(this)}).start({opacity:this.options.maskOpacity})}else{this.mask.show();this.maskElement.setStyle("opacity",this.options.maskOpacity);if(a){this.__showModal()}}}else{if(a){this.__showModal()}}},__getPositionOverrides:function(){var a=this.options.position;var d={};if(a){if(typeof a.x!=="undefined"){var c=typeof(a.x)=="function"?a.x():a.x;if(isNaN(c)===false){d.x=c}}if(typeof a.y!=="undefined"){var b=typeof(a.y)=="function"?a.y():a.y;if(isNaN(b)===false){d.y=b}}}return d},__getPositionOffset:function(){var a=this.options.offset;var d={};if(a){if(typeof a.x!=="undefined"){var c=typeof(a.x)=="function"?a.x():a.x;if(isNaN(c)===false){d.x=c}}if(typeof a.y!=="undefined"){var b=typeof(a.y)=="function"?a.y():a.y;if(isNaN(b)===false){d.y=b}}}return d},__showModal:function(){if(!this.modalVisible){var c=this.__getPositionOverrides();var b=this.__getPositionOffset();this.fireEvent("preShow");if(kamUi.useAnimations&&this.options.useAnimations){this.visibleControl.setStyles({width:"1px",height:"1px",display:"block",overflow:"hidden"});this.visibleControl.position("center");var e=this.options.width/2;var a=this.options.height/2;if(typeof c.x!=="undefined"){this.visibleControl.setStyle("left",(c.x+e))}if(typeof c.y!=="undefined"){this.visibleControl.setStyle("top",(c.y+a))}var d=this.visibleControl.getCoordinates();if(typeof b.x!=="undefined"){this.visibleControl.setStyle("left",d.left+b.x)}if(typeof b.y!=="undefined"){this.visibleControl.setStyle("top",d.top+b.y)}var d=this.visibleControl.getCoordinates();this.elements.outer.setStyle("opacity","0");new Fx.Morph(this.visibleControl,{transition:this.options.expandTransition,duration:this.options.expandDuration,onComplete:function(){new Fx.Morph(this.elements.outer,{onComplete:function(){this.modalVisible=true;this.fireEvent("show")}.bind(this)}).start({opacity:1})}.bind(this)}).start({left:d.left-e,top:d.top-a,width:this.options.width,height:this.options.height})}else{if(c.x){this.visibleControl.setStyle("left",c.x)}if(c.y){this.visibleControl.setStyle("top",c.y)}this.visibleControl.setStyles({width:this.options.width,height:this.options.height,display:"block"});this.visibleControl.position("center");this.elements.outer.setStyles({display:"block",opacity:1});this.modalVisible=true;this.fireEvent("show")}}},close:function(){var a=function(){this.fireEvent("close");this.__destruct();if(this.options.disablePageScrolling){document.id(document.body).setStyle("overflow","auto")}}.bind(this);if(this.modalVisible&&kamUi.useAnimations&&this.options.useAnimations){new Fx.Morph(this.visibleControl,{duration:250,onComplete:function(){if(this.options.useMask){new Fx.Morph(this.maskElement,{duration:250,onComplete:function(){a()}.bind(this)}).start({opacity:0})}else{a()}}.bind(this)}).start({opacity:0})}else{a()}},__destruct:function(){window.removeEvent("resize",this.resizeListenerHandle);window.removeEvent("scroll",this.scrollListenerHandle);this.visibleControl.destroy();if(this.options.useMask){this.mask.destroy()}this.fireEvent("destroy")}});kamModal.events=new kamGlobalEvents();kamModal.storeKey="kamModal";kamModal.getModalInstance=function(a){a=document.id(a);if(a){var b=a.retrieve(kamModal.storeKey);if(b){return b}}return false};var kamVideoModal=new Class({Extends:kamModal,className:"kamVideoModal",jwPlayer:null,videoUrl:null,videoDuration:null,jwPlayerResources:{baseUrl:false,flashPlayer:"player.swf"},googleAnalyticsCategoryKey:"Video links",googleAnalyticsActions:{played:"Played",paused:"Paused",progressPrefix:"Progress - ",sharedViaEmail:"Shared via mail",sharedViaFacebook:"Shared via Facebook",sharedViaTwitter:"Shared via Twitter"},initialize:function(b,a){this.jwPlayerResources.baseUrl=kamUi.kcmsVersion===5?"/codeBase/standardModules/0.0.0/videos/resources/jwPlayer/":"/style/jwPlayer/";this.cssClasses=Object.merge(this.cssClasses,{modal:"kamVideoModal",player:"player",controlBar:"controlBar",playButton:"play",pauseButton:"pause",timeDetails:"timeDetails",timeBar:"timeBar",totalTimeBar:"totalTimeBar",bufferTimeBar:"bufferTimeBar",currentTimeBar:"currentTimeBar",currentTime:"currentTime",totalTime:"totalTime",shareLinks:"shareLinks",shareByEmail:"shareByEmail",shareByFacebook:"shareByFacebook",shareByTwitter:"shareByTwitter"});this.setOptions(a);if(b&&typeof(b)=="string"){this.videoUrl=b;this.parent(a);if(this.options.onTime){this.addEvent("time",this.options.onTime)}if(this.options.onComplete){this.addEvent("complete",this.options.onComplete)}if(this.options.onBufferChange){this.addEvent("bufferChange",this.options.onBufferChange)}this.addEvent("show",function(){if(this.options.autoPlay){this.play()}}.bind(this))}else{alert("ERROR > kamVideoModal > no 'videoUrl' has been supplied")}},__createControls:function(){var q=this.options;this.parent();var c=kamUi.isGoogleAnalyticsEnabled();this.visibleControl.toggleClass(this.cssClasses.modal);var m=this.elements.content;var n=new Element("div",{"class":this.cssClasses.player}).inject(m);var h=kamUi.getId("kamVideoPlayer");new Element("div",{html:"&#160",id:h}).inject(n);var p={};var k=new Element("div",{"class":this.cssClasses.controlBar});p.controlBar=k;this.elements.playButton=new Element("a",{href:"#",html:"play/pause","class":this.cssClasses.playButton}).inject(k);p.playButton=this.elements.playButton;this.elements.playButton.addEvent("click",function(s){s.preventDefault();var r=this.jwPlayer.getState();if(r=="PAUSED"||r=="IDLE"){this.play()}else{this.pause()}}.bind(this));var j=new Element("div",{"class":this.cssClasses.timeDetails}).inject(k);this.elements.currentTime=new Element("p",{"class":this.cssClasses.currentTime}).inject(j);this.elements.timeBar=new Element("div",{"class":this.cssClasses.timeBar}).inject(j);this.elements.bufferTimeBar=new Element("div",{"class":this.cssClasses.bufferTimeBar}).inject(this.elements.timeBar);this.elements.currentTimeBar=new Element("div",{"class":this.cssClasses.currentTimeBar}).inject(this.elements.timeBar);this.elements.totalTime=new Element("p",{"class":this.cssClasses.totalTime}).inject(j);p.timeDetails=j;p.currentTime=this.elements.currentTime;p.totalTime=this.elements.totalTime;p.timeBar=this.elements.timeBar;p.bufferTimeBar=this.elements.bufferTimeBar;p.currentTimeBar=this.elements.currentTimeBar;this.elements.timeBar.addEvent("click",function(u){if(this.videoDuration){var r=this.elements.timeBar.getCoordinates();var t=(u.page.x-r.left)/r.width;var s=this.videoDuration*t;this.jwPlayer.seek((this.videoDuration*t).toInt())}}.bind(this));var g=new URI(window.location);g=encodeURIComponent(g.toString());var e=new Element("div",{"class":this.cssClasses.shareLinks});p.shareLinks=e;p.shareByEmailLink=new Element("a",{"class":this.cssClasses.shareByEmail,html:"&#160;",href:"mailto:?body="+g}).inject(e);p.shareByFacebookLink=new Element("a",{"class":this.cssClasses.shareByFacebook,html:"&#160;",href:"http://www.facebook.com/sharer.php?u="+g}).inject(e);p.shareByTwitterLink=new Element("a",{"class":this.cssClasses.shareByTwitter,html:"&#160;",href:"http://twitter.com/home?status="+g}).inject(e);p.shareByEmailLink.addEvent("click",function(r){r.preventDefault();window.open(p.shareByEmailLink.get("href"));if(c){_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.sharedViaEmail,this.videoUrl])}});p.shareByFacebookLink.addEvent("click",function(r){r.preventDefault();window.open(p.shareByFacebookLink.get("href"));if(c){_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.sharedViaFacebook,this.videoUrl])}});p.shareByTwitterLink.addEvent("click",function(r){r.preventDefault();window.open(p.shareByTwitterLink.get("href"));if(c){_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.sharedViaTwitter,this.videoUrl])}});if(q.includeShareLinks){k.grab(e)}var a=q.playerWidth;if(!a){var o=m.measure(function(){return this.getSize()});a=o.x}var l=q.playerHeight;if(!l){var l=a*0.5625}if(q.controlBarRenderHandler){m.adopt(q.controlBarRenderHandler(k,p))}else{m.adopt(k)}var d=0;var b=[25,50,75];var f=b.length;var i="none";if(q.videoWidth&&q.videoWidth>a){i="uniform"}if(q.videoHeight&&q.videoHeight>l){i="uniform"}this.jwPlayer=jwplayer(h).setup({file:this.videoUrl,width:a,height:l,controlbar:"none",stretching:i,players:[{type:"flash",src:this.jwPlayerResources.baseUrl+this.jwPlayerResources.flashPlayer},{type:"html5"},{type:"download"}],events:{onPlay:function(){this.elements.playButton.removeClass(this.cssClasses.playButton);this.elements.playButton.addClass(this.cssClasses.pauseButton);this.fireEvent("play");if(c){_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.played,this.videoUrl])}}.bind(this),onPause:function(){this.elements.playButton.addClass(this.cssClasses.playButton);this.elements.playButton.removeClass(this.cssClasses.pauseButton);this.fireEvent("pause");if(c){_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.paused,this.videoUrl])}}.bind(this),onTime:function(t){if(!this.videoDuration){this.videoDuration=t.duration;this.elements.totalTime.set("html",kamUi.formatSecondsToHumanReadable(t.duration))}this.elements.currentTimeBar.setStyle("width",(this.elements.timeBar.getSize().x*(t.position/t.duration))+"px");this.elements.currentTime.set("html",kamUi.formatSecondsToHumanReadable(t.position));if(c){var s=((t.position/t.duration)*100).toInt();for(var r=0;r<f;r++){var u=b[r];if(d<u&&s>=u){d=u;_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.progressPrefix+u+"% viewed",this.videoUrl]);break}}}this.fireEvent("time",t)}.bind(this),onComplete:function(r){if(c){_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.progressPrefix+"100% viewed",this.videoUrl])}this.fireEvent("complete")}.bind(this),onBufferChange:function(r){this.elements.bufferTimeBar.setStyle("width",((this.elements.timeBar.getSize().x/100)*r.bufferPercent)+"px");this.fireEvent("bufferChange",r)}.bind(this)}})},__destruct:function(){this.jwPlayer.remove();this.parent()},play:function(){this.jwPlayer.play()},pause:function(){this.jwPlayer.pause()}});var kamAjaxContentModal=new Class({Extends:kamModal,className:"kamAjaxContentModal",contentUrl:null,initialize:function(b,a){this.setOptions(a);if(b&&typeof(b)=="string"){this.setOptions({contentRequestOptions:{},height:400});this.contentUrl=b;this.parent(a)}else{alert("ERROR > kamAjaxContentModal > no 'contentUrl' has been supplied")}},show:function(){this.__showMask();this.reload()},reload:function(){this.load(this.contentUrl)},load:function(a){this.contentUrl=a;var b=new kamContentRequest(a,this.options.contentRequestOptions);b.addEvent("onSuccess",function(c){this.setContent(c);kamUi.initialise(this.elements.content);this.__showModal()}.bind(this)).execute()}});var kamFx={};kamFx.rotateElement=function(a,c,b){var d=false;switch(Browser.name){case"safari":d="webkit";break;case"chrome":d="webkit";break;case"firefox":d="moz";break;case"opera":d="o";break;case"ie":d="ms";break}if(b){a.setStyle("-"+d+"-transition-duration",b+"s");a.setStyle("transition-duration",b+"s")}else{a.setStyle("-"+d+"-transition-duration","");a.setStyle("transition-duration","")}a.setStyle("-"+d+"-transform","rotate("+c+"deg)")};kamFx.updateContent=function(d,c){d=document.id(d);var e=function(){if(typeof c=="string"){d.set("html",c)}else{d.empty();d.adopt(c)}};if(kamUi.useAnimations){d.setStyle("opacity",0.01);var a=d.getStyle("height");e();d.setStyle("height","");var b=d.measure(function(){return this.getSize().y});d.setStyle("height",a);new Fx.Morph(d,{onComplete:function(){d.setStyles({overflow:"",height:""})}}).start({height:[a,b],opacity:[0.01,1]})}else{e();d.setStyles({overflow:"",height:""})}kamUi.initialise(d)};var kamPublicUi={};kamPublicUi.object={event:new Class({className:"kamPublicUi.object.event",event:null,target:null,_preventDefault:false,parameters:{},initialize:function(b,c,a){if(typeof a==="undefined"){a={}}else{if((typeof a=="object"&&!a.each)===false){kamUi.notifications.newError(this.className+" > parameters must be supplied as an object");a={}}}this.event=b;this.target=c;this.parameters=a},preventDefault:function(){this._preventDefault=true},getPreventDefault:function(){return this._preventDefault},get:function(a){return this.parameters[a]?this.parameters[a]:false},getEvent:function(){return this.event}}),handlers:new Class({className:"kamUi.object.handlers",handlers:{},initialize:function(a){if(typeof a==="object"){Object.each(a,function(c,b){this.register(b,c)}.bind(this))}},register:function(a,b){if(typeof b=="function"){this.handlers[a]=b}else{kamUi.notifications.newError(this.className+" > handler is not a function")}},get:function(a){return this.handlers[a]?this.handlers[a]:false},execute:function(a,c){var b=this.get(a);if(b){b(c);return true}return false}}),base:new Class({Extends:Events,Implements:Options,className:"kamPublicUi.object.base",defaults:null,eventRelay:null,initialize:function(a){if(this.defaults){this.setOptions(this.defaults.options)}this.setOptions(a)},setEventRelay:function(b,a){if(a||this.eventRelay==null){this.eventRelay=b}},setDefaults:function(b,a){if(a||this.defaults==null){this.defaults=b}},fireEvent:function(b,a){if(typeof b==="string"){var c=new kamUi.object.event(b,this,a)}else{var c=b;b=c.getEvent()}this.parent(b,c);if(this.eventRelay){this.eventRelay.fireEvent(b,c)}return !c.getPreventDefault()}})};kamPublicUi.videos={};kamPublicUi.videos.player=new Class({Extends:kamPublicUi.object.base,Implements:[Options],className:"kamPublicUi.videos.player",options:{playerWidth:null,playerHeight:null,videoWidth:null,videoHeight:null,includeControlBar:true,includePlayButton:true,includeTimeDetails:true,includeTimeTextDisplay:true,includeTimeBar:true,includeShareLinks:false},contatainer:null,jwPlayer:null,videoUrl:null,videoDuration:null,jwPlayerResources:{baseUrl:false,flashPlayer:"player.swf"},googleAnalyticsCategoryKey:"Video links",googleAnalyticsActions:{played:"Played",paused:"Paused",progressPrefix:"Progress - ",sharedViaEmail:"Shared via mail",sharedViaFacebook:"Shared via Facebook",sharedViaTwitter:"Shared via Twitter"},cssClasses:{player:"player",controlBar:"controlBar",playButton:"play",pauseButton:"pause",timeDetails:"timeDetails",timeBar:"timeBar",totalTimeBar:"totalTimeBar",bufferTimeBar:"bufferTimeBar",currentTimeBar:"currentTimeBar",currentTime:"currentTime",totalTime:"totalTime",shareLinks:"shareLinks",shareByEmail:"shareByEmail",shareByFacebook:"shareByFacebook",shareByTwitter:"shareByTwitter"},elements:{},initialize:function(c,b,a){this.setDefaults(kamPublicUi.videos.player.defaults);this.setEventRelay(kamPublicUi.videos.player.events);this.parent(a);if(c){this.containerElement=c;this.jwPlayerResources.baseUrl=kamUi.kcmsVersion===5?"/codeBase/standardModules/0.0.0/videos/resources/jwPlayer/":"/style/jwPlayer/";if(b&&typeof(b)=="string"){this.videoUrl=b;this.__createControls()}else{alert("ERROR > "+this.className+" > no 'videoUrl' has been supplied")}}else{alert("ERROR > "+this.className+" > no 'container' has been supplied")}},__createControls:function(){var q=this.options;var p=this.containerElement;var c=kamUi.isGoogleAnalyticsEnabled();var m=new Element("div",{"class":this.cssClasses.player}).inject(p);var h=kamUi.getId("kamVideoPlayer");new Element("div",{html:"&#160",id:h}).inject(m);if(q.includeControlBar){var o={};var k=new Element("div",{"class":this.cssClasses.controlBar}).inject(p);if(q.includePlayButton){this.elements.playButton=new Element("a",{href:"#",html:"play/pause","class":this.cssClasses.playButton}).inject(k);this.elements.playButton.addEvent("click",function(s){s.preventDefault();var r=this.jwPlayer.getState();if(r=="PAUSED"||r=="IDLE"){this.play()}else{this.pause()}}.bind(this))}if(q.includeTimeDetails){var j=new Element("div",{"class":this.cssClasses.timeDetails}).inject(k);o.timeDetails=j;if(q.includeTimeTextDisplay){this.elements.currentTime=new Element("p",{"class":this.cssClasses.currentTime}).inject(j)}if(q.includeTimeBar){this.elements.timeBar=new Element("div",{"class":this.cssClasses.timeBar}).inject(j);this.elements.bufferTimeBar=new Element("div",{"class":this.cssClasses.bufferTimeBar}).inject(this.elements.timeBar);this.elements.currentTimeBar=new Element("div",{"class":this.cssClasses.currentTimeBar}).inject(this.elements.timeBar);this.elements.timeBar.addEvent("click",function(u){if(this.videoDuration){var r=this.elements.timeBar.getCoordinates();var t=(u.page.x-r.left)/r.width;var s=this.videoDuration*t;this.jwPlayer.seek((this.videoDuration*t).toInt())}}.bind(this))}if(q.includeTimeTextDisplay){this.elements.totalTime=new Element("p",{"class":this.cssClasses.totalTime}).inject(j)}}if(q.includeShareLinks){var g=new URI(window.location);g=encodeURIComponent(g.toString());var e=new Element("div",{"class":this.cssClasses.shareLinks}).inject(k);new Element("a",{"class":this.cssClasses.shareByEmail,html:"&#160;",href:"mailto:?body="+g,events:{click:function(r){r.preventDefault();var s=document.id(r.target);window.open(s.get("href"));if(c){_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.sharedViaEmail,this.videoUrl])}}}}).inject(e);new Element("a",{"class":this.cssClasses.shareByFacebook,html:"&#160;",href:"http://www.facebook.com/sharer.php?u="+g,events:{click:function(r){r.preventDefault();var s=document.id(r.target);window.open(s.get("href"));if(c){_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.sharedViaFacebook,this.videoUrl])}}}}).inject(e);new Element("a",{"class":this.cssClasses.shareByTwitter,html:"&#160;",href:"http://twitter.com/home?status="+g,events:{click:function(r){r.preventDefault();var s=document.id(r.target);window.open(s.get("href"));if(c){_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.sharedViaTwitter,this.videoUrl])}}}}).inject(e)}}var a=q.playerWidth;if(!a){var n=p.measure(function(){return this.getSize()});a=n.x}var l=q.playerHeight;if(!l){var l=a*0.5625}var d=0;var b=[25,50,75];var f=b.length;var i="none";if(q.videoWidth&&q.videoWidth>a){i="uniform"}if(q.videoHeight&&q.videoHeight>l){i="uniform"}this.jwPlayer=jwplayer(h).setup({file:this.videoUrl,width:a,height:l,controlbar:"none",stretching:i,players:[{type:"flash",src:this.jwPlayerResources.baseUrl+this.jwPlayerResources.flashPlayer},{type:"html5"},{type:"download"}],events:{onPlay:function(){if(this.elements.playButton){this.elements.playButton.removeClass(this.cssClasses.playButton);this.elements.playButton.addClass(this.cssClasses.pauseButton)}this.fireEvent("play");if(c){_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.played,this.videoUrl])}}.bind(this),onPause:function(){if(this.elements.playButton){this.elements.playButton.addClass(this.cssClasses.playButton);this.elements.playButton.removeClass(this.cssClasses.pauseButton)}this.fireEvent("pause");if(c){_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.paused,this.videoUrl])}}.bind(this),onTime:function(t){if(!this.videoDuration){this.videoDuration=t.duration;if(this.elements.totalTime){this.elements.totalTime.set("html",kamUi.formatSecondsToHumanReadable(t.duration))}}if(this.elements.currentTimeBar){this.elements.currentTimeBar.setStyle("width",(this.elements.timeBar.getSize().x*(t.position/t.duration))+"px")}if(this.elements.currentTime){this.elements.currentTime.set("html",kamUi.formatSecondsToHumanReadable(t.position))}if(c){var s=((t.position/t.duration)*100).toInt();for(var r=0;r<f;r++){var u=b[r];if(d<u&&s>=u){d=u;_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.progressPrefix+u+"% viewed",this.videoUrl]);break}}}this.fireEvent("time",t)}.bind(this),onComplete:function(r){if(c){_gaq.push(["_trackEvent",this.googleAnalyticsCategoryKey,this.googleAnalyticsActions.progressPrefix+"100% viewed",this.videoUrl])}this.fireEvent("complete")}.bind(this),onBufferChange:function(r){if(this.elements.bufferTimeBar){this.elements.bufferTimeBar.setStyle("width",((this.elements.timeBar.getSize().x/100)*r.bufferPercent)+"px")}this.fireEvent("bufferChange",r)}.bind(this)}})},destroy:function(){this.jwPlayer.remove()},play:function(){this.jwPlayer.play()},pause:function(){this.jwPlayer.pause()}});kamPublicUi.videos.player.events=new Events();kamPublicUi.videos.player.defaults=new Options();
