function show_form(f)
{
	if(is_wait()==false)
	{
		wait();
		get_data(f + '.xml', '', proc_show_form);
	}
	return false;
}

function getcookie(name)
{
	var nameEQ = name + '=';
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return '';
}

function proc_show_form()
{
	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200 || http_request.status == 304) 
		{
			var xmldoc = http_request.responseXML;
			var name = xmldoc.getElementsByTagName('name').item(0).firstChild.nodeValue;
			var html = xmldoc.getElementsByTagName('html').item(0).firstChild.nodeValue;
			g('frm').innerHTML = html;
      		var f = g('form');
			if(name=='signin')
			{
				f.email.value = unescape(getcookie('accountup'));
				if(f.email.value == '')
				{
					f.email.focus();
				}
				else
				{
					f.password.focus();
				}
			}
			else if(name == 'password')
			{
				f.email.value = unescape(getcookie('accountup'));
			}
			else if(name == 'register')
			{
				f.email.focus();
			}
			wait(false);
		}
		else
		{
			post_err('Service Not Available');
		}
	}
}

function check_signin(frm)
{
	var err = '';
	var email = trim(frm.email.value);
	var password = frm.password.value;
	if(/^.+@.+\..{2,4}$/.test(email)==false)
	{
		err = '<li>Please enter a valid email address</li>';
	}
	if(password == '')
	{
		err = err + '<li>Please enter a valid password</li>';
	}
	if(err!='')
	{
		post_err(err);
		return false;
	}
	g('btn').disabled = true;
	wait();
	var param = set_param(set_param('', 'email', email), 'password', password);	
	post_data('signin', param, proc_signin);
	return false;
}

function check_password(frm)
{
	var err = '';
	var email = trim(frm.email.value);
	if(/^.+@.+\..{2,4}$/.test(email)==false)
	{
		err = '<li>Please enter a valid email address</li>';
	}
	if(err!='')
	{
		post_err(err);
		return false;
	}
	g('btn').disabled = true;
	g('cancel').disabled = true;
	wait();
	var param = set_param('', 'email', email);	
	post_data('password', param, proc_password);
	return false;
}

function check_register(frm)
{
	var err = '';
	var email = trim(frm.email.value);
	var password = frm.password.value;
	var name = trim(frm.name.value);
	var homepage = trim(frm.homepage.value);
	if(/^.+@.+\..{2,4}$/.test(email)==false)
	{
		err = '<li>Please enter a valid email address</li>';
	}
	if(password == '' || frm.repassword.value == '')
	{
		err = err + '<li>Please enter a password, and then retype it to confirm</li>';
	}
	else if(password != frm.repassword.value)
	{
		err = err + '<li>The password and the confirmation password do not match</li>';
	}
	if(name == '')
	{
		err = err + '<li>Please enter contact name</li>';
	}
	if(homepage == '')
	{
		err = err + '<li>Please enter URL of your company website</li>';
	}
	if(err!='')
	{
		post_err(err);
		return false;
	}
	g('btn').disabled = true;
	g('cancel').disabled = true;
	wait();
	var param = set_param('', 'email', email);
	param = set_param(param, 'password', password);
	param = set_param(param, 'name', name);
	param = set_param(param, 'homepage', homepage);
	post_data('register', param, proc_register);
	return false;
}

function proc_signin()
{
	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200) 
		{
			var xmldoc = http_request.responseXML;
			var code = xmldoc.getElementsByTagName('code').item(0).firstChild.nodeValue;
			if(code == '0')
			{
				location.href = 'http://www.shareup.com/dc/center';
			}
			else
			{
				wait(false);
				g('btn').disabled = false;
				post_err('<li><strong>The e-mail address or password is incorrect.</strong><br /><br />Please retype the e-mail address and password, or sign up if you haven\'t already done so.</li>');
			}
		}
		else
		{
			post_err('Service Not Available');
		}
	}
}

function proc_password()
{
	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200) 
		{
			var xmldoc = http_request.responseXML;
			var code = xmldoc.getElementsByTagName('code').item(0).firstChild.nodeValue;
			if(code == '0')
			{
				alert('A new password has been emailed to you. Please allow for a few minutes delay in delivery.');
				wait(false);
				show_form('signin');
			}
			else
			{
				wait(false);
				g('btn').disabled = false;
				g('cancel').disabled = false;
				post_err('<li>The e-mail address is incorrect. Please <a href="/about.html">contact us</a> if you need further help.</li>');
			}
		}
		else
		{
			post_err('Service Not Available');
		}
	}
}

function proc_register()
{
	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200) 
		{
			var xmldoc = http_request.responseXML;
			var code = xmldoc.getElementsByTagName('code').item(0).firstChild.nodeValue;
			wait(false);
			g('btn').disabled = false;
			g('cancel').disabled = false;
			if(code == '0')
			{
				location.href = 'http://www.shareup.com/dc/center';
			}
			else
			{
				post_err('<li>An account with the email you specified already exists. If you already have an account, please <a href="/dc/" onclick="return show_form(\'signin\')">sign in</a></li>');
			}
		}
		else
		{
			post_err('Service Not Available');
		}
	}
}