/**
 * @author kfrank
 * @version 1.0
 * @type {Object} Singleton - used to switch videos on holiday site pages
 * @copyright 10/24/07
 * @requires from YUI - http://yui.yahooapis.com/2.3.0/build/yahoo-dom-event/yahoo-dom-event.js
 * @requires from EXPOTV - http://www.expotv.com/js/sites/holiday/common.js
 */
EXPOTV.Holiday.VideoHandler = new function()
{
    var self = this;

    this.init = function()
    {
	var anchorArray = yud.get("featuredvideoblock").getElementsByTagName("a");
	for (var i=0; i < EXPOTV.Holiday.videos.length; i++)
	{
	    var anchorEl = anchorArray[i];
	    yue.on(anchorEl, "click", self.selectVideo, true);

	    var videoObj = EXPOTV.Holiday.videos[i];
	    videoObj.htmlEl = anchorEl;
	}

	self.head = document.getElementsByTagName("head")[0];
	self.dataContainer = document.getElementById("dataContainer");
    }

    this.selectVideo = function(e)
    {
	yue.preventDefault(e);
        for(var i=0; i < EXPOTV.Holiday.videos.length; i++)
	{
	    var videoObj = EXPOTV.Holiday.videos[i];
	    if(videoObj.htmlEl === this)
	    {
		if(self.swapVideo(videoObj))
		{
		    self.setSelection(videoObj);
		    self.setText(videoObj);
		}
	    }
	}
    }

    this.swapVideo = function(oVideo)
    {
	var videoObj = oVideo;
	var head = self.head;
	var script = document.getElementById("flash_json_data");
	var dataContainerContent = self.dataContainer.innerHTML;
	if(script && dataContainerContent!= "")
	{
	    /*** MediosOne tracking ***/
                var now = new Date();
            var moTrackingPixel = new Image();
            moTrackingPixel.height = "1";
            moTrackingPixel.width = "1";
            moTrackingPixel.src = "http://ad.scanmedios.com/pixel?id=81406&t=2&rand="+now.getTime();
            /*** End MediosOne tracking ***/
                dataContainerContent.innerHTML = "";
	    head.removeChild(script);
	    initFlashProperties
	    (
		{
		    cont_url:[videoObj.videoURL],
		    cont_title:[videoObj.videoTitle],
		    prog_id: 2401,
		    skin_id: 12,
		    usr_id: 61,
		    cust_id: 0,
		    autoplay: 1,
		    still_image: videoObj.stillImageURL,
		    video_type: videoObj.videoType,
		    video_id: videoObj.videoID
		}
	    )
	    return true;
	}
	else return false;
    }

    this.setSelection = function(oSelectedVideo)
    {
	var selectedVideo = oSelectedVideo;
	for(var i=0; i < EXPOTV.Holiday.videos.length; i++)
	{
	    var videoObj = EXPOTV.Holiday.videos[i];
	    if(videoObj !== selectedVideo) yud.removeClass(videoObj.htmlEl, "selected");
	    else yud.addClass(videoObj.htmlEl, "selected");
	}
	self.onSetSelection.fire(selectedVideo);
    }

    this.onSetSelection = new YAHOO.util.CustomEvent("onSetSelection", this);

    this.setText = function(oVideo)
    {
	var videoObj = oVideo;
	var titleTarget = yud.get("title");
	var descriptionTarget = yud.get("videodescription");
        var embedTarget = yud.get("embedtextbox");

	titleTarget.innerHTML = videoObj.videoTitle;
	descriptionTarget.innerHTML = videoObj.description;
        embedTarget.value = videoObj.embed;

	if(yud.get("dateblock"))
	{
	    var dayTarget = yud.get("day");
	    var monthTarget = yud.get("month");
	    dayTarget.innerHTML =  videoObj.day;
	    monthTarget.innerHTML = videoObj.month;
	}

    }
};