function checkPersonalData()
{
	var error = 0;
	
	//validate of 'First Name' field
	var fname = hx_trim(document.getElementById('form_id1').fname.value);
	if(!fname.length)
	{
		document.getElementById('herror_fname').innerHTML = document.getElementById('invalid_value').innerHTML;
		error = 1;
	}
	else
		document.getElementById('herror_fname').innerHTML = "";
	
	//validate of 'Surname' field
	var lname = hx_trim(document.getElementById('form_id1').lname.value);
	if(!lname.length)
	{
		document.getElementById('herror_lname').innerHTML = document.getElementById('invalid_value').innerHTML;
		error = 1;
	}
	else
		document.getElementById('herror_lname').innerHTML = "";

	//validate of 'Salution' field
	var gender = document.getElementById('form_id1').gender.value;
	if(gender != 'M' && gender != 'W')
	{
		document.getElementById('herror_gender').innerHTML = document.getElementById('invalid_value').innerHTML;
		error = 1;
	}
	else
		document.getElementById('herror_gender').innerHTML = "";

	//validate of 'User Name' field	
	var login = document.getElementById('form_id1').login.value;
	if(!login.length)
	{
		document.getElementById('herror_login').innerHTML = document.getElementById('invalid_value').innerHTML;
		error = 1;
	}
	else
	{
		var herror_login = hx_trim(document.getElementById('herror_login').innerHTML);
		if(herror_login.length > 5 && herror_login != document.getElementById('invalid_value').innerHTML)
		{
			error = 1;
		}
		else
			document.getElementById('herror_login').innerHTML = "";	
	}	

	//validate of 'Telephone' field	
	var phone = hx_trim(document.getElementById('form_id1').phone.value);
	if(!phone.length){
		document.getElementById('herror_phone').innerHTML = document.getElementById('invalid_value').innerHTML;
		error = 1;
	}
	else if (!phone.match(/^\+?[\(\)\-0-9]+$/))
	{
		document.getElementById('herror_phone').innerHTML = document.getElementById('invalid_format').innerHTML;
		error = 1;
	}
	else
		document.getElementById('herror_phone').innerHTML = "";	
	
	// validation of fax
	
	var fax = hx_trim(document.getElementById('form_id1').fax.value);
	if(fax.length > 0 && !fax.match(/^\+?[\(\)\-0-9]+$/)){
		document.getElementById('herror_fax').innerHTML = document.getElementById('invalid_format').innerHTML;
		error = 1;
	}
	else
		document.getElementById('herror_fax').innerHTML = "";	
	
	// validation of mobile
	
	var mobile = hx_trim(document.getElementById('form_id1').mobile.value);
	if(mobile.length > 0 && !mobile.match(/^\+?[\(\)\-0-9]+$/)){
		document.getElementById('herror_mobile').innerHTML = document.getElementById('invalid_format').innerHTML;
		error = 1;
	}
	else
		document.getElementById('herror_mobile').innerHTML = "";	

	//validate of 'E-mail' field
	var email = hx_trim(document.getElementById('form_id1').email.value);
	if(!email.length)
	{
		document.getElementById('herror_email').innerHTML = document.getElementById('invalid_value').innerHTML;
		error = 1;
	}
	else{
		document.getElementById('herror_email').innerHTML = "";
		if(!validateEmail(email))
		{
			document.getElementById('herror_email').innerHTML = document.getElementById('invalid_email').innerHTML;
			error = 1;
		}
	}	

	//validate of 'Password' field
	var pwd = hx_trim(document.getElementById('form_id1').password.value);
	if(!pwd.length)
	{
		document.getElementById('herror_password').innerHTML = document.getElementById('invalid_value').innerHTML;
		error = 1;
	}
	else{
		var herror_password = hx_trim(document.getElementById('herror_password').innerHTML);
		if(herror_password.length > 5 && herror_password != document.getElementById('invalid_value').innerHTML)
			error = 1;
		else
			document.getElementById('herror_password').innerHTML = "";	
	}

	//validate of 'Repeat Password' field
	var pwd2 = hx_trim(document.getElementById('form_id1').password2.value);
	if(!pwd2.length)
	{
		document.getElementById('herror_password2').innerHTML = document.getElementById('invalid_value').innerHTML;
		error = 1;
	}
	else
	{
		document.getElementById('herror_password2').innerHTML = "";
		if(pwd != pwd2)
		{
			document.getElementById('herror_password2').innerHTML = document.getElementById('passwd_not_match').innerHTML;
			error = 1;
		}		
	}

	if(error == 1)
		return false;
	else
		return true;
}

function checkAddressData()
{
	var error = 0;
	
	//validate of 'Address' field
	var street = hx_trim(document.getElementById('form_id2').street.value);
	if(!street.length)
	{
		document.getElementById('herror_street').innerHTML = document.getElementById('invalid_value').innerHTML;
		error = 1;
	}
	else
		document.getElementById('herror_street').innerHTML = "";	

	//validate of 'Company Name' field	
	if(document.getElementById('form_id2').name1 != null)
	{
		var name1 = hx_trim(document.getElementById('form_id2').name1.value);
		if(!name1.length)
		{
			document.getElementById('herror_name1').innerHTML = document.getElementById('invalid_value').innerHTML;
			error = 1;
		}
		else
			document.getElementById('herror_name1').innerHTML = "";
	}
	
	//validate of 'Employees' field		
	if(document.getElementById('form_id2').size != null)
	{
		var size = hx_trim(document.getElementById('form_id2').size.value);
		if(!size.length)
		{
			document.getElementById('herror_size').innerHTML = document.getElementById('invalid_value').innerHTML;
			error = 1;
		}
		else
			document.getElementById('herror_size').innerHTML = "";
	}
			
	//validate of 'Print & media purchases' field	
	if(	document.getElementById('form_id2').buyin != null)
	{	
		var buyin = hx_trim(document.getElementById('form_id2').buyin.value);
		if(!buyin.length)
		{
			document.getElementById('herror_buyin').innerHTML = document.getElementById('invalid_value').innerHTML;
			error = 1;
		}
		else
			document.getElementById('herror_buyin').innerHTML = "";
	}	
	
	
	//validate of 'City' field
	var city = hx_trim(document.getElementById('form_id2').city.value);
	if(!city.length)
	{
		document.getElementById('herror_city').innerHTML = document.getElementById('invalid_value').innerHTML;
		error = 1;
	}
	else
		document.getElementById('herror_city').innerHTML = "";	
		
	//validate of 'Postcode' field
	var zip = hx_trim(document.getElementById('form_id2').zip.value);
	if(!zip.length)
	{
		document.getElementById('herror_zip').innerHTML = document.getElementById('invalid_value').innerHTML;
		error = 1;
	}
	else
		document.getElementById('herror_zip').innerHTML = "";	

	//validate of 'Phone' field
	if (document.getElementById('form_id2').phone != null)
	{
		var phone = hx_trim(document.getElementById('form_id2').phone.value);
		if (!phone.length) {
			document.getElementById('herror_phone').innerHTML = document.getElementById('invalid_value').innerHTML;
		} else if(phone.length > 0 && !phone.match(/^\+?[\(\)\-0-9]+$/)){
			document.getElementById('herror_phone').innerHTML = document.getElementById('invalid_format').innerHTML;
			error = 1;
		}
		else
			document.getElementById('herror_phone').innerHTML = "";	
	}
	
	// fax validation
	
	var fax = hx_trim(document.getElementById('form_id2').fax.value);
	if(fax.length > 0 && !fax.match(/^\+?[\(\)\-0-9]+$/)){
		document.getElementById('herror_fax').innerHTML = document.getElementById('invalid_format').innerHTML;
		error = 1;
	}
	else
		document.getElementById('herror_fax').innerHTML = "";	
	
	//validate of 'Country' field
	var country = hx_trim(document.getElementById('form_id2').country.value);
	if(country == 0)
	{
		document.getElementById('herror_country').innerHTML = document.getElementById('invalid_value').innerHTML;
		error = 1;
	}
	else
	{
		document.getElementById('herror_country').innerHTML = "";
		// state not selected
		if(document.getElementById('herror_states_'+country) && document.getElementById('states_'+country))
		{
			var state = document.getElementById('states_'+country).value;
			if(state == '')
			{
				document.getElementById('herror_states_'+country).innerHTML = document.getElementById('invalid_value').innerHTML;
				error = 1;
			}
			else
				document.getElementById('herror_states_'+country).innerHTML = "";
		}

		if(document.getElementById('herror_county_'+country) && document.getElementById('county_'+country))
		{
			var hx_county = document.getElementById('county_'+country).value;

			if(hx_county == '')
			{
				document.getElementById('herror_county_'+country).innerHTML = document.getElementById('invalid_value').innerHTML;
				error = 1;
			}
			else
			{
				document.getElementById('herror_county_'+country).innerHTML = "";
			}
		}
	}

				
	
	if(error == 1)
		return false;
	else
		return true;
}

function ajaxCheck(flag)
{
	if (flag == 'alias_check')
	{
		$.hiflex_processing({status:'start'});

		if ($('#alias_overall_error').length)
			$('#alias_overall_error').val('&nbsp;');

		var alias_login_err = '';
		var alias_password_err = '';
		var alias_password2_err = '';
		var email_addresse_err = '';
		var no_error = true;

		$.ajax	(	
						{
							type: "POST",
							url: GLOBAL_WEB_ROOT + 'user_account/checkLogin.php',
							async: false,
							data:'login=' + hx_trim($('#alias_login').val()),
							success:	function(content){
								if (hx_trim(content) != '')
								{
									no_error = false;
									alias_login_err = content;
								}
								else
									alias_login_err = '&nbsp;';
							}
						} 
				);
		$.ajax	(	
						{
							type: "POST",
							url: GLOBAL_WEB_ROOT + 'user_account/checkPwd.php',
							async: false,
							data:'login=' + hx_trim($('#alias_login').val()) + '&password=' + hx_trim($('#alias_password').val()),
							success:	function(content){
								if (hx_trim(content) != '')
								{
									no_error = false;
									alias_password_err = content;
								}
								else
									alias_password_err = '&nbsp;';
							}
						} 
				);
		$.ajax	(	
						{
							type: "POST",
							url: GLOBAL_WEB_ROOT + 'user_account/checkPwd.php',
							async: false,
							data:'login=' + hx_trim($('#alias_login').val()) + '&password=' + hx_trim($('#alias_password').val()) + '&password2=' + hx_trim($('#alias_password2').val()),
							success:	function(content){
								if (hx_trim(content) != '')
								{
									no_error = false;
									alias_password2_err = content;
								}
								else
									alias_password2_err = '&nbsp;';
							}
						} 
				);
		
		var email = hx_trim($('#email_address').val());

		if(!validateEmail(email))
		{
			email_addresse_err = document.getElementById('invalid_email').innerHTML;
			no_error = false;
		}
		else
			email_addresse_err = '&nbsp;';

		if (no_error)
			return true;

		$('#alias_login_err').html(alias_login_err);
		$('#alias_password_err').html(alias_password_err);
		$('#alias_password2_err').html(alias_password2_err);
		$('#email_addresse_err').html(email_addresse_err);

		$.hiflex_processing({status:'stop'});
		
		return false;
	}
	else
	{
		var form;

		if (document.getElementById('form_id1'))
			form = 'form_id1'
		else
			form = 'sform';

		if(flag == 2)
		{
			var email = document.getElementById(form).email.value;
			email = hx_trim(email);

			if(!validateEmail(email))
				document.getElementById('herror_email').innerHTML = document.getElementById('invalid_email').innerHTML;
			else
				document.getElementById('herror_email').innerHTML = "";

			document.getElementById(form).login.value = document.getElementById(form).email.value;
			var tab = new Array("fname","lname","login","bcpid");
			getAjaxRequest(GLOBAL_WEB_ROOT + 'user_account/checkLogin.php', 'post', 'herror_login', '', tab);
		}
		else if(flag == 1)
		{	
			var tab = new Array("fname","lname","login","bcpid");
			getAjaxRequest(GLOBAL_WEB_ROOT + 'user_account/checkLogin.php', 'post', 'herror_login', '', tab);
		}
		else if(flag == 3)
		{
			var pwd = hx_trim(document.getElementById(form).password.value);
			var login = hx_trim(document.getElementById(form).login.value);
			var tab = new Array("fname","lname");	
			var cus = getAjaxRequest(GLOBAL_WEB_ROOT + 'user_account/checkPwd.php', 'post', 'herror_password', 'password='+pwd+'&login='+login , tab);	
		}
		else if (flag == 4)	
		{
			var email = document.getElementById(form).email.value;
			email = hx_trim(email);

			if(!validateEmail(email))
				document.getElementById('herror_email').innerHTML = document.getElementById('invalid_email').innerHTML;
			else
				document.getElementById('herror_email').innerHTML = "";
		}
	}
}

function createAjaxObject()
{
	var request = false;
	try
	{
		
		request = new XMLHttpRequest();
	}
	catch (err2)
	{
		try
		{
			request = new ActiveXObject('Microsoft.XMLHTTP');
		}
		catch(err3)
		{
			try
			{
				request = new ActiveXObject('Msxml2.XMLHTTP');
			}
			catch (err1)
			{
				request = false;
			}
		}
	}
	return request;
}


function getAjaxRequest(url, metoda, id, parameters, idArray)
{
	var params='';
	params+=parameters;
	
	//create string with parameters
	if(idArray)
	{
		var len=idArray.length;
		var paramName;
		var paramValue;

		params+='&';
 		for(i=0;i<len;i++)
		{
			paramName=idArray[i];
			paramValue=document.getElementById(paramName).value;
			params+=paramName + '=' + paramValue;
			if(i<len-1) params+='&';
		}
	}

	var AjaxObject= createAjaxObject();
	if(!AjaxObject)
	{
		return;
	}
	if(metoda.toLowerCase() == 'post')
	{
		AjaxObject.open('POST', url, true);
		AjaxObject.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=iso-8859-1");
		AjaxObject.onreadystatechange = function()
		{
			if (AjaxObject.readyState == 4)
			{
				setResult(AjaxObject.responseText, id);
			}
		}
		AjaxObject.send(params);
	}
	else
	{
		url+= '?' + params;
		AjaxObject.open("GET",url,true);
		AjaxObject.onreadystatechange = function()
		{
			if(AjaxObject.readyState == 4)
			{
				setResult(AjaxObject.responseText, id);
			}
		}
		AjaxObject.send(null);
	}
}

function setResult(result, id)
{
	document.getElementById(id).innerHTML = result;
}

function validateEmail(field)
{
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(field)) 
		return true;
	else
		return false;
}


function hx_trim(str)
{
	return $.trim(str);
}



