function start() {
	var string = document.getElementById('input').value;
	var output = document.getElementById('output');
	/*if(!verifySymbols(string)) {
		output.innerHTML = "Syntax Error";
	} else {*/
	var a = getArrays(string);
	var letters = letterArray(a).toString();
	var numbers = numberArray(a).toString();
	var ajax = getAjax();
	var params = 'numbers='+numbers+'&letters='+letters;
	ajax.open('POST','response.php',true);
	ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajax.setRequestHeader("Content-length", params.length);
	ajax.setRequestHeader("Connection", "close");
	ajax.send(params);
	ajax.onreadystatechange = function() {
		if(ajax.readyState == 4 && ajax.status == 200) {
			output.innerHTML = '<br />' + ajax.responseText + '<br />';
		}
	}
	//}
}

function change() {
	var string = document.getElementById('input').value;
	var output = document.getElementById('output');
	var a = getArrays(string);
	var letters = letterArray(a);
	var numbers = numberArray(a);
	var rarara = '<input type="text" name="string" value="';
	for(var i=0;i<letters.length;i++) {
		rarara += letters[i] + numbers[i] + ',';
	}
	rarara += '" /><br />';
	output.innerHTML = rarara;
	for(var i=0;i<letters.length;i++) {
		output.innerHTML += '<input type="text" name="letters[]" value="' + letters[i] + '" />';
	}
	output.innerHTML += "<br />";
	for(var i=0;i<numbers.length;i++) {
		output.innerHTML += '<input type="text" name="numbers[]" value="' + numbers[i] + '" />';
	}	
}

function verifySymbols(str) {
	var pattern = /(\*\^)|(\^\*)|(\^[^\d])|(\*$)|(\^$)/gi; //verify all symbols placed correctly
	var pattern2 = /[^(\w|\^|\*|\-)]/gi; //verify all symbols are recognized
	if (str.search(pattern)>=0 || str.search(pattern2)>=0) {
		return false;
	}
	return true;
}
/*verification needs more work. want:
-all symbols other than \w, * and ^ and -
-^*
*^
^ at the end
* at the end
^ followed by anything other than a number between it and * or end
etc
*/
function getArrays(str) {
	var pattern = /\*/;
	var a = str.split(pattern);
	return a;
}

function letterArray(array) {
	var a = new Array();
	for(var x in array) {
		var s = array[x];
		if(s.indexOf("^")<0) {
			a.push(s);
		} else {
			a.push(s.substring(0,s.indexOf("^")));
		}
	}
	return a;
}

function numberArray(array) {
	var a = new Array();
	for(var x in array) {
		var s = array[x];
		if(s.indexOf("^")<0) {
			a.push(1);
		} else {
			a.push(s.substring(s.indexOf("^")+1,s.length));
		}
	}
	return a;
}

function getAjax() {
	var xmlHttp;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				alert("Your browser does not support AJAX!");
				return null;
			}
		}
	}
	return xmlHttp;
}

function Void() {
	return;
}