Array.prototype.inArray = function (value) {
  for (var i=0; i < this.length; i++) 
    if (this[i] === value) return true;
  return false;
};

var xmlhttp
function getPrice (code) {
  xmlhttp = GetXmlHttpObject();
  if (xmlhttp == null) {
    alert ("Your browser does not support AJAX!");
    return;
  }
  var url="get_promo.php";
  url+="?code="+code;
  url+="&sid="+Math.random();
  xmlhttp.open("GET",url,false);
  xmlhttp.send(null);
	return xmlhttp.responseXML
}


function GetXmlHttpObject() {
  if (window.XMLHttpRequest) {
    return new XMLHttpRequest();
  }
  if (window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP");
  }
  return null;
}

function changePrice(loc) {
	document.paymentform.action='submit.php';
	document.paymentform.invoice.disabled=false;
	document.paymentform.paypal.disabled=false;
	if (typeof(loc) == 'undefined' || loc=='') loc='can';
	offers = getPrice(loc).documentElement.getElementsByTagName('offer');
	if (loc == 'can') txt = '<p>\n'; 		
	else if (loc =='intl') txt = '<p>U.S. Pricing:</p><p>\n';
	else if (offers) txt = '<p>Pricing for offer code \''+loc+'\':</p><p>\n';
	for (i=0; i<offers.length; i++) {
		promo = offers[i].getElementsByTagName('code')[0].firstChild.nodeValue;
		years = offers[i].getElementsByTagName('years')[0].firstChild.nodeValue;
		text = offers[i].getElementsByTagName('text')[0].firstChild.nodeValue;
   	txt +='<input type=radio name=sub value="'+promo+'" id="'+years+'y"><label for="'+years+'y">'+text+'</label><br>\n';
	}
	txt+='</p>';
	if (loc == 'can') txt += '<p class=links></p>';
	else if (loc == 'intl') txt += '<p class=links>Looking for Canadian prices? <a href="javascript:changePrice(\'can\');">Click here</a></p>';
	document.getElementById('pricing').innerHTML = txt;
}

function checkRadio(radioName) {
  var radio = document.getElementsByName(radioName)
  if (radio.length) {
    for (var i=0; i<radio.length; i++) if (radio[i].checked) break;
    if (i==radio.length) return false;
  } else 
    return false;
  return true;
}

function verify() {
  var elements = document.getElementsByTagName('form')[0].elements
  var check = [
    'firstname',
    'lastname',
    'address',
    'city',
    'prov',
    'postcode',
    'email',
    'sub'
    ];
  var out = ''; 
  var failed = false;
  for (var i=0;i<elements.length;i++) {
    if (check.inArray(elements[i].name) && (i==0 || elements[i].name != elements[i-1].name))
      if (!(
        (elements[i].type == 'radio' && checkRadio(elements[i].name)) ||
        (elements[i].type == 'text' && elements[i].value != '') ||
        (elements[i].type == 'select-one' && elements[i].value != '')
        ) ) { 
          failed = true;
          out += '('+ elements[i].type + ') ' + elements[i].name + ' [Fail]\n';
          var a = elements[i].parentNode;
          if (a.nodeName == 'TD' || a.nodeName == 'SPAN') a = a.parentNode;
          if (a.nodeName != 'P') {
          	a.style.border='2px red solid';
          	a.style.backgroundColor='rgb(255,64,64)';
          } else {
          	a.style.color='red';
          }
        }
  }
  if (!failed) 
    return true;
  else 
    alert('Please fill in all fields');
  return false;

}