function loginHelpWin()
{
	win_ref = window.open( 'help/loginHelp.html', 'loginHelp', 'scrollbars=1,toolbar=0,left=0,top=0,width=400,height=500,resizable=0' );
	win_ref.focus();
}

function display_cmd_ref( cmd_ref ) {
	win_ref = window.open( cmd_ref, 'server_cmd_ref', 'scrollbars=1,toolbar=0,left=0,top=0,width=800,height=600,resizable=1' );	
	win_ref.focus();
}

function display_tos( tos_doc ) {
	win_ref = window.open( tos_doc, 'Terms_of_Service', 'scrollbars=1,toolbar=0,left=0,top=0,width=800,height=600,resizable=1' );	
	win_ref.focus();
}

function display_ftp_ref(ftp_instr_url)
{ 
	win_ref = window.open( ftp_instr_url, 'FTP_Reference','menubar=0,location=0,scrollbars=1,toolbar=1,left=0,top=0,width=800,height=600,resizable=1' );	
	win_ref.focus();
}

function display_win(source_url)
{
	win_ref = window.open(source_url, 'My_Window','menubar=0,location=0,scrollbars=1,toolbar=0,left=0,top=0,width=800,height=600,resizable=1' );	
	win_ref.focus();
}

function go_ftp(file)
{
	window.location.href = "ftp://webuser:xtcprogamer@www.xtremecybergames.com/" + file;
}

function defaultVoiceOptions( formID ) {

	oformID = document.getElementById( formID );
	
	if (oformID.vs_copy_gs.checked == true) 
	{
      oformID.vs_admin_username.value 		= oformID.gs_admin_username.value;
      oformID.vs_admin_pwd.value 			= oformID.gs_admin_pwd.value;
      oformID.vs_admin_pwd_confirm.value 	= oformID.gs_admin_pwd_confirm.value;
   }
   else 
	{
			// the checkbox is unchecked, so clear the fields
      oformID.vs_admin_username.value 		= "";
	   oformID.vs_admin_pwd.value 			= "";
      oformID.vs_admin_pwd_confirm.value 	= "";
   }
}

function update_vs_summary( form, page_refresh ) 
{
//	access = form.vs_access.options[form.vs_access.options.selectedIndex].value.toLowerCase();
	max_players = form.vs_max_players.options[form.vs_max_players.options.selectedIndex].value;
	//payment 	= calc_vs_payment( form );
//	pmt_term = form.pmtTerm.options[form.pmtTerm.options.selectedIndex].text;

	if ( page_refresh ) 
	{
		if ( document.getElementById('gs_code') )
			window.location.href = "gs_options.php?gs_code="+form.gs_code.options[form.gs_code.options.selectedIndex].value+"&vs_code="+form.vs_code.options[form.vs_code.options.selectedIndex].value;
		else
			window.location.href = "vs_options.php?vs_code="+form.vs_code.options[form.vs_code.options.selectedIndex].value;		
	}
	else 
	{
			// no page refresh occured so just update the voice server name summary
//   	form.vs_name_summary.value = form.vs_code.options[form.vs_code.options.selectedIndex].text;
   	form.vs_details.value = max_players+" player "+ split_access( access ) + " server";
//		form.vs_payment.value = "$ "+payment + " every " + pmt_term;
//		form.total_payment.value = "$ " + payment + " every " + pmt_term;

	}
}

function update_summary(form, page_refresh) 
{
	gs_payment = 0.0;
	vs_payment = 0.0;
	
	if ( page_refresh ) 
	{
		window.location.href = "gs_options.php?gs_code="+form.gs_code.options[form.gs_code.options.selectedIndex].value+"&vs_code="+form.vs_code.options[form.vs_code.options.selectedIndex].value;
	} 
	else 
	{
		if (document.getElementById('gs_code') != null)
		{

		if (form.gs_code.value != "")
			{
				gs_access 	= form.gs_access.options[form.gs_access.options.selectedIndex].value.toLowerCase();
				max_players = form.gs_max_players.options[form.gs_max_players.options.selectedIndex].value;
				gs_payment	= calc_gs_payment( form );
				pmt_term 	= form.pmtTerm.options[form.pmtTerm.options.selectedIndex].text;

					// no page refresh occured to just updated the game server name summary display
   			form.gs_summary_details.value = max_players+" player "+ split_access( gs_access ) + " server";
				form.gs_payment_str.value 		= "$" + gs_payment + " every " + pmt_term;
				form.gs_payment.value 			= gs_payment;
			}
			else
			{
				form.gs_summary_details.value = "None";
				form.gs_name.value 				= "None";
				form.gs_payment_str.value		= "None";
			}
		}

		if (document.getElementById('vs_code') != null)
		{
			if (form.vs_code.value != "" )
			{

					// Voice server summary lines
				vs_max_players 	= form.vs_max_players.options[form.vs_max_players.options.selectedIndex].value;
				vs_access 			= form.vs_access.options[form.vs_access.options.selectedIndex].value.toLowerCase();
				vs_name 				= form.vs_code.options[form.vs_code.options.selectedIndex].text;
				vs_payment			= calc_vs_payment( form );
				pmt_term 			= form.pmtTerm.options[form.pmtTerm.options.selectedIndex].text;

				form.vs_summary_details.value = vs_max_players+" client "+ split_access( vs_access ) + " server";
				form.vs_name.value				= vs_name;
				form.vs_payment_str.value		= "$" + vs_payment + " every " + pmt_term;
				form.vs_payment.value 			= vs_payment;
			}
			else 
			{
				form.vs_summary_details.value = "None";
				form.vs_name.value 				= "None";
				form.vs_payment_str.value		= "None";
			}
		}

		form.total_payment.value = "$" + moneyFormat( gs_payment * 1 + vs_payment * 1 ) + " every " + pmt_term;
	}
}

function split_access( access )
{
	if ( access.indexOf( ',' ) != -1 ) 
	{
		access_only = access.substr( 0, access.indexOf( ',' ) );
		return access_only;
	}
	else
		return access;
}

function update_max_players_summary( form ) 
{
   form.gs_max_players_summary.value = form.gs_max_players.options[form.gs_max_players.options.selectedIndex].text;
	update_total_price( form );
}

function update_payment_term_summary( form ) 
{
   form.paymentTermDisplay.value = 'every ' + form.pmtTerm.options[form.pmtTerm.options.selectedIndex].text;
	update_total_price( form );
}

function update_access_summary( form ) {
	gs_access = form.gs_access.options[form.gs_access.options.selectedIndex].value.toLowerCase();

		// if the the price is included in the Access string, then strip it out for the summary display
	form.gs_access_summary.value = split_access( gs_access ) ;
	update_total_price( form );
}

function calc_gs_payment( form ) {

	gs_access  			= 0;
	gs_access  			= form.gs_access.options[form.gs_access.options.selectedIndex].value.toLowerCase();
	gs_price   			= gs_access.substr( gs_access.indexOf( ',' ) + 1, gs_access.length );
	gs_pmtTerm 			= form.pmtTerm.options[form.pmtTerm.options.selectedIndex].value;
	gs_max_players 	= form.gs_max_players.options[form.gs_max_players.options.selectedIndex].value;
   gs_promo_discount = form.gs_promo_discount.value;

	switch ( gs_pmtTerm ) {
		case "1": 
			discount = 0;
			break;
		case "3":
			discount = .05;
			break;
		case "6":
			discount = .10;
			break;
		case "12": 
			discount = .15;
			break;
		default:
			discount = 0;
			break;
	}

	return ( moneyFormat( gs_max_players * gs_price * gs_pmtTerm * ( 1 - discount ) * gs_promo_discount ) );
}

function calc_vs_payment( form ) 
{
	vs_access  = 0;
	vs_access  = form.vs_access.options[form.vs_access.options.selectedIndex].value.toLowerCase();
	vs_price   = vs_access.substr( vs_access.indexOf( ',' ) + 1, vs_access.length );
	vs_pmtTerm = form.pmtTerm.options[form.pmtTerm.options.selectedIndex].value;
	vs_max_players = form.vs_max_players.options[form.vs_max_players.options.selectedIndex].value;
	vs_promo_discount = form.vs_promo_discount.value;

	switch ( vs_pmtTerm ) {
		case "1": 
			discount = 0;
			break;
		case "3":
			discount = .05;
			break;
		case "6":
			discount = .10;
			break;
		case "12": 
			discount = .15;
			break;
		default:
			discount = 0;
			break;
	}

	return ( moneyFormat( vs_max_players * vs_price * vs_pmtTerm * ( 1 - discount ) * vs_promo_discount ) );
}

function set_default_values() {
	orderForm = document.getElementById("order_form_id");
  	update_summary( orderForm, false );
	
		// when the page is refreshed, the display the 
		// voice server fields if the check box is checked.

	var e1 = document.getElementById('voiceserver');

	if (e1 != null)
	{
		if (orderForm.vs_code.value != "")
		{
			e1.style.display = 'block';
		}
		else
		{
			e1.style.display = 'none';
		}
	}

	displayStateZip( document.getElementById( 'country' ).value );
}

function moneyFormat ( mnt )
{
	mnt -= 0;
   mnt = (Math.round(mnt*100))/100;
   
	return (mnt == Math.floor(mnt)) ? mnt + '.00' 
              : ( (mnt*10 == Math.floor(mnt*10)) ? 
                       mnt + '0' : mnt);
}

function parse_actions(form, cmd)
{
		// flag the action boxes that have been checked, 
		// and pass the delimited array of member server row id's to the server command routine.
	var cb_elements = form.elements;
	var parse_str = "";
	
	for (i = 0; i < cb_elements.length; i++)
	{
		if ((cb_elements[i].type == 'checkbox') && (cb_elements[i].checked) && (cb_elements[i].name == 'selected'))
		{
			parse_str = parse_str + cb_elements[i].value.substring( 0, cb_elements[i].value.indexOf('-'))  + "|";
		}
	}

	window.location.href="run_server_cmd.php?cmd="+cmd+"&servers="+parse_str;

}

function select_all_servers(form)
{
	var cb_elements = form.elements;

	if (form.all_servers.checked == true)
	{
		for (i = 0; i < cb_elements.length; i++)
		{
			if ((cb_elements[i].type == 'checkbox') && (cb_elements[i].checked == false) && (cb_elements[i].name == 'selected'))
			{
				cb_elements[i].checked = true;
			}
		}
	}
	else if (form.all_servers.checked == false)
	{
		for (i = 0; i < cb_elements.length; i++)
		{
			if ((cb_elements[i].type == 'checkbox') && (cb_elements[i].checked == true) && (cb_elements[i].name == 'selected'))
			{
				cb_elements[i].checked = false;
			}
		}
	}

	return true;
}

function select_all_messages(form)
{
	var cb_elements = form.elements;

	if (form.all_messages.checked == true)
	{
		for (i = 0; i < cb_elements.length; i++)
		{
			if ((cb_elements[i].type == 'checkbox') && (cb_elements[i].checked == false) && (cb_elements[i].name == 'message_select'))
			{
				cb_elements[i].checked = true;
			}
		}
	}
	else if (form.all_messages.checked == false)
	{
		for (i = 0; i < cb_elements.length; i++)
		{
			if ((cb_elements[i].type == 'checkbox') && (cb_elements[i].checked == true) && (cb_elements[i].name == 'message_select'))
			{
				cb_elements[i].checked = false;
			}
		}
	}

	return true;
}

function cmd_line_preview(form_id)
{
	form = document.getElementById(form_id)
	form.preview.value = form.cmd_mandatory_1.value+' '+form.cmd_optional_1.value+' '+form.cmd_mandatory_2.value;
}

function do_cancel(form_id, id)
{
	form=document.getElementById(form_id);
	count = form.elements.length;
	order_count = 0;
	
	for (i = 0; i < count; i++)
	{
		if (form.elements[i].name == 'order_id')
			order_count += 1;
	}
	
	if (order_count > 1)
		url = 'cancel.php?order_id='+form.order_id[id].value+'&reason='+form.cancel_reason[id].value+'&comment='+form.comment[id].value;
	else
		url = 'cancel.php?order_id='+form.order_id.value+'&reason='+form.cancel_reason.value+'&comment='+form.comment.value;;

	answer = confirm("Are you sure you wish to cancel your subscription?");
	
	if (answer)
	{
		window.location.href=url;
	}
	else
	{
		window.location.href="cancel_subscription.php";
	}
}

function show_promo() {
	document.getElementById('promo').style.display = 'block';
}

function hide_promo() {
	document.getElementById('promo').style.display = 'none';
}

function cvv_help()
{
	window.open( "cvv_help.html", "cvv_help", "status=0,menubar=0,scrollbars=1,toolbar=0,location=0,resizable=1,height=550,width=300" );
}

function displayStateZip(country)
{
	if (country == 'CA' || country == 'US')
	{
		if ( navigator.appName == "Microsoft Internet Explorer")
		{
			document.getElementById('stateId').style.display = 'inline';
			document.getElementById('zipId').style.display = 'inline';
		}
		else
		{
			document.getElementById('stateId').style.display = 'table-row';
			document.getElementById('zipId').style.display = 'table-row';
		}
	}
	else
	{
		document.getElementById('stateId').style.display = 'none';
		document.getElementById('zipId').style.display = 'none';
		if ( document.getElementById('state')) document.getElementById('state').value = '';
		if ( document.getElementById('zip')) document.getElementById('zip').value = '';
	}
}