document.write('<OBJECT ID="IERPCtl" WIDTH=0 HEIGHT=0 CLASSID="CLSID:FDC7A535-4070-4B92-A0EA-D9994BCC0DC5"></OBJECT>');

// Define the error message thrown to the browser here
var ERROR_STRING = "We're Sorry!<br><br>"+
"We are currently unable to connect you to "+
"this content. Please try again later or go to "+
"<a href='http://home.real.com/'>home.real.com</a> "+
"to access other great content.<br><br>"+
"If you are outside the US, please go to our <a href='http://uk.real.com/'>UK site</a>"+
" or <a href='http://europe.real.com'>rest of Europe site</a>.";

var NO_MAC_STRING = "Sorry, this content only plays on the Windows version of RealOne Player.";
var LANDING_PAGE = "";
var UPGRADE_PAGE = "http://www.fansonly.com/realone/player_upgrade.html";

var debug_flag = (document.location.href.indexOf("debug=yes")>=0);

if( !debug_flag )   window.onerror = errorHandler;

//This is currently set up to check for RP1 Gold 505 can be changed to match the current RP version
var MINIMUM_ALLOWED_VERSION = "6.0.9.505";
var plyrObj;
var usersVersion = "";
var isPlayerInstalled = false;

function debug(str){
   if( debug_flag )
      alert("Debug: "+str);
}

function errorHandler(){
   var results;
   return true;
}

//get value of varname in haystack, a qs-formatted string
function getQsFormatVal(varname,haystack){
    var qsArray = new Array();
    var qsRE = new RegExp("(^|&)(" + varname + ")\=([^&]*)(&|$)");
    qsArray = qsRE.exec(haystack);

    if( qsArray!=null )
        return qsArray[3];
    else
        return "";
}

//get value of varname in the requests querystring
function getQsVal( varname )
{
	var h=document.location.href;
	var qs=h.substring(h.indexOf("?")+1);
	return unescape(getQsFormatVal(varname,qs).replace(/\+/g," "));
}

function versionCompare(a,b){
	var testver1 = a.split(".");
	var testver2 = b.split(".");

	if( testver1.length != testver2.length )
		return 0;

	for( var i=0 ; i<testver1.length ; i++ )
	{
		var t1 = testver1[i]-0;
		var t2 = testver2[i]-0;

		if( t1 != t2 )
		{
			if( t1 < t2 )
				return -1;
			if( t1 > t2 )
				return 1;
		}
	}
return 0;
}

function UnpackVersionNumber(n){


	return '' + (n >> 28) + '.' +
	((n & 0xFF00000) >> 20) + '.' +
   ((n & 0xFF000) >> 12) + '.' +
   ( n & 0xFFF);
}
writeFuncContent ='var pv = 0;';
writeFuncContent +='realplugins = [';
writeFuncContent +='"RealVideo.RealVideo(tm) ActiveX Control (32-bit)",';
writeFuncContent +='"RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)",';
writeFuncContent +='"rmocx.RealPlayer G2 Control"';
writeFuncContent +='];';
writeFuncContent +='try {new ActiveXObject(realplugins[0]); pv = 4} catch (e) {}';
writeFuncContent +='try {new ActiveXObject(realplugins[1]); pv = 5} catch (e) {}';
writeFuncContent +='try {new ActiveXObject(realplugins[2]); pv = 6} catch (e) {}';
writeFuncContent +='return pv;';

if(document.layers){
addRealContent = 'alert("not supported")';
}else{
addRealContent = writeFuncContent

}

var writeBuildPVValue = 'function buildPVValue(){';
writeBuildPVValue +=addRealContent;
writeBuildPVValue +='}';


document.write('<scri'+'pt>');
document.write(writeBuildPVValue);
document.write('</scr'+'ipt>');

function isCurrentBuild(){
	var thisPlayerVersion = "";
	var undefined;

	if(navigator.plugins)
	{
		for( var i=0; i<navigator.plugins.length; i++ )
		{
			if((navigator.plugins[i].name=='RealOne Player Version Plugin')||(navigator.plugins[i].name=='RealPlayer Version Plugin'))
			{
				isPlayerInstalled = true;
				thisPlayerVersion = navigator.plugins[i].description;
				break;
			}
		}
	}
	if(navigator.appName == "Microsoft Internet Explorer") {
		var nRPVersion = plyrObj.RealPlayerVersion;
		if ( undefined == nRPVersion ) {
         isPlayerInstalled = false;
         // If we get here the user either does not have the player installed or they
         // have an old version.  buildPVValue will return a value greater than 0
         // if the user has a plugin for an old player
         if( buildPVValue() )
         {
            isPlayerInstalled = true;
            thisPlayerVersion = '6.0.8.505'; //set the variable to version 8 so they get the upgrade page
         }
		} else {
			isPlayerInstalled = true;
			thisPlayerVersion = UnpackVersionNumber(nRPVersion);
		}
   }

   usersVersion = thisPlayerVersion;

   if( isPlayerInstalled )
      return versionCompare(thisPlayerVersion,MINIMUM_ALLOWED_VERSION)!=-1;

   return false;
}

function hasRP(){
	for( var i=0; i<navigator.plugins.length; i++ )
	{
		if( navigator.plugins[i].name.indexOf("RealPlayer")>=0 )
		{
			var thisPlayerVersion = "";
			thisPlayerVersion = "6.0.11.853";
			usersVersion = thisPlayerVersion;

			debug("hasRP(): Found player plugin: "+navigator.plugins[i].name);
			return true;

		}
	}
debug("hasRP(): NO player plugin found.");
return false;
}

function showError(){
   document.write(ERROR_STRING);
}

function showUpgrade(){
   window.open(UPGRADE_PAGE,'r1popup','width=636,height=312,toolbar=no,scrollbars=yes,resizable=yes,directories=no,location=no,status=no,menubar=no');
}

function showGetR1P(){
   window.open(LANDING_PAGE,'r1popup','width=600,height=400,toolbar=no,scrollbars=yes,resizable=yes,directories=no,location=no,status=no,menubar=no');
}

function showNoMac(){
   document.write(NO_MAC_STRING);
}

function setCookie(){
	var daysToLive = 30;
	var exp = new Date();
	exp.setTime( exp.getTime() + (24 * 60 * 60 * 1000 * daysToLive) );
	document.cookie = "RNPD=" + usersVersion + "; expires=" + exp.toGMTString() + "; domain=.collegesports.com; path=/";
}

function throwURL( theURL ){
   //var theURL = getQsVal( "url" );
   if( navigator.appName == "Microsoft Internet Explorer" )
   {
      plyrObj.PlayClip( theURL );
   }
   else
   {
      if( navigator.userAgent.indexOf("Mac")>=0 )
      {
         debug( "Going directly to stream... url is " + theURL );
         document.location.href = theURL;
      }
   else
   {
      debug( "Going to..." + theURL );
      document.location.href = theURL;
      }
   }
}

function main(url){
   if( getQsVal("r1pversion").length > 1 )
	MINIMUM_ALLOWED_VERSION = getQsVal("r1pversion");
	debug("Using test-version: "+MINIMUM_ALLOWED_VERSION);
	plyrObj = document.getElementById("IERPCtl");

	if( !plyrObj )
	{
		showError();
		return;
	}

	if( (navigator.userAgent.indexOf("Mac")>=0) && (getQsVal("mac")=="no") )
	{
		showNoMac();
		return;
	}
	
	//Detect and show results using Mac
	if( navigator.userAgent.indexOf("Mac")>=0 )
	{
		if( ( navigator.userAgent.indexOf("Mac OS X")>=0) || (navigator.appName == "Microsoft Internet Explorer") )
		{
			if( !hasRP() )
			{
				showGetR1P();
				return;
			}
		}
		else
		{
			showUpgrade();
			return;
		}
	}
	else
	{
		if( !isCurrentBuild() )
		{
			if( !isPlayerInstalled )
         {
			   showGetR1P();
         }
			else
			   showUpgrade();
			return;
		}
	}

	//var theURL = getQsVal( "url" );

	if( url.length < 1 )
	{
		showError();
		return;
	}

	//Everything seems OK so far...
	//document.write(PLAYING_STRING);
   throwURL(url);
	//setTimeout("throwURL(url)",500);
}

function loadlink(url){
   var SITE = "cs";
   var match_string = /school=(\w{2,5})&/;
   var match_array = match_string.exec(url);
   if( match_array[1] )
      SITE = match_array[1];

   LANDING_PAGE = "http://www.real.com/openpass/openpass.html?pcode=" + SITE;
   main(url);
}
