Element.addMethods({ 
	getError: function (element) {
		var item = $(element);
		while (item.parentNode != document) {
			item = $(item.parentNode)
			if (item.hasClassName('error')) { return item; }
		}
		return $(element);
	},
	check: function (element) {
		if (!(element = $(element))) return;
		if (element.type=='radio' || element.type=='checkbox') return $A(document.getElementsByName(element.name)).any(function(e) {return e.checked});
		return $F(element);
	}
});

function getPrice(offer) {
  new Ajax.Updater('price','get_price.php', {
		parameters: { offer: offer }
  });
	setTimeout (fixButtons,500);
}
function fixButtons() {
	if ($$('input[type=hidden].free')[0]) {
		$('submit').innerHTML = '<table width="512" class="submit border"><tr><td><input type=submit value=Submit></td></tr>\n<tr><td>Click here to recieve your free copies</td></tr>';
	} else {
		$('submit').innerHTML = '<table width="512" class="submit border"><tr><td><input type="submit" value="Invoice Me" name="invoice"></td><td><input type="image" value="Pay Now" name="paypal" src="https://www.paypal.com/en_US/i/btn/btn_paynow_SM.gif" id=pp></td></tr>\n<tr><td>Receive Invoice via Email</td><td>Pay now via PayPal</td></tr>\n<tr><td colspan=2 class="gst">GST# 13607 4085 RT0001</td></tr></table>'
	}
};

function enable() {
	if (document.order) {
		document.order.observe('submit',function (event) {verify(event);},false);
		$('nojs').innerHTML="";
		$('intl').innerHTML='Not in Canada? <a href="javascript:locSwitch(\'for\');">Click here</a> for international pricing.';
		document.order.action = document.order.title;
		getPrice('can');
	}
};

function locSwitch(loc) {
	if (loc=='for') {
		$('pri_select').hide();
		getPrice('for');
		$('intl').innerHTML='Looking for Canadian Pricing? <a href="javascript:locSwitch(\'can\');">Click here</a>.';
		$('change_prov_text').innerHTML = '*State:';
		$('change_prov_value').innerHTML = '<input type="text" name="prov" required="required">';
		$('change_postal').innerHTML = '*ZipCode:';
		$('change_country_text').innerHTML = '*Country:';
		$('change_country_value').innerHTML = '<input type="text" name="country" required="required">';
	} else {
		$('pri_select').show();
		getPrice('can');
		$('intl').innerHTML='Not in Canada? <a href="javascript:locSwitch(\'for\');">Click here</a> for international pricing.';
		$('change_prov_text').innerHTML = '*Province:';
		$('change_prov_value').innerHTML = '<select name="prov" required="required"><option value="">Select Province</option><option value="NL">Newfoundland</option><option value="PE">Prince Edward Island</option><option value="NS">Nova Scotia</option><option value="NB">New Brunswick</option><option value="QC">Quebec</option><option value="ON">Ontario</option><option value="MB">Manitoba</option><option value="SK">Saskatchewan</option><option value="AB">Alberta</option><option value="BC">British Columbia</option><option value="NT">Northwest Territories</option><option value="YT">Yukon</option><option value="NU">Nunavut</option></select>';
		$('change_postal').innerHTML = '*Postal Code:';
		$('change_country_text').innerHTML = '&nbsp;';
		$('change_country_value').innerHTML = '<input type="hidden" name="country" value="Canada">';
	}
};

function verify(event) {
	var elements = $A(event.target.elements),
  failed = false;

	elements.each(function(item) {
		if (item.getAttribute('required')) //valid.push(item.check());
			if ( !item.check() ) { 
				failed = true;
			}
	});

	elements.each(function(item, index) {
	});
	if (failed) {
	  alert("Please fill out all required fields");
		event.stop();	
	}
};



