var g_isIE = (window.navigator.userAgent.indexOf("MSIE") > 0);
if (window.navigator.userAgent.indexOf("Firefox/3.6") > 0)
{
    changeuserAgent();
}


function changeuserAgent() {
    var altuserAgentGetter = function() {
        return "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2) Gecko/20100115 NeuLion/3.6";
    };
    if (Object.defineProperty) {
        Object.defineProperty(navigator, "userAgent", {
            get: altuserAgentGetter
        });
    } else if (Object.prototype.__defineGetter__) {
        navigator.__defineGetter__("userAgent", altuserAgentGetter);
    }
}


// called by acudeoplayer swf application
function consoleProxy(action, value) {
    switch (action) {
        // executeAcudeoAd finished 
        case "playNext":
            hideAcudeoPlayer();
            if (slCtl != null) slCtl.Content.acudeo.handleAcudeoCompleted();
            break;

        // transfer the companion image url/link into swf application 
        case "showAcudeoCompAd":
            var src728 = value[0];
            var href728 = value[1];
            var type728 = value[5];
            var src300 = value[3];
            var href300 = value[4];
            var type300 = value[5];
            //   if (slCtl != null) slCtl.Content.acudeo.handleAcudeoCompany(url, href, adType);
            if (slCtl != null) slCtl.Content.acudeo.handleAcudeoCompany(src728, href728, type728, src300, href300, type300);
            break;
        case "changeTitle":
            document.title = "" + value;
            break;
        case "analytics":
            if (value)
                doTrack("analytics.htm", "code=" + value);
            break;
    }
}

function trackevent(code, category, action, label, value) {
    var src = "code=" + code + "&category=" + category + "&action=" + action;
    if (label != "" && value != "")
        src += "&label=" + label + "&value=" + value;
    else if (label != "")
        src += "&label=" + label;
    src += "&ord=" + Math.ceil(Math.random() * 1000000000);
    //alert(src);
    doTrack("trackevent.htm", src);
}

function trackpageview(code, page) {
    var src = "code=" + code;
    if (page != "")
        src += "&page=" + page;
    src += "&ord=" + Math.ceil(Math.random() * 1000000000);
    //alert(src);
    doTrack("trackpageview.htm", src);
}

function trackNielsen(sccid, oemid) {
    doTrack("/mediaPlayer/nielsen.dbml", "sccid=" + sccid + "&oemid=" + oemid);
}

function onSilverlightLoad(sender, args) {
    slCtl = sender.getHost();
}

function getQuery(url, name) {
    var pos = url.indexOf("?");
    if (pos <= 0) return "";
    var query = url.substr(pos + 1);
    var nvs = query.split("&");
    if (nvs.length > 0) {
        for (var i = 0; i < nvs.length; i++) {
            var kv = nvs[i].split("=");
            if (kv.length == 2 && kv[0] == name) return kv[1];
        }
    }
    return "";
}

function getPageUrl() {
    var url = window.location.href;
    var i = url.indexOf("?");
    if (i > 0)
        url = window.location.href.substring(0, i);
    return url.substring(0, url.lastIndexOf("/") + 1);
}

function writeSilverPlayer(id, src, width, height, loading) {
    var value = window.location.href;
    var oemid = getQuery(value, "oemid");
    var slobj = "";
    slobj += '<object id="' + id + '" data="data:application/x-silverlight-2," type="application/x-silverlight-2" Width="' + width + '" Height="' + height + '">';
    slobj += '<param name="source" value="' + src + '"/>';
    slobj += '<param name="initParams" value="server=' + g_server + ',usesecure=' + g_usesecure + ',compdelay=' + g_compDelay + ',nltrack=' + g_nl_track + ',nltrackping=' + g_nl_track_ping + ',build=' + g_build + ',tickerspeed=' + tickerspeed + ',oemid=' + oemid + '"/>';
    slobj += '<param name="PluginBackground" value="Black"/>';
    slobj += '<param name="onerror" value="onSilverlightError" />';
    slobj += '<param name="onLoad" value="onSilverlightLoad" />';
    slobj += '<param name="background" value="Black" />';
    slobj += '<param name="minRuntimeVersion" value="3.0.40307.0" />';
    slobj += '<param name="autoUpgrade" value="false" />';
    slobj += '<param name="Windowless" value="true"/>';
    slobj += '<param name="maxframerate" value="25"/>';
    slobj += '<param name="splashscreensource" value="CustomSplashScreen' + loading + '.xaml"/>';
    slobj += '<param name="onSourceDownloadProgressChanged" value="onSourceDownloadProgressChanged" />';
    slobj += '<div id="no-sl" class="install-badge">To enjoy this video, you need to install <br/><strong>Microsoft Silverlight</strong><br/> by clicking the button below.<br/>' +
    'Restart your browser after installing for best results.<br/><br/>';
    slobj += '<a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration:none;color:#0099CC;font-family:Arial;">';
    slobj += '<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none;"/>';
    slobj += '</a></div>';
    slobj += '</object>';
    document.write(slobj);
}

function writeFlexPlayer(id, swf, width, height, isProduction) {
    if (isProduction) {
    }
    if (hasProductInstall && !hasRequestedVersion) {
        // MMdoctitle is the stored document.title value used by the installation process to close the window that started the process
        // This is necessary in order to close browser windows that are still utilizing the older version of the player after installation has completed
        // DO NOT MODIFY THE FOLLOWING FOUR LINES
        // Location visited after installation is complete if installation is required
        var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
        var MMredirectURL = window.location;
        document.title = document.title.slice(0, 47) + " - Flash Player Installation";
        var MMdoctitle = document.title;

        AC_FL_RunContent(
			"src", "scripts/playerProductInstall",
			"FlashVars", "MMredirectURL=" + MMredirectURL + '&MMplayerType=' + MMPlayerType + '&MMdoctitle=' + MMdoctitle + '&adTimeout=' + g_adTimeout + "",
			"width", "100%",
			"height", "100%",
			"align", "middle",
			"id", "console",
			"quality", "high",
			"bgcolor", "#000000",
			"name", "console",
			"allowScriptAccess", "always",
			"type", "application/x-shockwave-flash",
			"pluginspage", "http://www.adobe.com/go/getflashplayer"
		);
    } else if (hasRequestedVersion) {

        var flashVars = new Array();
        // embed the Flash Content SWF when all tests are passed
        AC_FL_RunContent(
				"flashVars", flashVars.join("&"),
				"src", swf,
				"width", width,
				"height", height,
				"align", "middle",
				"id", id,
				"quality", "high",
				"bgcolor", "#000000",
				"name", id,
				"allowScriptAccess", "always",
				"wmode", "transparent",
				"type", "application/x-shockwave-flash",
				"pluginspage", "http://www.adobe.com/go/getflashplayer"
		);
    } else {  // flash is too old or we can't detect the plugin
        var alternateContent = 'Alternate HTML content should be placed here. '
	  	+ 'This content requires the Adobe Flash Player. '
	   	+ '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
        document.write(alternateContent);  // insert non-flash content
    }
}

function getSessionId() {
    var sid = "";
    if (document.cookie != null && document.cookie.length > 0) {
        var crumbs = document.cookie.split(";");
        for (var i = 0; i < crumbs.length; i++) {
            var curCrumb = crumbs[i].split("=");
            if (curCrumb[0].indexOf("JSESSIONID") == 0) {
                if (unescape(curCrumb[1]) != "undefined") {
                    sid = unescape(curCrumb[1]);
                    break;
                }
            }
        }
    }
    return sid;
}

function jsDavInit(url, cid) {
    davUrl = url;
    scCid = cid;
}

function jsDavInitStream(clipid, provider, videotype, date, description, sportkey, oemid) {
    // alert("nielsen_clip_id " + clipid + ", neilsen_provider_name " + provider + ", nielsen_video_type " + videotype + ", nielsen_event_date " + date + ", nielsen_short_description " + description + ", nielsen_sport_key " + sportkey);
    var nielsen_clip_title = oemid + '-' + clipid + '-' + provider + '-' + videotype + '-' + date + '-' + description; //TL nielsen title
    var nielsen_cg = oemid + '-' + videotype + '-' + sportkey; //CG neilsen list this as channel
    var nielsen_si = 'blank'; //SI stream url, suppose to be optional
    var nielsen_carray = null; //nielsen c-array

    var wmp = null;
    davInitStream(wmp, davUrl, scCid, nielsen_clip_title, 10, nielsen_cg, nielsen_si, nielsen_carray);
}

function showfacebookLive_Stream_Box() {
    document.getElementById("facebook_container").style.display = "";
}

function hidefacebookLive_Stream_Box() {
    document.getElementById("facebook_container").style.display = "none";
    if (adNowIsShown) {
        document.getElementById("AD_1").style.display = "";
        refreshImgAd1();
    }
}

function facebookLive_Stream_Box(streamId, appId) {
    //document.getElementById('facebook_div').innerHTML = '<if' + 'rame id="facebook_iframe" name="facebook_iframe" width=356 height=420 frameborder=0 scrolling=no src="http://www.facebook.com/widgets/livefeed.php?app_id=' + appId + '\&facebookstreaming=' + streamId + '\&width=356\&height=420" ><\/ifr' + 'ame>';
    //document.getElementById("facebook_iframe").src = "http://www.facebook.com/widgets/livefeed.php?app_id=" + appId + "&facebookstreaming=" + streamId + "&width=356&height=420";
    //var url = encodeURIComponent("http://www.facebook.com/widgets/livefeed.php?app_id=" + appId + "&facebookstreaming=" + streamId + "&width=356&height=420");

    //var facebookxml = getComponentContentSynch(g_server+"getFacecbookUrl.dbml", "URL=" + url);
    //alert("http://sanford.jtvs.jumptv.com/XML/MediaPlayer/getFacebookUrl.dbml?URL=" + url);

    //var length = facebookxml.length;

    //if (facebookxml != "ERROR"&&length>300)
    document.getElementById('facebook_div').innerHTML = '<if' + 'rame id="facebook_iframe" name="facebook_iframe" width=356 height=420 frameborder=0 scrolling=no onload="getError" src="http://www.facebook.com/widgets/livefeed.php?app_id=' + appId + '\&facebookstreaming=' + streamId + '\&width=356\&height=420";><\/ifr' + 'ame>';
    //document.getElementById('facebook_div').innerHTML = '<if' + 'rame id="facebook_iframe" name="facebook_iframe" width=356 height=420 frameborder=0 scrolling=no onload="getError" src="http://www.baidu.com";><\/ifr' + 'ame>';
    setTimeout("getError()", 20000);
}

function getError() {
    //document.getElementById('facebook_iframe').style.display = "";

    document.getElementById('facebook_error').innerHTML = "Facebook is not accessible at this time. Please try again later.";
}

// function for facebook data request.
function getComponentContentSynch(url, params) {
    var requester = null;
    if (window.navigator.userAgent.indexOf("MSIE") > 0)
        requester = new ActiveXObject("Microsoft.XMLHTTP");
    else
        requester = new XMLHttpRequest();

    requester.open("POST", url, false);
    requester.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");


    requester.send(params);

    var iStatus = requester.status;
    if (iStatus >= 200 && iStatus < 300) {
        // Success
        if (requester.getResponseHeader("Content-Type").indexOf("text/xml") == 0 || requester.getResponseHeader("Content-Type").indexOf("application/xml") == 0)
            return requester.responseXML.documentElement;
        else
            return requester.responseText;
    }
    else
        return "ERROR"
}




function doTrack(hostName, params) {
    document.getElementById('trackDiv').innerHTML = '<if' + 'rame id="iframe_Track" name="iframe_Track" src="' + hostName + '?' + params + '"><\/ifr' + 'ame>';
}
