var mouseX;
var mouseY;


function BRoll(Button, Version)
  {
  Button.src = Button.src.slice(0, -5) + Version + '.png';
  }

function stripCharsNotInBag (s, bag)
        {
  var i;
  var returnString = "";

  for (i = 0; i < s.length; i++)
          {
    // Check that current character isn't whitespace.
    var c = s.charAt(i);
                if (bag.indexOf(c) != -1) returnString += c;
          }

  return returnString;
        }

function isPhone10Digit (PhoneNumber)
        {
  PhoneNumber = stripCharsNotInBag(PhoneNumber, "0123456789");
        if (PhoneNumber.length == 10)
          return true;
  else
          return false;
  }

function isCanadianPostal (PostalCode)
        {
  var regExpObj = new RegExp("[a-z][0-9][a-z][0-9][a-z][0-9]","i");

  PostalCode = stripCharsNotInBag(PostalCode, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
         PostalCodeAfter = regExpObj.exec(PostalCode);

  return (PostalCode == PostalCodeAfter);
  }

function isEmail (EmailAddress)
        {
  var regExpObj = new RegExp("[a-z|0-9|_\.\-]+[@]{1}[a-z|0-9|_\.\-]+[a-z]{2,3}","i");

  EmailAddressAfter = stripCharsNotInBag(EmailAddress, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@.-");
        if (EmailAddressAfter == EmailAddress)
          {
                 EmailAddressAfter = regExpObj.exec(EmailAddress);
    }
         return (EmailAddressAfter == EmailAddress);
  }

function TglClass(objObject, searchClass, replaceClass)
        {
        objObject.className=objObject.className.replace(searchClass, replaceClass);
  return true;
  }

function strRepeat(string, multiplier)
        {

  if (multiplier > 1)
          {
                Result = string;
          lCounter = 1;
          while( (lCounter  << 1) < multiplier)
                  {
                  Result = Result + Result;
                  lCounter = lCounter  << 1;
                  }

    lCounter = multiplier - lCounter;
    if (lCounter > 0) Result = Result + strRepeat(string, lCounter);
          }
        else if (multiplier == 1)
          Result = string;
  else
                Result = '';

  return Result;
        }

function padLeft(String, MinLength, PadChar)
  {
  sResult = strRepeat(MinLength, PadChar) + String;
  return sResult.substring(sResult.length - MinLength, MinLength);
  }


function mousePosition(evt, bRelateTo)
        {
        //NOTE: bRelateTo - Relate to document, 1 - Relate to screen, 2 - Relate to containing object

        if ((bRelateTo == null) || (bRelateTo == 1)) // Related to document
                {
          if (evt.pageX)
            {
            //Netscape
            mouseX = evt.pageX;
            mouseY = evt.pageY;
            }
          else if (evt.clientX)
            {
            //Internet Explorer
            mouseX = evt.clientX + document.body.scrollLeft;
            mouseY = evt.clientY + document.body.scrollTop;
            }
          }
        else if (bRelateTo == 2) // Related to screen
                {
    mouseX = evt.screenX;
    mouseY = evt.screenY;
          }
        else if (bRelateTo == 3) // Related to containing object
                {
          if (evt.pageX)
            {
            //Netscape
            mouseX = (evt.offsetLeft) ? evt.offsetLeft : evt.left;
            mouseY = (evt.offsetTop)  ? evt.offsetTop  : evt.top;
            }
          else if (evt.clientX)
            {
            //Internet Explorer
            mouseX = (evt.offsetLeft) ? evt.offsetLeft : 0;
            mouseY = (evt.offsetTop)  ? evt.offsetTop  : 0;
            }
                }
        else
                {
          mouseX = -1;
          mouseY = -1;
          alert("Invalid relate to request made");
                }
        return true;
        }

function mouseKeyDown(e)
        {
        if (e.keyCode == 13)
                {
          mouseX = -1;
          mouseY = -1;
          }
        return true;
        }

function MSG(StatusMsg)
        {
  window.status = StatusMsg
  return true
  }

function getCookie(searchName, defaultValue)
        {
  sResult = null;
  tmpResult = document.cookie;
  if (tmpResult.substring(-1) != ';') tmpResult += ';';

        if (searchName != null)
                {
                CookieString = ' ' + tmpResult;
                searchName = ' ' + searchName + '=';
          Index = CookieString.indexOf(searchName);
          if (Index > -1)
                  {
                  posStart = Index + searchName.length;
      posEnd = CookieString.indexOf(';', posStart);
      sResult = CookieString.substring(posStart, posEnd);
                  }
          else
            sResult = defaultValue;
                }

        return sResult;
        }

function setCookie(Name, value, expireTime)
        {
  if (!expireTime) {expireTime = new Date(); expireTime.setMonth( expireTime.getMonth() + 3 ); }
  document.cookie = Name + '=' + escape(value) + '; expires=' + expireTime;
        }

function printTable(arTable)
  {
  var rows = arTable.length;
  var cols = arTable[0].length;
  var snewInnerHTML = '<table>';

  snewInnerHTML += '<tr>';
  for (col=0; col<cols; col++)
    snewInnerHTML += '<th >' + arTable[0][col] + '</th>';
  snewInnerHTML += '</tr>';

  for (row=1; row<rows; row++)
    {
    snewInnerHTML += '<tr>';
    for (col=0; col<cols; col++)
      snewInnerHTML += '<td>' + arTable[row][col] + '</td>';

    snewInnerHTML += '</tr>';
    }
  snewInnerHTML += '</table>';
  return (snewInnerHTML);
  }

  function sortTable(sortFunc, arTable, sortCol)
    {
    var rows = arTable.length;
    var cols = arTable[0].length;
    var snewInnerHTML = '<table>';

    snewInnerHTML += '<tr>';
    for (col=0; col<cols; col++)
      snewInnerHTML += '<th >' + arTable[0][col] + '</th>';
      //snewInnerHTML += '<th onclick="' + sortFunc + '(' + col + ')">' + arTable[0][col] + '</th>';

    snewInnerHTML += '</tr>';

    for (row=1; row<rows; row++)
      {
      snewInnerHTML += '<tr>';
      for (col=0; col<cols; col++)
        snewInnerHTML += '<td>' + arTable[row][col] + '</td>';

      snewInnerHTML += '</tr>';
      }
    snewInnerHTML += '</table>';
    return (snewInnerHTML);
    }

	function resizeIFrame(id)
		{
		objFrame = parent.document.getElementById(id);
		if (objFrame)
			{
	    innerDocBody = (objFrame.contentDocument ? objFrame.contentDocument.body : objFrame.contentWindow.document.body);
	    objToResize  = (objFrame.style) ? objFrame.style : objFrame;

	    objToResize.height = 20 + ((innerDocBody.scrollHeight) ? innerDocBody.scrollHeight : innerDocBody.offsetHeight);
			}
		}

	function resizeContentIframe()
		{
		resizeIFrame('iframeContent');
		}
