﻿function getViewPortSize()
{
  var myWidth = 0, myHeight = 0;
  if (typeof (window.innerWidth) == 'number') {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  }
  else if (document.documentElement &&
  (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  }
  else if (document.body &&
  (document.body.clientWidth || document.body.clientHeight)) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return [myWidth, myHeight];
}

function handleOnFromFocus(sender)
{
  if (sender.className == "empty textbox") {
    sender.originalValue = sender.value;
    sender.value = "";
    sender.className = "textbox";
  }
}

function handleOnFromBlur(sender, hiddenDefaultId)
{
  if (sender.value == "") {
    if (sender.originalValue && (sender.originalValue != null)) {
      sender.value = sender.originalValue;
    }
    else if (document.getElementById) {
      sender.value = document.getElementById(hiddenDefaultId).innerHTML;
    }
    sender.className = "empty textbox";
  }
}

function clearFromText(target)
{
  target.value = "\xA0";
}

function changeBackground(intStep)
{
  var ddlBackground = document.getElementById('ddlBackground');
  var intNewSelection = (ddlBackground.selectedIndex + intStep) % ddlBackground.length;
  var strarText = ddlBackground.options[intNewSelection].text.split(';');
  var imgSelectedBkg = document.getElementById('imgSelectedBkg');
  ddlBackground.selectedIndex = intNewSelection;
  imgSelectedBkg.src = strarText[1];
  imgSelectedBkg.alt = strarText[0];
}

function attachFromInputEvents(txtTarget, strHiddenDefaultID)
{
  if (txtTarget != null) {
    txtTarget.onfocus = function() { handleOnFromFocus(txtTarget); };
    txtTarget.onblur = function() { handleOnFromBlur(txtTarget, strHiddenDefaultID); };
  }
}

function attachFromImageEvent(image, textBox)
{
  if (image != null) {
    image.onclick = function() { clearFromText(textBox); };
  }
}

function addFromToBackEvents()
{
  /* Le Nordik n'en veut plus
  var txtFrom = document.getElementById('txtFrom');
  var txtTo = document.getElementById('txtTo');
  attachFromInputEvents(txtFrom, 'GUI_INDEX_MYSELF');
  attachFromInputEvents(txtTo, 'GUI_INDEX_RECIPIENT');
  attachFromImageEvent(document.getElementById('imgClearFrom'), txtFrom);
  attachFromImageEvent(document.getElementById('imgClearTo'), txtTo);
  //*/

  var imgPrevBkg = document.getElementById('imgPrevBkg');
  if (imgPrevBkg != null) {
    imgPrevBkg.onclick = function() { changeBackground(-1); };
  }
  var imgNextBkg = document.getElementById('imgNextBkg');
  if (imgNextBkg != null) {
    imgNextBkg.onclick = function() { changeBackground(+1); };
  }
}

function escapeForRegExp(text)
{
  if (!arguments.callee.sRE) {
    var specials = [
      '/', '.', '*', '+', '?', '|',
      '(', ')', '[', ']', '{', '}', '\\', '$', '^'
    ];
    arguments.callee.sRE = new RegExp(
      '(\\' + specials.join('|\\') + ')', 'g'
    );
  }
  return text.replace(arguments.callee.sRE, '\\$1');
}

function ddlBookletSize_onChange(ddlSender)
{
  var lnbPrice = document.getElementById(ddlSender.id.replace("_ddlBookletSize", "_lnbPrice"));
  if ((ddlSender.value == "null") || (ddlSender.valueOf == "")) {
    lnbPrice.innerHTML = "";
  }
  else {
    lnbPrice.innerHTML = ddlSender.value.split(';')[3];
  }
  if (window.ActiveXObject) {
    ddlBookletSize_onBlur(ddlSender);
  }
}

function ddlBookletSize_onBlur(ddlSender)
{
  ddlSender.style.width = "";
}

function ddlBookletSize_onMouseDown(ddlSender)
{
  ddlSender.style.width = "15em";
}

function attachBookletSizeDropDown(ddlTarget)
{
  ddlTarget.onchange = function() { ddlBookletSize_onChange(ddlTarget); };
  if (window.ActiveXObject) {
    ddlTarget.onblur = function() { ddlBookletSize_onBlur(ddlTarget); };
    ddlTarget.onmousedown = function() { ddlBookletSize_onMouseDown(ddlTarget); };
  }
}

function attachBookletSizeDropDowns()
{
  var ddlarBookletSize = getElementsByTagAndClass(document, 'select', 'booklet-size');
  for (var i = 0; i < ddlarBookletSize.length; i++) {
    attachBookletSizeDropDown(ddlarBookletSize[i]);
  }
}

function stretchCategories(tblProductList)
{
  var spnarH1 = getElementsByTagAndClass(document, 'span', 'h1');
  var trContainer;
  var tdarSiblings;
  var intColHeaders;
  for (var j = 0; j < spnarH1.length; j++) {
    trContainer = spnarH1[j].parentNode.parentNode;
    tdarSiblings = trContainer.getElementsByTagName("td");
    intColHeaders = 0;
    for (var k = 1; k < tdarSiblings.length; k++) {
      intColHeaders += tdarSiblings[k].getElementsByTagName("*").length;
    }
    if (intColHeaders < 1) {
      tdarSiblings[0].setAttribute("colspan", "5");
      while (tdarSiblings.length > 1) {
        trContainer.removeChild(tdarSiblings[tdarSiblings.length - 1]);
      }
    }
  }
}

function stretchAllCategories()
{
  var tblarProductList = getElementsByTagAndClass(document, 'table', 'productList');
  for (var i = 0; i < tblarProductList.length; i++) {
    stretchCategories(tblarProductList[i]);
  }
}

function attachIndexAspxEvents()
{
  stretchAllCategories();
  addFromToBackEvents();
  attachBookletSizeDropDowns();
}

function centerOnScreen(divToCenter)
{
  var intarViewport = getViewPortSize();
  divToCenter.style.left = Math.round((intarViewport[0] - divToCenter.offsetWidth) * 0.5) + "px";
  divToCenter.style.top = Math.round((intarViewport[1] - divToCenter.offsetHeight) * 0.5) + "px";
}

addEvent(window, "load", attachIndexAspxEvents);

