	function verify() {

		if (document.reg.email.value.indexOf("@") < 0 || document.reg.email.value.indexOf(".") < 0) {

			alert("The email address you entered is invalid");

			return;

		}
		
		var numCaps = 0;   
		var regexp = /[A-Z]/g;    
		var text = document.reg.email.value;    
		while ((match = regexp.exec(text)) != null) {      
			numCaps++;    
		}
		if (numCaps > 0) {
			if (confirm("The email address you entered contains uppercase characters. Is that intended?\nClick cancel to correct it, ok to proceed")) {}
			else return;

		}

		if (document.reg.soft_id.value.length == 0) {

			alert("missing software code");

			return;

		}

		if (isNaN(parseInt(document.reg.soft_id.value))) {

			alert("invalid software code");

			return;

		}

		if (getOS(document.reg.elements['osBox']).length == 0) {

			alert("Please select your operationg system.");

			return;

		} else document.reg.os.value = getOS(document.reg.elements['osBox']);

		if(document.reg.bill_country.value.length == 0){

			alert("Please select your home country");

			return;

		}

		if (document.reg.app_name.value.length < 5) {
			document.reg.app_name.value = "ChainGang";
		}

		document.reg.submit();

	}

	function countryChanged() {

		/*if (document.reg.bill_country.value.length == 0) {

			document.reg.de.checked = false;
			document.reg.nde.checked = false;

		} else {

			if (document.reg.bill_country.value == "DE") {
				document.reg.de.checked = true;
				document.reg.nde.checked = false;
			} else {
				document.reg.de.checked = false;
				document.reg.nde.checked = true;
			}

		}*/

	}

	function setCountry(de) {

		/*if (de) {
			document.reg.bill_country.value = "DE";
			document.reg.nde.checked = false;
		} else {
			document.reg.bill_country.value = "";
			document.reg.de.checked = false;

		}*/

	}

	function getOS(radioObj) {
		for(var i = 0; i < 2; i++) {
			if(radioObj[i].checked) return radioObj[i].value;
		}
		return "";
	}

	function showHowTo() {
		alert("In "+getValue("app")+"`s setup dialog go to the `register` page,\nclick `register now`, then `buy` (Alternatively click `buy` in the expiration dialog).\nThe software ID is printed into the upcoming dialog in bold.\n\nYou can let "+getValue("app")+" launch a browser and this field will be filled automatically.");
	}
	var regID = 0;
	var q = "";
	if (!location.search) {
		//alert("nothing to register");
	}

	q = location.search.substring(1);

	var keyValuePairs = new Array();

	for(var i=0; i < this.q.split("&").length; i++) {
		this.keyValuePairs[i] = this.q.split("&")[i];
	}

	function getValue(s) {
		for(var j=0; j < this.keyValuePairs.length; j++) {
			if(this.keyValuePairs[j].split("=")[0] == s)
				return this.keyValuePairs[j].split("=")[1];
		}
		return "";
	}

