/**
* Signup Form Javascript
* By: Nate Dentzau
* (c) 2007 FreePowerBoards Inc.
*/

var xmlHttp;
		
function stateChanged() 
{ 
	if ( xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete' )
	{
		document.getElementById('output').innerHTML = xmlHttp.responseText;
	}
	}
		
function GetXmlHttpObject()
{
	var xmlHttp = null;
			
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
		
	return xmlHttp;
}
		
function updateContent(version, search, page, step, data)
{
	switch ( step )
	{
		case 1:
			document.getElementById('steps').innerHTML = '<div style="color: #2B2F31;">Step 1: Select a template</div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div style="color: #aaaaaa;">Step 2: Fill out signup form</div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div style="color: #aaaaaa;">Step 3: Create your forum</div>';
			break;

		case 2:
			document.getElementById('steps').innerHTML = '<div style="color: #aaaaaa;">Step 1: Select a template</div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div style="color: #2B2F31;">Step 2: Fill out signup form</div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div style="color: #aaaaaa;">Step 3: Create your forum</div>';
			break;

		case 4:
			document.getElementById('steps').innerHTML = '<div style="color: #aaaaaa;">Step 1: Select a template</div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div style="color: #aaaaaa;">Step 2: Fill out signup form</div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div style="color: #2B2F31;">Step 3: Create your forum</div>';
			break;
	}

	document.getElementById('output').innerHTML = '<div style="text-align: center;">Loading.. Please wait..<br /><br /><img src="/site/images/signup/ajax-loader.gif" alt="easy forum"></div>';
			
	xmlHttp = GetXmlHttpObject();

	var url = '/site/signup_contrib.php?v=' + version + '&s=' + search + '&p=' + page + '&st=' + step + '&d=' + data;
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open('GET', url, true);
	xmlHttp.send(null);
}

function updateToolTip(id)
{
	switch ( id )
	{
		case 0:
			document.getElementById('tooltip').innerHTML = 'By hovering over the different fields, a detailed explanation will help you create your forum. However if you are still unclear about how enter in a field, please contact us.<br /><br />When you are done filling out the fields, press the continue button to begin the installation.';
			break;

		case 1:
			document.getElementById('tooltip').innerHTML = '<h3>Forum Name</h3><br />This is the most important part of the signup form. Your forum name is how you access your site. Example:<br /><br /><div style="font-size: 10px;">http://www.freepowerboards.com/<strong>forumname</strong>/</div><br />We do support UTF-8 format, you <em>can</em> include characters that are not supported in english.';
			break;

		case 2:
			document.getElementById('tooltip').innerHTML = '<h3>Forum Category</h3><br />Select a category that best describes your forum. This is just a way for us to know what your forum is about, if you don\'t find something that matches the description of your forum, please select one that is closet, it does not have to be 100% accurate.';
			break;

		case 3:
			document.getElementById('tooltip').innerHTML = '<h3>Username</h3><br />The username is for your account on your forum. Please remember to write this down, because you will need it to login to your forum. When logging in on your forum, you username will not be case sensative and you can change your username at a later point in your admin panel.';
			break;

		case 4:
			document.getElementById('tooltip').innerHTML = '<h3>Email</h3><br />Enter in an e-mail address that does not have a spam blocker. Since the e-mails sent from our site are from a POP3 server; Hotmail, AOL, and Yahoo! may block your e-mails from FPB. This will also be the board e-mail on your forum. You can change this at a later date in your admin panel.';
			break;


		case 5:
			document.getElementById('tooltip').innerHTML = '<h3>Password</h3><br />Your password must be 6 characters or larger. Your password will be for your account on your forum. All passwords are encrypted in our database and will not be viewable by anyone on the FreePowerBoards staff. If you lose your password, there is a lost password form on your forum\'s login page.';
			break;


		case 6:
			document.getElementById('tooltip').innerHTML = '<h3>Promotion Code</h3><br />We offer promotions for new signups. If you have a promotion code, enter it in the text box and it will be validated at the end of your installation. If there is a problem with the promotion code problem or you have any questions please contact our support department.';
			break;
	}
}

function validate_required(field)
{
	return ( field.value == null || field.value == '' ) ? false : true;
}

function error_box(message, field)
{
	document.getElementById(field + '_error').innerHTML = message;

	if ( message )
	{
		document.getElementById(field).className = 'error';
		document.getElementById(field + '_error_box').style.display = 'block';
	}
	else
	{
		document.getElementById(field).className = '';
		document.getElementById(field + '_error_box').style.display = 'none';
	}
}				

function validate_form(thisform)
{
	with ( thisform )
	{
		if ( ( url_type[0].checked == true && !validate_required(forum_name) ) || ( url_type[1].checked == true && !validate_required(forum_name2) ) || !validate_required(username) || !validate_required(username) || !validate_required(email) || !validate_required(pass1) || !validate_required(pass2) )
		{
			alert('Please fill in the required fields to continue');
			return false;
		}
	
		error_box('', 'forum_name');
		error_box('', 'username');
		error_box('', 'email');
		error_box('', 'pass1');
		error_box('', 'pass2');
		error_box('', 'promocode');

		if ( window.XMLHttpRequest )
		{
			xmlhttp = new XMLHttpRequest();
		}
		else
		{
			try
			{
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(e)
			{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
		}

		urltype = ( url_type[0].checked ) ? 0 : 1;
		forumname = ( !urltype ) ? forum_name.value : forum_name2.value;
		var url = '/site/signup_contrib.php?v=v3&p=&s=&st=3&t=' + escape(template.value) + '&ut=' + urltype + '&sd=' + escape(subdomain.value) + '&fn=' + escape(forumname) + '&fc=' + escape(forum_cat.value) + '&u=' + escape(username.value) + '&e=' + escape(email.value) + '&p1=' + escape(pass1.value) + '&p2=' + escape(pass2.value) + '&pc=' + escape(promocode.value);
		xmlhttp.open("GET", url, true);
		xmlhttp.send(null);
		xmlhttp.onreadystatechange = function()
		{
			if ( xmlhttp.readyState == 4 )
			{
				eval(xmlhttp.responseText);
			}
		}
	}
}

function toggleContent(field)
{
	if ( document.getElementById(field + 'tab').className == 'active' )
	{
		return false;
	}

	if ( field == 'v2' )
	{
		document.getElementById('v2tab').className = 'active';
		document.getElementById('v3tab').className = '';
		updateContent('v2', '', 1, 1, '');
	}
	else if ( field == 'v3' )
	{
		document.getElementById('v2tab').className = '';
		document.getElementById('v3tab').className = 'active';
		updateContent('v3', '', 1, 1, '');
	}
}

