var Functions={date:new Date(),vars:[],init:function(){Functions.vars['multibox_js']='/javascript/mootools/extra/multibox/multibox.js';Functions.vars['form_functions_js']='/javascript/form_functions.js';Functions.vars['scroll_spy_js']='/javascript/mootools/extra/ScrollSpy.js';Functions.vars['calendar_eightysix_js']='/javascript/mootools/extra/calendar/calendar-eightysix-v1.1.js';Functions.PageJavascript();Functions.IE6Bar();if(document.id('page_layout')!=null){Functions.SiteSearch();Functions.SectionHero();Functions.Multibox();Functions.Images();Functions.Anchors();Functions.Revealers();Functions.Forms();Functions.TableSort();Functions.DatePicker();Functions.SwipeBox();Functions.CheckSelect();Functions.PB()}window.addEvent('load',function(){Functions.Tips();Functions.MoreContent()})},PageJavascript:function(){if(document.id('homepage')){var b=new Asset.javascript('/javascript/mootools/extra/liFader.js',{onload:function(){var a=new liFader('events_list',{'delay':3500})}});var c=new Fx.Morph(document.id('bars_wrapper'),{duration:300,transition:Fx.Transitions.Sine.easeInOut});var d={top:document.id('bars_wrapper').getStyle('top').toInt(),bottom:document.id('page_layout').getStyle('height').toInt()-document.id('events_bar').getStyle('height').toInt()};var f=document.id('hider').store('hider',false).setStyle('opacity',.5);f.addEvents({'click':function(e){if(e.target.retrieve('hider')===true){this.store('hider',false);document.id('news_bar').fade(1);c.start({'top':d.top}).chain(function(){f.setStyles({'background-position':'top center'})})}else{this.store('hider',true);document.id('news_bar').fade(0);c.start({'top':d.bottom}).chain(function(){f.setStyles({'background-position':'bottom center'})})}},'touch':function(e){if(e.target.retrieve('hider')===true){this.store('hider',false);document.id('news_bar').fade(1);c.start({'top':d.top}).chain(function(){f.setStyles({'background-position':'top center'})})}else{this.store('hider',true);document.id('news_bar').fade(0);c.start({'top':d.bottom}).chain(function(){f.setStyles({'background-position':'bottom center'})})}}});if(Browser.Plugins.Flash.version){new Element('div',{'id':'hero_flash'}).inject('hero');var g=+new Date();var h='/flash/monoslideshow2.swf';var i={'dataFile':'/xml/homepage/slideshow.xml?'+g,'showVersionInfo':'false','showLogo':'false','showRegistration':'false'};var j=new Swiff(h,{width:'100%',height:550,container:'hero_flash',vars:i,params:{wMode:'transparent'}});new Element('div',{'id':'cu3er'}).inject('announcements');new Swiff("/flash/CU3ER.swf",{vars:{'xml_location':'/xml/homepage/rightbox.xml?'+g},width:329,height:124,container:'cu3er',params:{wMode:'transparent'}})}else{document.id('hero').setStyles({'background-image':'url(http://images.hanover.edu/WWW/homepage/slideshow/2011-aerial.jpg)','background-repeat':'no-repeat','background-size':'100%','background-position':'top center','height':'100%','width':'100%'});document.id('announcements').set('html','<a href="/about/calendar"><img src="http://images.hanover.edu/WWW/homepage/rightbox/noflash.png" title="Upcoming Events" alt="Upcoming Events"></a>')}if(document.id('ad_why-hanover')!=null){document.id('ad_why-hanover').addEvent('click',function(){document.id('hero_flash').setStyle('display','none');document.id('cu3er').setStyle('display','none');document.id('events_list').setStyle('display','none');document.id('Overlay').addEvent('click',function(){document.id('hero_flash').setStyle('display','');document.id('cu3er').setStyle('display','');document.id('events_list').setStyle('display','')});document.id(document.body).getElement('.MultiBoxClose').addEvent('click',function(){document.id('hero_flash').setStyle('display','');document.id('cu3er').setStyle('display','');document.id('events_list').setStyle('display','')})})}}},IE6Bar:function(){if(Browser.ie6){var a=location.protocol+'//images.hanover.edu/www/icons/';var b=new Element('div',{'id':'iebar_icon','styles':{'background-image':'url('+a+'iebar-icon.gif)','background-repeat':'no-repeat','background-position':'0 0','width':'16px','height':'16px','position':'relative','float':'left','margin-right':'5px'}});var c=new Element('div',{'id':'ie6bar','html':'Internet Explorer is missing updates required to view this site properly. Click here to update...','alt':'Upgrade Internet Explorer','styles':{'position':'fixed','top':'-40px','width':'100%','background-color':'#ffffe1','color':'#000000'}}).addEvents({'click':function(){window.open('http://www.microsoft.com/windows/internet-explorer/worldwide-sites.aspx')},'mouseover':function(){this.setStyles({'background-color':'#3399ff','color':'#ffffff'});b.setStyle('background-position','right center')},'mouseout':function(){this.setStyles({'background-color':'#ffffe1','color':'#000000'});b.setStyle('background-position','0 0')}}).inject(document.body,'top');b.inject('ie6bar','top');new Element('div',{'html':'X','styles':{'position':'relative','float':'right','padding-right':'20px','font-weight':'bold','cursor':'pointer'}}).inject(c,'top').addEvent('click',function(e){e.stopPropagation();c.tween('top','-40px')});window.addEvent('load',function(){c.tween('top',['-40px',0])})}},SectionHero:function(){var a=document.id('section_hero');if(a){var b=document.id(document.body).get('id');b=b.substr(0,b.indexOf('-')>0?b.indexOf('-'):b.length);var c=new Swiff("/flash/monoslideshow2.swf",{width:'100%',height:'200',id:'monoslideshow',container:'section_hero',params:{wMode:'opaque',bgcolor:'#260101'},vars:{'dataFile':'/xml/slideshow.xml.php?album='+b,'showVersionInfo':'false','showLogo':'false','showRegistration':'false'}});window.addEvent('load',function(){a.setStyle("background","url('/images/"+b+"/section-slideshow/1.jpg') no-repeat center center")})}},Multibox:function(){if(typeof Asset!=="undefined"){var b=document.id('page_layout').getElements('.multibox');if(b.length){b.each(function(a){a.addEvent('click',function(e){e.stop()})});if(typeof multiBox==="undefined"){new Asset.javascript(Functions.vars['multibox_js'],{onload:function(){Functions.vars[Number.random(0,Functions.date.getMilliseconds())]=new multiBox('multibox')}})}else Functions.vars[Number.random(0,Functions.date.getMilliseconds())]=new multiBox('multibox')}}},Images:function(){var b=document.id('page_layout').getElements('img');b.each(function(a,i){if(a.hasClass('personnel_photo')){a.addEvent('error',function(){this.dispose()})};if(a.hasClass('caption')&&a.getProperty('width')&&a.getProperty('title')){new Element('div',{'class':'caption'}).inject(a,'before').adopt(a);new Element('span',{'class':'caption_text','text':a.getProperty('title')}).inject(a,'after')}})},Anchors:function(){var c=document.id('page_layout').getElements('a');if(c){var d=null;c.each(function(a,i){if(a.href){if(a.target==='_blank'||a.rel==='window'||(a.href.contains('http')&&a.href.contains('hanover.edu')==false)){if(a.rel==='window'){a.setProperty('target','_blank')}var b=true;a.getChildren().each(function(k){if(k.get('tag')=='img'){b=false}});if(b){a.addClass('out')}}if(a.hash.length)d=i}});if(d&&typeof Fx.Scroll!=="undefined"){Functions.vars[Number.random(0,Functions.date.getMilliseconds())]=new Fx.SmoothScroll({duration:2000})}}if(document.id('page_footer')!=null){var e=document.id('page_footer').getElements('a');Array.each(e,function(a,i){if(a.getProperty('target')==='_blank'||a.getProperty('rel')==='window'){if(a.getProperty('rel')==='window'){a.setProperty('target','_blank')}var b=true;a.getChildren().each(function(k){if(k.get('tag')=='img'){b=false}});if(b){a.addClass('footer_out')}}})}},TableSort:function(b,c){if(typeof HtmlTable!=="undefined"){var d=document.id('page_layout').getElements('.sortable');var c=Object.merge({sortable:true},c);if(b!=null){Functions.vars[Number.random(0,Functions.date.getMilliseconds())]=new HtmlTable(b,{sortable:true})}else if(d.length){Array.each(d,function(a){Functions.vars[Number.random(0,Functions.date.getMilliseconds())]=new HtmlTable(a,{sortable:true})})}}},MoreContent:function(){var b=document.id('more_content');if(typeof Fx.Scroll!=="undefined"&&b){var c=b.getElement('.more_content_wrapper');var d=new Fx.Scroll(c,{duration:300,transition:Fx.Transitions.Sine.easeInOut});var e=b.getElements('.content');var f=e.length;var g=0;var h=document.id('more_left').setStyle('opacity','.2');var i=document.id('more_right').setStyle('opacity','.2');if(f>4){d.toElement(e[0]);h.setStyles({'cursor':'default','opacity':'.2'});i.setStyles({'cursor':'pointer','opacity':'1'});var j=function(){if((f-4)!=g){g++;d.toElement(e[g]);h.setStyles({'opacity':'1','cursor':'pointer'})}if(g==(f-4)){i.setStyles({'opacity':'.2','cursor':'default'});return false}};var k=function(){if(g>=1){g--;d.toElement(e[g]);(g===0)?h.setStyles({'opacity':'.2','cursor':'default'}):i.setStyles({'opacity':'1','cursor':'pointer'})}};i.addEvent('click',j);h.addEvent('click',k);c.store('swipe:cancelVertical',true);c.addEvent('swipe',function(a){if(a.direction=='left'){j()}if(a.direction=='right'){k()}})}}},Revealers:function(){if(typeof Fx.Reveal!=="undefined"){if(document.id('page_layout')){var Q=document.id('page_layout').getElements('.Q');var A=document.id('page_layout').getElements('.A');if(Q.length&&A.length){var b=[];A.each(function(a,i){b[i]=new Fx.Reveal(a,{duration:500}).dissolve()});Q.each(function(q,i){q.addEvent('click',function(e){e.stop();b[i].toggle()})})}}}},Forms:function(){document.id('page_layout').getElements('input.submit').setStyle('display','inline-block');var N=document.id('page_layout').getElements('form.form');if(N){Array.each(N,function(x){var y=x.get('id');var z=x.getParent('.form_wrapper')?true:false;var A=null;if(typeof FormFunctions==="undefined"){new Asset.javascript(Functions.vars['form_functions_js'],{onload:function(){A=new FormFunctions(x)}})}else{A=new FormFunctions(x)}var B=x.getProperty('name')||x.getElement('input[name=form_name]');if(typeof document.forms[B]!="undefined"){var C=x.getProperty('alt');var D=x.getProperty('action');var E=x.getElement('.submit')||x.getElement('input[type=submit]');E.setStyle('display','inline-block');var F=new Element('input',{'name':'form_required_fields','value':'','type':'hidden'}).inject(x,'top');var G=x.getElement('.msg')||new Element('div',{'class':'msg'}).inject(x,'bottom');var H=x.getElement('.form_loader')||new Element('span',{'class':'form_loader'}).inject(E,'after');if(x.form_email_subject==null){var I=new Element('input',{'name':'form_email_subject','value':C,'type':'hidden'}).inject(x,'top')}var J=x.getElement('input[name=form_element_response_id]')?x.getElement('input[name=form_element_response_id]').get('value'):null;var K=x.getElement('input[name=allrequired]');var L=document.id('payment_method_type')?true:false;var M=function(e){var f=[];var g=[];var h=[];var j=document.forms[B].elements;for(i=0;i<j.length;i++){var k=document.id(j[i]);var l=k.get('tag');var n=(k.getProperty('type')!=null)?k.getProperty('type'):null;if(k.getProperty('disabled')!==true&&n!='hidden'&&n!='submit'&&n!='reset'){if(n==='password'&&!Browser.ie){k.addEvents({'focus':function(){this.setProperty('type','text')},'blur':function(){this.setProperty('type','password')}})}k.setProperty('tabindex',i);var o=k.get('name').replace(/\[\]/,'');var p=o.replace(/_/g,' ').capitalize();var q=null;if(q=k.getParent('label')){text=q.get('text').replace(/[:|-]/g,'').replace(/\(.*/g,'').trim();if(text.length){p=text}}else if(q=k.getPrevious('label')){text=q.get('text').replace(/[:|-]/g,'').replace(/\(.*/g,'').trim();if(text.length){p=text}}var s='';switch(n){case'select-one':s=(k.getSelected()[0]!=null&&k.getSelected()[0].get('value').trim().length)?k.getSelected()[0].get('value').trim():'';break;case'checkbox':var t=document.id(x).getElements('input[name^='+o+']');t.each(function(c){if(c.getProperty('checked')){s=c.get('value')}});break;case'radio':var u=document.id(x).getElements('input[name^='+o+']');u.each(function(r){if(r.getProperty('checked')){s=r.get('value')}});break;default:s=k.get('value').trim().stripScripts()}var v=(k.getProperty('data-field-match')!=null)?k.getProperty('data-field-match'):null;if(v!=null){var w=document.id(x).getElement('input[name='+v+']');if(w)h[i]=[k,w]}if(k.hasClass('required')||K){req_text=(K)?'All the fields in this form are required.':'Required fields are labeled red.';x.getElement('.req_msg').set('text',req_text);if(o){g[i]=o}if(s.length===0){if(q!=null){K?q.removeClass('required'):q.addClass('required')}f[i]=p}}}}if(e==true){Array.implement({unique:function(){return[].combine(this)}});h=h.clean().unique();if(h.length){h.every(function(m,i){var a=null;if(a=m[0].getPrevious('label')){text=a.get('text').replace(/[:|-]/g,'').replace(/\(.*/g,'').trim();if(text.length){a=text}}var b=m[0].get('value');var c=null;if(c=m[1].getPrevious('label')){text=c.get('text').replace(/[:|-]/g,'').replace(/\(.*/g,'').trim();if(text.length){c=text}}var d=m[1].get('value');if((a&&b.length)&&(c&&d.length)){if(b!=d){G.set('html','<p class="form_err_msg">Please check to ensure <em>'+a+'</em> matches <em>'+c+'</em>.</p>');e=false}}})}g=g.clean().unique();F.set('value',g);f=f.clean().unique();if(f.length){var j=f.join(", ");G.set('html','<p class="form_err_msg">The following fields are still required:<br><span class="msg_req_fields">'+j+'</span></p>');e=false}return e}};M();x.addEvent('submit',function(e){e.stop();G.empty();var d=A.formCheck();if(d){G.set('html','<p class="form_err_msg">'+d+'</p>')}else{if(M(true)){if((window[B+'Check']!=null)?window[B+'Check'](G):true){if(L){H.set('html','<span style="padding-left:35px;">Processing your payment. Please wait...</span>')}var f=0;this.set('send',{url:D,method:'post',onRequest:function(){E.setProperty('disabled',true);H.fade('show')},onFailure:function(a){if(a.status==500){f++;if(f<5&&!L){this.send()}else{failedSubmit(a);return false}}},onComplete:function(a){E.setProperty('disabled',false);H.fade('out');if(a){var b=JSON.decode(a);if(b.err){G.set('html','<p class="form_err_msg">'+b.err+'</p>')}else if(b.msg){if(b.msg.contains('<script>')){var c=b.msg.match(/<script>(.*?)<\/script>/i);eval(c[1])}else if(document.id(J)){document.id(J).empty().set('html',b.msg)}else{document.id(x).empty().set('html',b.msg)}document.id(document.body).scrollTo(y)}else G.set('html','<p class="form_err_msg">There was an error with the form submission: '+a+'</p>')}}}).send()}}}});function failedSubmit(g){H.fade('out');var h={};var i=document.forms[B].elements;Array.each(i,function(b){var c=b.get('name');var d=b.get('value');var e=b.get('disabled');if(!c||e||c=='form_email_subject'||c=='form_bcc'||c=='form_cc'||c=='form_from'||c=='form_replyto'||c=='form_email_response'||c=='form_page_response'||c=='email_name_field'||c=='allrequired')return;var f=function(a){h[c]=d};if(typeOf(d)=='array')d.each(f);else f(d)});h['xhr_status']=g.status;h['xhr_status_text']=g.statusText;var j=Object.toQueryString(h);var k='<p>There was network communication error and the form could not be submitted. Please try again.</p>';G.set('html',k)}}})}},Tips:function(){if(typeof Tips!=="undefined"){var g=document.id(document.body).getElements('.tip');if(g){Array.each(g,function(a){var b='tips';var c=false;var d={'x':20,'y':0};var e=.5;if(a.hasClass('w_conditions')){c=true;d={'x':-185,'y':-200}}if(a.hasClass('cal')){c=false;d={'x':-150,'y':20}}if(a.hasClass('map_location')){c=false;d={'x':-80,'y':20};b='map_tips'}var f={className:b,hideDelay:0,fixed:c,maxOpacity:e,offset:d};Functions.vars[Number.random(0,Functions.date.getMilliseconds())]=new Tips(a,f)})}}},SiteSearch:function(){if(document.id('site_search')!=null){var d=document.id('site_search_box');if(typeof Autocompleter==='function'){var f=new Autocompleter.Request.HTML(d,'/',{minLength:3,delay:500,maxChoices:15,'indicatorClass':'site_search_loader','injectChoice':function(a){var b=a.getFirst();var c=b.innerHTML;a.inputValue=d.get('value');b.set('html',this.markQueryValue(c));this.addChoiceEvents(a)}})}document.id('site_search').addEvents({'submit':function(e){e.stop();var a=d.get('value');a=a.replace(/'/g,'');if(a.length){return location.href='/search?v='+encodeURIComponent(a)}else return location.href='/search'},'keypress':function(e){if(e.key=='enter'){e.stop()}}})}},EmptyForm:function(b,c){var c=(c!=null)?c:false;if(document.id(b)!=null){document.id(b).reset();document.id(b).getElements('input').each(function(a){switch(a.get('type')){case'text':a.set('value','');break;case'hidden':if(c){a.set('value','')}break;case'checkbox':a.removeProperty('checked');break;case'radio':a.removeProperty('checked');break}});document.id(b).getElements('select').each(function(a){a.options[0].selected=true});document.id(b).getElements('textarea').each(function(a){a.set('text','')})}},TextLimiter:function(b,c){var d=(document.id(c)!=null)?document.id(c).get('text'):c;if(document.id(b)!=null&&d){document.id(b).addEvent('keyup',function(e){var a=this.get('value');if(a.length>d){this.set('value',a.substring(0,d))}else if(document.id(c)!=null){document.id(c).set('text',d-a.length)}})}},ScrollTop:function(){if(typeof Asset!=="undefined"){new Asset.javascript(Functions.vars['scroll_spy_js'],{onload:function(){var a=new Element('a',{'href':'#hanovercollege','id':'gototop','html':'go to top','styles':{'display':'block','visibility':'hidden','position':'fixed','bottom':'400px'}}).inject(document.id('page_layout'),'bottom');var b=new ScrollSpy({min:600,onEnter:function(){$('gototop').fade('in')},onLeave:function(){$('gototop').fade('out')},container:window})}})}},DatePicker:function(){var f=document.id('page_layout').getElements('.datepicker');if(f.length&&typeof Asset!=="undefined"){new Asset.css('/javascript/mootools/extra/calendar/calendar-eightysix-v1.1-default.css');new Asset.javascript(Functions.vars['calendar_eightysix_js'],{onload:function(){var e=new Date().decrement();f.each(function(a,i){if(document.id(a.id)){var b=a.get('data-datepicker-excluded-weekdays');var c=a.get('data-datepicker-excluded-dates');c=(c&&c.contains(','))?c.replace(/,\s*/g,',').split(','):null;var d=a.get('data-datepicker-disable-input')?true:false;Functions.vars[Number.random(0,Functions.date.getMilliseconds())]=new CalendarEightysix(a.id,{theme:'default red',prefill:false,minDate:e,excludedWeekdays:b,excludedDates:c,disallowUserInput:d})}})}})}},CheckSelect:function(){var m=$$('.check_select');if(m.length){m.each(function(d,i){var f=d.getStyle('height').toInt();var g=d.getStyle('width').toInt();var h=new Element('div',{'styles':{'width':'24px','position':'absolute','left':'74%','margin':'1px 0 0 0','height':'20px','overflow':'hidden','display':'block','background':'white','border':'0','opacity':.01}}).inject(d,'top');var j=new Element('select',{'styles':{'width':'22px','height':'18px','padding':'0','border':'0','background':'none','margin':'1px 0 0 0','position':'absolute','left':'74%'}}).inject(d,'top');var k=d.getChildren('div.check_select_list')[0];var l=[];k.setStyle('width',g-3).addEvent('click',function(a){a.stopPropagation()});k.getChildren('span').each(function(s,i){var b=s.getFirst('input');var c=b.getProperty('value');b.getProperty('checked')?l.include(c):l.erase(c);s.addEvent('click',function(){b=this.getFirst('input');c=b.getProperty('value');if(b.getProperty('checked')){b.setProperty('checked',false);l.erase(c)}else{b.setProperty('checked',true);l.include(c)}l.sort();d.setProperty('title',l.length?'Selected: '+l.toString():'Selected: None')});b.addEvent('click',function(a){a.stopPropagation()})});function close_select(){k.setStyles({'height':0,'display':'none'})}function open_select(){k.setStyles({'height':173,'display':'block'})}d.addEvents({'click':function(e){k.getStyle('height').toInt()>0?close_select():open_select()},'mouseleave':function(e){close_select()},'mouseenter':function(e){d.setProperty('title',l.length?'Selected: '+l.toString():'Selected: None')}})})}},SwipeBox:function(j){var k=document.id('page_layout').getElements('.swipebox');if(Browser.Features.Touch&&k){k.each(function(b){b.setStyle('overflow','hidden');var c=b.getStyle('width').toInt();var d=b.getStyle('height').toInt();var e=b.getElements('div').each(function(a){a.setStyles({'width':c,'height':d,'float':'left','position':'relative'})});var f=e.length-1;var g=new Element('div',{id:'wrapper',styles:{'width':c*e.length,'height':d}}).inject(b).adopt(e);var h=0;var i=new Fx.Scroll(b,{duration:300,transition:Fx.Transitions.Sine.easeInOut});i.toElement(e[h]);b.store('swipe:cancelVertical',true);b.addEvent('swipe',function(a){if(a.direction=='left'){if(h<f)h++;if(e[h])i.toElement(e[h])}if(a.direction=='right'){if(h>0)h--;if(e[h])i.toElement(e[h])}})})}},PB:function(){var c=document.id('page_layout').getElements('.progressbar');if(c){Array.each(c,function(a){var b=a.get('text');a.empty();new Element('div',{'class':'bar','styles':{'height':'100%','width':b}}).inject(a);new Element('div',{'class':'progressbar_wrapper'}).wraps(a)})}}};window.addEvent('domready',Functions.init);
