function bannerRedirect(intProductID){

    var strLocation = "" + document.location.href;
    strLocation = strLocation.toLowerCase();
    var strURL;

    if ((strLocation.indexOf("popup") > -1) || (strLocation.indexOf("mediaplayer") > -1)){
        strURL = "/MediaPlayer/Templates/MediaPlayerRedirect.aspx?Popup=true&ProductID=" + intProductID;
    }
    else{
        strURL = "/MediaPlayer/Templates/MediaPlayerRedirect.aspx?ProductID=" + intProductID;
    }
    document.location = strURL;

}

function emailClip()
{
    if (intSelectedClipID == null)
        return;
	var intLeft = (window.screen.width - 340) / 2;
	var intTop = (window.screen.height - 460) / 2;
	var features = "height=520,width=340,left=" + intLeft + ",top=" + intTop;
	window.open("/MediaPlayer/Templates/EmailClip.aspx?ProgramProductID=" + intSelectedProgramID + "&ClipProductID=" + intSelectedClipID , null, features);
}

//
// MAIN PLAYER
//

var intExpandedProgramID;   //Currently expanded program box
var intSelectedClipID;      //Selected (started) clip
var intSelectedProgramID;   //Selected (started) clip program box

function expandProgram(intProgramID){
    objMediaBrowserWindow = window.frames[0].frames[0];
    if (intExpandedProgramID != null){
        if (intExpandedProgramID != intSelectedProgramID){
            if (objMediaBrowserWindow.document.getElementById("programinfo_" + intExpandedProgramID) == null){
                intExpandedProgramID = null;
            }
            else{
                objMediaBrowserWindow.document.getElementById("programinfo_" + intExpandedProgramID).style.display = "none";
                objMediaBrowserWindow.document.getElementById("programlink_" + intExpandedProgramID).style.display = "block";
            }
        }
    }
    if (objMediaBrowserWindow.document.getElementById("programinfo_" + intProgramID) != null){
        objMediaBrowserWindow.document.getElementById("programinfo_" + intProgramID).style.display = "block";
        objMediaBrowserWindow.document.getElementById("programlink_" + intProgramID).style.display = "none";
        intExpandedProgramID = intProgramID;
    }
}

function collapseProgram(intProgramID){
    objMediaBrowserWindow = window.frames[0].frames[0];
    if (objMediaBrowserWindow.document.getElementById("programinfo_" + intProgramID) != null){
        objMediaBrowserWindow.document.getElementById("programinfo_" + intProgramID).style.display = "none";
        objMediaBrowserWindow.document.getElementById("programlink_" + intProgramID).style.display = "block";
    }
    if (intExpandedProgramID == intProgramID){
        intExpandedProgramID = null;
    }
}

function playClip(intClipID,intProgramID,strMediaType,strSubtitles){

    objMediaBrowserWindow = window.frames[0].frames[0];

    if (intSelectedProgramID != null){
        if (intSelectedProgramID != intProgramID)
            collapseProgram(intSelectedProgramID);
    }

    if (intSelectedClipID != null){
        if (objMediaBrowserWindow.document.getElementById("cliplink_" + intSelectedClipID) != null){
            objMediaBrowserWindow.document.getElementById("cliplink_" + intSelectedClipID).className = "";
        }    
    }

    intSelectedClipID = intClipID;
    intSelectedProgramID = intProgramID;
    
    if (objMediaBrowserWindow.document.getElementById("cliplink_" + intClipID) != null){
        objMediaBrowserWindow.document.getElementById("cliplink_" + intClipID).className = "selected";
    }
    
    // RENDER PLAYER
    if (strMediaType == "radio")
        var strHTML = RenderRadioPlayerObject(intClipID);
    else
        var strHTML = RenderPlayerObject(intClipID);
    objElement = document.getElementById("playerobject");
    objElement.innerHTML = strHTML;
    
    // RENDER PLAYER LINKS
    if (strMediaType == "radio")
        strHTML = RenderRadioPlayerObjectLinks(intClipID,strSubtitles);
    else
        strHTML = RenderPlayerObjectLinks(intClipID,strSubtitles);
    objElement = document.getElementById("playerobjectlinks");
    objElement.innerHTML = strHTML;    
}

function stopPlaying(){
    objElement = document.getElementById("playerobject");
    objElement.innerHTML = "";
    objElement = document.getElementById("playerobjectlinks");
    objElement.innerHTML = "";     
}

//
// Launch popup version of player
//
function launchPopup(){
    var intID;
    if (intSelectedClipID != null)
        intID = intSelectedClipID;
    else if (intSelectedProgramID != null)
        intID = intSelectedProgramID;

    launchMediaPlayer(intID);
    stopPlaying();
}

function RenderPlayerObject(intProductID, bAutoStart){

    if (bAutoStart == null)
        bAutoStart = true;

    // Höjd statusbar + kontroller: 64. Bara statusbar 19
    var strURL = "/Global/Templates/Asx.aspx?ProductID=" + intProductID + "&.asx";
    var strHTML = "";
    strHTML += "<object id=\"playerobjectembed\" width=\"320\" height=\"304\" classid=\"CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6\" style=\"filter: progid:DXImageTransform.Microsoft.BasicImage (Grayscale=1);\">";
    strHTML += "<param name=\"autoStart\" value=\"" + bAutoStart + "\">";
    strHTML += "<param name=\"URL\" value=\"" + strURL + "\">";
    strHTML += "<param name=\"stretchToFit\" value=\"false\">";
    strHTML += "<param name=\"fullScreen\" value=\"false\">";
    strHTML += "<param name=\"uiMode\" value=\"full\">";
    strHTML += "<embed id=\"playerobjectembed\" ";
    strHTML += "type=\"application/x-mplayer2\" ";
    strHTML += "width=\"320\" ";
    strHTML += "height=\"304\" ";
    strHTML += "src=\"" + strURL + "\" ";
    if (bAutoStart)
        strHTML += "autostart=\"1\" ";
    else
        strHTML += "autostart=\"0\" ";
    strHTML += "showstatusbar=\"1\" ";
    strHTML += "clicktoplay=\"false\" ";
    strHTML += "autorewind=\"false\" ";
    strHTML += "fullScreen=\"0\" ";
    strHTML += "stretchToFit=\"false\" ";
    strHTML += "pluginspage=\"http://www.microsoft.com/Windows/MediaPlayer/\">";
    strHTML += "</embed>";
    strHTML += "</object>";
    return strHTML;
    
}

function RenderRadioPlayerObject(intProductID){

    var strURL = "/Global/Templates/Asx.aspx?ProductID=" + intProductID + "&.asx";
    var strHTML = "";
    strHTML += "<div><object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\ codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" width=\"320\" height=\"240\" id=\"flash\" align=\"middle\">";
	strHTML += "<param name=\"allowScriptAccess\" value=\"sameDomain\" />";
	strHTML += "<param name=\"movie\" value=\"/MediaPlayer/images/radioflash.swf\" />";
	strHTML += "<param name=\"menu\" value=\"false\" />";
	strHTML += "<param name=\"quality\" value=\"best\" />";
	strHTML += "<param name=\"bgcolor\" value=\"#000000\" />";
	strHTML += "<embed src=\"/MediaPlayer/images/radioflash.swf\" menu=\"false\" quality=\"best\" bgcolor=\"#000000\" width=\"320\" height=\"240\" name=\"flash\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />";
	strHTML += "</object></div>";
	
    strHTML += "<div><object id=\"playerobjectembed\" width=\"320\" height=\"64\" classid=\"CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6\" style=\"filter: progid:DXImageTransform.Microsoft.BasicImage (Grayscale=1);\">";
    strHTML += "<param name=\"autoStart\" value=\"true\">";
    strHTML += "<param name=\"URL\" value=\"" + strURL + "\">";
    strHTML += "<param name=\"stretchToFit\" value=\"false\">";
    strHTML += "<param name=\"fullScreen\" value=\"false\">";
    strHTML += "<param name=\"uiMode\" value=\"full\">";
    strHTML += "<embed id=\"playerobjectembed\" ";
    strHTML += "type=\"application/x-mplayer2\" ";
    strHTML += "width=\"320\" ";
    strHTML += "height=\"64\" ";
    strHTML += "src=\"" + strURL + "\" ";
    strHTML += "autostart=\"true\" ";
    strHTML += "showstatusbar=\"1\" ";
    strHTML += "clicktoplay=\"false\" ";
    strHTML += "autorewind=\"false\" ";
    strHTML += "fullScreen=\"0\" ";
    strHTML += "stretchToFit=\"false\" ";
    strHTML += "pluginspage=\"http://www.microsoft.com/Windows/MediaPlayer/\">";
    strHTML += "</embed>";
    strHTML += "</object></div>";
    return strHTML;

}

function RenderPlayerObjectLinks(intProductID, strSubtitles){
    var strURL = "/Global/Templates/Asx.aspx?ProductID=" + intProductID;
    var strHTML = "";
    if ((navigator.userAgent.indexOf("MSIE") > -1) && (navigator.userAgent.indexOf("Opera") == -1)){
        strHTML += "<div class=\"windowlink\"><a href=\"#\" onclick=\"openFullScreen();return false;\">&Ouml;ppna i fullsk&auml;rm &raquo;</a></div>";
        strHTML += "<div class=\"windowlink\" style=\"float:left;\"><a href=\"" + strURL + "&.asx\">&Ouml;ppna i extern spelare: 300 kbps &raquo;</a></div>";
        strHTML += "<div class=\"windowlink\">&nbsp;<a href=\"" + strURL + "&Bitrate=1200&.asx\" title=\"&Ouml;ppna i extern spelare 1200 kbps\">1200 kbps &raquo;</a></div>";
        strHTML += "<div class=\"maillink\"><a href=\"#" + intProductID + "\" onclick=\"emailClip();return false;\">Tipsa en v&auml;n &raquo;</a></div>";
    }
    else{
        strHTML += "<div class=\"windowlink\"><a href=\"" + strURL + "&.asx\">&Ouml;ppna i extern spelare 300 kbps &raquo;</a></div>";
        strHTML += "<div class=\"windowlink\"><a href=\"" + strURL + "&Bitrate=1200&.asx\">&Ouml;ppna i extern spelare 1200 kbps &raquo;</a></div>";
        strHTML += "<div class=\"maillink\"><a href=\"#" + intProductID + "\" onclick=\"emailClip();return false;\">Tipsa en v&auml;n &raquo;</a></div>";
    }


    if ((strSubtitles != null) && (strSubtitles != "")){
        strHTML += "<div class=\"subtitledropdown\"><select onchange=\"if (this.selectedIndex > 0) openClipWithSubtitles(this.options[this.selectedIndex].value)\"><option value=\"\">Se programmet textat:</option>";
        var aSubtitles = strSubtitles.split(",");
        for (var i = 0; i < aSubtitles.length; i++){
            var strSubtitles = aSubtitles[i];
            if (isValidLanguageCode(strSubtitles)){
                var strSubtitleScope = "";
                var strTextatPa = "Textat p&aring;";
                    if (strSubtitles.indexOf("-partial") > -1){
                        strSubtitles = strSubtitles.substring(0,strSubtitles.indexOf("-partial"));
                        strSubtitleScope = "&SubtitleScope=partial";
                        strTextatPa = "Delvis textat p&aring;";
                    }
                strHTML += "<option value=\"" + strURL + "&Subtitles=" + strSubtitles + strSubtitleScope + "\">" + strTextatPa + " " + translateLanguageCode(aSubtitles[i]) + " - 300 kbps</option>";
                strHTML += "<option value=\"" + strURL + "&Bitrate=1200&Subtitles=" + strSubtitles + strSubtitleScope + "\">" + strTextatPa + " " + translateLanguageCode(aSubtitles[i]) + " - 1200 kbps</option>";
            }
        }
        strHTML += "</select></div>";
    }
    
    return strHTML;
}

function RenderRadioPlayerObjectLinks(intProductID){

    var strURL = "/Global/Templates/Asx.aspx?ProductID=" + intProductID;
    var strHTML = "";
    strHTML += "<div class=\"windowlink\"><a href=\"" + strURL + "&Bitrate=32&.asx\">&Ouml;ppna i extern spelare 32 kbps &raquo;</a></div>";
    strHTML += "<div class=\"windowlink\"><a href=\"" + strURL + "&Bitrate=64&.asx\">&Ouml;ppna i extern spelare 64 kbps &raquo;</a></div>";
    strHTML += "<div class=\"maillink\"><a href=\"#" + intProductID + "\" onclick=\"emailClip();return false;\">Tipsa en v&auml;n &raquo;</a></div>";
    return strHTML;
    
}

function openFullScreen(){
    var objMediaPlayer = document.getElementById("playerobjectembed");
    
    if(objMediaPlayer != null){
        if(objMediaPlayer.playState){
		    if (objMediaPlayer.playState == 3){
			    objMediaPlayer.fullScreen = 'true';
            }
        }
    }
}

function showHelp(){
    objMediaBrowserWindow = window.frames[0].frames[0];
    if (objMediaBrowserWindow.document.getElementById("helpcontainer") != null){
        objMediaBrowserWindow.document.getElementById("helpcontainer").style.top = 5 + f_scrollTop(objMediaBrowserWindow) + "px";    
        if (objMediaBrowserWindow.document.getElementById("helpcontainer").style.visibility == "hidden" || objMediaBrowserWindow.document.getElementById("helpcontainer").style.visibility == ""){
            objMediaBrowserWindow.document.getElementById("helpcontainer").style.visibility = "visible";
            objMediaBrowserWindow.document.getElementById("helpcontainer").style.display = "block"; //Bug in FF Mac
            }
        else{
            objMediaBrowserWindow.document.getElementById("helpcontainer").style.visibility = "hidden";
            objMediaBrowserWindow.document.getElementById("helpcontainer").style.display = "none"; //Bug in FF Mac
            }
    }
}

function translateLanguageCode(strLanguageCode){
    if (strLanguageCode.indexOf("-partial") > -1)
        strLanguageCode = strLanguageCode.substring(0,strLanguageCode.indexOf("-partial"));
    switch(strLanguageCode){
        case "alb":
            return "albanska";            
        case "ara":
            return "arabiska";
        case "bos":
            return "bosniska";
        case "chi":
            return "kinesiska (mandarin)";
        case "dan":
            return "danska";
        case "dut":
            return "mederländska";
        case "eng":
            return "engelska";
        case "fin":
            return "finska";
        case "fiu":
            return "tornedalsfinska (meänkieli)";
        case "fre":
            return "franska";
        case "ger":
            return "tyska";
        case "hun":
            return "ungerska";
        case "ice":
            return "isländska";
        case "ita":
            return "italienska";
        case "jpn":
            return "japanska";
        case "kaz":
            return "kazakh";
        case "kur":
            return "kurdiska";
        case "nor":
            return "norska";
        case "per":
            return "persiska";
        case "pol":
            return "polska";
        case "por":
            return "portugesiska";
        case "rom":
            return "romani";
        case "rus":
            return "ryska";
        case "scr":
            return "Kroatiska";
        case "sme":
            return "nordsamiska";
        case "sma":
            return "sydsamiska";
        case "spa":
            return "spanska";
        case "swe":
            return "svenska";            
        case "smj":
            return "lulesamiska";
        case "som":
            return "somaliska";
        case "tha":
            return "thailändska";
        case "tur":
            return "turkiska";
        case "yid":
            return "jiddish";
    }
    return strLanguageCode;
}

function isValidLanguageCode(strLanguageCode){
    if (strLanguageCode.indexOf("-partial") > -1)
        strLanguageCode = strLanguageCode.substring(0,strLanguageCode.indexOf("-partial"));
    if 
    (
        (strLanguageCode == "alb") || (strLanguageCode == "ara") ||
        (strLanguageCode == "bos") || (strLanguageCode == "chi") ||
        (strLanguageCode == "dan") || (strLanguageCode == "dut") ||
        (strLanguageCode == "eng") || (strLanguageCode == "fin") ||
        (strLanguageCode == "fiu") || (strLanguageCode == "fre") ||
        (strLanguageCode == "ger") || (strLanguageCode == "hun") ||
        (strLanguageCode == "ice") || (strLanguageCode == "ita") ||
        (strLanguageCode == "jpn") || (strLanguageCode == "kaz") ||
        (strLanguageCode == "kur") || (strLanguageCode == "nor") ||
        (strLanguageCode == "per") || (strLanguageCode == "pol") ||
        (strLanguageCode == "por") || (strLanguageCode == "rom") ||
        (strLanguageCode == "rus") || (strLanguageCode == "scr") ||
        (strLanguageCode == "sme") || (strLanguageCode == "sma") ||
        (strLanguageCode == "spa") || (strLanguageCode == "swe") ||
        (strLanguageCode == "smj") || (strLanguageCode == "som") ||
        (strLanguageCode == "tha") || (strLanguageCode == "tur") ||
        (strLanguageCode == "yid")
    )
        return true;
    return false;
}


var oSubtitleWin;

function openClipWithSubtitles(strURL){

    if (getCookie('subtitlenotification') == "true"){
        document.location = strURL;
    }
    else{
        //Stop player but keep clip - rewrite tag
        var strProductID = strURL.substring(strURL.indexOf("ProductID=")+10,strURL.indexOf("ProductID=")+16);
        objElement = document.getElementById("playerobject");
        objElement.innerHTML = RenderPlayerObject(strProductID, false);
        //    
        strURL = "/MediaPlayer/Templates/SubtitleNotice.aspx?URL=" + escape(strURL);
        
        intWidth = 550;
        intHeight = 350;
        intLeftPosition = (screen.width) ? (screen.width-intWidth)/2 : 0;
        intTopPosition = (screen.height) ? (screen.height-intHeight)/2 : 0;

        oSubtitleWin = window.open(strURL, "subtitlenotice", "status=no,location=no,menubar=no,toolbar=no,scrollbars=yes,resizable=yes,width=" + intWidth + ",height=" + intHeight + ",top=" + intTopPosition + ",left=" + intLeftPosition);
        oSubtitleWin.focus();
    }
       
}


function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
return "";
}

//
// MEDIA BROWSER
//

function mediaBrowser_expandProgram(intProgramID){
    parent.parent.expandProgram(intProgramID);
}

function mediaBrowser_collapseProgram(intProgramID){
    parent.parent.collapseProgram(intProgramID);
}

function mediaBrowser_playClip(intClipID,intProgramID,strMediaType, strSubtitles){
    parent.parent.playClip(intClipID,intProgramID,strMediaType,strSubtitles);
}

// FILTER

function applyFilter(objRadio){
    if (!objRadio.checked){
        var strLocation = new String()
        strLocation = "" + window.location.href;
        var objRexExp = /.filter=[a-z]*/gi;
        strLocation = strLocation.replace(objRexExp,"");
        strLocation += (strLocation.indexOf("?") > -1) ? "&" : "?";
        strLocation += "filter=" + objRadio.value;
        window.location.href = strLocation;
    }
}

function f_scrollTop(oWindow) {
	return f_filterResults (
		oWindow.pageYOffset ? oWindow.pageYOffset : 0,
		oWindow.document.documentElement ? oWindow.document.documentElement.scrollTop : 0,
		oWindow.document.body ? oWindow.document.body.scrollTop : 0
	);
}
function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}


