var errNum = 0 ;

function getCheckedValue(radioObj) 
{
	if(!radioObj) return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked) return radioObj.value;
		else return "";
	for(var i = 0; i < radioLength; i++) 
	{
		if(radioObj[i].checked) 
		{
			return radioObj[i].value;
		}
	}
	return "";
}

function WorkPhoneCheck()
{
	var o = document.getElementById('WorkNumber') ;
	if(o.value.length > 0)
	{
		if(CheckLen(o,'Work Number',8))
		{
			var obj = document.getElementById('WorkNumberAreaCode');
			if(obj.value.length ==0)
			{
				obj.className = 'valueRequired';
				errNum ++ ;
				return false ;
			}
			obj.className = 'Textbox2';
			return true ;
		}
	}
	return true ;
}

function CheckLen(itemID,vName,requiredLen )
{
	if(itemID.value.length>0)
	{
		if(itemID.value.length!=requiredLen)
		{
			itemID.className = 'valueRequired';
			errNum ++ ;
			//alert("Invalid " + vName ) ;
			return false ;
		}
		itemID.className = 'Textbox2';
		return true ;
	}
	return true ;
}

function ValidNum(itemID, vName)  
 {
  	if (itemID.value.length>0)
   	{	
    	for (var i=0;i<itemID.value.length;i++)
     	{
      		var ch=itemID.value.substring(i,i+1);
      		if ("0">ch || ch>"9") 
	  		{
		  		itemID.className = 'valueRequired';
				errNum ++ ;
		  		//alert("Invalid " + vName ) ;
		  		return false ;
	  		}
     	}
	 	itemID.className = 'Textbox2';
		return true ;
    }
	return true ;
  }
 
  
 function ValidNumD(itemID, vName)  
 {
  if (itemID.value.length>0)
   {
    for (var i=0;i<itemID.value.length;i++)
     {
      var ch=itemID.value.substring(i,i+1);
      if (("0">ch || ch>"9")&& ch!="."&&ch!=" "&&ch!=",") 
	  {
		  //alert("Invalid " + vName) ;
		  errNum ++ ;
		  return false ;
	  }
     }
    }
	return true ;
  }

function LimitMaxAccount(itemID,vName,maxVal)
{
	if(itemID.value.length>0 && ValidNumD(itemID,vName))
	{
		if( parseInt(itemID.value) > maxVal )
		{
			 itemID.className = 'valueRequired';
			 errNum ++ ;
			 //alert("Invalid " + vName) ;
			 return false ;
		}
		itemID.className = 'Textbox2';
	}
	return true ;
}
function IsMail(mailID)
{
	var patrn = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	if (!patrn.test(mailID.value)) 
	{
			mailID.className = 'valueRequired';
			errNum ++ ;
			//alert("Invalid Email address") ;
			return false;
	}
	else 
	{
		mailID.className = 'Textbox2';
		return true;
	}
}
function CheckLength( itemID,maxLen )
{
	if( itemID.value.length > maxLen )
	{
		itemID.className = 'textAreaValueRequired';
		errNum ++ ;
		alert("Please fill in no more than 100 characters in comments field!") ;
		return false ;
	}
	itemID.className = '';
	return true;
}

/*
function CheckConfirmPloicy()
{
	var chk = document.getElementById("confirmPloicy") ;
		
  	if(chk.checked)
	{
		//chk.className.replace('valueRequired', 'checkbox') ;
		var obj = document.getElementById("policyDiv") ;
		obj.className = '';
		return true ;
	}
	else 
	{
		chk.className ="valueRequired" ;
		var obj = document.getElementById("policyDiv") ;
		obj.className = 'valueRequired1';
		errNum ++ ;
		return false ;
	}
}
*/

function CheckRadioSelected( radioName,tdName )
{
		var chkNum = 0 ;
		var IsValue = false ;
		var obj = eval("document.applicationForm."+ radioName) ;
		for(var i = 0 ; i < obj.length ; i ++)
		{
				if( obj[i].checked ==true ) chkNum ++ ;
		}
		
		obj = document.getElementById(tdName) ;
		if( chkNum == 0&&obj)
		{
				obj.className ="valueRequired" ;
				errNum ++ ;
				IsValue = false ;
		}
		else
		{
				obj.className ="" ;
				IsValue = true ;
		}
		return IsValue ;
}

function checkAppForm2(formObj) 
{
	var FormOK = true ;
  
  	//initWarningList();
  	document.getElementById('warning').innerHTML = '';
  	document.getElementById('warning').style.display = 'none';
	
  	var CheckStatus = '';
  	var labels = formObj.getElementsByTagName('label');
	
    //CheckConfirmPloicy
  	/*if(!CheckConfirmPloicy()) 
	{
		alert('To complete the application form, you must read and agree to our Privacy Policy and Declaration. \n\nTo indicate your acceptance, click on the checkbox at the bottom of the page before hitting "Send Application".');
		FormOK = false ;  
	}*/
	
	//OwnPropertyOrNot
  	/*if (CheckConfirmPloicy()&&!checkHomeOwner()) 
	{
		//alert('Please specify if you own real estate property or you are paying off a mortgage.') ;
		FormOK = false ; 
	}
	CheckRadioSelected( "ownProperty","ownPropertyTD" ) ;
	var OwnPropertyOrNot = getCheckedValue(document.forms['applicationForm'].elements['ownProperty']);
	if (OwnPropertyOrNot == "y") 
	{
		if (document.getElementById('RealEstate').value.length == 0) 
		{
			FormOK = false; 
			//alert('Please enter the value of real estate property you own.');
			document.getElementById('RealEstate').className = 'valueRequired';
		} 
		else
		{
			document.getElementById('RealEstate').className = 'Textbox2';
		}
		if (document.getElementById('BalanceOwing').value.length == 0) 
		{
			FormOK = false; 
			//alert('Please enter the balance owing.');
			document.getElementById('BalanceOwing').className = 'valueRequired';
		 }
		 else
		 {
			//document.getElementById('RealEstate').className.replace('valueRequired', 'Textbox2');
			//document.getElementById('BalanceOwing').className.replace('valueRequired', 'Textbox2');
			document.getElementById('BalanceOwing').className = 'Textbox2';
		}
	}*/	

	//if(CheckALStatus()) CheckRadioSelected( "propertyBuyer","propertyBuyerTD" ) ;
	//other data
	var obj ;
	for (var i = 0; i < labels.length; i++) 
	{
		if(labels[i].className&&labels[i].className.indexOf('required') > -1&&labels[i].htmlFor&&document.getElementById(labels[i].htmlFor)) 
		{
			obj = document.getElementById(labels[i].htmlFor) ;
			CheckStatus = checkFormElement2(obj);
			if(CheckStatus != 'OK') 
			{
				FormOK = false;
				obj.className = 'valueRequired';
			} 
			else obj.className = obj.className.replace('valueRequired', 'Textbox2');
		}		
	 }
	 
	errNum = 0 ;
  	/*if( !ValidNumD( document.getElementById('LoanAmountInput'),'Loan Amount')||!LimitMaxAccount(document.getElementById('LoanAmountInput'),'Loan Amount',50000000 )|| !ValidNumD( document.getElementById('RealEstate'),'Real Estate ')||!ValidNumD( document.getElementById('BalanceOwing'),'Balance Owing ')||!ValidNum( document.getElementById('HomeNumber'),'Home Number')||!CheckLen( document.getElementById('HomeNumber'),'Home Number',8) || !ValidNum( document.getElementById('WorkNumber'),'Work Number')||!CheckLen(document.getElementById('WorkNumber'),'Work Number',8)|| !ValidNum( document.getElementById('MobileNumber'),'Mobile Number') ||!ValidNum( document.getElementById('PostCode'),'Post Code')||!CheckLen( document.getElementById('PostCode'),'Post Code',4)||!IsMail(document.getElementById('EmailAddress'))||!WorkPhoneCheck()||!CheckLength(  document.getElementById('comments'),8 )  ) FormOK = false; */
	ValidNumD( document.getElementById('LoanAmountInput'),'Loan Amount') ;
	LimitMaxAccount(document.getElementById('LoanAmountInput'),'Loan Amount',50000000 ) ;
	CheckRadioSelected( "HaveProperty","HavePropertyID" ) ;
	ValidNumD( document.getElementById('RealEstate'),'Real Estate ') ;
	ValidNumD( document.getElementById('BalanceOwing'),'Balance Owing ') ;
	ValidNum( document.getElementById('HomeNumber'),'Home Number') ;
	CheckLen( document.getElementById('HomeNumber'),'Home Number',8) ;
	ValidNum( document.getElementById('WorkNumber'),'Work Number') ;
	CheckLen(document.getElementById('WorkNumber'),'Work Number',8) ;
	ValidNum( document.getElementById('MobileNumber'),'Mobile Number') ;
	ValidNum( document.getElementById('PostCode'),'Post Code') ;
	CheckLen( document.getElementById('PostCode'),'Post Code',4) ;
	IsMail(document.getElementById('EmailAddress')) ;
	WorkPhoneCheck() ;
	CheckLength(  document.getElementById('comments'),250 ) ;
	//alert(errNum) ;
	
	//check validateCode
	if (document.getElementById('validateCode').value.length == 0)  
    {
  	    FormOK = false;
       // addWarning('Please fill in validation code.');
        document.getElementById('validateCode').className = 'valueRequired';	
      	
    }
    else
    {
        document.getElementById('validateCode').className = 'Textbox2';    
    }
      
	if(errNum>0) FormOK = false ;
	
  	if(FormOK == false) 
  	{
    	document.getElementById('warning').style.display = 'block';
    	var warnMsg = 'Some required fields have not been filled in or invalid. They have been highlighted.'
    	var warnP = document.createElement('p');
    	var warnText = document.createTextNode(warnMsg);
    	warnP.appendChild(warnText);
    	warnP.id = 'warningText';
    	document.getElementById('warning').appendChild(warnP);
    	return false;
  	} 
  	return true;
}

function checkAgreement2(CheckBoxID) 
{
  var thisOK = true;
  if (document.getElementById(CheckBoxID)) 
  {
    thisOK = document.getElementById(CheckBoxID).checked;
    if(!thisOK) 
	{
      document.getElementById('declaration').className = 'declareRequired';
	  thisOK = false ;
    } 
	else 
	{
      document.getElementById('declaration').className = document.getElementById('declaration').className.replace('declareRequired', '');
    }  
  }
  return thisOK;
}

function checkHomeOwner() 
{
	result = getCheckedValue(document.forms['applicationForm'].elements['ownProperty'])
	if (result == "")  return false;
	else {
		var obj = document.getElementById('ownProperty');
		if (obj) obj.className = obj.className.replace('valueRequired', 'Textbox2');
		return true;
	}
 }


function checkFormElement2(FormElm) 
{
  if( FormElm.type )
  {
	  switch(FormElm.type)
	  {
		case "text":
		  if (FormElm.value.length == 0) return FormElm.id ;
		  break;
		//case "radio":
		//  if( getCheckedValue(FormElm).length == 0 ) return FormElm.name ;
		case "select-one":
		  if (FormElm.options[FormElm.selectedIndex].value.length == 0) return FormElm.id ;
		  break;
		case "textarea":
		  if (FormElm.value.length == 0) return FormElm.id ;
		  break;
	  }
	  return "OK";
  }
  else return "" ;
}

function getInnerText2(el) 
{
	if (el.innerText) return el.innerText;	//Not needed but it is faster

	var str = "";

	var cs = el.childNodes;
	var l = cs.length;
	for (var i = 0; i < l; i++) 
	{
		switch (cs[i].nodeType) 
		{
			case 1: //ELEMENT_NODE
				str += getInnerText2(cs[i]);
				break;
			case 3:	//TEXT_NODE
				str += cs[i].nodeValue;
				break;
		}

	}

	return str;
}
/*
function CheckALStatus()
{
	var ownPropertyChk = document.applicationForm.ownProperty ;
	var isChecked = true ;
	for( var i = 0 ; i < ownPropertyChk.length ; i ++ )
	{
		isChecked = ownPropertyChk[i].checked ;
	}
	return isChecked ;
}

function ALStatusProcess( referUrl )
{
	if(CheckPBStatus()) location.href="PL_Qualifying.aspx?s=y&referUrl="+referUrl ;
	//if(CheckALStatus()) location.href="PL_Qualifying.aspx?referUrl="+referUrl ;
}
*/
function IsOwnProperty()
{
	var re = document.getElementById("RE_requiredSpan") ;
	var bo = document.getElementById("BO_requiredSpan") ;
	if(!CheckALStatus())
	{
		re.innerHTML ="<font color='#FF0000'>*</font>" ;
		bo.innerHTML ="<font color='#FF0000'>*</font>" ;
	}
	else
	{
		re.innerHTML ="" ;
		bo.innerHTML ="" ;
	}
	
	/*var obj = document.getElementById("PropertyBuyerTR") ;
	if(CheckALStatus()) obj.style.display ="";
	else obj.style.display ="none" ;*/
}
