var oNSC = {};

YAHOO.namespace("nsc");
YAHOO.namespace("kainee");
YAHOO.namespace("kainee.Library");

// kainee helpers

YAHOO.kainee.Library.getURLParam = function (sURL, sParam) {
	sParam = sParam.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var sExpr = "[\\?&]" + sParam + "=([^&#]*)";
	var oRegExp = new RegExp(sExpr);
	var sMatch = oRegExp.exec(sURL);
	if(sMatch == null){
		return false;
	}else{
		return sMatch[1];
	}
}

// NSC Calendar widget
YAHOO.nsc.Calendar = function(){
	var YUE = YAHOO.util.Event;
	var	YUD = YAHOO.util.Dom;
	var	YUC = YAHOO.util.Connect;

	var calendar;

	var calendarEvent = new YAHOO.util.CustomEvent("CalendarOptions");
	var sendRequest = new YAHOO.util.CustomEvent("GetCalendar");
  var defaultHomeEvents;

  function calendarClickEvent(e) {
  	var eTarget = YUE.getTarget(e);	
  	while (eTarget.id !== "calendar-wrapper" || eTarget.nodeName.toUpperCase() === 'CAPTION'){
  	  if(eTarget.nodeName.toUpperCase() === 'A' && (YUD.hasClass(eTarget.parentNode, 'calendar-next') || YUD.hasClass(eTarget.parentNode, 'calendar-prev')) && !YUD.hasClass(eTarget.parentNode, 'calendar-month')){
    	  YUE.preventDefault(e);
	  	  calendarEvent.fire(eTarget);
		    break;
  	  } else {
  			eTarget = eTarget.parentNode;
  		}
  	}
  }

  function calendarHoverEvent(e) {
  	var eTarget = YUE.getTarget(e);	
  	while (eTarget.id !== "calendar-wrapper" || eTarget.nodeName.toUpperCase() === 'TR'){
  		if(eTarget.nodeName.toUpperCase() === 'A' && YUD.hasClass(eTarget.parentNode, 'event-details')){
    		if (typeof calendar._timer !== 'undefined')
    		{
    			clearTimeout(calendar._timer);
    			calendar._timer = setTimeout(function(){calendarEvent.fire(eTarget);}, 300);
    		} else {
          calendar._timer = setTimeout(function(){calendarEvent.fire(eTarget);}, 10);
    		}
   			// remove defaults
        defaultHomeEvents = YUD.getElementsByClassName('events-upcoming', 'div')[0];
  			YUD.setStyle(defaultHomeEvents, 'position', 'absolute');
  			YUD.setStyle(defaultHomeEvents, 'left', '-9999em');
     		break;
   		} else {
  			eTarget = eTarget.parentNode;
  		}
  	}
  }

	function calendarOutEvent(e) {
    	var eTarget = YUE.getTarget(e);	
    	while (eTarget.id !== "calendar-wrapper" || eTarget.nodeName.toUpperCase() === 'TR'){
    		if(eTarget.nodeName.toUpperCase() === 'A' && YUD.hasClass(eTarget.parentNode, 'event-details')){
		    	if (calendar._timer)
				{
					clearTimeout(calendar._timer);
				}
				break;
    		}else{
    			eTarget = eTarget.parentNode;
    		}
    	}
	}

	function calendarItemClicked(type, args)
	{
		var oNode = args[0];
		if (YUD.hasClass(oNode.parentNode, 'calendar-month')) {
			sendRequest.fire(args[0].href);
		}

		if (YUD.hasClass(oNode.parentNode, 'calendar-next')) {
			sendRequest.fire(args[0].href);
		}

		if (YUD.hasClass(oNode.parentNode, 'calendar-prev')) {
			sendRequest.fire(args[0].href);
		}

		if (YUD.hasClass(oNode.parentNode, 'event-details')) {
			var oEventDetails = YUD.getNextSibling(oNode);
			if (YUD.hasClass(oEventDetails, 'events')) {
				YUD.setStyle(oEventDetails, 'border', '1px solid #FFFFFF');
				YUD.setStyle(oEventDetails, 'border', 'none');
				if (calendar._currentHoverEvent !== null) {
					YUD.setStyle(calendar._currentHoverEvent, 'left', '-999em');
				}
				calendar._currentHoverEvent = oEventDetails;
				if (!YUD.hasClass(oEventDetails.firstChild, 'events-date-title'))
				{
					var monthTitleText = '';
					var dateHoverNode = document.createElement('h3');
					dateHoverNode.className = 'events-date-title';
					if (YUD.getElementsByClassName('calendar-month', 'span', calendar)[0].childNodes[0].nodeName.toUpperCase() === 'A')
					{
						monthTitleText = YUD.getFirstChild((YUD.getElementsByClassName('calendar-month', 'span', calendar)[0])).innerHTML + ' events';
					}
					else
					{
						monthTitleText = YUD.getElementsByClassName('calendar-month', 'span', calendar)[0].innerHTML + ' events';
					}
					var dateHoverText = document.createTextNode(oNode.innerHTML + ' ' + monthTitleText);
					dateHoverNode.appendChild(dateHoverText);
					YUD.insertBefore(dateHoverNode, YUD.getFirstChild(oEventDetails));
				}
				YUD.setStyle(oEventDetails, 'left', '155px');
				YUD.setStyle(oEventDetails, 'top', '0');
			}
		}
	}
	
	function handleSuccess(o) {
		if(o.responseText !== undefined){
			var nscEventCalendar = eval("(" + o.responseText + ")");
			if (nscEventCalendar.success === 'correct')
			{
				calendar.innerHTML = nscEventCalendar.content;
				YUD.setStyle(calendar.parentNode, 'opacity', '0.95');
				YUD.removeClass(calendar.parentNode.parentNode, 'waiting');

			// remove defaults
      defaultHomeEvents = YUD.getElementsByClassName('events-upcoming', 'div')[0];
			YUD.setStyle(defaultHomeEvents, 'position', 'relative');
			YUD.setStyle(defaultHomeEvents, 'left', '0');

			}
			else
			{
				YUD.removeClass(calendar.parentNode, 'waiting');
			}
		}
	}

	function handleFailure(o) {
		if(o.responseText !== undefined){
			YUD.setStyle(calendar.parentNode, 'opacity', '0.95');
			YUD.removeClass(calendar.parentNode, 'waiting');
			return false;
		}
	}

	function makeRequest(sType, args){
		var sURL = args[0];

    	if (calendar._timer)
		{
			clearTimeout(calendar._timer);
		}

		if (calendar._currentHoverEvent !== null) {
			YUD.setStyle(calendar._currentHoverEvent, 'left', '-999em');
		}

		YUD.setStyle(calendar.parentNode, 'opacity', '0.1');
		YUD.addClass(calendar.parentNode.parentNode, 'waiting');

		var callback = {
		  success:handleSuccess,
		  failure:handleFailure
		};

		YUC.initHeader('X-Requested-For', 'NSCEventListings');
		YUC.asyncRequest('GET', sURL, callback);
	}

  function loadIt() {
    calendar._currentHoverEvent = null;

  	YUE.addListener(calendar, 'click', calendarClickEvent);
  	YUE.addListener(calendar, 'mouseover', calendarHoverEvent);
  	YUE.addListener(calendar, 'mouseout', calendarOutEvent);
  
  	calendarEvent.subscribe(calendarItemClicked);
  	sendRequest.subscribe(makeRequest);
  }

	return {
		init : function() {
      if (YUD.get('calendar-wrapper')) {
        calendar = YUD.get('calendar-wrapper');
        loadIt();
      }
		}
	};
}();
// end calendar

// Start slideshow
YAHOO.kainee.slideshow = function(){
	var YUE = YAHOO.util.Event;
	var	YUD = YAHOO.util.Dom;

  var ss, ssContent, ssItems, ssCover;
	var ssCaption, ssControls, ssNavItems, ssNavPlay, ssNavPause;

  var oConfig = {};
  
	//Default settings
	var ssDelay = 3000;
  var _oTimer = 0;

	//animation custom events
	var ssControlOption   = new YAHOO.util.CustomEvent("NavOptions");
	ssControlOption.subscribe(ssToggleControlOption);

  function ssNavShowItem(e) {
  	YUE.preventDefault(e);
  	var eTarget = YUE.getTarget(e);	
  	while (eTarget.id != "ssNavList") {
  		if (eTarget.nodeName.toUpperCase() == "A") {
  			//pause
  			ssPause(e);
  			//deactivate nav
  			deactivateNav(oConfig._current);
  			//switch to slide
  			showIt(parseInt(eTarget.id.replace('ssNavShowItem', '')));
  			break;
  		} else {
  			eTarget = eTarget.parentNode;
  		}
  	}
  }
    
	function ssBuildControls() {
	  ssControls = document.createElement('div');
	  ssControls.id = 'ssControl';
	  
	  var ssNavList = document.createElement('ul');
	  ssNavList.id = 'ssNavList';
	  for (var i=0, j=ssItems.length; i<j; i++) {
	    var oLiNode = document.createElement('li');
	    var oAnchorNode = document.createElement('a');
	    oAnchorNode.id = 'ssNavShowItem' + i;
	    oAnchorNode.setAttribute('href', '#');
	    var oAnchorNodeText = document.createTextNode(i);
	    oAnchorNode.appendChild(oAnchorNodeText);
	    oLiNode.appendChild(oAnchorNode);
	    ssNavList.appendChild(oLiNode);
	  }
	  
	  ssControls.appendChild(ssNavList);
	  ss.appendChild(ssControls);

	  var ssControlOptions = new Array('play','ssNavPlay', 'pause', 'ssNavPause');
	  var ssControlList = document.createElement('ul');
	  ssControlList.id = 'navControls';
	  
	  for (var i=0, j=ssControlOptions.length; i<j; i=i+2) {
	    var oLiNode = document.createElement('li');
	    var oAnchorNode = document.createElement('a');
	    oAnchorNode.id = ssControlOptions[i+1];
	    oAnchorNode.setAttribute('href', '#');
	    var oAnchorNodeText = document.createTextNode(ssControlOptions[i]);
	    oAnchorNode.appendChild(oAnchorNodeText);
	    oLiNode.appendChild(oAnchorNode);
	    ssControlList.appendChild(oLiNode);
	  }
	  ssControls.appendChild(ssControlList);

	  //add caption area
	  ssCaption = document.createElement('p');
	  ssCaption.id = 'ssCaption';
	  var oAnchorNode = document.createElement('a');
	  oAnchorNode.setAttribute('href', '#');

	  var oCaption = document.createTextNode('Caption text');
	  oAnchorNode.appendChild(oCaption);
	  ssCaption.appendChild(oAnchorNode);
	  ssContent.parentNode.appendChild(ssCaption);
	}
	
	function ssPause(e) {
	  YUE.preventDefault(e);
	  clearInterval(_oTimer);
	  ssControlOption.fire({text : 'pause'});
	}

	function ssPlay(e) {
	  YUE.preventDefault(e);
	  autoPlay();
	  clearInterval(_oTimer);
	  _oTimer = setInterval(function(){autoPlay()}, ssDelay);
	  ssControlOption.fire({text : 'play'});
	}
	
	function ssToggleControlOption(type, args) {
	  if (args[0].text === 'pause') {
		  YUD.addClass(ssNavPlay, 'active');
		  YUD.removeClass(ssNavPause, 'active');
	  } else {
		  YUD.removeClass(ssNavPlay, 'active');
		  YUD.addClass(ssNavPause, 'active');
	  }
	}

	function showIt(n) {
		oConfig._current = n;
		showActiveNav();
		
		var oAttributes = { 
			top : { to : -(n*188)}
		};

		var oAnim = new YAHOO.util.Motion(ssContent, oAttributes, 0.5, YAHOO.util.Easing.easeIn);
		oAnim.onStart.subscribe(hideCaption);
		oAnim.animate();
	}
	
	function showActiveNav() {
		YUD.addClass(ssNavItems[oConfig._current], 'active');
	}

	function deactivateNav(n) {
		YUD.removeClass(ssNavItems[n], 'active');
	}
	
	function showCaption() {
		var link = ssItems[oConfig._current].getElementsByTagName('a')[0].getAttribute('href');
		var text = ssItems[oConfig._current].getElementsByTagName('img')[0].getAttribute('alt');

		ssCaption.firstChild.setAttribute('href', link);
		ssCaption.firstChild.firstChild.nodeValue = text;

		var oAttributes = { 
			opacity : { to : 0.8}
		};

		var oAnim = new YAHOO.util.Anim(ssCaption, oAttributes, 0.5, YAHOO.util.Easing.easeIn);
		oAnim.animate();
	}

	function hideCaption() {
		var oAttributes = { 
			opacity : { to : 0}
		};

		var oAnim = new YAHOO.util.Anim(ssCaption, oAttributes, 0.5, YAHOO.util.Easing.easeIn);
		oAnim.onComplete.subscribe(showCaption);
		oAnim.animate();
	}

	function autoPlay() {
		deactivateNav(oConfig._current);
		if (oConfig._current != (ssItems.length-1)){
			oConfig._current =  parseInt(oConfig._current + 1);
		} else {
			oConfig._current = 0;
		}
		showIt(oConfig._current);
	}

	function loadIt(oConfig) {
 		oConfig = oConfig;

    ss 			    = YUD.get('slideShow');
  	ssContent  	= YUD.get('slideShowContent');
   	ssItems 	  = ssContent.getElementsByTagName('li');
  	ssCover 	  = YUD.get('slideShowCover');

  	YUD.addClass(ss, 'enable')
  	YUD.addClass(ssCover, 'active')

		//oConfig._current = 0;
    oConfig.delay !== 'undefined' ||  oConfig.delay < 3000 ? ssDelay = parseInt(oConfig.delay) : ssDelay = 3000;
    _oTimer = 0;

  	//Build all HTML so you have access to DOM
  	ssBuildControls();

  	ssNavItems      = YUD.get('ssNavList').getElementsByTagName('a');
  	ssNavPlay       = YUD.get('ssNavPlay');
  	ssNavPause      = YUD.get('ssNavPause');

  	YUE.addListener(ssNavPlay, 'click', ssPlay);
  	YUE.addListener(ssNavPause, 'click', ssPause);
   	YUE.on("ssNavList", "click", ssNavShowItem);

    ssControlOption.fire({text : 'play'});
    
    if (oConfig.autoPlay) {
      showIt(oConfig._current);
    } else {
      oConfig._current = 0;
      showActiveNav();
    }

    showCaption();
    _oTimer = setInterval(function(){autoPlay()}, ssDelay);

  }
  
	return  {
		init : function(oConfig) {
      loadIt(oConfig);
    }
	};
}();
// end slideshow

// CTA buttons
YAHOO.kainee.CTA = function () {
  function fixSubmit(e) {
    YAHOO.util.Event.preventDefault(e);
    var form = this.form;
    
    if (YAHOO.env.ua.ie > 0) {
      // IE will submit all buttons at once, so kill the ones we didn't click
      var els = form.getElementsByTagName('button');
      if (els.length > 0) {
        for (var i = 0, l = els.length; i < l; i++) {
          // check if it's the same element--name isn't reliable as there could be multiple forms with the same named element
          if (els[i] !== this) {
            els[i].disabled = true;
          }
        }
      }
    }
    else {
      // since there's no type="submit", fudge the type/value pair
      var input = document.createElement('input');
      input.type  = 'hidden';
      input.name  = this.name;
      input.value = this.value;
      form.appendChild(input);
    }
    
    form.submit();
  }
  
  function addHoverState(e) {
    el = YAHOO.util.Event.getTarget(e);
    while (el.className != 'cta') {
      if (el.nodeName.toUpperCase() == "BUTTON") {
        YAHOO.util.Dom.addClass(el, 'hover');
        break;
      } else {
        el = el.parentNode;
      }
    }
  }

  function removeHoverState(e) {
    el = YAHOO.util.Event.getTarget(e);
    while (el.className != 'cta') {
      if (el.nodeName.toUpperCase() == "BUTTON") {
        YAHOO.util.Dom.removeClass(el, 'hover');
        break;
      } else {
        el = el.parentNode;
      }
    }
  }

  return {
    init : function () {
      var els = YAHOO.util.Dom.getElementsByClassName('cta', 'input');
      var startContent = '<span><span><span><span>';
      var endContent = '<\/span><\/span><\/span><\/span>';
      if (els.length > 0) {
        for (var i = 0, l = els.length; i < l; i++) {
          var el = els[i];
          if (el.nodeName.toLowerCase() === 'input' && el.type.toLowerCase() === 'submit') {
            // do transform
            var newCta = document.createElement('p');
  
            // add additional classes ('secondary', 'right' etc.)
            newCta.className = el.className;
  
            var button = document.createElement('button');
            button.name     = el.name;
            button.value    = el.value;
            button.id       = el.id;
  
            if (YAHOO.util.Dom.hasClass(el, 'disabled')) {
                button.disabled = true;
            }
  
            button.innerHTML = startContent + el.value + endContent;
            newCta.appendChild(button);
            el.parentNode.replaceChild(newCta, el);
  
            // fix the submit
            //try {
            //    button.type = 'submit';
            //}
            //catch (err) {
                YAHOO.util.Event.on(button, 'click', fixSubmit);  
            //}
  
            YAHOO.util.Event.on(button, 'click', function (e) {
                var target = YAHOO.util.Event.getTarget(e);
                YAHOO.util.Event.preventDefault(e);
                YAHOO.util.Dom.addClass(target, 'click');
                this.form.submit();
            });
            // fix :focus pseudo-class for all IE for keyboard navigation
            if (YAHOO.env.ua.ie > 0) {
              YAHOO.util.Event.on(button, 'focus', addHoverState);
              YAHOO.util.Event.on(button, 'blur', removeHoverState);
              YAHOO.util.Event.on(button, 'mouseover', addHoverState);
              YAHOO.util.Event.on(button, 'mouseout', removeHoverState);
            }
          }
        }
      }
    }
  };
}();

YAHOO.kainee.CTA.init();
// end cta buttons

// begin map box
YAHOO.kainee.mapBox = function() {
	var YUE = YAHOO.util.Event;
	var	YUD = YAHOO.util.Dom;
	
	var fbLaunchPanel   = new YAHOO.util.CustomEvent("fbLaunchPanel");
	fbLaunchPanel.subscribe(createPanel);

	var pagePosition = (YUD.getViewportWidth()/2) - (420/2);
	var oPanel = new YAHOO.widget.Panel("panel", {visible:false, width:420, draggable:false, x:pagePosition, y:10, close:true, modal:true, constraintoviewport:true} );
	
	function mapClickedOn(e) {
	  YUE.preventDefault(e);
		var eTarget = YUE.getTarget(e);	
		while (eTarget.id !== "mapBox") {
			if(eTarget.nodeName.toUpperCase() === "A") {
				fbLaunchPanel.fire({oNode : eTarget});
	  		break;
	  	} else {
	  		eTarget = eTarget.parentNode;
	  	}
	  }	  
	}
	
	function removeSWFObject() {
		var oPanelNode = YUD.get('panel');
		var bd = YUD.getElementsByClassName('bd', 'div', oPanelNode);
		bd[0].innerHTML = '';
	}

	function createPanel(type, args) {
		// Instantiate a Panel from script
		var sMapPath = YAHOO.kainee.Library.getURLParam(args[0].oNode.href, 'q1');
		var sPanelTitle = 'Map of directions';
		var aPanelContent = [];
		aPanelContent.push('<div id="map"></div>');
		oPanel.setHeader(sPanelTitle);
		oPanel.setBody(aPanelContent.join(''));
		oPanel.render("flyerBox");

		// Create a map object  
		var oMap = new YMap(document.getElementById('map'));  
		
		oMap.addTypeControl();  
		oMap.addZoomLong();  
		oMap.addPanControl();
		oMap.setMapType(YAHOO_MAP_REG);  
		
		var oImage = new YImage();
		
		oImage.src = 'images/icons/icon_pin_red.png';
		oImage.size = new YSize(12,20);
		oImage.offset = new YCoordPoint(-3,0);
		oImage.offsetSmartWindow = new YCoordPoint(0,0);
		var oMarker = new YMarker(sMapPath, oImage, 'marker-pin');
		oMap.addOverlay(oMarker);
			
		YEvent.Capture(oMarker, EventsList.endMapDraw, getMarkerInfo);

		// Display the map centered on a geocoded location  
		oMap.drawZoomAndCenter(sMapPath, 3);  
		oMap.showSmartWindow(sMapPath, args[0].oNode.getAttribute('title'));
		oPanel.hideEvent.subscribe(removeSWFObject);

		oPanel.show();
	}
	
	function getMarkerInfo() {
		oMarker.setSmartWindowColor('lightblue');
		oMarker.openSmartWindow('text');
	}

  function loadIt() {
  	var fb = YUD.get('mapBox');
  	YUE.addListener(fb, 'click', mapClickedOn);
  }	
	
	return {
	 init : function(){
	   if (YUD.get('mapBox')) {
       loadIt();
     }
	 } 
	};
}();
// end map box

//begin flyerbox
YAHOO.kainee.flyerBox = function() {
	var YUE = YAHOO.util.Event;
	var	YUD = YAHOO.util.Dom;
	
	var fbLaunchPanel   = new YAHOO.util.CustomEvent("fbLaunchPanel");
	fbLaunchPanel.subscribe(createFBPanel);
	
	var pagePosition = (YUD.getViewportWidth()/2) - (420/2);
	var oPanel = new YAHOO.widget.Panel("panel", {visible:false, width:420, draggable:false, x:pagePosition, y:10, close:true, modal:true, constraintoviewport:true} );

	function flyerClickedOn(e) {
		YUE.preventDefault(e);
  	var eTarget = YUE.getTarget(e);	
  	while (!YUD.hasClass(eTarget, 'eventImage')) {
			if (eTarget.nodeName.toUpperCase() == "A") {
       	fbLaunchPanel.fire({oNode : eTarget, textHeader : 'Some header', textBody : '<p>Some text</p>', textFooter : 'some footer'});
  			//eTarget.id;
  			break;
  		} else {
  			eTarget = eTarget.parentNode;
  		}
  	}
	}
	
	function createFBPanel(type, args) {
		// reset config position
		var newConfig = new YAHOO.util.Config(oPanel.cfg);
		oPanel.cfg.refresh();
		var panelTitle = args[0].oNode.getAttribute('title');;
		var panelContent = [];
		
		panelContent.push('<img src="' + args[0].oNode.getAttribute('href') + '" />');
		oPanel.setHeader(panelTitle);
		oPanel.setBody(panelContent.join(''));

		oPanel.render('flyerBox');
		oPanel.show();
		return false;
	}
  
	return {
	 init : function(){
      if (YAHOO.util.Dom.getElementsByClassName('eventImage')) {
       	YUE.addListener(YAHOO.util.Dom.getElementsByClassName('eventImage'), 'click', flyerClickedOn);
      }
	 }
	};
}();
// end flyerbox

// start youtube box
YAHOO.kainee.youTubeBox = function() {
	var YUE = YAHOO.util.Event;
	var	YUD = YAHOO.util.Dom;
	var yt, ytLaunchPanel, oPanel, pagePosition;

	function flyerClickedOn(e) {
		YUE.preventDefault(e);
  	var eTarget = YUE.getTarget(e);	
  	while (eTarget.parentNode.id !== 'youTubeBox') {
			if(eTarget.nodeName.toUpperCase() === "A") {
				ytLaunchPanel.fire({oNode : eTarget});
	   			break;
	   	} else {
	   			eTarget = eTarget.parentNode;
	   	}
	  }
	}
	
	function removeSWFObject() {
		var panel = YUD.get('ytpanel');
		var bd = YUD.getElementsByClassName('bd', 'div', panel);
		if (bd[0]) {
			bd[0].innerHTML = bd[0].innerHTML;
		}
	}
	
	function createYTPanel(type, args) {
		var panelContent = [];
		var sURL = 'http://www.youtube.com/v/' + YAHOO.kainee.Library.getURLParam(args[0].oNode.getAttribute('href'), 'v');

		//var UTswfObject = '<object width="425" height="344"><param name="movie" value="' + sURL + '&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="' + sURL + '&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object><br />';
		var UTswfObject = '<embed src="' + sURL + '&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed>';
		panelContent.push(UTswfObject);

		oPanel.setHeader(args[0].oNode.getAttribute('title'));
		oPanel.setBody(panelContent.join(''));
		oPanel.hideEvent.subscribe(removeSWFObject);
		oPanel.render('youTubeBox');
		oPanel.show();
	}
	
	function loadIt() {
		yt = YUD.get('youTubeBox');
		YUE.addListener(yt, 'click', flyerClickedOn);

		ytLaunchPanel = new YAHOO.util.CustomEvent("ytLaunchPanel");
		ytLaunchPanel.subscribe(createYTPanel);
		pagePosition = (YUD.getViewportWidth()/2) - (420/2);
		oPanel = new YAHOO.widget.Panel("ytpanel", {visible:false, width:420, draggable:false, x:pagePosition, y:10, close:true, modal:true, constraintoviewport:true} );
	}

	return {
		init : function() {
			if (YUD.get('youTubeBox')) {
        loadIt();
      }
		}
	};
}();
// end youtube box

YAHOO.util.Event.onAvailable('slideShowContent', function(){
  var oConfig = {
    delay 			: 3000,
    direction	: "vertical",
    autoPlay		: true,
    _current		: 0
  };

  YAHOO.kainee.slideshow.init(oConfig);
});

YAHOO.util.Event.onAvailable('youTubeBox', function(){
  YAHOO.kainee.youTubeBox.init();
});

// begin event interface calls
YAHOO.util.Event.onAvailable('calendar-wrapper', function(){
	YAHOO.nsc.Calendar.init();
});

YAHOO.util.Event.onAvailable('flyerBox', function(){
  YAHOO.kainee.mapBox.init();
});

YAHOO.util.Event.onAvailable('flyerBox', function(){
  YAHOO.kainee.flyerBox.init();
});

YAHOO.util.Event.onAvailable('searchSite', function(){
	YAHOO.nsc.searchTextBox = function(){
		var YUE = YAHOO.util.Event;
		var	YUD = YAHOO.util.Dom;
		var search;
		
		function switchIt(e)
		{
		   	var eTarget = YUE.getTarget(e);
			if(eTarget.value.toLowerCase() == 'site search'){
				eTarget.value = ''
				YUD.removeClass(eTarget, 'no-text');
			} else if(eTarget.value == ''){
				eTarget.value = 'site search'
				YUD.addClass(eTarget, 'no-text');
			}else{
				YUD.removeClass(eTarget, 'no-text');
			}
		}

		return {
			init : function(){
				search = document.getElementById('searchSite');
				YUE.addListener(search, 'focus', switchIt);
				YUE.addListener(search, 'blur', switchIt);
			}
		}
	}();
	YAHOO.nsc.searchTextBox.init();
});

YAHOO.util.Event.onAvailable("clubselect", function(){
	YAHOO.nsc.clubMapSearch = function(){

		var YUE = YAHOO.util.Event;
		var	YUD = YAHOO.util.Dom;
		var clubWrapper;
		var clubMap;
		var clubMapArea;
		var activeRegion;
		
		function init(){
			clubWrapper = YUD.get("clubselect");
			clubMapArea = YUD.get("clubMapArea");
			clubMap = YUD.get("clubMap");

			YUE.addListener(clubMapArea, "mouseover", regionSelect);
			YUE.addListener(clubMapArea, "mouseout", reset);

			YUE.addListener(clubWrapper, "mouseover", mapSelect);
			YUE.addListener(clubWrapper, "mouseout", reset);
		}

		function regionSelect(e){
	    	YUE.preventDefault(e);
	    	var eTarget = YUE.getTarget(e);
	    	while (eTarget.id != "clubMapArea"){
				if(eTarget.nodeName.toUpperCase() == "AREA"){
	    			switchIt(eTarget);
	    			break;
	    		}else{
	    			eTarget = eTarget.parentNode;
	    		};
	    	};
		}

		function switchIt(node){
			//console.log("images/map/bg_map_" + node.id.replace(/\-/g, "_") + ".gif");
			clubMap.src = "images/map/bg_map_" + node.id.replace(/\-/g, "_") + ".gif";
			activeRegion = YUD.get('reg-' + node.id);
			YUD.addClass(activeRegion, 'active');
		}

		function mapSelect(e){
	    	YUE.preventDefault(e);
	    	var eTarget = YUE.getTarget(e);	
	    	while (eTarget.id != "clubselect"){
	    		if(eTarget.nodeName.toUpperCase() == "A"){
	    			showIt(eTarget);
	    			break;
	    		}else{
	    			eTarget = eTarget.parentNode;
	    		};
	    	};
		}
		
		function reset(){
			clubMap.src = "images/map/bg_map_main.gif";
			YUD.removeClass(activeRegion, 'active');
		}

		function showIt(node){
			clubMap.src = "images/map/bg_map_" + node.title.toLowerCase().replace(/ /g, "_") + ".gif";
		}

		return {
			init : function(){
				if(YUD.get('clubselect')){
					init();
				}
			}
		};
	
	}();

	YAHOO.nsc.clubMapSearch.init();
});