var jumptv_ads_is_IE = (navigator.appName == "Microsoft Internet Explorer") ? true : false;
var jumptv_ads_base_url = 'http://www.jumptv.com/';

// Debug additional
var jumptv_script_coll = document.getElementsByTagName('script');
var jumptv_mResults;

function is_wmp_plugin_installed()
{
  if (!navigator.userAgent.match(/Firefox/)) 
    return false;
  
  for (var i = 0; i < navigator.plugins.length; i++) 
    for (var j = 0; j < navigator.plugins[i].length; j++) 
      if (navigator.plugins[i][j].type == "application/x-ms-wmp") 
        return true;
  
  return false;
}

function getIFrameSettings(mode)
{
  var settings = {
    width: 770,
    height: 380
  };
  
  if (mode == 'mini') {
    settings.width = 386;
  }
  
  return settings;
}

function setupUrlParameters()
{
  var parameters = new Object();
  
  if (window.location.search) {
    var paramArray = window.location.search.substr(1).split("&");
    var length = paramArray.length;
    
    for (var index = 0; index < length; index++) {
      var param = paramArray[index].split("=");
      var name = param[0];
      var value = typeof param[1] == "string" ? decodeURIComponent(param[1]) : null;
      parameters[name] = value;
    }
  }
  window.location.parameters = parameters;
}

for (var i = 0; i < jumptv_script_coll.length; i++) {
  jumptv_mResults = jumptv_script_coll.item(i).src.match(/(.*)index-ads\.js/);
  if (jumptv_mResults) {
    jumptv_ads_base_url = jumptv_mResults[1];
    jumptv_ads_base_url = jumptv_ads_base_url.replace(/https:/, "http:");
    break;
  }
}

// Add supporting for IE
if (jumptv_ads_is_IE && (typeof XMLHttpRequest == 'undefined')) {
  XMLHttpRequest = function()
  {
    var msxmls = ['MSXML3', 'MSXML2', 'Microsoft'];
    for (var i = 0; i < msxmls.length; i++) {
      try {
        return new ActiveXObject(msxmls[i] + '.XMLHTTP')
      } 
      catch (e) {
      }
    }
    throw new Error("No XML component installed!");
  }
}

var jumptv_iframeURL = jumptv_ads_base_url;

if (typeof jumptv_ads_language == 'string' && jumptv_ads_language.search(/^[a-z]{2}$/i) >= 0) {
  jumptv_iframeURL += jumptv_ads_language + '/';
}

jumptv_iframeURL += 'jumper';

if (typeof jumptv_ads_partner == 'string' && jumptv_ads_partner.search(/^\w+$/) >= 0) {
  jumptv_iframeURL += '/' + escape(jumptv_ads_partner);
  
  if (typeof jumptv_ads_channel == 'string' && jumptv_ads_channel.search(/^\w+$/) >= 0) {
    jumptv_iframeURL += '/ch/' + jumptv_ads_channel;
  }
  if (typeof jumptv_ads_bitrate == 'number' || (typeof jumptv_ads_bitrate == 'string' && jumptv_ads_bitrate.search(/^\d+$/) >= 0)) {
    jumptv_iframeURL += '/br/' + jumptv_ads_bitrate;
  }
  if (typeof jumptv_ads_language_selector == 'boolean') {
    jumptv_iframeURL += '/ls/' + (jumptv_ads_language_selector ? 'on' : 'off');
  }
  
  if (is_wmp_plugin_installed()) {
    jumptv_iframeURL += '/wmp/' + 'plugin';
  }
  
  if (typeof jumptv_ads_mode != 'undefined') {
    jumptv_iframeURL += '/mode/' + jumptv_ads_mode;
    
    jumptv_iframeURL += '?jumper_domain=' + window.location.hostname;
    
    if (jumptv_ads_mode == 'mini' && typeof jumptv_footage_video != 'undefined') {
      jumptv_iframeURL += '&footage_video=' + jumptv_footage_video;
    }
    
    if (jumptv_ads_mode == 'mini' && typeof jumptv_preload_image_url != 'undefined') {
      //Get variables should have param_ suffix
      jumptv_iframeURL += '&param_preload_image=' + encodeURIComponent(jumptv_preload_image_url);
    }
  }
  else {
    jumptv_iframeURL += '?jumper_domain=' + window.location.hostname;
    jumptv_ads_mode = 'full';
  }
  setupUrlParameters();
  if (window.location.parameters && window.location.parameters["ref"]) 
    jumptv_iframeURL += '&ref=' + encodeURIComponent(window.location.parameters["ref"]);
  
  
}

var iFrameSettings = getIFrameSettings(jumptv_ads_mode);

document.write('<iframe src="' + jumptv_iframeURL + '" width="' + iFrameSettings.width + '" height="' + iFrameSettings.height + '" scrolling="no" frameborder="0" allowtransparency="true" id="widgetIFrame" style="background-color: transparent;"></iframe>');
