
   var optimizer_is_running = optimizer_is_running ? optimizer_is_running : false;
var optimizer_combination = typeof optimizer_combination == 'string' ? optimizer_combination : '';
var optimizer_trackcode = typeof optimizer_trackcode == 'string' ? optimizer_trackcode : '';

function reportOptimizerGoal() {
  optimizer_trackcode = typeof optimizer_trackcode == 'string' ? optimizer_trackcode : '';
  var optimizer_regex = /\d{9,}/;
  
  if (optimizer_trackcode.match(optimizer_regex) && 'gwoTracker' in  window && '_trackPageview' in gwoTracker) {
    try {
      gwoTracker._trackPageview('/' + optimizer_trackcode + '/goal');
    } catch(err) {}
  }
}

function createMkw() {
  sCut = typeof sCut == 'string' ? sCut : '';
  optimizer_test_id = typeof optimizer_test_id == 'string' ? optimizer_test_id : '';
  optimizer_combination = typeof optimizer_combination == 'string' ? optimizer_combination : '';
  
  var mkw_code = '';
  if (optimizer_test_id != '' && optimizer_combination != '') {
    mkw_code = optimizer_test_id + '_' + optimizer_combination;
  }
  
  var mkw_remove_regex = /&mkw=[^&]*&/i;
  sCut = sCut.replace(mkw_remove_regex, '&mkw=' + mkw_code + '&');

  return mkw_code;
}

function createDlp() {
  var dlp = '';
  
  try {
    var dlp = encodeURIComponent(document.location.href);
    dlp = dlp.replace(/\./gi, "%2E");
  }
  catch (err) { }
  
  return dlp;
}

function createSt() {
  var st = '';
  sCut = typeof sCut == 'string' ? sCut : '';
  optimizer_st = typeof optimizer_st == 'string' ? optimizer_st : '';
  
  if (optimizer_st != '') {
    st = optimizer_st;
    
    var st_regex_remove = /&st=[^&]*&/i;
    sCut = sCut.replace(st_regex_remove, '&');
  }
  
  return st;
}

function OpenAndDownload(location, brand) {
  //unica
  try {
    ntptAddPair("dl", location);
    ntptEventTag("ev=download_" + brand);
  } catch(err){}
  
  //this to avoid javascript errors in SWOT pages
  try {
    // if download process already started -> doesn't show exit popup in future
    showExitPopup = false;
    setDownloadStatus();
  } catch(err){}
  
  if (optimizer_is_running) {
    reportOptimizerGoal();
  }
  
  var mkw_code = createMkw();
  var dlp = createDlp();
  var dlp_str = dlp != '' ? ('&dlp=' + dlp) : '';
  var st = createSt();
  var st_str = st != '' ? ('&st=' + st) : '';
  
  var sURLreg = "/downloadclient.htm?dl=" + location + "&DownloadBrand=" + brand + st_str + "&mkw=" + mkw_code + dlp_str;
  window.open(sURLreg, "popDown", "width=620,height=150,top=0,left=0");
}

function OpenLiveCasino(location) {
  var dl = parseInt(location);
  dl = isNaN(dl) ? '4679' : dl;
  try {
    ntptAddPair("dl", dl);
    ntptEventTag("ev=nodownload_livecasino");
  } catch(err){}

  var w = 801;
  var h = 571;
  var l = (window.screen.width - w) / 2;
  var t = (window.screen.height - h) / 2;
 
  var mkw_code = createMkw();
  var dlp = createDlp();
  var dlp_str = dlp != '' ? ('&dlp=' + dlp) : '';
  var st = createSt();
  var st_str = st != '' ? ('&st=' + st) : '';
  var lang = typeof rlLang  != 'undefined' ? rlLang  : 'en';

  if (optimizer_is_running) {
    reportOptimizerGoal();
  }

  var filename = "http://ndl.888.com/casino/application/ViewActual.html?mode=3&LangID=" + lang + "&dl=" + dl + "&skin=5&brand=0" + st_str + "&mkw=" + mkw_code + "&" + sCut + dlp_str;
  
  var opened = window.open(filename, "Offline", "resizable=no,status=no,scrollbars=no,toolbar=no,menubar=no,left=" + l + ",top=" + t + ",width=" + w + ",height=" + h);
   
  if (undefined == opened) {
    getBanner(bannerID).openWindow(filename, "Offline", "resizable=no,status=no,scrollbars=no,toolbar=no,menubar=no,left=" + l + ",top=" + t + ",width=" + w + ",height=" + h);
  }
}

function NoDownloadPoker(location, bannerID) {
  try {
    ntptAddPair("dl", location);
    ntptEventTag("ev=nodownload_888poker");
  } catch(err){}

  var w = 820;
  var h = 565;
  var l = (window.screen.width - w) / 2;
  var t = (window.screen.height - h) / 2; 
  
  //if NOT from landing page (out of the frame)
  if (window.name != "") {
    setDownloadStatus();
  }
 
  if (optimizer_is_running) {
    reportOptimizerGoal();
  }

  var mkw_code = createMkw();
  var dlp = createDlp();
  var dlp_str = dlp != '' ? ('&dlp=' + dlp) : '';
  var st = createSt();
  var st_str = st != '' ? ('&st=' + st) : '';
  var lang = typeof rlLang  != 'undefined' ? rlLang  : 'en';
  
  var filename = "http://ndl.888.com/poker/flashpoker_real/application/RLFlashPoker.html?dl=" + location + "&skin=4&brand=1" + "&LangID=" + lang + st_str + "&mkw=" + mkw_code + "&" + sCut + dlp_str;
  
  var opened = window.open(filename, null, "height=" + h + ",width=" + w + ",status=no,toolbar=no,menubar=no,location=no,resize=no,left="+l+",top="+t);
  
  if (undefined == opened) {
    getBanner(bannerID).openWindow(filename ,null, "height=" + h + ",width=" + w + ",status=no,toolbar=no,menubar=no,location=no,resize=no,left="+l+",top="+t);
  }  
}

function NoDownloadCasino(location, bannerID) {
  try {
    ntptAddPair("dl", location);
    ntptEventTag("ev=nodownload_888casino");
  } catch(err){}

  var w = 801;
  var h = 571;
  var l = (window.screen.width - w) / 2;
  var t = (window.screen.height - h) / 2;
 
  if (optimizer_is_running) {
    reportOptimizerGoal();
  }

  var mkw_code = createMkw();
  var dlp = createDlp();
  var dlp_str = dlp != '' ? ('&dlp=' + dlp) : '';
  var st = createSt();
  var st_str = st != '' ? ('&st=' + st) : '';
  var lang = typeof rlLang  != 'undefined' ? rlLang  : 'en';
  var skin = (typeof rlCountry == 'string' && rlCountry == 'gbr') ? '3' : '4';

  var filename = "http://ndl.888.com/casino/application/ViewActual.html?mode=2&LangID=" + lang + "&dl=" + location + "&skin=" +skin + st_str + "&mkw=" + mkw_code + "&" + sCut + dlp_str;
 
  var opened = window.open(filename ,"Offline","resizable=no,status=no,scrollbars=no,toolbar=no,menubar=no,left=" + l + ",top=" + t + ",width=" + w + ",height=" + h);

  if (undefined == opened) {
    getBanner(bannerID).openWindow(filename ,"Offline","resizable=no,status=no,scrollbars=no,toolbar=no,menubar=no,left=" + l + ",top=" + t + ",width=" + w + ",height=" + h);
  }
}

function OpenGames(location) {
  var w = window.screen.width - 100;
  var h = window.screen.height - 100;
  var l = (window.screen.width - w) / 2;
  var t = (window.screen.height - h) / 2;

  if (optimizer_is_running) {
    reportOptimizerGoal('games', location);
  }
  
  var mkw_code = createMkw();
  var dlp = createDlp();
  var dlp_str = dlp != '' ? ('&dlp=' + dlp) : '';
  var st = createSt();
  var st_str = st != '' ? ('&st=' + st) : '';
  
  if (optimizer_is_running) {
    reportOptimizerGoal();
  }
  
  var filename = "http://www.888games.com/?dl=" + location + st_str + "&mkw=" + mkw_code + "&" + sCut + dlp_str;
  
  var opened = window.open(filename ,"Offline","resizeable=yes,left=" + l + ",top=" + t + ",width=" + w + ",height=" + h);
}

function OpenSport(location) {
  var w = window.screen.width - 100;
  var h = window.screen.height - 100;
  var l = (window.screen.width - w) / 2;
  var t = (window.screen.height - h) / 2;

  
  var mkw_code = createMkw();
  var dlp = createDlp();
  var dlp_str = dlp != '' ? ('&dlp=' + dlp) : '';
  var st = createSt();
  var st_str = st != '' ? ('&st=' + st) : '';
  
  if (optimizer_is_running) {
    reportOptimizerGoal();
  }
  
  var filename = "http://www.888sport.com/bet?dl=" + location + st_str + "&mkw=" + mkw_code + "&" + sCut + dlp_str;
  
  var opened = window.open(filename ,"Offline","resizable=yes,left=" + l + ",top=" + t + ",width=" + w + ",height=" + h);
}

