
var agt = navigator.userAgent.toLowerCase();
var versInt = parseInt(navigator.appVersion);
var is_ie	= ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie3    = (is_ie && (versInt < 4));
var is_ie4    = (is_ie && (versInt == 4) && (agt.indexOf("msie 4")!=-1) );
var is_aol   = (agt.indexOf("aol") != -1);
var is_aol3  = (is_aol && is_ie3);
var is_aol4  = (is_aol && is_ie4);
var is_aol5  = (agt.indexOf("aol 5") != -1);
var is_aol6  = (agt.indexOf("aol 6") != -1);
var is_comp   = (agt.indexOf("compuserve") != -1);
var is_comp2000   = (agt.indexOf("cs") != -1);	 
var is_compie = (is_comp && is_ie);

function SI_openPopup( url, name, widgets, openerUrl )
{
	var host = location.hostname;
	var popupWin = window.open( url, name, widgets );
	
	if ( openerUrl )
	{
		popupWin.opener.location = openerUrl;
	}

	if ( !( is_aol6 || is_aol3 || is_aol4 || is_aol5 || is_compie || is_comp2000) )
	{
		popupWin.opener.top.name = "opener";
		popupWin.focus();
	}
}


function WM_browserAcceptsCookies() {
	var WM_acceptsCookies = false;
	if ( document.cookie == '' ) {
		document.cookie = 'WM_acceptsCookies=yes'; // Try to set a cookie.
		if ( document.cookie.indexOf( 'WM_acceptsCookies=yes' ) != -1 ) {
			WM_acceptsCookies = true;
		} // If it succeeds, set variable
	} else { // there was already a cookie
		WM_acceptsCookies = true;
	}
	
	return ( WM_acceptsCookies );
}

function WM_setCookie( name, value, hours, path, domain, secure ) {
	if ( WM_browserAcceptsCookies() ) { // Don't waste your time if the browser doesn't accept cookies.
		var not_NN2 = ( navigator && navigator.appName
					&& (navigator.appName == 'Netscape')
					&& navigator.appVersion
					&& (parseInt(navigator.appVersion) == 2) ) ? false : true;

		if ( hours && not_NN2 ) { // NN2 cannot handle Dates, so skip this part
			if ( (typeof(hours) == 'string') && Date.parse(hours) ) { // already a Date string
				var numHours = hours;
			} else if ( typeof(hours) == 'number' ) { // calculate Date from number of hours
				var numHours = ( new Date((new Date()).getTime() + hours*3600000) ).toGMTString();
			}
		}
		
		document.cookie = name + '=' + escape(value) + ((numHours)?(';expires=' + numHours):'') + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:'') + ((secure && (secure == true))?'; secure':''); // Set the cookie, adding any parameters that were specified.
		//alert( "name = " + name + "\nvalue = " + value + "\nhours = " + numHours + "\npath = " + path + "\ndomain = " + domain );
	}
} // WM_setCookie

function WM_readCookie( name ) { 

	if ( document.cookie == '' ) { // there's no cookie, so go no further
		//alert('no cookie');
	    return false;
	} else { // there is a cookie
	    //alert('WM_rc: ' + document.cookie);
	    var firstChar, lastChar;
		var theBigCookie = document.cookie;
		firstChar = theBigCookie.indexOf(name);	// find the start of 'name'
		var NN2Hack = firstChar + name.length;
		if ( (firstChar != -1) && (theBigCookie.charAt(NN2Hack) == '=') ) { // if you found the cookie
			firstChar += name.length + 1; // skip 'name' and '='
			lastChar = theBigCookie.indexOf(';', firstChar); // Find the end of the value string (i.e. the next ';').
			if (lastChar == -1) lastChar = theBigCookie.length;
			return unescape( theBigCookie.substring(firstChar, lastChar) );
		} else { // If there was no cookie of that name, return false.
		    //alert( 'no cookie found of that name' );
			return false;
		}
	}	
} // WM_readCookie

function WM_killCookie( name, path, domain ) {
	var theValue = WM_readCookie( name ); // We need the value to kill the cookie
	if ( theValue ) {
		document.cookie = name + '=' + theValue + '; expires=Fri, 13-Apr-1970 00:00:00 GMT' + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:''); // set an already-expired cookie
	}
} // WM_killCookie


document.write( '<OBJECT ID="IERPCtl" WIDTH=0 HEIGHT=0 CLASSID="CLSID:FDC7A535-4070-4B92-A0EA-D9994BCC0DC5"><\/OBJECT>' );

function SI_LV_getRealOneStatus() {    // returns ("undetermined"|"installed"|"notinstalled"|"using")
    var nPlayerInstalled = false;
    var RealOneInst = 'undetermined';
    var agt = navigator.userAgent.toLowerCase();
    var is_nav = ((agt.indexOf('mozilla') != -1) && (agt.indexOf('spoofer') == -1)
                    && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera') == -1)
                    && (agt.indexOf('webtv') == -1) && (agt.indexOf('hotjava') == -1));
    if (is_nav) {
        IERPCtl = 0;
    }

    if ( navigator.plugins ) {
        if ( navigator.plugins['RealOne Player Version Plugin'] ) {
            nPlayerInstalled = true;
        } else if ( document.getElementById ) {
            realPlugin = document.getElementById( 'IERPCtl' );
            if ( realPlugin && realPlugin.RealPlayerVersion ) {
                nPlayerInstalled = true;
            }
        } else if ( IERPCtl && IERPCtl.RealPlayerVersion ) {
            nPlayerInstalled = true;
        }
        if ( nPlayerInstalled ) {
            RealOneInst = 'installed';
        } else {
            RealOneInst = 'notinstalled';
        }
    }

    if ( RealOneInst == 'installed' ) {
        if ( agt.indexOf( " (r1 " ) != -1 ) {
            RealOneInst = 'using';
        }
    }

	//alert('SI_LV_getRealOneStatus: RealOneInst is ' + RealOneInst);
    return RealOneInst;
}


function SI_LV_getVideoUrl( videoUrlPath, format, realOneStatus ) {
    var fullUrl;
    var selectedEdition = WM_readCookie( "SelectedEdition" );
    var currentEdition = WM_readCookie( "CurrentEdition" );
    var premiumUrlPrefix = "http://premium.si.cnn.com/pr/video";
    var premiumEdition = "";

	//alert('SI_LV_getVideoUrl: format is ' + format);

    if ( format != "public" ) {
        if ( selectedEdition ) {
            if ( ( selectedEdition == "asia" ) || ( selectedEdition == "europe" ) ) {
                premiumEdition = selectedEdition + ".";
            }
            premiumURL = "http://premium.si" + premiumEdition + "cnn.com/pr/video";
        } else if ( currentEdition ) {
            if ( ( currentEdition == "asia" ) || ( currentEdition == "europe" ) ) {
                premiumEdition = currentEdition + ".";
            }
            premiumURL = "http://premium.si" + premiumEdition + "cnn.com/pr/video";
        }
    }

    switch( realOneStatus ) {
        case "using":
            //fullUrl = premiumUrlPrefix + "/meta" + videoUrlPath + "r1.smil";        
            fullUrl = premiumUrlPrefix + videoUrlPath + "r1.smil";
            break;
        case "installed":
            fullUrl = premiumUrlPrefix + videoUrlPath + "np.smil";
            break;
        case "notinstalled":
        default:
            fullUrl = premiumUrlPrefix + videoUrlPath + "exclude.html";
            if ( format == "public" ) {
                fullUrl = "http://premium.si.cnn.com/video" + videoUrlPath + "exclude.html";
            }
            break;
    }

    return ( fullUrl );
}

function SI_LV_getVideoUrl_free( videoUrlPath, format, realOneStatus ) {
    var fullUrl;
    var selectedEdition = WM_readCookie( "SelectedEdition" );
    var currentEdition = WM_readCookie( "CurrentEdition" );
    var premiumUrlPrefix = "http://premium.si.cnn.com/video";
    var premiumEdition = "";

	//alert('free get video url');

    if ( format != "public" ) {
        if ( selectedEdition ) {
            if ( ( selectedEdition == "asia" ) || ( selectedEdition == "europe" ) ) {
                premiumEdition = selectedEdition + ".";
            }
            premiumURL = "http://premium.si.cnn.com/video";
        } else if ( currentEdition ) {
            if ( ( currentEdition == "asia" ) || ( currentEdition == "europe" ) ) {
                premiumEdition = currentEdition + ".";
            }
            premiumURL = "http://premium.si.cnn.com/video";
        }
    }

    switch( realOneStatus ) {
        case "using":
            //fullUrl = premiumUrlPrefix + "/meta" + videoUrlPath + "r1.smil";        
            fullUrl = premiumUrlPrefix + videoUrlPath + "r1.smil";
            break;
        case "installed":
            fullUrl = premiumUrlPrefix + videoUrlPath + "np.smil";
            break;
        case "notinstalled":
        default:
            fullUrl = premiumUrlPrefix + videoUrlPath + "exclude.html";
            if ( format == "public" ) {
                fullUrl = "http://premium.si.cnn.com/video" + videoUrlPath + "exclude.html";
            }
            break;
    }

	//alert('fullUrl = ' + fullUrl);
    return ( fullUrl );
}

function SI_LaunchVideo( videoPath, videoFormat ) {
    var realOneStatus = SI_LV_getRealOneStatus();
    var videoUrl;

    if ( realOneStatus == 'using' ) {
        videoUrl = SI_LV_getVideoUrl( videoPath, videoFormat, realOneStatus );
        top.location.href = videoUrl;
    } else {
        var playerPref = WM_readCookie( "player" );
        
        //alert('SI_LaunchVideo: playerPref = ' + playerPref); 

        if ( playerPref ) {
            switch ( playerPref.toUpperCase() ) {
                case "REALONE":
                    videoUrl = SI_LV_getVideoUrl( videoPath, videoFormat, 'installed' );
                    break;
                case "REAL":
                    if ( realOneStatus == "installed" ) {
                        videoUrl = SI_LV_getVideoUrl( videoPath, videoFormat, realOneStatus );
                    } else {
                        videoUrl = SI_LV_getVideoUrl( videoPath, videoFormat, 'notinstalled' );
                    }
                    break;
                case "WINDOWS MEDIA":
                case "QUICKTIME":
                default:
                    videoUrl = SI_LV_getVideoUrl( videoPath, videoFormat, 'notinstalled' );
                    break;
            }
        } else {
            if ( realOneStatus == "installed" ) {
                videoUrl = SI_LV_getVideoUrl( videoPath, videoFormat, realOneStatus );
            } else {
                videoUrl = SI_LV_getVideoUrl( videoPath, videoFormat, 'notinstalled' );
            }
        }

        if ( videoUrl.indexOf( ".exclude.html" ) > 0 ) {
            SI_openPopup( videoUrl, '750x610', 'scrollbars=no,resizable=yes,width=750,height=610' );
            top.location.href = top.location.href;
        } else {
            top.location.href = videoUrl;
        }
    }
}

function SI_LaunchVideo_free( videoPath, videoFormat ) {
    var realOneStatus = SI_LV_getRealOneStatus();
    var videoUrl;
    
    //alert('free video launch');

    if ( realOneStatus == 'using' ) {
        videoUrl = SI_LV_getVideoUrl_free( videoPath, videoFormat, realOneStatus );
        top.location.href = videoUrl;
    } else {
        var playerPref = WM_readCookie( "player" );
        
        //alert('SI_LaunchVideo: playerPref = ' + playerPref); 

        if ( playerPref ) {
            switch ( playerPref.toUpperCase() ) {
                case "REALONE":
                    videoUrl = SI_LV_getVideoUrl_free( videoPath, videoFormat, 'installed' );
                    break;
                case "REAL":
                    if ( realOneStatus == "installed" ) {
                        videoUrl = SI_LV_getVideoUrl_free( videoPath, videoFormat, realOneStatus );
                    } else {
                        videoUrl = SI_LV_getVideoUrl_free( videoPath, videoFormat, 'notinstalled' );
                    }
                    break;
                case "WINDOWS MEDIA":
                case "QUICKTIME":
                default:
                    videoUrl = SI_LV_getVideoUrl_free( videoPath, videoFormat, 'notinstalled' );
                    break;
            }
        } else {
            if ( realOneStatus == "installed" ) {
                videoUrl = SI_LV_getVideoUrl_free( videoPath, videoFormat, realOneStatus );
            } else {
                videoUrl = SI_LV_getVideoUrl_free( videoPath, videoFormat, 'notinstalled' );
            }
        }

        if ( videoUrl.indexOf( ".exclude.html" ) > 0 ) {
            SI_openPopup( videoUrl, '750x610', 'scrollbars=no,resizable=yes,width=750,height=610' );
            top.location.href = top.location.href;
        } else {
            top.location.href = videoUrl;
        }
    }
}

