/****************************************************
	Initialize page-specific variables
****************************************************/

if (is_in_player && browser_name != "Boxster Mac Media Browser") {
	var plyrObj = top.parent.window.external;
} else if (browser_name != "Boxster Mac Media Browser"){	
	document.write("<object id=\"IERPCtl\" width=0 height=0 classid=\"CLSID:FDC7A535-4070-4B92-A0EA-D9994BCC0DC5\"></object>");
	var plyrObj = document.getElementById("IERPCtl");
}
else{
	var plyrObj;
}

var is_windows = (navigator.appVersion.indexOf('Windows') != -1)?true:false;
var is_msie = (navigator.appVersion.indexOf('MSIE') != -1)?true:false;

/****************************************************
	Sign In/Sign out functionality
	Read the cookie, figure out if the user is signed in or signed out
	and display the correct link.
****************************************************/

function showSignOut( status ) {
	/* Do not display signin/signout links for unsupported browsers/players */
	if ( !show_uds ) {
		return;
	}
	var pBrowserCookie = getUserCookieValue("RNPlayer");
	var signout  = "signin.rnx?signout=true";
	var signin = "signin.rnx?signin=true";
			
	if ( !is_in_player && pBrowserCookie != null) {
		var pCookie = pBrowserCookie;
	} else if (plyrObj != null){
		var pCookie = plyrObj.GetPlayerCookie("RNPlayer");
	} else{
		var pCookie;
	}
	
	/* change the links for safari signin/signout links */
	if ( show_safari_signin ) {
		signout = "javascript:openPopup('?page=safari-signout','Help','467','300');";
		signin = "javascript:openPopup('?page=safari','Help','467','300');";
	}
	if ( status && browser_name == "Boxster Mac Media Browser") {
		document.getElementById("signOutLink").innerHTML = "|&nbsp;&nbsp;<a href=\"" + signout + "\" class=\"highlight\">Sign Out</a>";
		return;
	} else if ( status && pCookie.length > 0 && pCookie != "NODATA" && browser_name != "Boxster Mac Media Browser") {
		document.getElementById("signOutLink").innerHTML = "|&nbsp;&nbsp;<a href=\"" + signout + "\" class=\"highlight\">Sign Out</a>";
		return;
	} else {
		document.getElementById("signOutLink").innerHTML = "|&nbsp;&nbsp;<a href=\"" + signin + "\" class=\"highlight\">Please Sign In</a>"; 
		return;
	}
} 

function showSignOut2 ( status, divider ) {
	/* Do not display signin/signout links for unsupported browsers/players */
	if ( !show_uds ) {
		return;
	}
	var pBrowserCookie = getUserCookieValue("RNPlayer");
	var signout  = "signin.rnx?signout=true";
	var signin = "signin.rnx?signin=true";
			
	if ( !is_in_player && pBrowserCookie != null) {
		var pCookie = pBrowserCookie;
	} else if (plyrObj != null){
		var pCookie = plyrObj.GetPlayerCookie("RNPlayer");
	} else{
		var pCookie;
	}
	
	/* change the links for safari signin/signout links */
	if ( show_safari_signin ) {
		signout = "javascript:openPopup('?page=safari-signout','Help','467','300');";
		signin = "javascript:openPopup('?page=safari','Help','467','300');";
	}
	if ( status && browser_name == "Boxster Mac Media Browser") {
		document.getElementById("signOutLink").innerHTML = ((divider)?"|&nbsp;&nbsp;":"")+"<a href=\"" + signout + "\" class=\"highlight\">Sign Out</a>";
		return;
	} else if ( status && pCookie.length > 0 && pCookie != "NODATA" && browser_name != "Boxster Mac Media Browser") {
		document.getElementById("signOutLink").innerHTML = ((divider)?"|&nbsp;&nbsp;":"")+"<a href=\"" + signout + "\" class=\"highlight\">Sign Out</a>";
		return;
	} else {
		document.getElementById("signOutLink").innerHTML = ((divider)?"|&nbsp;&nbsp;":"")+"<a href=\"" + signin + "\" class=\"highlight\">Please Sign In</a>"; 
		return;
	}
} 

/* Gets the value of the cookie given the cookie's name */
function getUserCookieValue( cookieName ) { 
	var cookieArray = new Array(); 
	var cRE = new RegExp("(\;|^)[^;]*("+cookieName+")\=([^;]*)(;|$)"); 
	cookieArray = cRE.exec(document.cookie); 
	if( cookieArray != null ) { 
		return cookieArray[3]; 
	} 
	return ""; 
} 

/****************************************************
	Page Reload Functionality
****************************************************/

function RPOnLogin(){
	location.href = "?";
}

/****************************************************
	Reauth Functionality
****************************************************/

function doReauth(){
	if( is_in_player && plyrObj.PlayerProperty("ReauthThisSession") != "true" ) { 
	 	var pCookie = plyrObj.GetPlayerCookie("RNPlayer"); 
	 	var fCookie = plyrObj.GetPlayerCookie("RNFeatures"); 
	 	if( pCookie.length > 0 && pCookie != "NODATA" && fCookie.length > 0 && fCookie != "NODATA" ) { 
	 		// User has player cookies, try to re-authenticate
	 		document.getElementById("reauth_loader").src= "?page=reauth" + "&pck=" + escape(pCookie) + "&feat=" + escape(fCookie) + "&randid="+(new Date()).valueOf();
	 	} else {		
			plyrObj.PlayerProperty("reauth_test") = "complete"; 
		}
	}
}

/****************************************************
	Message Center Functionality
****************************************************/

// Opens the correct player window for either viewing messages or personalizing messages.
function OpenMessageCenter(WhatMsgArea) { 
	if (WhatMsgArea == "NewMessage") {
		result = parent.window.external.HandleAction("command:MessageCenter(RNMsgView)"); 
	}
}

// Gets the number of unviewed messages and displays that number
function getMessageCenter( customizeURL, imageURL ) {
	if( !is_in_player || isViper() ) {
		return;
	}	
	
	var UnviewedMsgCount = 0; 
	var strMessage = "";
	var strImage = "";
	
	try {
		UnviewedMsgCount = parseInt(plyrObj.PlayerProperty('UNVIEWEDMESSAGESCOUNT'));
	} catch(e) {}
	
	if ( UnviewedMsgCount == 0 ) {
		strImage = "<span style='vertical-align: top;'><img src='"+imageURL+"' width='16' height='16' border='0' alt='View Messages'></span>";
		strMessage = "&nbsp;&nbsp;";
	} else {
		strImage = "<a href='javascript:OpenMessageCenter(\"NewMessage\");' ><span style='vertical-align: top;'><img src='"+imageURL+"' width='16' height='16' border='0' alt='View Messages'></span></a>";
		strMessage = "&nbsp;&nbsp;<a href='javascript:OpenMessageCenter(\"NewMessage\");' >" + UnviewedMsgCount + " message" + ((UnviewedMsgCount == 1)?"":"s") + "</a> : ";
	}

	strMessage += "<a href='"+customizeURL+"'>Alerts</a>";
	
	document.write(strImage + strMessage); 
}

// Gets the number of unviewed messages and displays that number
function getMessageCenter2( customizeURL, imageURL, showImage, divider, messageText ) {
	if( !is_in_player || isViper() ) {
		return;
	}	
	
	var UnviewedMsgCount = 0; 
	var strMessage = "";
	var strImage = "";
	
	try {
		UnviewedMsgCount = parseInt(plyrObj.PlayerProperty('UNVIEWEDMESSAGESCOUNT'));
	} catch(e) {}
	
	if ( UnviewedMsgCount == 0 ) {
		strImage = "<span style='vertical-align: top;'><img src='"+imageURL+"' width='16' height='16' border='0' alt='View Messages'></span>";
		strMessage = "&nbsp;&nbsp;";
	} else {
		strImage = "<a href='javascript:OpenMessageCenter(\"NewMessage\");' ><span style='vertical-align: top;'><img src='"+imageURL+"' width='16' height='16' border='0' alt='View Messages'></span></a>";
		strMessage = "&nbsp;&nbsp;<a href='javascript:OpenMessageCenter(\"NewMessage\");' >" + UnviewedMsgCount + " message" + ((UnviewedMsgCount == 1)?"":"s") + "</a> : ";
	}

	strMessage += "<a href='"+customizeURL+"'>"+messageText+"</a>";
	if (divider) {
		strMessage += "&nbsp;&nbsp;&nbsp;&nbsp;|"
	}
	
	if (showImage) {
		document.write(strImage + strMessage); 
	} else {
		document.write(strMessage);
	}
}

/****************************************************
	Player and Toolbar Download Functionality
****************************************************/

function showDownloadPlayer( tab, url, imageURL ){
	if ( has_player != "true" ) {
		document.write("<a href=\"javascript:navigateToTab('"+tab+"','"+url+"');\" ><img src='"+imageURL+"' alt='' width='13' height='13' border='0' align='absmiddle'></a>&nbsp;&nbsp; <a href=\"javascript:navigateToTab('"+tab+"','"+url+"');\" class='download' >Download RealPlayer</a> &nbsp;&nbsp;|&nbsp;&nbsp;");
	} 
}
function showDownloadToolbar( tab, url, imageURL ){
	if (!isToolbarInstalled() && is_windows && is_msie) {
		document.write("<a href=\"javascript:navigateToTab('"+tab+"','"+url+"');\" ><img src='"+imageURL+"' alt='' width='13' height='13' border='0' align='absmiddle'></a>&nbsp;&nbsp; <a href=\"javascript:navigateToTab('"+tab+"','"+url+"');\" class='download' >Download RealToolbar</a> &nbsp;&nbsp;|&nbsp;&nbsp;");
	} 	
}

function isToolbarInstalled(){
	r1barActiveXname = "BarControl.TBarControl";
	var r1bar = null;
	try {
	    r1bar = new ActiveXObject(r1barActiveXname);
	} catch(e){
	    // failed
	}
	if( r1bar != null && r1bar.isToolbarRegistered != 0){ //is toolbar installed and registered.
	    return true;
	}
	return false;
}
