var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;

var jsReady = false,
	Event = YAHOO.util.Event,
	Dom = YAHOO.util.Dom,
	dialogVisible = false;
	dialog = null,
	calendar = null,
	theOutput = "",
	theMovie = null,
	calMinDate = new Date(),
	calMaxDate = null;

swfobject.registerObject("ChannelSelector", "9.0.124", "assets/swf/expressInstall.swf");

function isReady() {
	return jsReady;
}

function handleResize(){
	if(dialogVisible == true){
		var theBox = YAHOO.util.Dom.get('channelBox');
		var region = YAHOO.util.Region.getRegion(theBox);
		dialog.moveTo(region.left + 65, region.top + 75);
	}
}

function openCalendar(value) {
	if(dialogVisible == true){
		dialog.hide();
	} else {
		var seldate = calendar.getSelectedDates();
		var theBox = YAHOO.util.Dom.get('channelBox');
		var region = YAHOO.util.Region.getRegion(theBox);
		dialog.moveTo(region.left + 65, region.top + 75);
	
		dialog.show();
	
		if (seldate.length > 0) {
			calendar.cfg.setProperty("pagedate", seldate[0]);
			calendar.render();
		}
	}
}

function pageInit() {
	theMovie = swfobject.getObjectById("ChannelSelector");
	
	Event.on(document, "click", function(e) {
		var el = Event.getTarget(e);
		var dialogEl = dialog.element;
		
		if (el != dialogEl && !Dom.isAncestor(dialogEl, el) && el != theMovie && !Dom.isAncestor(theMovie, el)) {
			dialog.hide();
		}
	});
	
	Event.addListener(window, "resize", handleResize);
	dialog = new YAHOO.widget.Dialog("container", {
		visible:false,
		x:30,
		y:80,
		zindex:10000,
		draggable:false,
		close:true
	});
	dialog.setHeader('Pick A Date');
	dialog.setBody('<div id="cal"></div>');
	dialog.render(document.getElementById("channelBox"));
	dialog.showEvent.subscribe(function() {
		if (YAHOO.env.ua.ie) {
			dialog.fireEvent("changeContent");
		}
		
		var pagedate = calendar.cfg.getProperty("pagedate");
		var leftArrow = YAHOO.util.Dom.getElementsByClassName(calendar.Style.CSS_NAV_LEFT, null, calendar.oDomContainer)[0];
		var rightArrow = YAHOO.util.Dom.getElementsByClassName(calendar.Style.CSS_NAV_RIGHT, null, calendar.oDomContainer)[0];
		
		if (pagedate.getMonth() == range.from.getMonth() && pagedate.getFullYear() == range.from.getFullYear()) {
			YAHOO.util.Dom.setStyle(leftArrow, "visibility", "hidden");
		} else {
			YAHOO.util.Dom.setStyle(leftArrow, "visibility", "visible");
		}
		if (pagedate.getMonth() == range.to.getMonth() && pagedate.getFullYear() == range.to.getFullYear()) {
			YAHOO.util.Dom.setStyle(rightArrow, "visibility", "hidden");
		} else {
			YAHOO.util.Dom.setStyle(rightArrow, "visibility", "visible");
		}
		dialogVisible = true;
	});
	
	dialog.hideEvent.subscribe(function () {
		var leftArrow = YAHOO.util.Dom.getElementsByClassName(calendar.Style.CSS_NAV_LEFT, null, calendar.oDomContainer)[0];
		var rightArrow = YAHOO.util.Dom.getElementsByClassName(calendar.Style.CSS_NAV_RIGHT, null, calendar.oDomContainer)[0];
		YAHOO.util.Dom.setStyle(leftArrow, "visibility", "hidden");
		YAHOO.util.Dom.setStyle(rightArrow, "visibility", "hidden");
		dialogVisible = false;
	});
	
	calMaxDate = YAHOO.widget.DateMath.add(calMinDate, YAHOO.widget.DateMath.DAY, 90);
	calMinDate = YAHOO.widget.DateMath.add(calMinDate, YAHOO.widget.DateMath.DAY, -14);
	var range = {from:calMinDate, to:calMaxDate};

	function checkDateRange(type, args, cal) {
		var pagedate = cal.cfg.getProperty("pagedate");
		if (YAHOO.widget.DateMath.before(pagedate, range.from)) {
			cal.cfg.setProperty("pagedate", range.from);
			pagedate = range.from;
		}
		if (YAHOO.widget.DateMath.after(pagedate, range.to)) {
			cal.cfg.setProperty("pagedate", range.to);
			pagedate = range.to;
		}
	}
             
	function checkDateRangeUI(type, args, cal) {
		dialog.fireEvent("changeContent");
		
		var pagedate = cal.cfg.getProperty("pagedate");

		var leftArrow = YAHOO.util.Dom.getElementsByClassName(cal.Style.CSS_NAV_LEFT, null, cal.oDomContainer)[0];
		var rightArrow = YAHOO.util.Dom.getElementsByClassName(cal.Style.CSS_NAV_RIGHT, null, cal.oDomContainer)[0];
		
		
		if (pagedate.getMonth() == range.from.getMonth() && pagedate.getFullYear() == range.from.getFullYear()) {
			YAHOO.util.Dom.setStyle(leftArrow, "visibility", "hidden");
		} else {
			YAHOO.util.Dom.setStyle(leftArrow, "visibility", "visible");
		}
		if (pagedate.getMonth() == range.to.getMonth() && pagedate.getFullYear() == range.to.getFullYear()) {
			YAHOO.util.Dom.setStyle(rightArrow, "visibility", "hidden");
		} else {
			YAHOO.util.Dom.setStyle(rightArrow, "visibility", "visible");
		}
	}
	
	calendar = new YAHOO.widget.Calendar("cal", {
		iframe:false,
		mindate:calMinDate,
		maxdate:calMaxDate
	});

	calendar.selectEvent.subscribe(function() {
		if (calendar.getSelectedDates().length > 0) {

			var selDate = calendar.getSelectedDates()[0];
			var dStr = selDate.getDate();
			var mStr = selDate.getMonth() + 1;
			var yStr = selDate.getFullYear();
        
			theOutput = mStr + "/" + dStr + "/" + yStr;
			sendToActionScript(theOutput);
		}
		dialog.hide();
	});
	
	calendar.beforeRenderEvent.subscribe(checkDateRange, calendar);
	calendar.renderEvent.subscribe(checkDateRangeUI, calendar);
	calendar.render();
	var leftArrow = YAHOO.util.Dom.getElementsByClassName(calendar.Style.CSS_NAV_LEFT, null, calendar.oDomContainer)[0];
	var rightArrow = YAHOO.util.Dom.getElementsByClassName(calendar.Style.CSS_NAV_RIGHT, null, calendar.oDomContainer)[0];
	YAHOO.util.Dom.setStyle(leftArrow, "visibility", "hidden");
	YAHOO.util.Dom.setStyle(rightArrow, "visibility", "hidden");
	
	jsReady = true;
}

function sendToActionScript(value) {
	theMovie.sendToActionScript(value);
}

function showTrailer(value) {
    window.open("/video.php?v=" + value,"Window1","menubar=no,width=310,height=250,toolbar=no");
}
