var http_request = false;

function init_http_request()
{
	http_request=false;
	if (window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{
			http_request.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject)
	{
		try
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try 
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{
			}
		}
	}
}

function set_param(p, n, v)
{
	if(p=='')
	{
		return n + '=' + escape(v) . replace(/\+/g, '%2B') . replace(/\"/g,'%22') . replace(/\'/g, '%27') . replace(/\//g,'%2F');
	}
	else
	{
		return p + '&' + n + '=' + escape(v) . replace(/\+/g, '%2B') . replace(/\"/g,'%22') . replace(/\'/g, '%27') . replace(/\//g,'%2F');
	}
}

function g(id)
{
	return document.getElementById(id);
}

function hide(id)
{
	g(id).style.display = 'none';
}

function show(id)
{
	g(id).style.display = 'block';
}

function clear_err(l)
{
	for(var i=0; i<=l; i++)
	{
		g('err' + i).innerHTML = '';
	}
}

function softppd_publisher(frm)
{
	//check form
	var account = frm.account.value;
	var company = frm.company.value;
	var fname = frm.fname.value;
	var lname = frm.lname.value;
	var email = frm.email.value;
	var cmail = frm.cmail.value;
	var phone = frm.phone.value;
	var url = frm.url.value;
	var title = frm.title.value;
	var type = frm.type.value;
	var desc = frm.desc.value.substring(0, 250);
	var privacy = frm.privacy.value;
	var logo = frm.logo.value;
	var pv = frm.pv.value;
	var uv = frm.uv.value;
	var pt = frm.pt.value;
	var payee = frm.payee.value;
	var addr = frm.addr.value.substring(0, 250);
	var city = frm.city.value;
	var state = frm.state.value;
	var country = frm.country.value;
	var comm = frm.comm.value.substring(0, 250);
	clear_err(18);
	var err = false;

	if(account == '')
	{
		err = true;
		g('err0').innerHTML = 'Required field cannot be left blank';
	}
	if(company == '')
	{
		err = true;
		g('err1').innerHTML = 'Required field cannot be left blank';
	}
	if(fname == '')
	{
		err = true;
		g('err2').innerHTML = 'Required field cannot be left blank';
	}
	if(lname == '')
	{
		err = true;
		g('err3').innerHTML = 'Required field cannot be left blank';
	}
	if(email == '')
	{
		err = true;
		g('err4').innerHTML = 'Required field cannot be left blank';
	}
	else if(/^.+@.+\..{2,4}$/.test(email)==false)
	{
		err = true;
		g('err4').innerHTML = 'Please enter a valid email address';
	}
	if(cmail == '')
	{
		err = true;
		g('err5').innerHTML = 'Required field cannot be left blank';
	}
	else if(email != cmail)
	{
		err = true;
		g('err5').innerHTML = 'The two email addresses do not match';
	}
	if(phone == '')
	{
		err = true;
		g('err6').innerHTML = 'Required field cannot be left blank';
	}
	if(url == '')
	{
		err = true;
		g('err7').innerHTML = 'Required field cannot be left blank';
	}
	if(title == '')
	{
		err = true;
		g('err8').innerHTML = 'Required field cannot be left blank';
	}
	if(desc == '')
	{
		err = true;
		g('err9').innerHTML = 'Required field cannot be left blank';
	}
	if(privacy == '')
	{
		err = true;
		g('err10').innerHTML = 'Required field cannot be left blank';
	}
	if(logo == '')
	{
		err = true;
		g('err11').innerHTML = 'Required field cannot be left blank';
	}
	if(pv == '')
	{
		err = true;
		g('err12').innerHTML = 'Required field cannot be left blank';
	}
	if(uv == '')
	{
		err = true;
		g('err13').innerHTML = 'Required field cannot be left blank';
	}
	if(payee == '')
	{
		err = true;
		g('err14').innerHTML = 'Required field cannot be left blank';
	}
	else if(pt == 'pp' && /^.+@.+\..{2,4}$/.test(payee)==false)
	{
		err = true;
		g('err14').innerHTML = 'Please enter a valid PayPal account';
	}
	else if(pt == 'cc' && /^.+@.+\..{2,4}$/.test(payee))
	{
		err = true;
		g('err14').innerHTML = 'Please enter a valid name';
	}
	if(addr == '')
	{
		err = true;
		g('err15').innerHTML = 'Required field cannot be left blank';
	}
	if(city == '')
	{
		err = true;
		g('err16').innerHTML = 'Required field cannot be left blank';
	}
	if(country == '227' && state == 'NA')
	{
		err = true;
		g('err17').innerHTML = 'Required field for US publisher';
	}
	if(country == '250')
	{
		err = true;
		g('err18').innerHTML = 'Required field cannot be left blank';
	}
	if(err)
	{
		alert('There was problem with your form submission.');
		return false;
	}
	hide('submit');
	show('wait');
	var param = '';
	param = set_param('', 'account', account);
	param = set_param(param, 'company', company); 
	param = set_param(param, 'fname', fname);
	param = set_param(param, 'lname', lname);
	param = set_param(param, 'email', email);
	param = set_param(param, 'phone', phone); 
	param = set_param(param, 'url', url); 
	param = set_param(param, 'title', title); 
	param = set_param(param, 'type', type); 
	param = set_param(param, 'desc', desc); 
	param = set_param(param, 'privacy', privacy); 
	param = set_param(param, 'logo', logo); 
	param = set_param(param, 'pv', pv); 
	param = set_param(param, 'uv', uv); 
	param = set_param(param, 'pt', pt);
	param = set_param(param, 'payee', payee);
	param = set_param(param, 'addr', addr);
	param = set_param(param, 'city', city);
	param = set_param(param, 'state', state);
	param = set_param(param, 'country', country);
	param = set_param(param, 'comm', comm);
	init_http_request();
	if(!http_request)
	{
		alert('JavaScript/XMLHTTP is either disabled or not supported by your browser.');
		return false;
	}
	http_request.onreadystatechange = proc_pubsignup;
	http_request.open('POST', '/publisher/signup.php', true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http_request.send(param);
	return false;
}

function proc_pubsignup()
{
	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200) 
		{
			var xmldoc = http_request.responseXML;
			var code = xmldoc.getElementsByTagName('code').item(0).firstChild.nodeValue;
			var html = xmldoc.getElementsByTagName('html').item(0).firstChild.nodeValue;
			if(code == '0')
			{
				g('form').innerHTML = html;
				g('signup').style.backgroundColor = '#FFFFD7';
			}
			else
			{
				g('error').innerHTML = html;
				show('submit');
				hide('wait');
			}
		}
		else
		{
			alert('Service Not Available');
		}
	}
}