/* gen_validator, plugins, Waypoints, nav stay, top button, nav, scroll top, forms switch, Cycle + uncover,fadeout,curtainY, growX, blindZ*/
/* JavaScript Form Validator (gen_validatorv4.js) Version 4.0
    Copyright (C) 2003-2011 JavaScript-Coder.com. All rights reserved.
    You can freely use this script in your Web pages.
    You may adapt this script for your own needs, provided these opening credit
    lines are kept intact.
    The Form validation script is distributed free from JavaScript-Coder.com
    For updates, please visit:
    http://www.javascript-coder.com/html-form/javascript-form-validation.phtml
    Questions & comments please send to form.val (at) javascript-coder.com */
function Validator(a){this.validate_on_killfocus=false;this.formobj=document.forms[a];if(!this.formobj){alert("Error: couldnot get Form object "+a);return}if(this.formobj.onsubmit){this.formobj.old_onsubmit=this.formobj.onsubmit;this.formobj.onsubmit=null}else{this.formobj.old_onsubmit=null}this.formobj._sfm_form_name=a;this.formobj.onsubmit=form_submit_handler;this.addValidation=add_validation;this.formobj.addnlvalidations=new Array();this.addAddnlValidationFunction=add_addnl_vfunction;this.formobj.runAddnlValidations=run_addnl_validations;this.setAddnlValidationFunction=set_addnl_vfunction;this.clearAllValidations=clear_all_validations;this.focus_disable_validations=false;document.error_disp_handler=new sfm_ErrorDisplayHandler();this.EnableOnPageErrorDisplay=validator_enable_OPED;this.EnableOnPageErrorDisplaySingleBox=validator_enable_OPED_SB;this.show_errors_together=false;this.EnableMsgsTogether=sfm_enable_show_msgs_together;document.set_focus_onerror=true;this.EnableFocusOnError=sfm_validator_enable_focus;this.formobj.error_display_loc="right";this.SetMessageDisplayPos=sfm_validator_message_disp_pos;this.formobj.DisableValidations=sfm_disable_validations;this.formobj.validatorobj=this}function sfm_validator_enable_focus(a){document.set_focus_onerror=a}function add_addnl_vfunction(){var a={};a.func=arguments[0];a.arguments=[];for(var b=1;b<arguments.length;b++){a.arguments.push(arguments[b])}this.formobj.addnlvalidations.push(a)}function set_addnl_vfunction(a){if(a.constructor==String){alert("Pass the function name like this: validator.setAddnlValidationFunction(DoCustomValidation)\n rather than passing the function name as string");return}this.addAddnlValidationFunction(a)}function run_addnl_validations(){var c=true;for(var d=0;d<this.addnlvalidations.length;d++){var a=this.addnlvalidations[d];var b=a.arguments||[];if(!a.func.apply(null,b)){c=false}}return c}function sfm_set_focus(a){if(document.set_focus_onerror){if(!a.disabled&&a.type!="hidden"){a.focus()}}}function sfm_disable_validations(){if(this.old_onsubmit){this.onsubmit=this.old_onsubmit}else{this.onsubmit=null}}function sfm_enable_show_msgs_together(){this.show_errors_together=true;this.formobj.show_errors_together=true}function sfm_validator_message_disp_pos(a){this.formobj.error_display_loc=a}function clear_all_validations(){for(var a=0;a<this.formobj.elements.length;a++){this.formobj.elements[a].validationset=null}}function form_submit_handler(){var a=true;document.error_disp_handler.clear_msgs();for(var b=0;b<this.elements.length;b++){if(this.elements[b].validationset&&!this.elements[b].validationset.validate()){a=false}if(!a&&!this.show_errors_together){break}}if(this.show_errors_together||a&&!this.show_errors_together){if(!this.runAddnlValidations()){a=false}}if(!a){document.error_disp_handler.FinalShowMsg();return false}return true}function add_validation(e,b,d){var c=null;if(arguments.length>3){c=arguments[3]}if(!this.formobj){alert("Error: The form object is not set properly");return}var a=this.formobj[e];if(a.length&&isNaN(a.selectedIndex)){a=a[0]}if(!a){alert("Error: Couldnot get the input object named: "+e);return}if(true==this.validate_on_killfocus){a.onblur=handle_item_on_killfocus}if(!a.validationset){a.validationset=new ValidationSet(a,this.show_errors_together)}a.validationset.add(b,d,c);a.validatorobj=this}function handle_item_on_killfocus(){if(this.validatorobj.focus_disable_validations==true){this.validatorobj.focus_disable_validations=false;return false}if(null!=this.validationset){document.error_disp_handler.clear_msgs();if(false==this.validationset.validate()){document.error_disp_handler.FinalShowMsg();return false}}}function validator_enable_OPED(){document.error_disp_handler.EnableOnPageDisplay(false)}function validator_enable_OPED_SB(){document.error_disp_handler.EnableOnPageDisplay(true)}function sfm_ErrorDisplayHandler(){this.msgdisplay=new AlertMsgDisplayer();this.EnableOnPageDisplay=edh_EnableOnPageDisplay;this.ShowMsg=edh_ShowMsg;this.FinalShowMsg=edh_FinalShowMsg;this.all_msgs=new Array();this.clear_msgs=edh_clear_msgs}function edh_clear_msgs(){this.msgdisplay.clearmsg(this.all_msgs);this.all_msgs=new Array()}function edh_FinalShowMsg(){if(this.all_msgs.length==0){return}this.msgdisplay.showmsg(this.all_msgs)}function edh_EnableOnPageDisplay(a){if(true==a){this.msgdisplay=new SingleBoxErrorDisplay()}else{this.msgdisplay=new DivMsgDisplayer()}}function edh_ShowMsg(c,b){var a=new Array();a.input_element=b;a.msg=c;this.all_msgs.push(a)}function AlertMsgDisplayer(){this.showmsg=alert_showmsg;this.clearmsg=alert_clearmsg}function alert_clearmsg(a){}function alert_showmsg(c){var d="";var b=null;for(var a=0;a<c.length;a++){if(null==b){b=c[a]["input_element"]}d+=c[a]["msg"]+"\n"}alert(d);if(null!=b){sfm_set_focus(b)}}function sfm_show_error_msg(b,a){document.error_disp_handler.ShowMsg(b,a)}function SingleBoxErrorDisplay(){this.showmsg=sb_div_showmsg;this.clearmsg=sb_div_clearmsg}function sb_div_clearmsg(a){var b=form_error_div_name(a);sfm_show_div_msg(b,"")}function sb_div_showmsg(c){var e="<ul>\n";for(var a=0;a<c.length;a++){e+="<li>"+c[a]["msg"]+"</li>\n"}e+="</ul>";var d=form_error_div_name(c);var b=d+"_loc";e="<a name='"+b+"' >"+e;sfm_show_div_msg(d,e);window.location.hash=b}function form_error_div_name(b){var c=null;for(var a in b){c=b[a]["input_element"];if(c){break}}var d="";if(c){d=c.form._sfm_form_name+"_errorloc"}return d}function sfm_show_div_msg(b,a){if(b.length<=0){return false}if(document.layers){divlayer=document.layers[b];if(!divlayer){return}divlayer.document.open();divlayer.document.write(a);divlayer.document.close()}else{if(document.all){divlayer=document.all[b];if(!divlayer){return}divlayer.innerHTML=a}else{if(document.getElementById){divlayer=document.getElementById(b);if(!divlayer){return}divlayer.innerHTML=a}}}divlayer.style.visibility="visible";return false}function DivMsgDisplayer(){this.showmsg=div_showmsg;this.clearmsg=div_clearmsg}function div_clearmsg(b){for(var a in b){var c=element_div_name(b[a]["input_element"]);show_div_msg(c,"")}}function element_div_name(a){var b=a.form._sfm_form_name+"_"+a.name+"_errorloc";b=b.replace(/[\[\]]/gi,"");return b}function div_showmsg(c){var e;var b=null;for(var a in c){if(null==b){b=c[a]["input_element"]}var d=element_div_name(c[a]["input_element"]);show_div_msg(d,c[a]["msg"])}if(null!=b){sfm_set_focus(b)}}function show_div_msg(b,a){if(b.length<=0){return false}if(document.layers){divlayer=document.layers[b];if(!divlayer){return}divlayer.document.open();divlayer.document.write(a);divlayer.document.close()}else{if(document.all){divlayer=document.all[b];if(!divlayer){return}divlayer.innerHTML=a}else{if(document.getElementById){divlayer=document.getElementById(b);if(!divlayer){return}divlayer.innerHTML=a}}}divlayer.style.visibility="visible"}function ValidationDesc(c,b,a,d){this.desc=b;this.error=a;this.itemobj=c;this.condition=d;this.validate=vdesc_validate}function vdesc_validate(){if(this.condition!=null){if(!eval(this.condition)){return true}}if(!validateInput(this.desc,this.itemobj,this.error)){this.itemobj.validatorobj.focus_disable_validations=true;sfm_set_focus(this.itemobj);return false}return true}function ValidationSet(b,a){this.vSet=new Array();this.add=add_validationdesc;this.validate=vset_validate;this.itemobj=b;this.msgs_together=a}function add_validationdesc(b,a,c){this.vSet[this.vSet.length]=new ValidationDesc(this.itemobj,b,a,c)}function vset_validate(){var a=true;for(var b=0;b<this.vSet.length;b++){a=a&&this.vSet[b].validate();if(!a&&!this.msgs_together){break}}return a}function validateEmail(b){var e=b.match("^(.+)@(.+)$");if(e==null){return false}if(e[1]!=null){var d=/^\"?[\w-_\.]*\"?$/;if(e[1].match(d)==null){return false}}if(e[2]!=null){var c=/^[\w-\.]*\.[A-Za-z]{2,4}$/;if(e[2].match(c)==null){var a=/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;if(e[2].match(a)==null){return false}}return true}return false}function TestComparison(objValue,strCompareElement,strvalidator,strError){var bRet=true;var objCompare=null;if(!objValue.form){sfm_show_error_msg("Error: No Form object!",objValue);return false}objCompare=objValue.form.elements[strCompareElement];if(!objCompare){sfm_show_error_msg("Error: Element with name"+strCompareElement+" not found !",objValue);return false}var objval_value=objValue.value;var objcomp_value=objCompare.value;if(strvalidator!="eqelmnt"&&strvalidator!="neelmnt"){objval_value=objval_value.replace(/\,/g,"");objcomp_value=objcomp_value.replace(/\,/g,"");if(isNaN(objval_value)){sfm_show_error_msg(objValue.name+": Should be a number ",objValue);return false}if(isNaN(objcomp_value)){sfm_show_error_msg(objCompare.name+": Should be a number ",objCompare);return false}}var cmpstr="";switch(strvalidator){case"eqelmnt":if(objval_value!=objcomp_value){cmpstr=" should be equal to ";bRet=false}break;case"ltelmnt":if(eval(objval_value)>=eval(objcomp_value)){cmpstr=" should be less than ";bRet=false}break;case"leelmnt":if(eval(objval_value)>eval(objcomp_value)){cmpstr=" should be less than or equal to";bRet=false}break;case"gtelmnt":if(eval(objval_value)<=eval(objcomp_value)){cmpstr=" should be greater than";bRet=false}break;case"geelmnt":if(eval(objval_value)<eval(objcomp_value)){cmpstr=" should be greater than or equal to";bRet=false}break;case"neelmnt":if(objval_value.length>0&&objcomp_value.length>0&&objval_value==objcomp_value){cmpstr=" should be different from ";bRet=false}break}if(bRet==false){if(!strError||strError.length==0){strError=objValue.name+cmpstr+objCompare.name}sfm_show_error_msg(strError,objValue)}return bRet}function TestSelMin(objValue,strMinSel,strError){var bret=true;var objcheck=objValue.form.elements[objValue.name];var chkcount=0;if(objcheck.length){for(var c=0;c<objcheck.length;c++){if(objcheck[c].checked=="1"){chkcount++}}}else{chkcount=(objcheck.checked=="1")?1:0}var minsel=eval(strMinSel);if(chkcount<minsel){if(!strError||strError.length==0){strError="Please Select atleast"+minsel+" check boxes for"+objValue.name}sfm_show_error_msg(strError,objValue);bret=false}return bret}function TestSelMax(objValue,strMaxSel,strError){var bret=true;var objcheck=objValue.form.elements[objValue.name];var chkcount=0;if(objcheck.length){for(var c=0;c<objcheck.length;c++){if(objcheck[c].checked=="1"){chkcount++}}}else{chkcount=(objcheck.checked=="1")?1:0}var maxsel=eval(strMaxSel);if(chkcount>maxsel){if(!strError||strError.length==0){strError="Please Select atmost "+maxsel+" check boxes for"+objValue.name}sfm_show_error_msg(strError,objValue);bret=false}return bret}function IsCheckSelected(b,g){var d=false;var a=b.form.elements[b.name];if(a.length){var e=-1;for(var f=0;f<a.length;f++){if(a[f].value==g){e=f;break}}if(e>=0){if(a[e].checked=="1"){d=true}}}else{if(b.checked=="1"){d=true}}return d}function TestDontSelectChk(a,d,b){var c=true;c=IsCheckSelected(a,d)?false:true;if(c==false){if(!b||b.length==0){b="Can't Proceed as you selected "+a.name}sfm_show_error_msg(b,a)}return c}function TestShouldSelectChk(a,d,b){var c=true;c=IsCheckSelected(a,d)?true:false;if(c==false){if(!b||b.length==0){b="You should select"+a.name}sfm_show_error_msg(b,a)}return c}function TestRequiredInput(a,c){var b=true;if(VWZ_IsEmpty(a.value)){b=false}else{if(a.getcal&&!a.getcal()){b=false}}if(!b){if(!c||c.length==0){c=a.name+" : Required Field"}sfm_show_error_msg(c,a)}return b}function TestFileExtension(a,c,e){var b=false;var g=false;if(a.value.length<=0){return true}var f=c.split(";");for(var d=0;d<f.length;d++){ext=a.value.substr(a.value.length-f[d].length,f[d].length);ext=ext.toLowerCase();if(ext==f[d]){g=true;break}}if(!g){if(!e||e.length==0){e=a.name+" allowed file extensions are: "+c}sfm_show_error_msg(e,a);b=false}else{b=true}return b}function TestMaxLen(objValue,strMaxLen,strError){var ret=true;if(eval(objValue.value.length)>eval(strMaxLen)){if(!strError||strError.length==0){strError=objValue.name+" : "+strMaxLen+" characters maximum "}sfm_show_error_msg(strError,objValue);ret=false}return ret}function TestMinLen(objValue,strMinLen,strError){var ret=true;if(eval(objValue.value.length)<eval(strMinLen)){if(!strError||strError.length==0){strError=objValue.name+" : "+strMinLen+" characters minimum  "}sfm_show_error_msg(strError,objValue);ret=false}return ret}function TestInputType(a,c,d,f){var b=true;var e=a.value.search(c);if(a.value.length>0&&e>=0){if(!d||d.length==0){d=f}sfm_show_error_msg(d,a);b=false}return b}function TestEmail(a,c){var b=true;if(a.value.length>0&&!validateEmail(a.value)){if(!c||c.length==0){c=a.name+": Enter a valid Email address "}sfm_show_error_msg(c,a);b=false}return b}function TestLessThan(objValue,strLessThan,strError){var ret=true;var obj_value=objValue.value.replace(/\,/g,"");strLessThan=strLessThan.replace(/\,/g,"");if(isNaN(obj_value)){sfm_show_error_msg(objValue.name+": Should be a number ",objValue);ret=false}else{if(eval(obj_value)>=eval(strLessThan)){if(!strError||strError.length==0){strError=objValue.name+" : value should be less than "+strLessThan}sfm_show_error_msg(strError,objValue);ret=false}}return ret}function TestGreaterThan(objValue,strGreaterThan,strError){var ret=true;var obj_value=objValue.value.replace(/\,/g,"");strGreaterThan=strGreaterThan.replace(/\,/g,"");if(isNaN(obj_value)){sfm_show_error_msg(objValue.name+": Should be a number ",objValue);ret=false}else{if(eval(obj_value)<=eval(strGreaterThan)){if(!strError||strError.length==0){strError=objValue.name+" : value should be greater than "+strGreaterThan}sfm_show_error_msg(strError,objValue);ret=false}}return ret}function TestRegExp(a,c,d){var b=true;if(a.value.length>0&&!a.value.match(c)){if(!d||d.length==0){d=a.name+": Invalid characters found "}sfm_show_error_msg(d,a);b=false}return b}function TestDontSelect(a,c,d){var b=true;if(a.value==null){sfm_show_error_msg("Error: dontselect command for non-select Item",a);b=false}else{if(a.value==c){if(!d||d.length==0){d=a.name+": Please Select one option "}sfm_show_error_msg(d,a);b=false}}return b}function TestSelectOneRadio(a,c){var b=a.form.elements[a.name];var e=false;for(var d=0;d<b.length;d++){if(b[d].checked=="1"){e=true;break}}if(false==e){if(!c||c.length==0){c="Please select one option from "+a.name}sfm_show_error_msg(c,a)}return e}function TestSelectRadio(a,d,f,c){var b=a.form.elements[a.name];var e=false;for(var g=0;g<b.length;g++){if(b[g].value==d&&b[g].checked=="1"){e=true;break}}if(c==true&&false==e||c==false&&true==e){sfm_show_error_msg(f,a);return false}return true}function validateInput(g,a,e){var c=true;var d=g.search("=");var f="";var b="";if(d>=0){f=g.substring(0,d);b=g.substr(d+1)}else{f=g}switch(f){case"req":case"required":c=TestRequiredInput(a,e);break;case"maxlength":case"maxlen":c=TestMaxLen(a,b,e);break;case"minlength":case"minlen":c=TestMinLen(a,b,e);break;case"alnum":case"alphanumeric":c=TestInputType(a,"[^A-Za-z0-9]",e,a.name+": Only alpha-numeric characters allowed ");break;case"alnum_s":case"alphanumeric_space":c=TestInputType(a,"[^A-Za-z0-9\\s]",e,a.name+": Only alpha-numeric characters and space allowed ");break;case"num":case"numeric":case"dec":case"decimal":if(a.value.length>0&&!a.value.match(/^[\-\+]?[\d\,]*\.?[\d]*$/)){sfm_show_error_msg(e,a);c=false}break;case"alphabetic":case"alpha":c=TestInputType(a,"[^A-Za-z]",e,a.name+": Only alphabetic characters allowed ");break;case"alphabetic_space":case"alpha_s":c=TestInputType(a,"[^A-Za-z\\s]",e,a.name+": Only alphabetic characters and space allowed ");break;case"email":c=TestEmail(a,e);break;case"lt":case"lessthan":c=TestLessThan(a,b,e);break;case"gt":case"greaterthan":c=TestGreaterThan(a,b,e);break;case"regexp":c=TestRegExp(a,b,e);break;case"dontselect":c=TestDontSelect(a,b,e);break;case"dontselectchk":c=TestDontSelectChk(a,b,e);break;case"shouldselchk":c=TestShouldSelectChk(a,b,e);break;case"selmin":c=TestSelMin(a,b,e);break;case"selmax":c=TestSelMax(a,b,e);break;case"selone_radio":case"selone":c=TestSelectOneRadio(a,e);break;case"dontselectradio":c=TestSelectRadio(a,b,e,false);break;case"selectradio":c=TestSelectRadio(a,b,e,true);break;case"eqelmnt":case"ltelmnt":case"leelmnt":case"gtelmnt":case"geelmnt":case"neelmnt":return TestComparison(a,b,f,e);break;case"req_file":c=TestRequiredInput(a,e);break;case"file_extn":c=TestFileExtension(a,b,e);break}return c}function VWZ_IsListItemSelected(b,c){for(var a=0;a<b.options.length;a++){if(b.options[a].selected==true&&b.options[a].value==c){return true}}return false}function VWZ_IsChecked(a,b){if(a.length){for(var d=0;d<a.length;d++){if(a[d].checked=="1"&&a[d].value==b){return true}}}else{if(a.checked=="1"){return true}}return false}function sfm_str_trim(a){return a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function VWZ_IsEmpty(a){a=sfm_str_trim(a);return(a.length)==0?true:false};
/*plugins*/
window.log=function(){log.history=log.history||[];log.history.push(arguments);arguments.callee=arguments.callee.caller;if(this.console){console.log(Array.prototype.slice.call(arguments))}};(function(e){function h(){}for(var g="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),f;f=g.pop();){e[f]=e[f]||h}})(window.console=window.console||{});




/*
 * jQuery Cycle Plugin (with Transition Definitions)
 * Examples and documentation at: http://jquery.malsup.com/cycle/
 * Copyright (c) 2007-2010 M. Alsup
 * Version: 2.99 (12-MAR-2011)
 * Dual licensed under the MIT and GPL licenses.
 * http://jquery.malsup.com/license.html
 * Requires: jQuery v1.3.2 or later
 */
(function($){var ver="2.99";if($.support==undefined){$.support={opacity:!($.browser.msie)};}function debug(s){$.fn.cycle.debug&&log(s);}function log(){window.console&&console.log&&console.log("[cycle] "+Array.prototype.join.call(arguments," "));}$.expr[":"].paused=function(el){return el.cyclePause;};$.fn.cycle=function(options,arg2){var o={s:this.selector,c:this.context};if(this.length===0&&options!="stop"){if(!$.isReady&&o.s){log("DOM not ready, queuing slideshow");$(function(){$(o.s,o.c).cycle(options,arg2);});return this;}log("terminating; zero elements found by selector"+($.isReady?"":" (DOM not ready)"));return this;}return this.each(function(){var opts=handleArguments(this,options,arg2);if(opts===false){return;}opts.updateActivePagerLink=opts.updateActivePagerLink||$.fn.cycle.updateActivePagerLink;if(this.cycleTimeout){clearTimeout(this.cycleTimeout);}this.cycleTimeout=this.cyclePause=0;var $cont=$(this);var $slides=opts.slideExpr?$(opts.slideExpr,this):$cont.children();var els=$slides.get();if(els.length<2){log("terminating; too few slides: "+els.length);return;}var opts2=buildOptions($cont,$slides,els,opts,o);if(opts2===false){return;}var startTime=opts2.continuous?10:getTimeout(els[opts2.currSlide],els[opts2.nextSlide],opts2,!opts2.backwards);if(startTime){startTime+=(opts2.delay||0);if(startTime<10){startTime=10;}debug("first timeout: "+startTime);this.cycleTimeout=setTimeout(function(){go(els,opts2,0,!opts.backwards);},startTime);}});};function handleArguments(cont,options,arg2){if(cont.cycleStop==undefined){cont.cycleStop=0;}if(options===undefined||options===null){options={};}if(options.constructor==String){switch(options){case"destroy":case"stop":var opts=$(cont).data("cycle.opts");if(!opts){return false;}cont.cycleStop++;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);}cont.cycleTimeout=0;$(cont).removeData("cycle.opts");if(options=="destroy"){destroy(opts);}return false;case"toggle":cont.cyclePause=(cont.cyclePause===1)?0:1;checkInstantResume(cont.cyclePause,arg2,cont);return false;case"pause":cont.cyclePause=1;return false;case"resume":cont.cyclePause=0;checkInstantResume(false,arg2,cont);return false;case"prev":case"next":var opts=$(cont).data("cycle.opts");if(!opts){log('options not found, "prev/next" ignored');return false;}$.fn.cycle[options](opts);return false;default:options={fx:options};}return options;}else{if(options.constructor==Number){var num=options;options=$(cont).data("cycle.opts");if(!options){log("options not found, can not advance slide");return false;}if(num<0||num>=options.elements.length){log("invalid slide index: "+num);return false;}options.nextSlide=num;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}if(typeof arg2=="string"){options.oneTimeFx=arg2;}go(options.elements,options,1,num>=options.currSlide);return false;}}return options;function checkInstantResume(isPaused,arg2,cont){if(!isPaused&&arg2===true){var options=$(cont).data("cycle.opts");if(!options){log("options not found, can not resume");return false;}if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}go(options.elements,options,1,!options.backwards);}}}function removeFilter(el,opts){if(!$.support.opacity&&opts.cleartype&&el.style.filter){try{el.style.removeAttribute("filter");}catch(smother){}}}function destroy(opts){if(opts.next){$(opts.next).unbind(opts.prevNextEvent);}if(opts.prev){$(opts.prev).unbind(opts.prevNextEvent);}if(opts.pager||opts.pagerAnchorBuilder){$.each(opts.pagerAnchors||[],function(){this.unbind().remove();});}opts.pagerAnchors=null;if(opts.destroy){opts.destroy(opts);}}function buildOptions($cont,$slides,els,options,o){var opts=$.extend({},$.fn.cycle.defaults,options||{},$.metadata?$cont.metadata():$.meta?$cont.data():{});if(opts.autostop){opts.countdown=opts.autostopCount||els.length;}var cont=$cont[0];$cont.data("cycle.opts",opts);opts.$cont=$cont;opts.stopCount=cont.cycleStop;opts.elements=els;opts.before=opts.before?[opts.before]:[];opts.after=opts.after?[opts.after]:[];if(!$.support.opacity&&opts.cleartype){opts.after.push(function(){removeFilter(this,opts);});}if(opts.continuous){opts.after.push(function(){go(els,opts,0,!opts.backwards);});}saveOriginalOpts(opts);if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($slides);}if($cont.css("position")=="static"){$cont.css("position","relative");}if(opts.width){$cont.width(opts.width);}if(opts.height&&opts.height!="auto"){$cont.height(opts.height);}if(opts.startingSlide){opts.startingSlide=parseInt(opts.startingSlide);}else{if(opts.backwards){opts.startingSlide=els.length-1;}}if(opts.random){opts.randomMap=[];for(var i=0;i<els.length;i++){opts.randomMap.push(i);}opts.randomMap.sort(function(a,b){return Math.random()-0.5;});opts.randomIndex=1;opts.startingSlide=opts.randomMap[1];}else{if(opts.startingSlide>=els.length){opts.startingSlide=0;}}opts.currSlide=opts.startingSlide||0;var first=opts.startingSlide;$slides.css({position:"absolute",top:0,left:0}).hide().each(function(i){var z;if(opts.backwards){z=first?i<=first?els.length+(i-first):first-i:els.length-i;}else{z=first?i>=first?els.length-(i-first):first-i:els.length-i;}$(this).css("z-index",z);});$(els[first]).css("opacity",1).show();removeFilter(els[first],opts);if(opts.fit&&opts.width){$slides.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$slides.height(opts.height);}var reshape=opts.containerResize&&!$cont.innerHeight();if(reshape){var maxw=0,maxh=0;for(var j=0;j<els.length;j++){var $e=$(els[j]),e=$e[0],w=$e.outerWidth(),h=$e.outerHeight();if(!w){w=e.offsetWidth||e.width||$e.attr("width");}if(!h){h=e.offsetHeight||e.height||$e.attr("height");}maxw=w>maxw?w:maxw;maxh=h>maxh?h:maxh;}if(maxw>0&&maxh>0){$cont.css({width:maxw+"px",height:maxh+"px"});}}if(opts.pause){$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});}if(supportMultiTransitions(opts)===false){return false;}var requeue=false;options.requeueAttempts=options.requeueAttempts||0;$slides.each(function(){var $el=$(this);this.cycleH=(opts.fit&&opts.height)?opts.height:($el.height()||this.offsetHeight||this.height||$el.attr("height")||0);this.cycleW=(opts.fit&&opts.width)?opts.width:($el.width()||this.offsetWidth||this.width||$el.attr("width")||0);if($el.is("img")){var loadingIE=($.browser.msie&&this.cycleW==28&&this.cycleH==30&&!this.complete);var loadingFF=($.browser.mozilla&&this.cycleW==34&&this.cycleH==19&&!this.complete);var loadingOp=($.browser.opera&&((this.cycleW==42&&this.cycleH==19)||(this.cycleW==37&&this.cycleH==17))&&!this.complete);var loadingOther=(this.cycleH==0&&this.cycleW==0&&!this.complete);if(loadingIE||loadingFF||loadingOp||loadingOther){if(o.s&&opts.requeueOnImageNotLoaded&&++options.requeueAttempts<100){log(options.requeueAttempts," - img slide not loaded, requeuing slideshow: ",this.src,this.cycleW,this.cycleH);setTimeout(function(){$(o.s,o.c).cycle(options);},opts.requeueTimeout);requeue=true;return false;}else{log("could not determine size of image: "+this.src,this.cycleW,this.cycleH);}}}return true;});if(requeue){return false;}opts.cssBefore=opts.cssBefore||{};opts.cssAfter=opts.cssAfter||{};opts.cssFirst=opts.cssFirst||{};opts.animIn=opts.animIn||{};opts.animOut=opts.animOut||{};$slides.not(":eq("+first+")").css(opts.cssBefore);$($slides[first]).css(opts.cssFirst);if(opts.timeout){opts.timeout=parseInt(opts.timeout);if(opts.speed.constructor==String){opts.speed=$.fx.speeds[opts.speed]||parseInt(opts.speed);}if(!opts.sync){opts.speed=opts.speed/2;}var buffer=opts.fx=="none"?0:opts.fx=="shuffle"?500:250;while((opts.timeout-opts.speed)<buffer){opts.timeout+=opts.speed;}}if(opts.easing){opts.easeIn=opts.easeOut=opts.easing;}if(!opts.speedIn){opts.speedIn=opts.speed;}if(!opts.speedOut){opts.speedOut=opts.speed;}opts.slideCount=els.length;opts.currSlide=opts.lastSlide=first;if(opts.random){if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.backwards){opts.nextSlide=opts.startingSlide==0?(els.length-1):opts.startingSlide-1;}else{opts.nextSlide=opts.startingSlide>=(els.length-1)?0:opts.startingSlide+1;}}if(!opts.multiFx){var init=$.fn.cycle.transitions[opts.fx];if($.isFunction(init)){init($cont,$slides,opts);}else{if(opts.fx!="custom"&&!opts.multiFx){log("unknown transition: "+opts.fx,"; slideshow terminating");return false;}}}var e0=$slides[first];if(opts.before.length){opts.before[0].apply(e0,[e0,e0,opts,true]);}if(opts.after.length){opts.after[0].apply(e0,[e0,e0,opts,true]);}if(opts.next){$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,1);});}if(opts.prev){$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,0);});}if(opts.pager||opts.pagerAnchorBuilder){buildPager(els,opts);}exposeAddSlide(opts,els);return opts;}function saveOriginalOpts(opts){opts.original={before:[],after:[]};opts.original.cssBefore=$.extend({},opts.cssBefore);opts.original.cssAfter=$.extend({},opts.cssAfter);opts.original.animIn=$.extend({},opts.animIn);opts.original.animOut=$.extend({},opts.animOut);$.each(opts.before,function(){opts.original.before.push(this);});$.each(opts.after,function(){opts.original.after.push(this);});}function supportMultiTransitions(opts){var i,tx,txs=$.fn.cycle.transitions;if(opts.fx.indexOf(",")>0){opts.multiFx=true;opts.fxs=opts.fx.replace(/\s*/g,"").split(",");for(i=0;i<opts.fxs.length;i++){var fx=opts.fxs[i];tx=txs[fx];if(!tx||!txs.hasOwnProperty(fx)||!$.isFunction(tx)){log("discarding unknown transition: ",fx);opts.fxs.splice(i,1);i--;}}if(!opts.fxs.length){log("No valid transitions named; slideshow terminating.");return false;}}else{if(opts.fx=="all"){opts.multiFx=true;opts.fxs=[];for(p in txs){tx=txs[p];if(txs.hasOwnProperty(p)&&$.isFunction(tx)){opts.fxs.push(p);}}}}if(opts.multiFx&&opts.randomizeEffects){var r1=Math.floor(Math.random()*20)+30;for(i=0;i<r1;i++){var r2=Math.floor(Math.random()*opts.fxs.length);opts.fxs.push(opts.fxs.splice(r2,1)[0]);}debug("randomized fx sequence: ",opts.fxs);}return true;}function exposeAddSlide(opts,els){opts.addSlide=function(newSlide,prepend){var $s=$(newSlide),s=$s[0];if(!opts.autostopCount){opts.countdown++;}els[prepend?"unshift":"push"](s);if(opts.els){opts.els[prepend?"unshift":"push"](s);}opts.slideCount=els.length;$s.css("position","absolute");$s[prepend?"prependTo":"appendTo"](opts.$cont);if(prepend){opts.currSlide++;opts.nextSlide++;}if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($s);}if(opts.fit&&opts.width){$s.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$s.height(opts.height);}s.cycleH=(opts.fit&&opts.height)?opts.height:$s.height();s.cycleW=(opts.fit&&opts.width)?opts.width:$s.width();$s.css(opts.cssBefore);if(opts.pager||opts.pagerAnchorBuilder){$.fn.cycle.createPagerAnchor(els.length-1,s,$(opts.pager),els,opts);}if($.isFunction(opts.onAddSlide)){opts.onAddSlide($s);}else{$s.hide();}};}$.fn.cycle.resetState=function(opts,fx){fx=fx||opts.fx;opts.before=[];opts.after=[];opts.cssBefore=$.extend({},opts.original.cssBefore);opts.cssAfter=$.extend({},opts.original.cssAfter);opts.animIn=$.extend({},opts.original.animIn);opts.animOut=$.extend({},opts.original.animOut);opts.fxFn=null;$.each(opts.original.before,function(){opts.before.push(this);});$.each(opts.original.after,function(){opts.after.push(this);});var init=$.fn.cycle.transitions[fx];if($.isFunction(init)){init(opts.$cont,$(opts.elements),opts);}};function go(els,opts,manual,fwd){if(manual&&opts.busy&&opts.manualTrump){debug("manualTrump in go(), stopping active transition");$(els).stop(true,true);opts.busy=0;}if(opts.busy){debug("transition active, ignoring new tx request");return;}var p=opts.$cont[0],curr=els[opts.currSlide],next=els[opts.nextSlide];if(p.cycleStop!=opts.stopCount||p.cycleTimeout===0&&!manual){return;}if(!manual&&!p.cyclePause&&!opts.bounce&&((opts.autostop&&(--opts.countdown<=0))||(opts.nowrap&&!opts.random&&opts.nextSlide<opts.currSlide))){if(opts.end){opts.end(opts);}return;}var changed=false;if((manual||!p.cyclePause)&&(opts.nextSlide!=opts.currSlide)){changed=true;var fx=opts.fx;curr.cycleH=curr.cycleH||$(curr).height();curr.cycleW=curr.cycleW||$(curr).width();next.cycleH=next.cycleH||$(next).height();next.cycleW=next.cycleW||$(next).width();if(opts.multiFx){if(opts.lastFx==undefined||++opts.lastFx>=opts.fxs.length){opts.lastFx=0;}fx=opts.fxs[opts.lastFx];opts.currFx=fx;}if(opts.oneTimeFx){fx=opts.oneTimeFx;opts.oneTimeFx=null;}$.fn.cycle.resetState(opts,fx);if(opts.before.length){$.each(opts.before,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});}var after=function(){opts.busy=0;$.each(opts.after,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});};debug("tx firing("+fx+"); currSlide: "+opts.currSlide+"; nextSlide: "+opts.nextSlide);opts.busy=1;if(opts.fxFn){opts.fxFn(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{if($.isFunction($.fn.cycle[opts.fx])){$.fn.cycle[opts.fx](curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{$.fn.cycle.custom(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}}}if(changed||opts.nextSlide==opts.currSlide){opts.lastSlide=opts.currSlide;if(opts.random){opts.currSlide=opts.nextSlide;if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];if(opts.nextSlide==opts.currSlide){opts.nextSlide=(opts.currSlide==opts.slideCount-1)?0:opts.currSlide+1;}}else{if(opts.backwards){var roll=(opts.nextSlide-1)<0;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=1;opts.currSlide=0;}else{opts.nextSlide=roll?(els.length-1):opts.nextSlide-1;opts.currSlide=roll?0:opts.nextSlide+1;}}else{var roll=(opts.nextSlide+1)==els.length;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=els.length-2;opts.currSlide=els.length-1;}else{opts.nextSlide=roll?0:opts.nextSlide+1;opts.currSlide=roll?els.length-1:opts.nextSlide-1;}}}}if(changed&&opts.pager){opts.updateActivePagerLink(opts.pager,opts.currSlide,opts.activePagerClass);}var ms=0;if(opts.timeout&&!opts.continuous){ms=getTimeout(els[opts.currSlide],els[opts.nextSlide],opts,fwd);}else{if(opts.continuous&&p.cyclePause){ms=10;}}if(ms>0){p.cycleTimeout=setTimeout(function(){go(els,opts,0,!opts.backwards);},ms);}}$.fn.cycle.updateActivePagerLink=function(pager,currSlide,clsName){$(pager).each(function(){$(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);});};function getTimeout(curr,next,opts,fwd){if(opts.timeoutFn){var t=opts.timeoutFn.call(curr,curr,next,opts,fwd);while(opts.fx!="none"&&(t-opts.speed)<250){t+=opts.speed;}debug("calculated timeout: "+t+"; speed: "+opts.speed);if(t!==false){return t;}}return opts.timeout;}$.fn.cycle.next=function(opts){advance(opts,1);};$.fn.cycle.prev=function(opts){advance(opts,0);};function advance(opts,moveForward){var val=moveForward?1:-1;var els=opts.elements;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}if(opts.random&&val<0){opts.randomIndex--;if(--opts.randomIndex==-2){opts.randomIndex=els.length-2;}else{if(opts.randomIndex==-1){opts.randomIndex=els.length-1;}}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.random){opts.nextSlide=opts.randomMap[opts.randomIndex];}else{opts.nextSlide=opts.currSlide+val;if(opts.nextSlide<0){if(opts.nowrap){return false;}opts.nextSlide=els.length-1;}else{if(opts.nextSlide>=els.length){if(opts.nowrap){return false;}opts.nextSlide=0;}}}}var cb=opts.onPrevNextEvent||opts.prevNextClick;if($.isFunction(cb)){cb(val>0,opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,moveForward);return false;}function buildPager(els,opts){var $p=$(opts.pager);$.each(els,function(i,o){$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);});opts.updateActivePagerLink(opts.pager,opts.startingSlide,opts.activePagerClass);}$.fn.cycle.createPagerAnchor=function(i,el,$p,els,opts){var a;if($.isFunction(opts.pagerAnchorBuilder)){a=opts.pagerAnchorBuilder(i,el);debug("pagerAnchorBuilder("+i+", el) returned: "+a);}else{a='<a href="#">'+(i+1)+"</a>";}if(!a){return;}var $a=$(a);if($a.parents("body").length===0){var arr=[];if($p.length>1){$p.each(function(){var $clone=$a.clone(true);$(this).append($clone);arr.push($clone[0]);});$a=$(arr);}else{$a.appendTo($p);}}opts.pagerAnchors=opts.pagerAnchors||[];opts.pagerAnchors.push($a);$a.bind(opts.pagerEvent,function(e){e.preventDefault();opts.nextSlide=i;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}var cb=opts.onPagerEvent||opts.pagerClick;if($.isFunction(cb)){cb(opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,opts.currSlide<i);});if(!/^click/.test(opts.pagerEvent)&&!opts.allowPagerClickBubble){$a.bind("click.cycle",function(){return false;});}if(opts.pauseOnPagerHover){$a.hover(function(){opts.$cont[0].cyclePause++;},function(){opts.$cont[0].cyclePause--;});}};$.fn.cycle.hopsFromLast=function(opts,fwd){var hops,l=opts.lastSlide,c=opts.currSlide;if(fwd){hops=c>l?c-l:opts.slideCount-l;}else{hops=c<l?l-c:l+opts.slideCount-c;}return hops;};function clearTypeFix($slides){debug("applying clearType background-color hack");function hex(s){s=parseInt(s).toString(16);return s.length<2?"0"+s:s;}function getBg(e){for(;e&&e.nodeName.toLowerCase()!="html";e=e.parentNode){var v=$.css(e,"background-color");if(v&&v.indexOf("rgb")>=0){var rgb=v.match(/\d+/g);return"#"+hex(rgb[0])+hex(rgb[1])+hex(rgb[2]);}if(v&&v!="transparent"){return v;}}return"#ffffff";}$slides.each(function(){$(this).css("background-color",getBg(this));});}$.fn.cycle.commonReset=function(curr,next,opts,w,h,rev){$(opts.elements).not(curr).hide();if(typeof opts.cssBefore.opacity=="undefined"){opts.cssBefore.opacity=1;}opts.cssBefore.display="block";if(opts.slideResize&&w!==false&&next.cycleW>0){opts.cssBefore.width=next.cycleW;}if(opts.slideResize&&h!==false&&next.cycleH>0){opts.cssBefore.height=next.cycleH;}opts.cssAfter=opts.cssAfter||{};opts.cssAfter.display="none";$(curr).css("zIndex",opts.slideCount+(rev===true?1:0));$(next).css("zIndex",opts.slideCount+(rev===true?0:1));};$.fn.cycle.custom=function(curr,next,opts,cb,fwd,speedOverride){var $l=$(curr),$n=$(next);var speedIn=opts.speedIn,speedOut=opts.speedOut,easeIn=opts.easeIn,easeOut=opts.easeOut;$n.css(opts.cssBefore);if(speedOverride){if(typeof speedOverride=="number"){speedIn=speedOut=speedOverride;}else{speedIn=speedOut=1;}easeIn=easeOut=null;}var fn=function(){$n.animate(opts.animIn,speedIn,easeIn,function(){cb();});};$l.animate(opts.animOut,speedOut,easeOut,function(){$l.css(opts.cssAfter);if(!opts.sync){fn();}});if(opts.sync){fn();}};$.fn.cycle.transitions={fade:function($cont,$slides,opts){$slides.not(":eq("+opts.currSlide+")").css("opacity",0);opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.opacity=0;});opts.animIn={opacity:1};opts.animOut={opacity:0};opts.cssBefore={top:0,left:0};}};$.fn.cycle.ver=function(){return ver;};$.fn.cycle.defaults={activePagerClass:"activeSlide",after:null,allowPagerClickBubble:false,animIn:null,animOut:null,autostop:0,autostopCount:0,backwards:false,before:null,cleartype:!$.support.opacity,cleartypeNoBg:false,containerResize:1,continuous:0,cssAfter:null,cssBefore:null,delay:0,easeIn:null,easeOut:null,easing:null,end:null,fastOnEvent:0,fit:0,fx:"fade",fxFn:null,height:"auto",manualTrump:true,next:null,nowrap:0,onPagerEvent:null,onPrevNextEvent:null,pager:null,pagerAnchorBuilder:null,pagerEvent:"click.cycle",pause:0,pauseOnPagerHover:0,prev:null,prevNextEvent:"click.cycle",random:0,randomizeEffects:1,requeueOnImageNotLoaded:true,requeueTimeout:250,rev:0,shuffle:null,slideExpr:null,slideResize:1,speed:2000,speedIn:null,speedOut:null,startingSlide:0,sync:1,timeout:4000,timeoutFn:null,updateActivePagerLink:null};})(jQuery);
/* jQuery Cycle Plugin Transition Definitions This script is a plugin for the jQuery Cycle Plugin
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007-2010 M. Alsup Version:	 2.73
 * Dual licensed under the MIT and GPL licenses: http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html 
===============uncover options only*/
(function($){
$.fn.cycle.transitions.uncover=function($cont,$slides,opts){var d=opts.direction||"left";var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);if(d=="right"){opts.animOut.left=w;}else{if(d=="up"){opts.animOut.top=-h;}else{if(d=="down"){opts.animOut.top=h;}else{opts.animOut.left=-w;}}}});opts.animIn.left=0;opts.animIn.top=0;opts.cssBefore.top=0;opts.cssBefore.left=0;};
})(jQuery);
$.fn.cycle.transitions.fadeout=function($cont,$slides,opts){$slides.not(":eq("+opts.currSlide+")").css({display:"block",opacity:1});opts.before.push(function(curr,next,opts,w,h,rev){$(curr).css("zIndex",opts.slideCount+(!rev===true?1:0));$(next).css("zIndex",opts.slideCount+(!rev===true?0:1));});opts.animIn.opacity=1;opts.animOut.opacity=0;opts.cssBefore.opacity=1;opts.cssBefore.display="block";opts.cssAfter.zIndex=0;};
$.fn.cycle.transitions.curtainY=function(b,c,a){a.before.push(function(f,d,e){$.fn.cycle.commonReset(f,d,e,true,false,true);e.cssBefore.top=d.cycleH/2;e.animIn.top=0;e.animIn.height=d.cycleH;e.animOut.top=f.cycleH/2;e.animOut.height=0});a.cssBefore.height=0;a.cssBefore.left=0};$.fn.cycle.transitions.growX=function(b,c,a){a.before.push(function(f,d,e){$.fn.cycle.commonReset(f,d,e,false,true);e.cssBefore.left=this.cycleW/2;e.animIn.left=0;e.animIn.width=this.cycleW;e.animOut.left=0});a.cssBefore.top=0;a.cssBefore.width=0};$.fn.cycle.transitions.blindZ=function(d,e,c){var b=d.css("overflow","hidden").height();var a=d.width();c.before.push(function(h,f,g){$.fn.cycle.commonReset(h,f,g);g.animIn.height=f.cycleH;g.animOut.top=h.cycleH});c.cssBefore.top=b;c.cssBefore.left=a;c.animIn.top=0;c.animIn.left=0;c.animOut.top=b;c.animOut.left=a};

/*nav*/
jQuery(function($){$("nav ul li").hover(function(){$(this).find("#sersub").stop(true,true).fadeIn(300)},function(){$(this).find("#sersub").stop(true,true).fadeOut(300)})});
/*scroll top*/
$(function(){$("a[href*=#]").click(function(){if(location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname){var a=$(this.hash);a=a.length&&a||$("[name="+this.hash.slice(1)+"]");if(a.length){var b=a.offset().top;$("html,body").animate({scrollTop:b},500);return false}}})});
/*forms*/
jQuery(function(a){a("#yaphank").click(function(){a("#cf-middletown, #cf-other").hide().next();a("#cf-yaphank").slideDown();return false});a("#middletown").click(function(){a("#cf-yaphank, #cf-other").hide().next();a("#cf-middletown").slideDown();return false});a("#other").click(function(){a("#cf-middletown, #cf-yaphank").hide().next();a("#cf-other").slideDown();return false})});
/*jQuery Waypoints - v1.1.1 Copyright (c) 2011 Caleb Troughton
Dual licensed under the MIT license and GPL license.
https://github.com/imakewebthings/jquery-waypoints/blob/master/MIT-license.txt*/
(function($,k,m,i,d){var e=$(i),g="waypoint.reached",b=function(o,n){o.element.trigger(g,n);if(o.options.triggerOnce){o.element[k]("destroy")}},h=function(p,o){var n=o.waypoints.length-1;while(n>=0&&o.waypoints[n].element[0]!==p[0]){n-=1}return n},f=[],l=function(n){$.extend(this,{element:$(n),oldScroll:-99999,waypoints:[],didScroll:false,didResize:false,doScroll:$.proxy(function(){var q=this.element.scrollTop(),p=q>this.oldScroll,s=this,r=$.grep(this.waypoints,function(u,t){return p?(u.offset>s.oldScroll&&u.offset<=q):(u.offset<=s.oldScroll&&u.offset>q)}),o=r.length;if(!this.oldScroll||!q){$[m]("refresh")}this.oldScroll=q;if(!o){return}if(!p){r.reverse()}$.each(r,function(u,t){if(t.options.continuous||u===o-1){b(t,[p?"down":"up"])}})},this)});$(n).scroll($.proxy(function(){if(!this.didScroll){this.didScroll=true;i.setTimeout($.proxy(function(){this.doScroll();this.didScroll=false},this),$[m].settings.scrollThrottle)}},this)).resize($.proxy(function(){if(!this.didResize){this.didResize=true;i.setTimeout($.proxy(function(){$[m]("refresh");this.didResize=false},this),$[m].settings.resizeThrottle)}},this));e.load($.proxy(function(){this.doScroll()},this))},j=function(n){var o=null;$.each(f,function(p,q){if(q.element[0]===n){o=q;return false}});return o},c={init:function(o,n){this.each(function(){var u=$.fn[k].defaults.context,q,t=$(this);if(n&&n.context){u=n.context}if(!$.isWindow(u)){u=t.closest(u)[0]}q=j(u);if(!q){q=new l(u);f.push(q)}var p=h(t,q),s=p<0?$.fn[k].defaults:q.waypoints[p].options,r=$.extend({},s,n);r.offset=r.offset==="bottom-in-view"?function(){var v=$.isWindow(u)?$[m]("viewportHeight"):$(u).height();return v-$(this).outerHeight()}:r.offset;if(p<0){q.waypoints.push({element:t,offset:null,options:r})}else{q.waypoints[p].options=r}if(o){t.bind(g,o)}});$[m]("refresh");return this},remove:function(){return this.each(function(o,p){var n=$(p);$.each(f,function(r,s){var q=h(n,s);if(q>=0){s.waypoints.splice(q,1)}})})},destroy:function(){return this.unbind(g)[k]("remove")}},a={refresh:function(){$.each(f,function(r,s){var q=$.isWindow(s.element[0]),n=q?0:s.element.offset().top,p=q?$[m]("viewportHeight"):s.element.height(),o=q?0:s.element.scrollTop();$.each(s.waypoints,function(u,x){var t=x.options.offset,w=x.offset;if(typeof x.options.offset==="function"){t=x.options.offset.apply(x.element)}else{if(typeof x.options.offset==="string"){var v=parseFloat(x.options.offset);t=x.options.offset.indexOf("%")?Math.ceil(p*(v/100)):v}}x.offset=x.element.offset().top-n+o-t;if(x.options.onlyOnScroll){return}if(w!==null&&s.oldScroll>w&&s.oldScroll<=x.offset){b(x,["up"])}else{if(w!==null&&s.oldScroll<w&&s.oldScroll>=x.offset){b(x,["down"])}}});s.waypoints.sort(function(u,t){return u.offset-t.offset})})},viewportHeight:function(){return(i.innerHeight?i.innerHeight:e.height())},aggregate:function(){var n=$();$.each(f,function(o,p){$.each(p.waypoints,function(q,r){n=n.add(r.element)})});return n}};$.fn[k]=function(n){if(c[n]){return c[n].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof n==="function"||!n){return c.init.apply(this,arguments)}else{if(typeof n==="object"){return c.init.apply(this,[null,n])}else{$.error("Method "+n+" does not exist on jQuery "+k)}}}};$.fn[k].defaults={continuous:true,offset:0,triggerOnce:false,context:i};$[m]=function(n){if(a[n]){return a[n].apply(this)}else{return a.aggregate()}};$[m].settings={resizeThrottle:200,scrollThrottle:100};e.load(function(){$[m]("refresh")})})(jQuery,"waypoint","waypoints",this);






