var i = 1;
var ajaxRequest;

function $(id) { return document.getElementById(id); }
function byName(name) { return document.getElementsByName(name)[0]; }

function initAJAX() {
	try { ajaxRequest = new XMLHttpRequest(); }
	catch(error) { ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); }
}

function isValidURL(url){ 
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/; 
    if(RegExp.test(url)){ 
    }else{ 
		$('message').innerHTML += 'Please enter valid website URL<br />';
		$('message').style.display = 'block';
    } 
} 

function isValidEmail(email){ 
    var RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/ 
    if(RegExp.test(email)){ 
    }else{ 
		$('message').innerHTML += 'Please enter valid email address<br />';
		$('message').style.display = 'block';
    } 
} 

function validate(name) {
	var  elem = byName(name);
	if (elem.value == '') {	
		$('message').innerHTML += 'Please enter ' + elem.parentNode.parentNode.getElementsByTagName('td')[0].innerHTML.toLowerCase() + '<br />';
		$('message').style.display = 'block';
		$('place_holder').style.display = 'none';
	}
}

function write_message(text) {
	$('message').innerHTML = text;
	if (text == '') {
		$('message').style.display = 'none';
		$('place_holder').style.display = 'block';
	}
	else {
		$('message').style.display = 'block';
		$('place_holder').style.display = 'none';
	}
}

function set_screen() {
	$('screen'+i).style.display = 'none';
		++i;
	$('screen'+i).style.display = 'block';
	$('place_holder').style.display = 'block';
}

function change_screen() {
	write_message('');
	switch(i) {
		case 1 :
			set_screen();
			$('button_next').innerHTML = 'Next';
			byName('your_name').focus();
			$('logo_container').style.display = 'none';
		break;
		case 2 :
			validate('your_name');
			validate('position');
			validate('company');
			validate('telephone');
			validate('email');
			validate('website');
			var email = byName('email').value;
			if (email != '') isValidEmail(email);
			var url = byName('website').value;
			if (url != '') isValidURL(url);
			if ($('message').innerHTML == '') {
				$('button_next').onmouseup = function () {};
				write_message('Please wait ...');
				initAJAX();
				ajaxRequest.open("POST", 'index.php');
				ajaxRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				var inputs = $('screen2').getElementsByTagName('INPUT');
				var params = 'send=true&fs=true';
				for (var j = 0; j < inputs.length;  j++) {
					params += '&' + inputs[j].name + '=' + inputs[j].value;
				}
				ajaxRequest.onreadystatechange = function () {
					if (ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
						set_screen();
						byName('company_operate').focus();
						$('button_next').onmouseup = change_screen;
						write_message('');
					}
				}
				ajaxRequest.send(params);
			}
		break;
		case 3 :
			validate('company_operate');
			validate('employee_count');
			validate('soft_usage');
			validate('current_software');
			if ($('message').innerHTML == '') set_screen();
		break;				
		case 4 :
			if ($('message').innerHTML == '') {
				$('button_next').onmouseup = function () {};
				write_message('Please wait ...');
				$('form').submit();
			}
		break;		
	}
}