/* Information -------------------------------------

Version: 0.1.1

Include on: All Sesame Workshop Templates

Contains:
    =rotator
	=hoverIntent r6
	=Modal Window Function
	=Global Search Box
	=Random Muppet Function
	=Main Nav Hover
	=Input Blur Function
	=Equal Height Columns
	=DOM Ready Functions
----------------------------------------------------*/


/*  SWFObject v2.2 <http://code.google.com/p/swfobject/> 
    is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/
var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();



/*hoverIntent r6 // 2011.02.26 // jQuery 1.5.1+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne brian(at)cherne(dot)net
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev])}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev])};var handleHover=function(e){var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t)}if(e.type=="mouseenter"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob)},cfg.timeout)}}};return this.bind('mouseenter',handleHover).bind('mouseleave',handleHover)}})(jQuery);


/*!
 * Tiny Scrollbar 1.65
 * http://www.baijs.nl/tinyscrollbar/
 *
 * Copyright 2010, Maarten Baijs
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.opensource.org/licenses/gpl-2.0.php
 *
 * Date: 10 / 05 / 2011
 * Depends on library: jQuery
 * 
 */

(function($){
    $.tiny = $.tiny || { };
    
    $.tiny.scrollbar = {
        options: {  
            axis: 'y', // vertical or horizontal scrollbar? ( x || y ).
            wheel: 40,  //how many pixels must the mouswheel scroll at a time.
            scroll: true, //enable or disable the mousewheel;
            size: 'auto', //set the size of the scrollbar to auto or a fixed number.
            sizethumb: '68' //set the size of the thumb to auto or a fixed number.
        }
    };  
    
    $.fn.tinyscrollbar = function(options) { 
        var options = $.extend({}, $.tiny.scrollbar.options, options);
        
        // Customized: Build Track
        this.find('.scrollbar').append('<div class="track"><div class="top"></div><div class="thumb"></div><div class="btm"></div></div>');
        
        this.each(function(){ $(this).data('tsb', new Scrollbar($(this), options)); });
        return this;
    };
    $.fn.tinyscrollbar_update = function(sScroll) { return $(this).data('tsb').update(sScroll); };
    
    function Scrollbar(root, options){
        var oSelf = this;
        var oWrapper = root;
        var oViewport = { obj: $('.viewport', root) };
        var oContent = { obj: $('.scrollBlock', root) }; // Customized
        var oScrollbar = { obj: $('.scrollbar', root) };
        var oTrack = { obj: $('.track', oScrollbar.obj) };
        var oThumb = { obj: $('.thumb', oScrollbar.obj) };
        var sAxis = options.axis == 'x', sDirection = sAxis ? 'left' : 'top', sSize = sAxis ? 'Width' : 'Height';
        var iScroll, iPosition = { start: 0, now: 0 }, iMouse = {};
        var timer = null;

        function initialize() { 
            oSelf.update();
            setEvents();
            return oSelf;
        }
        
        this.update = function(sScroll){
            oViewport[options.axis] = oViewport.obj[0]['offset'+ sSize];
            oContent[options.axis] = oContent.obj[0]['scroll'+ sSize];
            oContent.ratio = oViewport[options.axis] / oContent[options.axis];
            oScrollbar.obj.toggleClass('disable', oContent.ratio >= 1);
            oTrack[options.axis] = options.size == 'auto' ? oViewport[options.axis] : options.size;
            oThumb[options.axis] = Math.min(oTrack[options.axis], Math.max(0, ( options.sizethumb == 'auto' ? (oTrack[options.axis] * oContent.ratio) : options.sizethumb )));
            oScrollbar.ratio = options.sizethumb == 'auto' ? (oContent[options.axis] / oTrack[options.axis]) : (oContent[options.axis] - oViewport[options.axis]) / (oTrack[options.axis] - oThumb[options.axis]);
            iScroll = (sScroll == 'relative' && oContent.ratio <= 1) ? Math.min((oContent[options.axis] - oViewport[options.axis]), Math.max(0, iScroll)) : 0;
            iScroll = (sScroll == 'bottom' && oContent.ratio <= 1) ? (oContent[options.axis] - oViewport[options.axis]) : isNaN(parseInt(sScroll)) ? iScroll : parseInt(sScroll);
            setSize();
        };
        function setSize(){
            oThumb.obj.css(sDirection, iScroll / oScrollbar.ratio);
            oContent.obj.css(sDirection, -iScroll);
            iMouse['start'] = oThumb.obj.offset()[sDirection];
            var sCssSize = sSize.toLowerCase(); 
            oScrollbar.obj.css(sCssSize, oTrack[options.axis]);
            oTrack.obj.css(sCssSize, oTrack[options.axis]);
            oThumb.obj.css(sCssSize, oThumb[options.axis]);     
        };      
        function setEvents(){
            oThumb.obj.bind('mousedown', start);
            oThumb.obj[0].ontouchstart = function(oEvent){
                oEvent.preventDefault();
                oThumb.obj.unbind('mousedown');
                start(oEvent.touches[0]);
                return false;
            };  
            oTrack.obj.bind('mouseup', drag);
            if(options.scroll && this.addEventListener){
                oWrapper[0].addEventListener('DOMMouseScroll', wheel, false);
                oWrapper[0].addEventListener('mousewheel', wheel, false );
            }
            else if(options.scroll){oWrapper[0].onmousewheel = wheel;}
        };
        function start(oEvent){
            iMouse.start = sAxis ? oEvent.pageX : oEvent.pageY;
            var oThumbDir = parseInt(oThumb.obj.css(sDirection));
            iPosition.start = oThumbDir == 'auto' ? 0 : oThumbDir;
            $(document).bind('mousemove', drag);
            document.ontouchmove = function(oEvent){
                $(document).unbind('mousemove');
                drag(oEvent.touches[0]);
            };
            $(document).bind('mouseup', end);
            oThumb.obj.bind('mouseup', end);
            oThumb.obj[0].ontouchend = document.ontouchend = function(oEvent){
                $(document).unbind('mouseup');
                oThumb.obj.unbind('mouseup');
                end(oEvent.touches[0]);
            };
            $(oWrapper).trigger('scrollstart');
            return false;
        };      
        function wheel(oEvent){
            if(!(oContent.ratio >= 1)){
                oEvent = $.event.fix(oEvent || window.event);
                var iDelta = oEvent.wheelDelta ? oEvent.wheelDelta/120 : -oEvent.detail/3;
                iScroll -= iDelta * options.wheel;
                iScroll = Math.min((oContent[options.axis] - oViewport[options.axis]), Math.max(0, iScroll));
                oThumb.obj.css(sDirection, iScroll / oScrollbar.ratio);
                oContent.obj.css(sDirection, -iScroll);
                
                $(oWrapper).trigger('scrollstart');
                
                if (timer) {
                	clearTimeout(timer);
                }
                
                timer = setTimeout(function() {
                	timer = null;
                	$(oWrapper).trigger('scrollstop');
                }, 300);
                
                oEvent.preventDefault();
            };
        };
        function end(oEvent){
            $(document).unbind('mousemove', drag);
            $(document).unbind('mouseup', end);
            oThumb.obj.unbind('mouseup', end);
            document.ontouchmove = oThumb.obj[0].ontouchend = document.ontouchend = null;
            $(oWrapper).trigger('scrollstop');
            return false;
        };
        function drag(oEvent){
            if(!(oContent.ratio >= 1)){
                iPosition.now = Math.min((oTrack[options.axis] - oThumb[options.axis]), Math.max(0, (iPosition.start + ((sAxis ? oEvent.pageX : oEvent.pageY) - iMouse.start))));
                iScroll = iPosition.now * oScrollbar.ratio;
                oContent.obj.css(sDirection, -iScroll);
                oThumb.obj.css(sDirection, iPosition.now);
            }
            return false;
        };
        
        return initialize();
    };
})(jQuery);


var debug = function(){
    try { 
        console.log.apply(console, arguments);
    } catch (e) {
    
    }
};

(function($){    
    // Modal Window Function
    $.fn.modalWin = function(el){
    	var modal; 
    	
    	// Check Modal Height
    	var checkModalHeight = function(){
    		if(!modal) return; 
    		if( modal.data('_height') != modal.height() ){
//    			$('#overlay').height( $(document).height() + 50 ).width( $(window).width() );
    			$('#overlay').height( $(document).height() ).width( $(window).width() );
    			modal.data('_height', modal.height());
    		}
    	};
    	
    	// Position Modal Window
    	var positionModal = function(){
    		if(!modal) return;
    		//Calculate Window Height and Window Width for Positioning Content div
    		var winH = $(window).height();
    		var modalH = modal.height();
    		var posX = $(window).width()/2 - modal.width()/2;
    		var centeredY = winH/2 - modalH/2;
    		var scrollTop = $(window). scrollTop();
    		var posY = scrollTop + centeredY;
    		
    		//Position Content div  
    		modal.css('left', posX);
    		//If Window Height is less than Modal Height, define fixed y positioning
    		if ( winH < modalH ) {
    			modal.css('top', scrollTop + 50);
    		} else {    
    			modal.css('top', posY );
    		}
    		
    		//Check Modal Height
    		checkModalHeight();
    	};
    	
    	//Find Document Height and Window Width  
    	var resizeOverlay = function(){
    		$('#overlay').css({'width': $(window).width(), 'height': $(document).height()});
    	};
    
    	$(this).click(function(){
    		// should remove these prior to injecting them again
    		$('#overlay,.modalWin').remove();
    
    		//Inject Overlay and Content divs
    		$('body').append('<a href="#" id="overlay"></a><div class="modalWin"></div>');
    		
    		//Set Document Height and Window Width on Overlay
    		$(window).unbind('resize', resizeOverlay).bind('resize', resizeOverlay).trigger('resize');
    
    		//Fade In Overlay to Specific Opacity
    		$('#overlay').fadeTo(1,0.5);
    
    		modal = $('.modalWin');
    		
    		//Stop IE from Caching AJAX
    		$.ajaxSetup ({
    			cache: false
    		});
    
            //Grab URL to Load
    		var url = $(this).attr('href');
    
    		$.ajax({
    			url: url,
                //dataType: 'html',
    			success: function(data){
    				//Load the href
                    try {
        				modal.html(data);
                    } catch (htmlError) {
                        debug(htmlError);
                    }
    				//Position the Modal
    				positionModal();
    				modal.data('_height', modal.height());
    				$(document).trigger('modalopen');
    			}
    		});
    
            //Fade In Content
            if ($.browser.msie && $.browser.version < 9) {
                $(el).show();
            } else {
                $(el).fadeIn(750);
            }
            
    		//Stop Link & Propagation
    		return false;
        });
    
    	// Re-position Modal Window on Browswer Resize
    	$(window).unbind('resize', positionModal).bind('resize', positionModal).trigger('resize');
    
    	//Remove Overlay and Content divs
    	$('body').delegate('#overlay, .modalWin a.close','click', function(e){
    		e.preventDefault();
    		$('#overlay, .modalWin').remove();
    		$(document).trigger('modalclose');
    		return false;
    	});
    	
        
    	return this;
    };
    
    // Random Muppet Function
    $.fn.randomMuppet = function(el){
//    	var muppets = ['barkley.png', 'bert.png', 'betty-lou.png', 'big-bird.png', 'ernie.png', 'honker.png', 'oscar.png', 'telly-monster.png', 'zoe.png'];
    	//$(this).attr('src','/img/muppet/' + muppets[Math.floor(Math.random() * muppets.length)] + '');
    	$(this).html('<img src="' + muppets[Math.floor(Math.random() * muppets.length)] + '" id="randomMuppet" width="145" height="90" alt="" />');
    };
    
    // Input Blur Function
    $.fn.inputBlur = function(el){
    	return this.each(function(){
    		var $el = $(this);
    		if($el.is(':hidden')) return;
    		$el.attr('value', $el.attr('title')).focus(function(){
    			if($el.attr('value') === $el.attr('title')) {
    				$el.attr('value', '').addClass('active');
    			}
    		}).blur(function(){
    			if($el.attr('value') === '') {
    				$el.attr('value', $el.attr('title')).removeClass('active');
    			}
    		});
    	});
    };
    
    
    
    // Equal Height Columns
    $.fn.setAllToMaxHeight = function(){
    	return this.height( Math.max.apply(this, $.map( this , function(e){ return $(e).height() }) ) );
    };

    $.fn.prepScroller = function(){

        var w = 0;
        $(this).find('.scrollBlock li').each(function() {
            w += $(this).outerWidth(true);
        });

        $(this).find('.scrollBlock').css('width', w);
        

        $(this).tinyscrollbar({axis: 'x'});
    };

})(jQuery);
	
    
    
    
/*
 * jQuery Rotator Plugin
 * Modified version (per original MIT license) of Orbit Plugin
 * Original Copyright 2010, ZURB - Free to use under the MIT license - http://www.opensource.org/licenses/mit-license.php
*/

(function($) {

    $.fn.rotator = function(opts) {

        //Defaults to extend opts
        var defaults = {  
            animation: 'horizontal-push',   // fade, horizontal-push
            animationSpeed: 1000,           // how fast animtions are
            timer: true,                    // true or false to have the timer
            advanceSpeed: 10000,            // if timer is enabled, time between transitions 
            pauseOnHover: true,             // if you hover pauses the slider
            startClockOnMouseOut: true,     // if clock should start on MouseOut
            startClockOnMouseOutAfter: 500, // how long after MouseOut should the timer start again
            directionalNav: false,          // manual advancing directional navs
            bulletNav: false,               // true or false to activate the bullet navigation
            textNav: false,                 // true or false to activate the text navigation
            textNavArray: [],               // define nav text
            beforeChange: function(){},     // empty function 
            afterChange: function(){}       // empty function 
        };  
        
        //Extend those opts
        var opts = $.extend(defaults, opts); 
    
        return this.each(function() {

        //= SETUP ============================
            //Global Variables
            var activeSlide = 0,
                numberSlides = 0,
                rotatorWidth,
                rotatorHeight,
                locked;
            
            //Initialize
            var rotator = $(this);
            rotator.add(rotatorWidth).width('1px').height('1px');
                        
            //Collect all slides and set slider size of largest image
            var slides = rotator.children('div.slide').css('position','absolute');
            slides.each(function() {
                var _slide = $(this),
                    _slideWidth = _slide.width(),
                    _slideHeight = _slide.height();
                if(_slideWidth > rotator.width()) {
                    rotator.add().width(_slideWidth);
                    rotatorWidth = rotator.width();                 
                }
                if(_slideHeight > rotator.height()) {
                    rotator.add().height(_slideHeight);
                    rotatorHeight = rotator.height();
                }
                numberSlides++;
            });
            
            //Animation locking functions
            function unlock() {
                locked = false;
            }
            function lock() { 
                locked = true;
            }
            
            //If there is only a single slide remove nav, timer, bulletNav and textNav
            if(slides.length == 1) {
                opts.directionalNav = false;
                opts.timer = false;
                opts.bulletNav = false;
                opts.textNav = false;
            }
            
            //Set initial front photo z-index and fade it in
            slides.eq(activeSlide)
                .css({'z-index' : 3})
                .fadeIn(function() {
                    //brings in all other slides IF css declares a display: none
                    slides.css({'display':'block'})
                });
            
        //= TIMER ============================
            //Timer Execution
            function startClock() {
                if(!opts.timer  || opts.timer == 'false') { 
                    return false;
                } else  {
                    clock = setInterval(function(e){
                        shift('next');  
                    }, opts.advanceSpeed);                  
                }
            }
            function stopClock() {
                if(!opts.timer || opts.timer == 'false') { return false; } else {
                    timerRunning = false;
                    clearInterval(clock);
                }
            }  
            
            //Timer Setup
            if(opts.timer) {
                var timerRunning;
                var clock; 
                startClock();
                if(opts.startClockOnMouseOut){
                    var outTimer;
                    rotator.mouseleave(function() {
                        outTimer = setTimeout(function() {
                            if(!timerRunning){
                                startClock();
                            }
                        }, opts.startClockOnMouseOutAfter)
                    })
                    rotator.mouseenter(function() {
                        clearTimeout(outTimer);
                    })
                }                
            }  
            
            //Pause Timer on hover
            if(opts.pauseOnHover) {
                rotator.mouseenter(function() {
                    stopClock(); 
                });
            }
            
        //= DIRECTIONAL NAV ============================
            //DirectionalNav { rightButton --> shift("next"), leftButton --> shift("prev");
            if(opts.directionalNav) {
                if(opts.directionalNav == 'false') { return false; }
                var directionalNavHTML = '<span class="rotatorArrow next">next</span><span class="rotatorArrow prev">prev</span>';
                rotator.append(directionalNavHTML);
                var leftBtn = rotator.children('.rotatorArrow.prev'),
                    rightBtn = rotator.children('.rotatorArrow.next');
                leftBtn.click(function() { 
                    stopClock();
                    shift('prev');
                    opts.timer = false;                
                });
                rightBtn.click(function() {
                    stopClock();
                    shift('next');
                    opts.timer = false;
                });
                rotator.hover(function(){
                        if ($.browser.msie && $.browser.version < 9) {
                            leftBtn.show();
                            rightBtn.show();
                        } else {    
                            leftBtn.fadeIn(250);
                            rightBtn.fadeIn(250);
                        }                   
                    },function(){
                        if ($.browser.msie && $.browser.version < 9) {
                            leftBtn.hide();
                            rightBtn.hide();
                        } else {    
                            leftBtn.fadeOut(100);
                            rightBtn.fadeOut(100);
                        }
                });
            }
            
        //= BULLET NAV ============================
            //Bullet Nav Setup
            if(opts.bulletNav) { 
                var bulletHTML = '<div class="rotatorBullets"></div>';              
                rotator.append(bulletHTML);
                $('.rotatorBullets').css('margin-top',rotatorHeight+15);
                var bulletNav = rotator.children('div.rotatorBullets');
                for(i=0; i<numberSlides; i++) {
                    var iMarkup = $('<span>'+(i+1)+'</span>');
                    rotator.children('div.rotatorBullets').append(iMarkup);
                    iMarkup.data('index',i);
                    iMarkup.click(function() {
                        stopClock();
                        shift($(this).data('index'));
                        opts.timer = false;
                    });
                }
                // Center Bullets in IE7
                if ($.browser.msie && $.browser.version == 7) {
                    var bulletHTMLW = (984 - $('.rotatorBullets').width())/2;
                    $('.rotatorBullets').css('margin-left',bulletHTMLW);
                }
                setActiveBullet();
            }
            
            //Bullet Nav Execution
            function setActiveBullet() { 
                if(!opts.bulletNav) { return false; } else {
                    bulletNav.children('span').removeClass('active').eq(activeSlide).addClass('active');
                }
            }
            
        //= TEXT NAV ============================
            //Text Nav Setup
            if(opts.textNav) { 
                var textHTML = '<div class="rotatorText"></div>';               
                rotator.append(textHTML);
                $('.rotatorText').css('margin-top',rotatorHeight);
                var textNav = rotator.children('div.rotatorText');
                var textNavArray = opts.textNavArray.split(',');
                var iTxt = 0;
                for(i=0; i<numberSlides; i++) {
                    var iMarkup = $('<span>'+textNavArray[iTxt++]+'</span>');
                    rotator.children('div.rotatorText').append(iMarkup);
                    iMarkup.data('index',i);
                    iMarkup.click(function() {
                        stopClock();
                        shift($(this).data('index'));
                        opts.timer = false;
                    });
                }
                // Center Bullets in IE7
                if ($.browser.msie && $.browser.version == 7) {
                    var textHTMLW = (984 - $('.rotatorText').width())/2;
                    $('.rotatorText').css('margin-left',textHTMLW);
                }
                setActiveText();
            }
            
            //Text Nav Execution
            function setActiveText() { 
                if(!opts.textNav) { return false; } else {
                    textNav.children('span').removeClass('active').eq(activeSlide).addClass('active');
                }
            }
            
            
        //= ANIMATION ============================
            //Animating the shift!
            function shift(direction) {
                //remember previous activeSlide
                var prevActiveSlide = activeSlide,
                    slideDirection = direction;
                //exit function if bullet clicked is same as the current image
                if(prevActiveSlide == slideDirection) { return false; }
                
                opts.beforeChange.call(this);
                
                //reset Z & Unlock
                function resetAndUnlock() {
                    slides
                        .eq(prevActiveSlide)
                        .css({'z-index' : 1});
                    unlock();
                    opts.afterChange.call(this);
                }
                if(slides.length == '1') { return false; }
                if(!locked) {
                    lock();
                     //deduce the proper activeImage
                    if(direction == 'next') {
                        activeSlide++
                        if(activeSlide == numberSlides) {
                            activeSlide = 0;
                        }
                    } else if(direction == 'prev') {
                        activeSlide--
                        if(activeSlide < 0) {
                            activeSlide = numberSlides-1;
                        }
                    } else {
                        activeSlide = direction;
                        if (prevActiveSlide < activeSlide) { 
                            slideDirection = 'next';
                        } else if (prevActiveSlide > activeSlide) { 
                            slideDirection = 'prev'
                        }
                    }
                    //set to correct bullet
                     setActiveBullet();
                    //set to correct text
                     setActiveText();
                     
                    //set previous slide z-index to one below what new activeSlide will be
                    slides
                        .eq(prevActiveSlide)
                        .css({'z-index' : 2}).removeClass('active');    
                    
                    //fade
                    if(opts.animation == 'fade') {
                        slides
                            .eq(activeSlide)
                            .css({'opacity' : 0, 'z-index' : 3})
                            .animate({'opacity' : 1}, opts.animationSpeed, resetAndUnlock);
                    }
                    //push-over
                    if(opts.animation == 'horizontal-push') {
                        if(slideDirection == "next") {
                            slides
                                .eq(activeSlide)
                                .css({'left': rotatorWidth, 'z-index' : 3}).addClass('active')
                                .animate({'left' : 0}, opts.animationSpeed, resetAndUnlock);
                            slides
                                .eq(prevActiveSlide)
                                .animate({'left' : -rotatorWidth}, opts.animationSpeed);
                        }
                        if(slideDirection == 'prev') {
                            slides
                                .eq(activeSlide)
                                .css({'left': -rotatorWidth, 'z-index' : 3}).addClass('active')
                                .animate({'left' : 0}, opts.animationSpeed, resetAndUnlock);
                            slides
                                .eq(prevActiveSlide)
                                .animate({'left' : rotatorWidth}, opts.animationSpeed);
                        }
                    }
                } //lock
            }//rotator function
        });//each call
    }//rotator plugin call
})(jQuery);

(function($){
    // Map Tooltips
    $.fn.mapTooltips = function(el){
        return this.each(function(){
            // Append Tooltip
            $(this).wrapInner('<span class="tooltip"><span class="txt"></span></span>').find('.tooltip').append('<span class="left"></span><span class="right"></span>');
            
            // Find Tooltip Width & Offset Left
            var $tooltip = $(this).find('.tooltip');
            var tooltipW = ($tooltip.width())/2;
            $tooltip.css('margin-left',-tooltipW);
        });
    };
})(jQuery);


var onPlayCallback = function(skip){
    if(window.navigator.userAgent.match(/MSIE/i)){
        //return true; 
    }
    debug('in onPlayCallback');
    if(!skip){
        debug('onPlayCallback: no skip param');
        return true; 
    }

    $('object').each(function(i){
        var id = $(this).attr('id');
        if(id != skip) {
            try {
                var obj = $(this).get(0);
                
                    obj.pauseVideo();
                
                debug('onPlayCallback: paused video ' + id);
            } catch (e) {
                debug('onPlayCallback: failed to pause video ' + id, e);
            }
        } else {
            debug('onPlayCallback: skipping video id:' + skip);
        }
    });
    
    debug('onPlayCallback: return true');
    
    return true;
};


// init googgle analytics array 
var _gaq = [];    
/* =DOM Ready Functions */
$(function(){

    try {
        /*
        $('div.video').live('click', function(){
            var id = $(this).find('object').attr('id');
            debug('clicked video ' + id);
            $('div.video').not(this).find('object').each(function(){
                try {
                    $(this).get(0).pauseVideo();
                    debug('paused video ' + $(this).attr('id') );
                } catch (ee) {
                    debug('caught exception trying to pause video ' + $(this).attr('id'), ee);
                }
            });
        });
        */
        
    	// Open Links in New Window via rel="external"
    	$('a[rel="external"]').click(function(){this.target = "_blank";});
    	
        // track mailto: links 
        $('a[href^="mailto:"]').click(function(){
            try { 
                _gaq.push(['_trackEvent', 'ContactUs', 'MailtoLinkClicked', $(this).attr('href').replace(/mailto:/,'')])
            } catch (e) {}
        });
        
        $('a[href$=".pdf"]').click(function(){
            try {
                _gaq.push(['_trackEvent', 'PDF', 'LinkClicked', $(this).attr('href')]);
            } catch (e) {}
        });
        
    	// Initialize Random Muppet
    	$('#goToSesame').randomMuppet();
        
        // Global Search Box
        $('#search').hover(function(){
            $(this)
                .find('.customInput').stop().animate({width: '150px'},350).css('border-color','#390')
                .find('input').css('width','115px');
            $(this).css('margin-left','0');
        },function(){
            if ( !$('input.active').length ) {
                $(this)
                    .find('.customInput').stop().animate({width: '86px'},350).css('border-color', '#fff')
				.find('input').css('width','52px');
                $(this).andSelf().css('margin-left','-10px');
            }
        });
        
        // Main Nav Hover
        $('#navMain li').hoverIntent(function(){
            $(this).addClass('show');
        },function(){
            $(this).removeClass('show');
        });
    	
    	// Initialize Input Blur
    	$('#search input:not(".active"), #signUp input:not(".active"), #blogSearch input:not(".active")').inputBlur();
    	
    	// Initialize Modal Windows
    	if ( $('.openModal, #map').length ) {
    		if ( $('#map').length ) {
    			$('.marker, .countryList a').modalWin('.modalWin');
    		} else {
    			$('.openModal').modalWin('.modalWin');
    		}
    	}
        
        // Open/Close Panels - partner resource center 
        $('.panelLink.partners').click(function(e){
            e.preventDefault();
            $(this).toggleClass('active');
            $(this).next('.slidingPanel').find('.callouts').slideToggle();
        });
        
        // Open/Close Panels - other pages 
        $('.panelLink:not(.partners)').click(function(){
            $(this).prev('.slidingPanel').slideToggle();
            $(this).toggleClass('up').text($(this).text() == 'learn more' ? 'minimize' : 'learn more');
            return false;
        });    
        
        // donate pages
        // View Toggle
        $('.viewToggle').delegate('a','click',function(){
            $('.viewToggle a').removeClass('active');
            $(this).addClass('active');
            //Show/Hide Content
            var index = $('.viewToggle a').index(this);
            $('.showHide').hide().eq(index).show();
            return false;
        });
        
        // Same Billing Address
        $('#sameForBilling').click(function(){
            $(this).parent().next('div').slideToggle();
        });
        
        
        // home page 
        
        $('a.hotspot:not([data-done])')
            .attr('data-done', 'done')
            .wrapInner('<span class="tooltip"/>')
            .find('.tooltip')
            .append('<span class="top"></span><span class="btm"></span>')
            .css('text-indent','0');
        
        
        // map stuff
        $('.marker').mapTooltips();
        
        // Initialize Modal Windows
        $('.marker, .countryList a').modalWin('.modalWin');
        $('#map #scrollable').tinyscrollbar();
        
        /**
         * FAQ 
         */ 
        // Scroll To Section
        $('.faqList a').click(function(){
            var trgt = $($(this).attr('href')).offset().top;
            $('html, body').animate({scrollTop:trgt}, 500);
            return false;
        });
            
        // Scroll Back To Top
        $('a.backToTop').click(function(){
            $('html, body').animate({scrollTop:0}, 500);
            return false;
        });
        
    } catch (e) {
        //alert(e);
    }
    
});
