
function getElementsByClassName(oElm, strTagName, strClassName)
{
  var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
  var arrReturnElements = new Array();
  strClassName = strClassName.replace(/\-/g, "\\-");
  var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
  var oElement;
  for(var i=0; i<arrElements.length; i++){
    oElement = arrElements[i];
    if(oRegExp.test(oElement.className)){
      arrReturnElements.push(oElement);
    }
  }
  return (arrReturnElements)
}

function windowSize()
{
  this.width=0;
  this.height=0;
}

function getWindowSize(_size)
{
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    _size.width = window.innerWidth;
    _size.height = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    _size.width = document.documentElement.clientWidth;
    _size.height = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    _size.width = document.body.clientWidth;
    _size.height = document.body.clientHeight;
  }
}

function toProperCase(s)
{
  return s.toLowerCase().replace(/^(.)|\s(.)/g, 
          function($1) { return $1.toUpperCase(); });
}

function isValidPhoneNumberKey(evt)
{
  var charCode = (evt.which) ? evt.which : evt.keyCode
  if ((charCode > 32 && (charCode < 48 || charCode > 57)) && charCode!=43)
    return false;

  if (!evt.target) //if event obj doesn't support e.target, presume it does e.srcElement
    evt.target=evt.srcElement //extend obj with custom e.target prop

  if (charCode==43)
  {
    //only one (+) international code identifier allowed
    if (evt.target.value.indexOf(String.fromCharCode(charCode))>-1)
      return false;
  }

  return true;
}

function isFloatNumberKey(evt)
{
  var charCode = (evt.which) ? evt.which : evt.keyCode
  if ((charCode > 32 && (charCode < 48 || charCode > 57)) && charCode!=46)
    return false;

  if (!evt.target) //if event obj doesn't support e.target, presume it does e.srcElement
    evt.target=evt.srcElement //extend obj with custom e.target prop

  if (charCode==46)
  {
    //only one decimal point allowed
    if (evt.target.value.indexOf(String.fromCharCode(charCode))>-1)
      return false;
  }

  return true;
}

function showTerms()
{
  document.getElementById('terms_container').style.display = 'block';
  document.getElementById('terms_container').style.visibility = 'visible';
}

function closeTerms()
{
  document.getElementById('terms_container').style.display = 'none';
  document.getElementById('terms_container').style.visibility = 'hidden';
}

function showPrivacy()
{
  document.getElementById('privacy_container').style.display = 'block';
  document.getElementById('privacy_container').style.visibility = 'visible';
}

function closePrivacy()
{
  document.getElementById('privacy_container').style.display = 'none';
  document.getElementById('privacy_container').style.visibility = 'hidden';
}