/*******************************************************************************
    File        : common.js
    Purpose     : Common JavaScript functions for e-commerce web pages.

    Description :

    Author(s)   : David Rollinson
    Created     : Oct 2007
    Notes       :
*******************************************************************************/
var globBrowserName;
var globBrowserVer;
var globBrowser;
function printBasket() {
  myUrl = location;
  myUrl += '?SessionId=' + document.getElementById('SessionId').value;
  myUrl += '&Action=print';
  myUrl += '&BasketRef=' + document.getElementById('BasketRef').value;
  if (!myPrintWindow || myPrintWindow.closed)
    myPrintWindow = window.open(myUrl,'PrintWindow','location=no,toolbar=yes,width=700,height=500');
  if (myPrintWindow.open) {
    myPrintWindow.location = myUrl;
    myPrintWindow.focus();
  }
}
function mouseOver(myCursor) {
  document.body.style.cursor = myCursor;
}
function mouseOut(myCursor) {
  document.body.style.cursor = myCursor;
}
function navAction(myAction) {
  /*if (myAction == 'logout') {
    var myBasketLines = parseInt(document.getElementById('BasketLines').content);
    if (myBasketLines > 0 && !confirm('         Are you sure you want to log out?\n(Any unconfirmed orders in your basket will be cancelled)'))
      return false;
  }*/
  document.getElementById('Action').value = myAction;
  document.getElementById('Function').value = '';
  document.getElementById('MainForm').submit();
}
function intInput(myEvent){
  var myUnicode = myEvent.charCode? myEvent.charCode : myEvent.keyCode;
  // If the key is the backspace, tab, return or a numeric key
  if (myUnicode == 13 || myUnicode == 9 || myUnicode == 8 || (myUnicode >= 48 && myUnicode <= 57))
    return true; // Enable key press
  else
    return false;
}
function decInput(myEvent){
  var myUnicode = myEvent.charCode? myEvent.charCode : myEvent.keyCode;
  // If the key is the backspace, tab, return, decimal-point or a numeric key
  if (myUnicode == 13 || myUnicode == 9 || myUnicode == 8 || myUnicode == 46 || (myUnicode >= 48 && myUnicode <= 57))
    return true; // Enable key press
  else
    return false;
}
function getNodeText(myNode) {
  if (myNode.firstChild != null)
    return myNode.firstChild.data;
  else
    return '';
}
function displayTerms(myUrl) {
  if (!myTermsWindow || myTermsWindow.closed)
    myTermsWindow = window.open(myUrl,'TermsWindow','location=no,toolbar=yes,width=700,height=600');
  if (myTermsWindow.open)
    myTermsWindow.focus();
}
function getTargetElement(myEvent) {
  var myElement
  if (myEvent.target) {
    myElement = (myEvent.target.nodeType == 3) ? myEvent.target.parentNode : myEvent.target
  }
  else {
    myElement = myEvent.srcElement
  }
  return myElement
}
function showScreenSize() {
  window.status = 'Help!';
  var mainTable = document.getElementById('DivMain');
  //alert('Screen: ' + screen.width + 'x' + screen.height + '\nContent: ' + mainTable.scrollWidth + 'x' + mainTable.scrollHeight + '\nWindow: ' + window.outerWidth + 'x' + window.outerHeight);
  alert('Screen: ' + screen.width + 'x' + screen.height + '\nContent: ' + document.body.scrollWidth + 'x' + document.body.scrollHeight + '\nWindow: ' + window.outerWidth + 'x' + window.outerHeight);
}
function addToList(myListVar,myValue) {
  myArray = myListVar.value.split(',');
  for(i = 0; i < myArray.length; i++) {
    if (myArray[i] == '')
      myArray.splice(i,1);
    if (myArray[i] == myValue)
      return;
  }
  myArray.push(myValue);
  myListVar.value = myArray.join(',');
}
function delFromList(myListVar,myValue) {
  myArray = myListVar.value.split(',');
  for(i = 0; i < myArray.length; i++) {
    if (myArray[i] == myValue)
      myArray.splice(i,1);
  }
  myListVar.value = myArray.join(',');
}
function delSelOpt(mySelect) {
  while (mySelect.options.length > 0) {
    mySelect.remove(0);
  }
}
function addSelOpt(mySelect,myText,myValue,mySelected) {
  newOpt = document.createElement('option');
  newOpt.text = myText;
  newOpt.value = myValue;
  if (mySelected)
    newOpt.selected = mySelected;
  try {
    mySelect.add(newOpt,null);
  }
  catch(ex) {
    mySelect.add(newOpt);
  }
}
function browserOk() {
  // Test for Firefox/x.x or Firefox x.x
  if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
    globBrowserName = 'Mozilla Firefox';
    globBrowserVer = new Number(RegExp.$1) // capture x.x portion and store as a number
    globBrowser = 'FF' + globBrowserVer;
    return true;
  }
  // Test for MSIE x.x
  else if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
    globBrowserName = 'Microsoft Internet Explorer';
    globBrowserVer = new Number(RegExp.$1) // capture x.x portion and store as a number
    globBrowser = 'IE' + globBrowserVer;
    if (globBrowserVer >= 6.0)
      return true;
  }
  // Test for Apple Safari
  if (/Safari[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
    globBrowserName = 'Apple Safari';
    if (/Version[\/\s](\d+\.\d+)/.test(navigator.userAgent))
      globBrowserVer = new Number(RegExp.$1)
    else
      globBrowserVer = 2;
    globBrowser = 'SF' + globBrowserVer;
    return true;
  }
  // Test for Opera
  if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
    globBrowserName = 'Opera';
    globBrowserVer = new Number(RegExp.$1);
    globBrowser = 'OP' + globBrowserVer;
    if (globBrowserVer >= 9.5)
      return true;
  }
  // Else not supported
  else {
    globBrowser = '';
    globBrowserName = '';
    globBrowserVer = 0.0;
  }
  return false;
}

if (!browserOk())
  alert('Your browser in not supported for this site, please use\nFirefox, Safari, Opera or Internet Explorer 6.0 or later.');