FormController=Class.create();FormController.prototype={initialize:function(){this.addEvents();this._checkExpireOption();},addEvents:function(){this.elements=$$("form li");this.elements.each(function(node){if(!node.hasClassName("buttons")){input=node.getElementsByTagName("input")[0];if(!input){input=node.getElementsByTagName("select")[0];}if(!input){input=node.getElementsByTagName("textarea")[0];}if(input){Event.observe(input,"focus",this._addFocus.bind(this,node));Event.observe(input,"click",this._addFocus.bind(this,node));Event.observe(input,"blur",this._removeFocus.bind(this,node));Event.observe(node,"focus",this._addFocus.bind(this,node));Event.observe(node,"click",this._addFocus.bind(this,node));Event.observe(node,"blur",this._removeFocus.bind(this,node));}}}.bind(this));},_addFocus:function(element){this._removeFocus();if(!element.hasClassName("buttons")){element.addClassName("selected");}},_removeFocus:function(element){this.elements.each(function(node){node.removeClassName("selected");});},_checkExpireOption:function(){$$("form").each(function(item){item.getInputs("checkbox").each(function(input){if(input.name.endsWith("[expires]")){Event.observe(input,"click",this._toggleExpire.bind(this,input));this._toggleExpire(input);}}.bind(this));}.bind(this));},_toggleExpire:function(item){if(item.checked){$(item.id+"_at_1i").ancestors()[1].show();}else{$(item.id+"_at_1i").ancestors()[1].hide();}}};CSDGrainsController=Class.create({initialize:function(){this._iFrameManager();this._checkExpireOption();this._initImageFader();},_initSearchBox:function(){this._searchBox=$$("#search #query").first();Event.observe(this._searchBox,"focus",function(){if(this._searchBox.value==="Search..."){this._searchBox.value="";}this._searchBox.addClassName("focus");}.bind(this));Event.observe(this._searchBox,"blur",function(){if(this._searchBox.value===""){this._searchBox.removeClassName("focus");this._searchBox.value="Search...";}}.bind(this));},_iFrameManager:function(){iframe=$$("iframe")[0];if(iframe==null){return ;}document.observe("dom:loaded",function(){iframe.style.height=this._getWindowSize().height-525+"px";}.bind(this));Event.observe(window,"resize",function(){iframe.style.height=this._getWindowSize().height-525+"px";}.bind(this));},_getWindowSize:function(w){var width,height;w=w?w:window;this.width=w.innerWidth||(w.document.documentElement.clientWidth||w.document.body.clientWidth);this.height=w.innerHeight||(w.document.documentElement.clientHeight||w.document.body.clientHeight);return this;},_initImageFader:function(){this._preloadedImages=[];this._frames=[];this._frameToggle=false;this._currentImage=null;this._parent=$("headerImageContainer");this._transformation_one=new Effect.Transform([{headerImage_frame_1:"opacity:0"},{headerImage_frame_2:"opacity:1"}],{duration:2,queue:"end"});this._transformation_two=new Effect.Transform([{headerImage_frame_1:"opacity:1"},{headerImage_frame_2:"opacity:0"}],{duration:2,queue:"end"});var imageFrame1=document.createElement("img");imageFrame1.id="headerImage_frame_1";imageFrame1.className="headerImage";var imageFrame2=imageFrame1.cloneNode(false);imageFrame2.id="headerImage_frame_2";this._frames.push(this._parent.appendChild(imageFrame1));this._frames.push(this._parent.appendChild(imageFrame2));$("headerImage_frame_1").setOpacity(0);$("headerImage_frame_2").setOpacity(0);imageFrame1=null;imageFrame2=null;},imageFader:function(images){this._images=images.randomise();Event.observe(window,"load",function(){this._preloadFirst();}.bind(this));},_preloadFirst:function(){var preload=new Image();preload.src=this._images.pop();Event.observe(preload,"load",function(preload){this._preloadedImages.push(preload);if(this._images.length>0){this._preloadNext();}this._parent.removeChild($("loading"));this._currentImage=0;this._frames.first().src=this._preloadedImages[this._currentImage].src;this._frames.first().morph("opacity: 1",{duration:2,queue:"end"});this._transitionTimer=new PeriodicalExecuter(this._imageTransition.bind(this),10);}.bind(this,preload));},_preloadNext:function(){var preload=new Image();preload.src=this._images.pop();Event.observe(preload,"load",function(preload){this._preloadedImages.push(preload);if(this._images.length>0){this._preloadNext();}}.bind(this,preload));},_imageTransition:function(){if(this._preloadedImages.length<1){return ;}this._currentImage+=1;if(this._currentImage===this._preloadedImages.length){this._currentImage=0;}if(this._frameToggle){this._frames.first().src=this._preloadedImages[this._currentImage].src;this._transformation_two.play();this._frameToggle=false;}else{this._frames.last().src=this._preloadedImages[this._currentImage].src;this._transformation_one.play();this._frameToggle=true;}},_checkExpireOption:function(){$$('input[type="checkbox"][name="page[expires]"]').each(function(input){Event.observe(input,"click",this._toggleExpire.bind(this,input));this._toggleExpire(input);}.bind(this));},_toggleExpire:function(item){if(item.checked){$(item.id+"_at_1i").ancestors()[1].show();}else{$(item.id+"_at_1i").ancestors()[1].hide();}}});Object.extend(Array.prototype,{randomise:function(){var a=[];var b=this.clone();for(i=this.length-1;i>=1;i--){a.push(b.splice(Math.floor(this.length*Math.random()),1));}a.push(b);return a.flatten();}});