/*
	Demo Forex account sign-up functions
	- In charge of making sure client fills application correctly.
	- Notes incorrect inputted values.
*/

//Globals
var MAXLEN = 11;
var incFields = new Array(MAXLEN);

function inputData() {
	
	//setTimeout('inputData()',500);
	document.regform.UserName.value = document.regform.UserName1.value;
	document.regform.Deposit.value = document.regform.Deposit1.value;
	//document.regform.State.value = document.regform.State1[document.regform.State1.selectedIndex].value;
	document.regform.Currency.value = document.regform.Currency1[document.regform.Currency1.selectedIndex].value;
	document.regform.AccNumber.value = document.regform.AccNumber1[document.regform.AccNumber1.selectedIndex].value;
	
}

function freset(frm) {

	frm.reset();
	
	for(var i=0;i<=MAXLEN-1;i++)
		document.getElementById(i).style.color="#000000";
	
	document.getElementById("msg").innerHTML = "&nbsp;";
}

/*
function checkCountry(objSelect) {
	
	if(document.regform.State1.options.length == 53) 
		document.regform.State1.options[document.regform.State1.options.length] = new Option('Not Applied.', 'NA', false, true);
	
	if(objSelect.value != "US") {
		document.regform.State1.disabled = true;
	}
	else {
		document.regform.State1.options[document.regform.State1.selectedIndex] = null;
		document.regform.State1.disabled = false;
	}
}
*/

/*  checks the validity of an email address entered 
*   returns true or false 
*   
*/ 

function validateEmail(email)
{
// a very simple email validation checking. 
// you can add more complex email checking if it helps 
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}

/* function validateData 
*  Checks each field in a form 
*  Called from validateForm function 
*/ 

function validateData(frmElem) 
{ 
	switch(frmElem.name) {
		case 'FirstName': 
						if(frmElem.value == "")
						{
							return false;
						}
						break;
		case 'LastName': 
						if(frmElem.value == "")
						{
							return false;
						}
						break;
		case 'EMail':
						if(frmElem.value == "")
						{
							return false;
						}
						break;
		case 'Address1':
						if(frmElem.value == "")
						{
							return false;
						}
						break;
		case 'City':
						if(frmElem.value == "")
						{
							return false;
						}
						break;
		/*case 'State1':
						if(frmElem.value == "")
						{
							return false;
						}
						break;*/
		case 'Zip':
						if(frmElem.value == "")
						{
							return false;
						}
						break;
		case 'Country':
						if(frmElem.value == "")
						{
							return false;
						}
						break;
		case 'DayPhone':
						if(frmElem.value == "")
						{
							return false;
						}
						break;
		case 'UserName1':
						if(frmElem.value == "")
						{
							return false;
						}
						break;
		case 'Deposit1':
						if(frmElem.value == "")
						{
							return false;
						}
						break;
	}
	
	return true;   // If we are here, everything passed.
} 

// Driver function
function validateForm(objFrm) 
{ 
	var numwrong = 0;
	
		// Loop checks for regular data in form
		for(var i=0;i<=MAXLEN;i++) {
			if(!validateData(objFrm.elements[i])) {
				//alert(objFrm.elements[i].name);
				numwrong++;
				incFields[i] = 1;
			}
			else incFields[i] = 0;
		}

		//incFields.length-1 = minus the State field
		for(var i=0;i<=MAXLEN-1;i++) {
			//alert(i);
			if(incFields[i] == 1) {
				//alert('ERROR: ' + objFrm.elements[i].name + ':' + i + ':' + document.getElementById(i).style.color);
				document.getElementById(i).style.color='#FF0000';
			}
			else if(incFields[i] == 0) {
				//alert('CORRECT: ' + objFrm.elements[i].name + ':' + i + ':' + document.getElementById(i).style.color);
				document.getElementById(i).style.color='#000000';
			}
		}
	
	if(numwrong>0) { 
		document.getElementById("msg").innerHTML = "<br><p><center><span style=\"font:tahoma;font-size:10px;color:#FF0000\">There was an error with your form submission. Please fill in the neccessary fields noted in RED.</span><center></p>";
		return false;  // If we are here, errors were found.
	}
	else {
		document.getElementById("msg").innerHTML = "&nbsp;";
		return true;
	}
	return true;
} 
