
/*********** Browser Detection ***********/

browser="";bver=0;
nav=String(navigator.userAgent).toLowerCase();
platform = navigator.platform;
if (nav.indexOf("msie")!=-1)	{browser="ie"}
if (nav.indexOf("firefox")!=-1)	{browser="ff"}
if (nav.indexOf("minefield")!=-1){browser="ff"}
if (nav.indexOf("safari")!=-1)	{browser="safari"}
if (nav.indexOf("opera")!=-1)	{browser="opera"}
if (nav.indexOf("msie 8.0")!=-1){bver=8}
if (nav.indexOf("msie 7.0")!=-1){bver=7}
if (nav.indexOf("msie 6.0")!=-1){bver=6}
if (nav.indexOf("msie 5.5")!=-1){bver=5.5}
if (nav.indexOf("msie 5.0")!=-1){bver=5}

/*********** Browser Detection ***********/

// Adding global error handler
try
{
window.onerror = function()
{
    return true;
}
}
catch(e)
{}

var JSON=function(){var m={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},s={'boolean':function(x){return String(x);},number:function(x){return isFinite(x)?String(x):'null';},string:function(x){if(/["\\\x00-\x1f]/.test(x)){x=x.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c;}c=b.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);});}return'"'+x+'"';},object:function(x){if(x){var a=[],b,f,i,l,v;if(x instanceof Array){a[0]='[';l=x.length;for(i=0;i<l;i+=1){v=x[i];f=s[typeof v];if(f){v=f(v);if(typeof v=='string'){if(b){a[a.length]=',';}a[a.length]=v;b=true;}}}a[a.length]=']';}else if(x instanceof Object){a[0]='{';for(i in x){v=x[i];f=s[typeof v];if(f){v=f(v);if(typeof v=='string'){if(b){a[a.length]=',';}a.push(s.string(i),':',v);b=true;}}}a[a.length]='}';}else{return;}return a.join('');}return'null';}};return{copyright:'(c)2005 JSON.org',license:'http://www.crockford.com/JSON/license.html',stringify:function(v){var f=s[typeof v];if(f){v=f(v);if(typeof v=='string'){return v;}}return null;},eval:function(text){try{if(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(text)){return eval('('+text+')');}}catch(e){}throw new SyntaxError("eval");},parse:function(text){var at=0;var ch=' ';function error(m){throw{name:'JSONError',message:m,at:at-1,text:text};}function next(){ch=text.charAt(at);at+=1;return ch;}function white(){while(ch){if(ch<=' '){next();}else if(ch=='/'){switch(next()){case'/':while(next()&&ch!='\n'&&ch!='\r'){}break;case'*':next();for(;;){if(ch){if(ch=='*'){if(next()=='/'){next();break;}}else{next();}}else{error("Unterminated comment");}}break;default:error("Syntax error");}}else{break;}}}function string(){var i,s='',t,u;if(ch=='"'){outer:while(next()){if(ch=='"'){next();return s;}else if(ch=='\\'){switch(next()){case'b':s+='\b';break;case'f':s+='\f';break;case'n':s+='\n';break;case'r':s+='\r';break;case't':s+='\t';break;case'u':u=0;for(i=0;i<4;i+=1){t=parseInt(next(),16);if(!isFinite(t)){break outer;}u=u*16+t;}s+=String.fromCharCode(u);break;default:s+=ch;}}else{s+=ch;}}}error("Bad string");}function array(){var a=[];if(ch=='['){next();white();if(ch==']'){next();return a;}while(ch){a.push(value());white();if(ch==']'){next();return a;}else if(ch!=','){break;}next();white();}}error("Bad array");}function object(){var k,o={};if(ch=='{'){next();white();if(ch=='}'){next();return o;}while(ch){k=string();white();if(ch!=':'){break;}next();o[k]=value();white();if(ch=='}'){next();return o;}else if(ch!=','){break;}next();white();}}error("Bad object");}function number(){var n='',v;if(ch=='-'){n='-';next();}while(ch>='0'&&ch<='9'){n+=ch;next();}if(ch=='.'){n+='.';while(next()&&ch>='0'&&ch<='9'){n+=ch;}}if(ch=='e'||ch=='E'){n+='e';next();if(ch=='-'||ch=='+'){n+=ch;next();}while(ch>='0'&&ch<='9'){n+=ch;next();}}v=+n;if(!isFinite(v)){}else{return v;}}function word(){switch(ch){case't':if(next()=='r'&&next()=='u'&&next()=='e'){next();return true;}break;case'f':if(next()=='a'&&next()=='l'&&next()=='s'&&next()=='e'){next();return false;}break;case'n':if(next()=='u'&&next()=='l'&&next()=='l'){next();return null;}break;}error("Syntax error");}function value(){white();switch(ch){case'{':return object();case'[':return array();case'"':return string();case'-':return number();default:return ch>='0'&&ch<='9'?number():word();}}return value();}};}();
function setopacity(opid,opv){try{if((browser=="ie")&&(platform=="Win32")){thisfilter=String(dg(opid).style.filter);thisfilter=thisfilter.replace(/alpha\(opacity\=.*?\)/g,"");thisfilter=thisfilter.replace(/\s/g,"");dg(opid).style.filter=thisfilter+" alpha(opacity="+parseInt(Math.round((opv)),10)+")";return};if((browser=="ie")&&(platform=="mac")){return};if(browser=="safari"){dg(opid).style.opacity=(opv/100)+"";return};if(browser=="ff"){if(opv>99){opv=99};dg(opid).style.MozOpacity=(opv/100);return}if(browser=="opera"){dg(opid).style.opacity=(opv/100)}}catch(e){}}

function dg(NodeName)
{
    var result = null;
    try
    {
        result = document.getElementById(NodeName);
    }
    catch(e)
    {}
    return result;
}

var VideoNavigationHolder = 'rednav';
var ImageCarouselSlideSelector = 'carouselSlideSelector';
var ImageCarouselOverlay = 'imgCarouselOverlay';
var ImageCarouselOverlayContent = 'imgCarouselOverlayContent';
var ImageCarouselOverlayCloseButton = 'imgCarouselOverlayCloseButton';
var ActiveCarouselSlideImage = 'imgCarouselSlide';
var ActiveNavItemArrow = 'redarrow';
var ActiveUserHash = '#Active';
var PlayerInfoTextHolder = 'playerinfo';
var PlayerContainer = 'cnplayer';
var PlayerSection = 'playersection';
var OverlayTitleMaxLength = 24;


var loc = String(location);
var server = loc.substring(loc.indexOf("//")+2,loc.indexOf("/",loc.indexOf("//")+2));
var protocol=(loc.indexOf("https")==-1)?"http":"https";
var jsonRpcServiceUri = protocol+"://"+server+"/json-rpc/cnhome.ashx";

if (document.domain.toString().indexOf("corp.cinemanow.com") != -1 || loc.indexOf("CurrentBuild") !=-1) 
{
	jsonRpcServiceUri = protocol+"://"+server+"/CurrentBuild/StoreFront/json-rpc/cnhome.ashx";
	if(protocol == "https")
	{
	    var baseTag = document.getElementsByTagName("base");
	    if(baseTag.length == 1)
	    {
	        baseTag[0].href = baseTag[0].href.replace('http://','https://');
	    }
	}
}
if(loc.toLowerCase().indexOf('pageversion=a') > 0)
{
    homePageVersion = 'A';
}
else if(loc.toLowerCase().indexOf('pageversion=b') > 0)
{
    homePageVersion = 'B';
}

loc = null;
server = null;
protocol = null;

var activeNavItemElementId = null;
var activeNavItemElements = null;
var activeNavItemElementsCache = [];
var activeNavItemElementsIndex = [];
var homePageRequestor = new cnhome(jsonRpcServiceUri);
var cnPlayerObj = null;
var navStateStore = 'cnHomeState';

function displayResult()
{
    if(window.location.hash == ActiveUserHash)
    {
        if(GetCookie(navStateStore) == null)
        {
            window.location.hash = '';
        }
    }
	if(browser == "ie")
    {
        dg(ActiveCarouselSlideImage).style.filter = "progid:DXImageTransform.Microsoft.Fade(duration=2)";
    }
    if(browser == "ie" && bver<7)
    {
        OverlayTitleMaxLength -= 1;
    }
	homePageRequestor.GetFlashNavElements(onGetFlashNavElementsComplete);
	if(String(homePageVersion).toLowerCase() == 'b')
	{
	    OverlayTitleMaxLength += 48;
	    dg(PlayerContainer).innerHTML = '<a href="How_It_Works_buy.aspx?grpID=1001"><img src="images/banners/320x336/testimage1_320x336.jpg" alt="" /></a>';
	    dg(PlayerSection).style.height = '325px'; 
		dg(PlayerInfoTextHolder).style.display = 'none';
	}
	else
	{
	    cnPlayerObj = new SWFObject("theme/std2/swf/cn_home_player.swf", "CinemaNowPlayer", "320", "230", "9", "#ffffff");
        cnPlayerObj.addParam("allowFullScreen", "true");
        cnPlayerObj.addParam("quality", "high");
        cnPlayerObj.addParam("wmode", "transparent");
        cnPlayerObj.addVariable("defaultImage", "img/playerdefault.jpg");
        cnPlayerObj.write(PlayerContainer);
	    homePageRequestor.GetFreeTextBoxes(onGetFreeTextBoxesComplete);
	}
}

function onGetFreeTextBoxesComplete(response)
{
    var freeTextBoxId = -1;
    var index = 0; max = response.result.length;
    for(index = 0; index < max; index++)
    {
        if(response.result[index].elemType == "TopAreaUnderPlayer")
        {
            freeTextBoxId = response.result[index].id;
            break;
        }
    }
    if(freeTextBoxId != -1)
    {
        homePageRequestor.GetFreeTextBox(freeTextBoxId, onGetFreeTextBoxItemComplete);
    }
}

function onGetFreeTextBoxItemComplete(response)
{
    dg(PlayerInfoTextHolder).innerHTML = response.result.displayHTML;
}

/**********************************************
    Build Left Side Navigation
**********************************************/
function onGetFlashNavElementsComplete(response)
{
	var navElements = [];
	var index = 0;
	var max = (response.result.length > 7 ? 8 : response.result.length);
	navhtml = [];
	var firstNodeCmd = null;
	var firstNodeId = null;
	var stateStoreData = (window.location.hash == ActiveUserHash ? GetCookie(navStateStore) : null);
	if(stateStoreData != null)
	{
	    firstNodeId = stateStoreData.split('|')[0];
	}
	else
	{
	    firstNodeId = 'NavItem' + response.result[index].id;
	}
	for(index = 0; index < max ; index++)
	{
		var displayName = response.result[index].name;
		var cssName = 'rednavsub';
		var nodeId = 'NavItem' + response.result[index].id;
		var shiftCmd = 'ShiftActiveNavItemArrow(' + GetActiveNavItemArrowPosition(index)  + ');';
		var openNavCmd = shiftCmd + 'OpenNavItem(' + response.result[index].id  + ', \'' + nodeId + '\',true,true);return false;';
		if(firstNodeId == nodeId)
		{
		    cssName += ' sel';
			activeNavItemId = nodeId;
			firstNodeCmd = new Function(openNavCmd.replace('true);return false','false);'));
		}
		var link = '#';
		
		navhtml.push('<a href="' + link + '" class="' + cssName + '" id="' + nodeId + '" ')
		navhtml.push('onclick="' + openNavCmd + '">' + displayName + '</a>');
        navhtml.push('<br />');
	}
	dg(VideoNavigationHolder).innerHTML = navhtml.join("");
	setTimeout(firstNodeCmd,5);
	dg(ActiveNavItemArrow).style.visibility = 'visible';
}

function GetActiveNavItemArrowPosition(NavItemIndex)
{
    var TopOffset = 11;
    NavItemIndex = parseInt(NavItemIndex);
    switch(NavItemIndex)
    {
        case 1 : 
            TopOffset = 54;
            break;
        case 2 : 
            TopOffset = 95;
            break;
        case 3 : 
            TopOffset = 136;
            break;
        case 4 : 
            TopOffset = 177;
            break;
        case 5 : 
            TopOffset = 218;
            break;
        case 6 : 
            TopOffset = 258;
            break;
        case 7 : 
            TopOffset = 300;
            break;
            
    }
    return TopOffset;
    
}

function ShiftActiveNavItemArrow(TopOffset)
{
    dg(ActiveNavItemArrow).style.top = TopOffset + 'px';
}

/**********************************************
    Open Navigation Item Command
**********************************************/
function OpenNavItem(NavItemId, NavItemContainer, ForceSwitch, UserInteraction)
{
	if(activeNavItemId == NavItemContainer && ForceSwitch != true)
	{
		return;
	}
	dg(activeNavItemId).className = 'rednavsub';
	
	if(UserInteraction != undefined && UserInteraction == true)
	{
	    if(window.location.hash != ActiveUserHash)
	    {
	        setTimeout(function(){window.location.hash = ActiveUserHash;}, 10);
	    }
	    dg(ImageCarouselOverlay).style.visibility = 'hidden';
	    SetCookie(navStateStore, (NavItemContainer + '|0'), 1);
	}
	
	var NavItemCssToSet = 'rednavsub sel';
	dg(NavItemContainer).className = NavItemCssToSet;
	activeNavItemId = NavItemContainer;
	CacheGetFlashNavItems(NavItemId);
}

function CacheGetFlashNavItems(NavItemId)
{
    var cacheIndex = -1;
    var max = activeNavItemElementsIndex.length;
    var index;
    for(index = 0; index < max; index++)
    {
        if(activeNavItemElementsIndex[index] == NavItemId)
        {
            cacheIndex = index;
            break;
        }
    }
    if(cacheIndex >= 0)
    {
        onGetFlashNavElementItemsComplete(cacheIndex);
    }
    
    if(cacheIndex == -1)
    {
        homePageRequestor.GetFlashNavItems(NavItemId, cacheGetFlashNavElementItemsComplete);
    }
}

function cacheGetFlashNavElementItemsComplete(response)
{
	activeNavItemElementsIndex.push(response.result[0].parentID);
	var index = 0;
	var max = response.result.length;
	var tempStore = response.result.splice(0, response.result.length);
	for(index = 0; index < max; index++)
	{
	    if(tempStore[index].rentLink != '' || tempStore[index].buyLink != '')
	    {
	        response.result.push(tempStore[index]);
	    }
	}
	tempStore = null;
	activeNavItemElementsCache.push(response.result);
	onGetFlashNavElementItemsComplete(activeNavItemElementsIndex.length-1)
}

/**********************************************
    Build Carousel Buttons
**********************************************/
function onGetFlashNavElementItemsComplete(cacheIndex)
{
	var carouselSelectorHtml = [];
	activeNavItemElements = activeNavItemElementsCache[cacheIndex];
	var index = 0;
	var max = activeNavItemElements.length;
	var firstNodeCmd = null;
	var firstNodeId = null;
	var stateStoreData = (window.location.hash == ActiveUserHash ? GetCookie(navStateStore) : null);
	if(stateStoreData != null)
	{
	    firstNodeId = 'NavItemImgSel' + stateStoreData.split('|')[1];
	}
	else
	{
	    firstNodeId = 'NavItemImgSel' + index;
	}
	for(index = 0; index < max; index++)
	{
		var selectorId = 'NavItemImgSel' + index;
		var selectorCmd = 'OpenNavItemElement(' + index + ', \'' + selectorId + '\',false,true,true);return false;';
		var selectorCss = '';
		var selectorName = String(activeNavItemElements[index].name).toUpperCase();
		if(selectorName == "UNDEFINED")
		{
			selectorName = "";
		}
		if(firstNodeId == selectorId)
		{
		    activeNavItemElementId = selectorId;
			selectorCss = 'sel';
			firstNodeCmd = selectorCmd.replace('false,true,true);return false;','true,true,false);');
		}
		
		carouselSelectorHtml.push('<li id="' + selectorId + '" class="' + selectorCss + '" >');
		carouselSelectorHtml.push('<a href="#" onclick="' + selectorCmd + '" title="' + selectorName + '">' + index + '</a></li>');
	}
	dg(ImageCarouselSlideSelector).innerHTML = carouselSelectorHtml.join("");
	new Function(firstNodeCmd)();
	imageFaderStop();
	imageFaderStart();
}

/***********************************************
    Build Image Carousel Buttons from selected left navigation item.
***********************************************/
function OpenNavItemElement(navItemElementIndex, navItemSelectorId, forceSelection, forceOpacity, userInteraction)
{
	forceSelection = (forceSelection == undefined ? false : forceSelection);
	forceOpacity = (forceOpacity == undefined ? false : forceOpacity);
	userInteraction = (userInteraction == undefined ? false : userInteraction);
	if(activeNavItemElementId == navItemSelectorId && forceSelection != true)
	{
		return;
	}
	
	var stateRestoreInProgress = false;
	if(userInteraction == true)
	{
	    if(window.location.hash != ActiveUserHash)
	    {
	        setTimeout(function(){window.location.hash = ActiveUserHash;}, 10);
	    }
	    dg(ImageCarouselOverlay).style.visibility = 'hidden';
	    SetCookie(navStateStore, activeNavItemId + '|' + navItemElementIndex, 1);
	}
	else if(userInteraction == false && forceSelection == true)
	{
	    stateRestoreInProgress = true;
	}
	
	dg(ActiveCarouselSlideImage).onerror = function(){dg(ActiveCarouselSlideImage).src = 'img/spacer.gif';}
	
	if(browser == "ie" && forceOpacity == false)
	{
	    dg(ActiveCarouselSlideImage).filters[0].apply();
	}
	
	dg(ActiveCarouselSlideImage).src = (activeNavItemElements[navItemElementIndex].imagLoc != undefined ? activeNavItemElements[navItemElementIndex].imagLoc : 'img/spacer.gif');
	
	if(browser == "ie" && forceOpacity == false)
	{
	    dg(ActiveCarouselSlideImage).filters[0].play();
	}
	dg(activeNavItemElementId).className = '';
	dg(navItemSelectorId).className = 'sel';
	activeNavItemElementId = navItemSelectorId;
	activeImageFadeIndex = navItemElementIndex;
	
	if(forceOpacity == true && browser != "ie")
	{
		imageFaderStop();
		setopacity(ActiveCarouselSlideImage,100);
		imageFaderStart();
	}
	
	// This type of navItem requires the command to change the window location.
	if(activeNavItemElements[navItemElementIndex].navType == 'StaticLink')
	{
		if(activeNavItemElements[navItemElementIndex].buyLink.length > 5)
		{
			NavItemElementClickCmd = 'window.location = "' + activeNavItemElements[navItemElementIndex].buyLink + '"';
			stateRestoreInProgress = false;
		}
	}
	// This type of navItem requires the overlay to be displayed for the click event.
	else if
		(activeNavItemElements[navItemElementIndex].navType == 'BuyAndRentLink' ||
		(activeNavItemElements[navItemElementIndex].navType == 'RentOnly') ||
		(activeNavItemElements[navItemElementIndex].navType == 'BuyOnly') ||
		(activeNavItemElements[navItemElementIndex].navType == 'TvShow') ||
		(activeNavItemElements[navItemElementIndex].navType == 'TvList') ||
		(activeNavItemElements[navItemElementIndex].navType == 'MusicVideo') ||
		(activeNavItemElements[navItemElementIndex].navType == 'SubscribeOnlyTitle'))
	    {
		    NavItemElementClickCmd = 'OpenTrailerOverlay(' + navItemElementIndex + ',true)';
	    }
    if(stateRestoreInProgress == true)
    {
        //NavItemElementClick();
    }
}

/**********************************************
    Handle Active Image Click Event
**********************************************/
var NavItemElementClickCmd = '';
function NavItemElementClick()
{
	if(NavItemElementClickCmd != '')
	{
		new Function(NavItemElementClickCmd)();
	}
}

function CarouselOverlayClose()
{
    dg(ImageCarouselOverlay).style.visibility = 'hidden';
    SetCookie(navStateStore, GetCookie(navStateStore).split("|").splice(0,2).join("|"), 1);
    imageFaderStop();
    imageFaderStart();
}

function OpenTrailer(TrailerUrl)
{
	if(TrailerUrl != undefined)
	{
		var flvPathString = basePath + "handler/smilgenerator.ashx?src=" + escape(TrailerUrl);
		cnPlayerObj.addVariable("flv_path", flvPathString);
        cnPlayerObj.addVariable("img_path", "img/playerdefault.jpg");
        cnPlayerObj.write(PlayerContainer);
	}
}

/**********************************************
    Active Image Overlay Functionality
**********************************************/
function OpenTrailerOverlay(navItemElementIndex, userInteraction)
{
    userInteraction = (userInteraction == undefined ? false : userInteraction);
    imageFaderStop();
    
    if(userInteraction == true && GetCookie(navStateStore) != null)
    {
        SetCookie(navStateStore, GetCookie(navStateStore).split("|").splice(0,2).join("|") + "|1", 1);
    }
    else if(GetCookie(navStateStore) != null)
    {
        SetCookie(navStateStore, GetCookie(navStateStore).split("|").splice(0,2).join("|"), 1);
    }
	var activeTitle = activeNavItemElements[navItemElementIndex];
	
	var buyLink = '';
	var rentLink = '';
	var trailerLink = '';
	var titleDetailsLink = '#';
	var subscribeLink = '';
	var pricingInfoLinks = [];
	
	trailerLink = (activeTitle.trailerLink == '' || activeTitle.trailerLink == undefined ? '' : activeTitle.trailerLink);
	rentLink = (activeTitle.rentToCart == '' ? '' : activeTitle.rentToCart);
	buyLink = (activeTitle.buyToCart == '' ? '' : activeTitle.buyToCart);
	
	titleDetailsLink = (activeTitle.buyLink == '' ? '' : activeTitle.buyLink);
	
	if(activeTitle.navType == 'BuyAndRentLink' && activeTitle.rentLink != '')
	{
	    titleDetailsLink = activeTitle.rentLink;
	}
	else if(activeTitle.navType == 'BuyAndRentLink' && activeTitle.buyLink != '')
	{
	    titleDetailsLink = activeTitle.buyLink;
	}
	else if(activeTitle.navType == 'SubscribeOnlyTitle')
	{
	    subscribeLink = 'Subscriptions.aspx';
	}
	else if(activeTitle.navType == 'RentOnly')
	{
	    titleDetailsLink = activeTitle.rentLink; 
	}
	else if(activeTitle.navType.toUpperCase().indexOf('TV') > -1)
	{
        rentLink = (activeTitle.rentToCart == '' ? activeTitle.rentLink : activeTitle.rentToCart);
        buyLink = (activeTitle.buyToCart == '' ? activeTitle.buyLink : activeTitle.buyToCart);
	}
	
	if(activeTitle.bCost && activeTitle.bCost != '')
	{
		pricingInfoLinks.push('<a href="' + (activeTitle.buyLink == '' ? titleDetailsLink : activeTitle.buyLink) + '">Buy for $' + activeTitle.bCost + '</a>');
	}
	
	if(activeTitle.rCost && activeTitle.rCost != '')
	{
		pricingInfoLinks.push('<a href="' + (activeTitle.rentLink == '' ? titleDetailsLink : activeTitle.rentLink) + '">Rent for $' + activeTitle.rCost + '</a>');
	}
	
	if(cnPlayerObj == null)
	{
	    trailerLink = '';
	}
	
	
	var content = [];
	content.push('<div style="margin-top:32px;margin-left:10px;float:left;">');
	content.push('<a href="' + titleDetailsLink + ' ">');
	content.push('<img id="trailerAbbr" src="images/boxart/65/' + activeTitle.abbr + '65.jpg" alt="' + activeTitle.name + '" onerror="dg(\'trailerAbbr\').src=\'img/spacer.gif\';" />');
	content.push('</a>');
	content.push('</div>');
	content.push('<div style="text-transform: uppercase; margin-top: 30px; margin-left: 88px;">')
	content.push('<a href="' + titleDetailsLink + '" style="color:#ff0000;font-weight:700">' + (activeTitle.name.length <= OverlayTitleMaxLength ? activeTitle.name : (activeTitle.name.substring(0, OverlayTitleMaxLength-3) + ' ...')) + '</a>');
	content.push('</div>')
    content.push('<div class="OverlayPricing">');
    content.push(pricingInfoLinks.join(' | '));
    content.push('</div>');
	content.push('<ul class="OverlayActions"  style="margin-bottom:0px;' + (browser == "ie" && bver < 7 ? 'margin-right:-8px;padding-left:20px;' : '') + '">');
	content.push('<li style="' + (buyLink != '' ? '' : 'display:none') + '">');
	content.push('<a href="' + buyLink + '" style="height:13px;">Buy Now</a>');
	content.push('</li>');
	content.push('<li style="' + (rentLink != '' ? '' : 'display:none') + '">');
	content.push('<a href="' + rentLink + '" style="height:13px;">Rent Now</a>');
	content.push('</li>');
	content.push('<li class="newrow" style="' + (trailerLink != '' ? '' : 'display:none') + ';clear:left">');
	content.push('<a href="#" onclick="OpenTrailer(\'' + trailerLink + '\');return false;" class="play" style="height:13px;">Trailer</a>');
	content.push('</li>');
	content.push('<li style="' + (subscribeLink != '' ? '' : 'display:none') + '">');
	content.push('<a href="' + subscribeLink + '" style="height:13px;">Subscribe</a>');
	content.push('</li>');
	content.push('</ul>');
	
	dg(ImageCarouselOverlayContent).innerHTML = content.join('');
	dg(ImageCarouselOverlay).style.visibility = 'visible';
}

var activeImageFadeIndex = -1;
var imageFaderIntervalId = null;
var imageFaderIds = [];
var fadeOutComplete = false;
var fadeOutIntervalId;
var fadeOpacityPosition = 100;

var fadeInComplete = false;
var fadeInInvervalId;

function imageFaderStart()
{
    imageFaderIntervalId = setInterval('fadeController()', 5000);
    imageFaderIds.push(imageFaderIntervalId);
}

function imageFaderStop()
{
    var index = 0;
    var max = imageFaderIds.length;
    var safety = 120;
    while(imageFaderIds.length != 0 && index <= safety)
    {
        var currentId = imageFaderIds.pop();
        clearInterval(currentId);
    }
	clearInterval(fadeOutIntervalId);
	clearInterval(fadeInInvervalId);
	clearInterval(imageFaderIntervalId);
}

function fadeController()
{
    activeImageFadeIndex = activeImageFadeIndex + 1;
    if(activeImageFadeIndex >= activeNavItemElements.length)
    {
        activeImageFadeIndex = 0;
    }
	if(browser == "ie")
    {
        OpenNavItemElement(activeImageFadeIndex, 'NavItemImgSel' + activeImageFadeIndex, false, false);
    }
	else
	{
		fadeOutIntervalId = setInterval(fadeImageOut, 8);
	}
}

function fadeImageOut()
{
    if(fadeOpacityPosition == 0)
    {
        fadeOutComplete = true;
    }
    if(fadeOutComplete == true)
    {
        clearInterval(fadeOutIntervalId);
		OpenNavItemElement(activeImageFadeIndex, 'NavItemImgSel' + activeImageFadeIndex);
        fadeInInvervalId = setInterval(fadeImageIn, 8);
        fadeOutComplete = false;
    }
    else
    {
        fadeOpacityPosition = fadeOpacityPosition - 5;
        setopacity(ActiveCarouselSlideImage,fadeOpacityPosition);
    }
}

function fadeImageIn()
{
    if(fadeOpacityPosition == 100)
    {
        fadeInComplete = true;
    }
    
    if(fadeInComplete == true)
    {
        clearInterval(fadeInInvervalId);
        fadeInComplete = false;
    }
    else
    {
        fadeOpacityPosition = fadeOpacityPosition + 5;
        setopacity(ActiveCarouselSlideImage, fadeOpacityPosition);
    }
}

if (browser=="ie") 
{
    window.attachEvent("onload",displayResult); 
} 
else 
{
    window.addEventListener("load",displayResult,false); 
}
