var embedStr, ptPlayback = "yes";
var tWidth = "96%";
var tHeight = "100%";
var htmlbr = /<([^>]*)?\/\>/g;
var illegalChars = /[\(\)\u0021-\u002f\u003a-\u0040\u005b-\u005e\u0060\u007b-\u007e]/g;
//var illegalCharsT = /[\(\)\u0021-\u002f\u003a-\u0040\u005b-\u005e\u0060\u007b-\u007e]/g;

var BrowserDetect = {
    init: function () {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
        || this.searchVersion(navigator.appVersion)
        || "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString: function (data) {
        for (var i=0;i<data.length;i++)	{
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function (dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
    },
    dataBrowser: [
    {
        string: navigator.userAgent,
        subString: "Chrome",
        identity: "Chrome"
    },
    {
        string: navigator.userAgent,
        subString: "OmniWeb",
        versionSearch: "OmniWeb/",
        identity: "OmniWeb"
    },
    {
        string: navigator.vendor,
        subString: "Apple",
        identity: "Safari",
        versionSearch: "Version"
    },
    {
        prop: window.opera,
        identity: "Opera"
    },
    {
        string: navigator.vendor,
        subString: "iCab",
        identity: "iCab"
    },
    {
        string: navigator.vendor,
        subString: "KDE",
        identity: "Konqueror"
    },
    {
        string: navigator.userAgent,
        subString: "Firefox",
        identity: "Firefox"
    },
    {
        string: navigator.vendor,
        subString: "Camino",
        identity: "Camino"
    },
    {		// for newer Netscapes (6+)
        string: navigator.userAgent,
        subString: "Netscape",
        identity: "Netscape"
    },
    {
        string: navigator.userAgent,
        subString: "MSIE",
        identity: "Explorer",
        versionSearch: "MSIE"
    },
    {
        string: navigator.userAgent,
        subString: "Gecko",
        identity: "Mozilla",
        versionSearch: "rv"
    },
    { 		// for older Netscapes (4-)
        string: navigator.userAgent,
        subString: "Mozilla",
        identity: "Netscape",
        versionSearch: "Mozilla"
    }
    ],
    dataOS : [
    {
        string: navigator.platform,
        subString: "Win",
        identity: "Windows"
    },
    {
        string: navigator.platform,
        subString: "Mac",
        identity: "Mac"
    },
    {
        string: navigator.userAgent,
        subString: "iPhone",
        identity: "iPhone/iPod"
    },
    {
        string: navigator.platform,
        subString: "Linux",
        identity: "Linux"
    }
    ]
};
BrowserDetect.init();
var browserGlobal = BrowserDetect.browser;
var browserVersion = BrowserDetect.version;
var browserOS = BrowserDetect.OS;

function generateVideoTemp(template, logoHeight)
{
//    $("#ptLoading").css("display","none"); //Hide loading gif after the playback page renders.
    tWidth = "96%";
    tHeight = "100%";
    if(typeof(logoHeight) == "undefined")
      logoHeight = 93;
    if(template == "7" || template == "8" || template == "9" || template == "10")
       {
           if(typeof(logoHeight) == "undefined")
            logoHeight = 80;
           if(template == "8")
            {
                tWidth = "100%";
                tHeight = "99%";
            }
            if(template == "10")
            {
                tWidth = "99%";
                tHeight = "97%";
            }
       }
    if(template == "6" || template == "5")
        {
            tWidth = "99%";
            tHeight = "98%";
        }


    if(template == "2" || template == "9")
        tWidth = "50%";
    if(template == "4")
        tWidth = "60%";

    if(template == "3"){
        tWidth = "97%";
    }
    //$("#shadow-container").css("display","block");
    if($("#custLogo").attr("src") == "" || $("#custLogo").attr("src") == null)
            $("#custLogo").css("display","none");

    var ht = $('#custLogo').height();
    var mar = (logoHeight-ht)/2;
    $('#custLogo').css("margin-top",mar+"px");
    embedStr =$("#txtarea").val();
    if(embedStr == undefined || embedStr == null) embedStr = "";
  /*  var firWidthInd = str.indexOf("width=\"");
    var firHeightInd=str.indexOf(" height=");
    if(firWidthInd != -1 && firHeightInd != -1)
    {
    var widthValue =str.substring((firWidthInd+7), (firHeightInd-1));
    var endHeightInd = str.indexOf("\">");
    var heightValue = str.substring((firHeightInd+9), endHeightInd);
    str = str.replace(new RegExp(widthValue, 'g'),tWidth);
    str = str.replace(new RegExp(heightValue, 'g'),tHeight);
     }*/
    $("#EmbedTag").html(embedStr);
    if($("#EmbedTag object").height())
        {
            $("#EmbedTag object").height(tHeight);
            $("#EmbedTag object").width(tWidth);

            if(browserGlobal == "Explorer")
                {
                    embedIEFix();
                }
                else
                {
                  $("#EmbedTag object embed").height(tHeight);
                  $("#EmbedTag object embed").width(tWidth);
                }
         }

if($("#EmbedTag a").attr("href"))
        {
            var embedHrefInd = $("#EmbedTag a").attr("href").indexOf(".flv");
         if(embedHrefInd != -1)
            {
                $("#EmbedTag a").css("height",tHeight);
                $("#EmbedTag a").css("width",tWidth);
            }
        }

    if($("#EmbedTag embed").height())
        {
            if(browserGlobal == "Explorer")
                {
                    embedIEFix();
                }
            else
                {
                  $("#EmbedTag embed").height(tHeight);
                  $("#EmbedTag embed").width(tWidth);
                }
        }

        if(browserGlobal != "Firefox" && browserGlobal != "Internet Explorer")
            {
                var embedStrTemp = $("#EmbedTag").html();
                if(embedStrTemp.search(/wmode\s*\=\s*((")|(')|\s*)transparent((")|(')|\s*)\s*/gi) == -1)
                    embedStrTemp = embedStrTemp.substr(0,embedStrTemp.search(/<embed/gi)+7) + "wmode='transparent' " + embedStrTemp.substr(embedStrTemp.search(/<embed/gi)+7);
                        $("#EmbedTag").html(embedStrTemp);
            }
        
    this.prevItemId = $('#prevItemId').val();
    this.prevItemId = escape(this.prevItemId);
}

function displayNewVideo(itemId, widgetTitleVP, relatedVideosDisplay, stopWords, live, pageType)
{
    itemId = escape(itemId);
    href="GetItemMethod?itemId="+itemId+"&orgId="+$('#orgId').val()+"&feedId="+$('#feedId').val()+"&turn=1&widgetTitle="+widgetTitleVP+"&relatedVideosDisplay="+relatedVideosDisplay+"&stopWords="+stopWords+"&live="+live;
    if(pageType == "samePage")
      location.href = href;
    else
      window.open(href,"_parent","modal=yes,dialog=yes,toolbar=1,width=800px,height=600px,scrollbars=yes");
}

function displayNewMyVideo(itemID, href)
{
     itemID = escape(itemID);
     $("#playbackItemID").val(itemID);
     href = unescape(href);
     $("form[name=videoPlayback]").attr("action",href);
     document.videoPlayback.submit();
}

function embedIEFix()
{
    //  var firWidthInd = embedStr.indexOf("width=\"");
    //    var firHeightInd=embedStr.indexOf(" height=");
        var firWidthInd;
        var firHeightInd;
        var numreg = new RegExp("[0-9]+");
        var reg1 = new RegExp("width\s?\=\s?\"?");
        var m1 = reg1.exec(embedStr);

          if (m1 == null) {
            firWidthInd = -1;
          } else {
            firWidthInd = m1.index;
          }

        var reg2 = new RegExp("height\s?\=\s?\"?");
        var m2 = reg2.exec(embedStr);
          if (m2 == null) {
            firHeightInd = -1;
          } else {
            firHeightInd = m2.index;
          }

        if(firWidthInd != -1 && firHeightInd != -1)
        {
        var widthValueStr =embedStr.substring((firWidthInd + m1.length), (firHeightInd)).replace("(\s|\")+","");
        var widthValue = numreg.exec(widthValueStr);
        var endHeightInd = embedStr.indexOf("\">");
        var heightValueStr = embedStr.substring((firHeightInd+m2.length), endHeightInd);
        var heightValue = numreg.exec(heightValueStr);
        embedStr = embedStr.replace(new RegExp(widthValue, 'g'),tWidth);
        embedStr = embedStr.replace(new RegExp(heightValue, 'g'),tHeight);
         }
   if(embedStr.search(/wmode\s*\=\s*((")|(')|\s*)transparent((")|(')|\s*)\s*/gi) == -1)
    embedStr = embedStr.substr(0,embedStr.search(/<embed/gi)+7) + "wmode='transparent' " + embedStr.substr(embedStr.search(/<embed/gi)+7);
        $("#EmbedTag").html(embedStr);
}

function setEmbedTrans(){
    $("#EmbedTag embed").attr("wmode","transparent");
    return;
}

function ptTrimmedValue(value)
{
    return value.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

function ptTitleTruncate(title, iLength, moreID){
var extension = " ...", subtLength = 4;
    title = unescape(title);
   // var reg = /"|[<(\S+)\/\>]/;//<([^>]*)?/>
    //var reg = /"|<(br)\/\>/g;
   // test = "<br/>";
   // alert(test.replace(reg, "done"));
 //   title.replace(reg, " ");
    if(moreID != "" && moreID !=null)
        {
            subtLength = 9;
            extension = " ... <a title='"+moreID+"' rel='#"+moreID+"' href='#"+moreID+"' class='pt_clickme whatsThis' style='' onClick='setEmbedTrans();'>More</a>";
        }

        var newStr = "";
        if(title == null)
            title = "";
        newStr = ptTrimmedValue(title);
        if( newStr.length > iLength)
        {
          var li = newStr.lastIndexOf(" ");
          if(li > iLength-subtLength)
          {
              newStr = newStr.substring(0, li);
              newStr = ptAppendDots(ptTitleTruncate(newStr, iLength), 0 , iLength, extension);
          }
          else
          {
             if(li == -1)
             {
                 if(newStr.length > iLength)
                     newStr = ptAppendDots(newStr, 0, iLength-subtLength, extension, "no");
             }
             else
                 newStr = ptAppendDots(newStr, 0, li, extension);
          }
        }
        return newStr;
    }

    function ptAppendDots(str , init, last, extension, eliminate)
    {
        var returnStr = str, subtlength = 4;
        if(extension.length > subtlength)
            subtlength = 9;
        if(str.substring(str.length-subtlength, str.length) != extension){
            if(eliminate == "no")
               returnStr = str.substring(init, last) + extension;
            else
               returnStr = str.substring(init, str.lastIndexOf(" ")) + extension ;
        }
        return returnStr;
    }

    function setDBPlayback(template)
            {
                $("#shadow-container").css("display","block");
                 if($("#custLogo").attr("src") == "" || $("#custLogo").attr("src") == null)
                        $("#custLogo").css("display","none");

                    generateVideoTemp(template,40)
            }
