// JavaScript Document

function validateOnSubmit() {
    var elem;
    var errs=0;
    // execute all element validations in reverse order, so focus gets
    // set to the first one in error.

    if (!validatePresent(document.forms.demo.m_bc_time,  'inf_m_bc_time'))        					 errs += 1;
	 
    if (!validatetsTelnr (document.forms.demo.m_sphone1, 'inf_m_sphone1', true)) 					 errs += 1; 
    if (!validatetsTelnr (document.forms.demo.m_sphone2, 'inf_m_sphone2', true)) 					 errs += 1; 
    if (!validatefsTelnr (document.forms.demo.m_sphone3, 'inf_m_sphone3', true)) 					 errs += 1; 
    if (!validatexsTelnr (document.forms.demo.m_sphone4, 'inf_m_sphone4', true)) 					 errs += 1;

    if (!validatetTelnr (document.forms.demo.m_phone1, 'inf_m_phone1', true)) 						 errs += 1; 
    if (!validatetTelnr (document.forms.demo.m_phone2, 'inf_m_phone2', true)) 						 errs += 1; 
    if (!validatefTelnr (document.forms.demo.m_phone3, 'inf_m_phone3', true)) 						 errs += 1; 
    if (!validatexTelnr (document.forms.demo.m_phone4, 'inf_m_phone4', true)) 						 errs += 1;

    if (!validateEmail  (document.forms.demo.m_email,  'inf_m_email', true))        				 errs += 1;
    if (!validatePresent(document.forms.demo.m_zip,  'inf_m_zip'))        						 	 errs += 1;
    if (!validatePresent(document.forms.demo.m_state,  'inf_m_state'))        						 errs += 1;
    if (!validatePresent(document.forms.demo.m_address,  'inf_m_city'))        						 errs += 1;
    if (!validatePresent(document.forms.demo.m_address,  'inf_m_address'))        					 errs += 1;
    if (!validatePresent(document.forms.demo.m_lname,  'inf_m_lname'))        						 errs += 1;
    if (!validatePresent(document.forms.demo.m_fname,  'inf_m_fname'))        						 errs += 1;
    if (!validatePresent(document.forms.demo.m_min_pay,  'inf_m_min_pay'))        					 errs += 1;
    if (!validatePresent(document.forms.demo.m_bkcy,  'inf_m_bkcy'))        						 errs += 1;
    if (!validatePresent(document.forms.demo.m_occ_stat,  'inf_m_occ_stat'))        				 errs += 1;
    if (!validatePresent(document.forms.demo.m_income,  'inf_m_income'))        					 errs += 1;
    if (!validatePresent(document.forms.demo.m_cred_grade,  'inf_m_cred_grade'))        			 errs += 1;
    if (!validatePresent(document.forms.demo.m_add_cash,  'inf_m_add_cash'))        				 errs += 1;
    if (!validatePresent(document.forms.demo.m_mtg_two_int,  'inf_m_mtg_two_int'))        			 errs += 1;
    if (!validatePresent(document.forms.demo.m_bal_two,  'inf_m_bal_two'))        					 errs += 1;
    if (!validatePresent(document.forms.demo.m_loan_type,  'inf_m_loan_type'))        				 errs += 1;	
    if (!validatePresent(document.forms.demo.m_mtg_one_int,  'inf_m_mtg_one_int'))        			 errs += 1;	
    if (!validatePresent(document.forms.demo.m_down_pmt_percet,  'inf_m_down_pmt_percet'))        	 errs += 1;	
    if (!validatePresent(document.forms.demo.m_est_val,  'inf_m_est_val'))        					 errs += 1;	
    if (!validatePresent(document.forms.demo.m_timeframe,  'inf_m_timeframe'))        				 errs += 1;	
    if (!validatePresent(document.forms.demo.m_puse,  'inf_m_puse'))        						 errs += 1;	
    if (!validatePresent(document.forms.demo.m_year,  'inf_m_year'))        						 errs += 1;	
    if (!validatePresent(document.forms.demo.m_desc,  'inf_m_desc'))        						 errs += 1;	
    if (!validatePresent(document.forms.demo.m_p_zip,  'inf_m_p_zip'))        						 errs += 1;
    if (!validatePresent(document.forms.demo.m_p_state,  'inf_m_p_state'))        					 errs += 1; 
    if (!validatePresent(document.forms.demo.m_loan,  'inf_m_loan'))        						 errs += 1; 						
	
    if (errs>1)  alert('There are fields which need correction before sending');
    if (errs==1) alert('There is a field which needs correction before sending');

    return (errs==0);
  }
  
  
  function checkform ( form )
{
	if (form.Loan_Type.value == "") {
    alert( "Please fill out - What type of loan do you need?" );
    form.Loan_Type.focus();
    return false ;
	}
		else if (form.Property_State.value == "") {
    alert( "Please fill out - Where is the Property Located?" );
    form.Property_State.focus();
    return false ;
	}
		else if (form.Property_Zip.value == "") {
    alert( "Please fill out - Property ZIP Code" );
    form.Property_Zip.focus();
    return false ;
	}
		else if (form.Home_Description.value == "") {
    alert( "Please fill out - Home description" );
    form.Home_Description.focus();
    return false ;
	}
		else if (form.Purchase_Year.value == "") {
    alert( "Please fill out - Purchase Year" );
    form.Purchase_Year.focus();
    return false ;
	}
	/********/
		else if (form.Property_Use.value == "") {
    alert( "Please fill out - Property use" );
    form.Property_Use.focus();
    return false ;
	}
		else if (form.Loan_Purpose.value == "") {
    alert( "Please fill out - Purpose of Loan" );
    form.Loan_Purpose.focus();
    return false ;
	}
		else if (form.Estimated_Home_Value.value == "") {
    alert( "Please fill out - Estimated home value" );
    form.Estimated_Home_Value.focus();
    return false ;
	}
		else if (form.DownPayment_Amount.value == "") {
    alert( "Please fill out - Down payment amount" );
    form.DownPayment_Amount.focus();
    return false ;
	}
		else if (form.First_Mortgage_Balance.value == "") {
    alert( "Please fill out - First mortgage balance" );
    form.First_Mortgage_Balance.focus();
    return false ;
	}
	/********/
		else if (form.First_Mortgage_Interest_Rate.value == "") {
    alert( "Please fill out - First mortgage interest rate" );
    form.First_Mortgage_Interest_Rate.focus();
    return false ;
	}
		else if (form.Existing_Retype.value == "") {
    alert( "Please fill out - Existing rate type" );
    form.Existing_Retype.focus();
    return false ;
	}
		else if (form.Second_Mortgage.value == "") {
    alert( "Please fill out - Do you have a second mortgage" );
    form.Second_Mortgage.focus();
    return false ;
	}
		else if (form.Second_Mortgage_Balance.value == "") {
    alert( "Please fill out - Second mortgage balance" );
    form.Second_Mortgage_Balance.focus();
    return false ;
	}
		else if (form.Second_Mortgage_Interest_Rate.value == "") {
    alert( "Please fill out - Second mortgage interest rate" );
    form.Second_Mortgage_Interest_Rate.focus();
    return false ;
	}
	/********/
		else if (form.Additional_Cash.value == "") {
    alert( "Please fill out - How much additional cash would you like to borrow" );
    form.Additional_Cash.focus();
    return false ;
	}
		else if (form.Credit_Status.value == "") {
    alert( "Please fill out - Credit Status" );
    form.Credit_Status.focus();
    return false ;
	}
		else if (form.Annual_Income.value == "") {
    alert( "Please fill out - Annual Income" );
    form.Annual_Income.focus();
    return false ;
	}
		else if (form.Occupational_Status.value == "") {
    alert( "Please fill out - Occupational Status" );
    form.Occupational_Status.focus();
    return false ;
	}
		else if (form.Bankruptcy.value == "") {
    alert( "Please fill out - Have you ever declared bankruptcy" );
    form.Bankruptcy.focus();
    return false ;
	}
	/********/
		else if (form.Monthly_Dept_Payments.value == "") {
    alert( "Please fill out - Monthly debt payments" );
    form.Monthly_Dept_Payments.focus();
    return false ;
	}
	else if (form.First_Time_Buyer.value == "") {
    alert( "Please fill out - Are you a first time buyer" );
    form.First_Time_Buyer.focus();
    return false ;
	}
	else if (form.First_Name.value == "") {
    alert( "Please fill out - First name" );
    form.First_Name.focus();
    return false ;
	}
	else if (form.Last_Name.value == "") {
    alert( "Please fill out - Last name" );
    form.Last_Name.focus();
    return false ;
	}
	else if (form.Street_Address.value == "") {
    alert( "Please fill out - Street address" );
    form.Street_Address.focus();
    return false ;
	}
	/********/
		else if (form.City.value == "") {
    alert( "Please fill out - City" );
    form.City.focus();
    return false ;
	}
		else if (form.State.value == "") {
    alert( "Please fill out - State" );
    form.State.focus();
    return false ;
	}
		else if (form.Zip.value == "") {
    alert( "Please fill out - Zip" );
    form.Zip.focus();
    return false ;
	}
		else if (form.Email.value == "") {
    alert( "Please fill out - Email" );
    form.Email.focus();
    return false ;
	}
		else if (form.Primary_Phone1.value == "") {
    alert( "Please fill out - Primary phone" );
    form.Primary_Phone1.focus();
    return false ;
	}
		else if (form.Primary_Phone2.value == "") {
    alert( "Please fill out - Primary phone" );
    form.Primary_Phone2.focus();
    return false ;
	}
		else if (form.Primary_Phone3.value == "") {
    alert( "Please fill out - Primary phone" );
    form.Primary_Phone3.focus();
    return false ;
	}
	/********/
		else if (form.Contact_Time.value == "") {
    alert( "Please fill out - Best contact time" );
    form.Contact_Time.focus();
    return false ;
	}
}  
// JavaScript Document
function jump(from, to, length)
{
	if(from.value.length == length)
	{
		to.focus();
	}
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function YY_checkform() { //v4.66
//copyright (c)1998,2002 Yaromat.com
  var args = YY_checkform.arguments; var myDot=true; var myV=''; var myErr='';var addErr=false;var myReq;
  for (var i=1; i<args.length;i=i+4){
    if (args[i+1].charAt(0)=='#'){myReq=true; args[i+1]=args[i+1].substring(1);}else{myReq=false}
    var myObj = MM_findObj(args[i].replace(/\[\d+\]/ig,""));
    myV=myObj.value;
    if (myObj.type=='text'||myObj.type=='password'||myObj.type=='hidden'){
      if (myReq&&myObj.value.length==0){addErr=true}
      if ((myV.length>0)&&(args[i+2]==1)){ //fromto
        var myMa=args[i+1].split('_');if(isNaN(myV)||myV<myMa[0]/1||myV > myMa[1]/1){addErr=true}
      } else if ((myV.length>0)&&(args[i+2]==2)){
          var rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$");if(!rx.test(myV))addErr=true;
      } else if ((myV.length>0)&&(args[i+2]==3)){ // date
        var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);
        if(myAt){
          var myD=(myAt[myMa[1]])?myAt[myMa[1]]:1; var myM=myAt[myMa[2]]-1; var myY=myAt[myMa[3]];
          var myDate=new Date(myY,myM,myD);
          if(myDate.getFullYear()!=myY||myDate.getDate()!=myD||myDate.getMonth()!=myM){addErr=true};
        }else{addErr=true}
      } else if ((myV.length>0)&&(args[i+2]==4)){ // time
        var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);if(!myAt){addErr=true}
      } else if (myV.length>0&&args[i+2]==5){ // check this 2
            var myObj1 = MM_findObj(args[i+1].replace(/\[\d+\]/ig,""));
            if(myObj1.length)myObj1=myObj1[args[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!myObj1.checked){addErr=true}
      } else if (myV.length>0&&args[i+2]==6){ // the same
            var myObj1 = MM_findObj(args[i+1]);
            if(myV!=myObj1.value){addErr=true}
      }

    } else
    if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){
          var myTest = args[i].match(/(.*)\[(\d+)\].*/i);
          var myObj1=(myObj.length>1)?myObj[myTest[2]]:myObj;
      if (args[i+2]==1&&myObj1&&myObj1.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
      if (args[i+2]==2){
        var myDot=false;
        for(var j=0;j<myObj.length;j++){myDot=myDot||myObj[j].checked}
        if(!myDot){myErr+='* ' +args[i+3]+'\n'}
      }
    } else if (myObj.type=='checkbox'){
      if(args[i+2]==1&&myObj.checked==false){addErr=true}
      if(args[i+2]==2&&myObj.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
    } else if (myObj.type=='select-one'||myObj.type=='select-multiple'){
      if(args[i+2]==1&&myObj.selectedIndex/1==0){addErr=true}
    }else if (myObj.type=='textarea'){
      if(myV.length<args[i+1]){addErr=true}
    }
    if (addErr){myErr+='* '+args[i+3]+'\n'; addErr=false}
  }
  if (myErr!=''){alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+myErr)}
  document.MM_returnValue = (myErr=='');
}
function trim(b, maxValue) {
 for(var i=0; i<b.options.length; i++) {
  if (getInteger(b.options[i].value) > maxValue) {
   cullPoint = i-1;
   break;
  }
 }

 for(var i=b.options.length; i>cullPoint; i--) {
  b.remove(i);
 }
 
}
function check_contact(form)
{
	var msg="";
	if(form.name.value=="")
	{
		msg+="Please Enter Name\r\n";
	}
	else
  	{
		if(isAlpha(form.name.value) == false)
		{
			msg+="Please fill out Valid name"+sep;	
		}
	}
	
	if(form.email.value=="")
	{
		msg+="Please Enter Email\r\n";
	}
	else
	{
		if(!validEmail(form.email.value))
		{
			msg+="Please fill out Valid Email Format(abc@domain.com)\r\n";	
		}
	}
	
	var Home1 = form.phone1.value;
	var Home2 = form.phone2.value;
	var Home3 = form.phone3.value;
	var HomePhone = Home1 + "-" + Home2 + "-" + Home3;

	if (Home1 == "" && Home2 == "" && Home3 == "") 
	{
		msg+="Please fill out Valid Phone Number(123-456-7891)\r\n";
	}
	else
	{
		var strExpression = /^[0-9]{3}-[0-9]{3}-[0-9]{4}$/i; 
   		var kk= strExpression.test(HomePhone); 
		if(!kk)
		{
			msg+="Please fill out Valid Phone Number(123-456-7891)\r\n";	
		}
		
	}
	
	if(form.message.value=="")
	{
		msg+="Please Enter Message\r\n";
	}
	if(form.security_code.value=="")
	{
		msg+="Please Enter security code\r\n";
	}

	if (msg.length>0) 
	{
		alert(msg);
		return false;
	} 
	else 
	{ 
		return true; 
	}
}
/*************************************************/

function checkFeedbackForm(frm){

//check for name 
	if ( frm.txiName.value.length<=0 ){
		alert("Sorry, but your name is required!");	
		frm.txiName.focus();
		return false;
	}

	if ( IsSpecialchar(frm.txiName.value)){
		alert("Sorry, but your name contains some special character(s) which are not allowed!");	
		frm.txiName.focus();
		return false;
	}

//check for email
	if ( frm.txiEmail.value.length<=0 ){
		alert("Sorry, but your email address is required!");	
		frm.txiEmail.focus();
		return false;
	}

	if (!IsvalidEmail(frm.txiEmail.value)){
		alert("Sorry, but your email address is not correct!\n Please provide us a valid email address.\nThank You!");	
		frm.txiEmail.focus();
		return false;
	}

	/*if ( IsSpecialchar(trim(frm.txiEmail.value))){
		alert("Sorry, but your email contains some special character(s) which are not allowed!");	
		frm.txiEmail.focus();
		return false;
	}*/

//check for site layout
	if ( frm.layout.value==""){
		alert("Please select an option from 'Site Layout' list!");
		frm.layout.focus();
		return false;
	}

//check for Load time
	if ( frm.loadtime.value==""){
		alert("Please select an option from 'Load Time' list!");
		frm.sectionhead.focus();
		return false;
	}


//check for section heads
	if ( frm.sectionhead.value==""){
		alert("Please select an option from 'Section Heads' list!");
		frm.sectionhead.focus();
		return false;
	}


//check for user friendliness
	if ( frm.userfriend.value==""){
		alert("Please select an option from 'User Friendliness' list!");
		frm.userfriend.focus();
		return false;
	}



//check for comments
	if( frm.txaComments.value.length<=0 || frm.txaComments.value==""){
		alert("Sorry, but comments are required!");
		frm.txaComments.focus();
		return false;
	}

	var pattern = /[a-zA-Z]/;
	if (!pattern.test(frm.txaComments.value)){
		alert("Sorry, but comment are required!");
		frm.txaComments.focus();
		return false;
	}

if(frm.security_code.value==""   ){
      alert("Please enter the security_code!");
			frm.security_code.focus();
		return false;
	}
return true;

}

function open1(id)
{
	document.getElementById(id).style.display = '';
}
function remove(id,val)
{
	var email = 'txifriendEmail'+val;
	var name = 'txifriendName'+val;
	document.getElementById(id).style.display = 'none';
	document.getElementById(email).value = '';
	document.getElementById(name).value = '';

}

/**********************************/

function checkTellAFriendForm(frm){

//check for name 
	if ( frm.txiName.value.length<=0 ){
		alert("Sorry, but your name is required!");	
		frm.txiName.focus();
		return false;
	}

	if ( IsSpecialchar(frm.txiName.value)){
		alert("Sorry, but your name contains some special character(s) which are not allowed!");	
		frm.txiName.focus();
		return false;
	}

//check for email
	if ( frm.txiEmail.value.length<=0 ){
		alert("Sorry, but your email address is required!");	
		frm.txiEmail.focus();
		return false;
	}

	if (!IsvalidEmail(frm.txiEmail.value)){
		alert("Sorry, but your email address is not correct!\n Please provide us a valid email address.\nThank You!");	
		frm.txiEmail.focus();
		return false;
	}
	
	FreindDetail=0;
	
	for(i=1;i<=5;i++)
	{
		var alphaDigit=Array("","fisrt","second","third","fourth","fifth");
		// Check first Friend Detail
		if(!(frm['txifriendName'+i].value=="" && frm['txifriendEmail'+i].value==""))
		{
			if(frm['txifriendName'+i].value=="")
			{
				alert("Sorry, but your "+ alphaDigit[i] +" friend name is required!");	
				frm['txifriendName'+i].focus();
				return false;
			}
			if ( IsSpecialchar(frm['txifriendName'+i].value)){
				alert("Sorry, but your "+ alphaDigit[i] +" friend name contains some special character(s) which are not allowed!");	
				frm['txifriendName'+i].focus();
				return false;
			}
			
			if(frm['txifriendEmail'+i].value=="")
			{
				alert("Sorry, but your "+ alphaDigit[i] +" friend's email address is required!");	
				frm['txifriendEmail'+i].focus();
				return false;
			}
			if ( !IsvalidEmail(frm['txifriendEmail'+i].value)){
				alert("Sorry, but your "+ alphaDigit[i] +" friend's email address is not correct!\n Please provide us a valid email address.\nThank You!");	
				frm['txifriendEmail'+i].focus();
				return false;
			}
			FreindDetail++;
		}
	}
	
	if(FreindDetail==0)
	{
		alert("Sorry, but you have not provided any friend detail!");	
		frm.txifriendName1.focus();
		return false;
	}
	
	if ( frm.txtMessage.value.length<=0 ){
		alert("Sorry, but your Message is required!");	
		frm.txtMessage.focus();
		return false;
	}



	if(frm.security_code.value=="")
	{
		  alert("Please enter the security_code!");
				frm.security_code.focus();
			return false;
		}
return true;

}



  /******************************************/

function Validator(frmname)

{

  this.formobj=document.forms[frmname];

	if(!this.formobj)

	{

	  alert("BUG: couldnot get Form object "+frmname);

		return;

	}

	if(this.formobj.onsubmit)

	{

	 this.formobj.old_onsubmit = this.formobj.onsubmit;

	 this.formobj.onsubmit=null;

	}

	else

	{

	 this.formobj.old_onsubmit = null;

	}

	this.formobj.onsubmit=form_submit_handler;

	this.addValidation = add_validation;

	this.setAddnlValidationFunction=set_addnl_vfunction;


	this.clearAllValidations = clear_all_validations;

}

function set_addnl_vfunction(functionname)

{

  this.formobj.addnlvalidation = functionname;

}

function clear_all_validations()

{

	for(var itr=0;itr < this.formobj.elements.length;itr++)

	{

		this.formobj.elements[itr].validationset = null;

	}

}

function form_submit_handler()

{

	for(var itr=0;itr < this.elements.length;itr++)

	{

		if(this.elements[itr].validationset &&

	   !this.elements[itr].validationset.validate())

		{

		  return false;

		}

	}

	if(this.addnlvalidation)

	{

	  str =" var ret = "+this.addnlvalidation+"()";

	  eval(str);

    if(!ret) return ret;

	}

	return true;

}

function add_validation(itemname,descriptor,errstr)

{

  if(!this.formobj)

	{

	  alert("BUG: the form object is not set properly");

		return;

	}//if

	var itemobj = this.formobj[itemname];

  if(!itemobj)

	{

	  alert("BUG: Couldnot get the input object named: "+itemname);

		return;

	}

	if(!itemobj.validationset)

	{

	  itemobj.validationset = new ValidationSet(itemobj);

	}

  itemobj.validationset.add(descriptor,errstr);

}

function ValidationDesc(inputitem,desc,error)

{

  this.desc=desc;

	this.error=error;

	this.itemobj = inputitem;

	this.validate=vdesc_validate;

}

function vdesc_validate()

{

 if(!V2validateData(this.desc,this.itemobj,this.error))

 {

    this.itemobj.focus();

		return false;

 }

 return true;

}

function ValidationSet(inputitem)

{

    this.vSet=new Array();

	this.add= add_validationdesc;

	this.validate= vset_validate;

	this.itemobj = inputitem;

}

function add_validationdesc(desc,error)

{

  this.vSet[this.vSet.length]= 

	  new ValidationDesc(this.itemobj,desc,error);

}

function vset_validate()

{

   for(var itr=0;itr<this.vSet.length;itr++)

	 {

	   if(!this.vSet[itr].validate())

		 {

		   return false;

		 }

	 }

	 return true;

}

function validateEmailv2(email)

{

// a very simple email validation checking. 

// you can add more complex email checking if it helps 

    if(email.length <= 0)

	{

	  return true;

	}

    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 V2validateData(strValidateStr,objValue,strError) 

{ 

    var epos = strValidateStr.search("="); 

    var  command  = ""; 

    var  cmdvalue = ""; 

    if(epos >= 0) 

    { 

     command  = strValidateStr.substring(0,epos); 

     cmdvalue = strValidateStr.substr(epos+1); 

    } 

    else 

    { 

     command = strValidateStr; 

    } 

    switch(command) 

    { 

        case "req": 

        case "required": 

         { 

           if(eval(objValue.value.length) == 0) 

           { 

              if(!strError || strError.length ==0) 

              { 

                strError = objValue.name + " : Required Field"; 

              }//if 

              alert(strError); 

              return false; 

           }//if 

           break;             

         }//case required 
		 
		   case "zip": 

         { 

           if(eval(objValue.value.length) != 5 || isNaN(objValue.value)) 

           { 

              if(!strError || strError.length ==0) 

              { 

                strError = objValue.name + " : Required Field"; 

              }//if 

              alert(strError); 

              return false; 

           }//if 

           break;             

         }//case required 

        case "maxlength": 

        case "maxlen": 

          { 

             if(eval(objValue.value.length) >  eval(cmdvalue)) 

             { 

               if(!strError || strError.length ==0) 

               { 

                 strError = objValue.name + " : "+cmdvalue+" characters maximum "; 

               }//if 

               alert(strError + "\n[Current length = " + objValue.value.length + " ]"); 

               return false; 

             }//if 

             break; 

          }//case maxlen 

        case "minlength": 

        case "minlen": 

           { 

             if(eval(objValue.value.length) <  eval(cmdvalue)) 

             { 

               if(!strError || strError.length ==0) 

               { 

                 strError = objValue.name + " : " + cmdvalue + " characters minimum  "; 

               }//if               

               alert(strError + "\n[Current length = " + objValue.value.length + " ]"); 

               return false;                 

             }//if 

             break; 

            }//case minlen 

        case "alnum": 

        case "alphanumeric": 

           { 

              var charpos = objValue.value.search("[^A-Za-z0-9]"); 

              if(objValue.value.length > 0 &&  charpos >= 0) 

              { 

               if(!strError || strError.length ==0) 

                { 

                  strError = objValue.name+": Only alpha-numeric characters allowed "; 

                }//if 

                alert(strError + "\n [Error character position " + eval(charpos+1)+"]"); 

                return false; 

              }//if 

              break; 

           }//case alphanumeric 

       

        case "num": 

        case "numeric": 

           { 

              var charpos = objValue.value.search("[^0-9.]"); 

              if(objValue.value.length > 0 &&  charpos >= 0) 

              { 

                if(!strError || strError.length ==0) 

                { 

                  strError = objValue.name+": Only digits allowed "; 

                }//if               

                alert(strError + "\n [Error character position " + eval(charpos+1)+"]"); 

                return false; 

              }//if 

              break;               

           }//numeric 

        case "alphabetic": 

        case "alpha": 

           { 

              var charpos = objValue.value.search("[^A-Za-z]"); 

              if(objValue.value.length > 0 &&  charpos >= 0) 

              { 

                  if(!strError || strError.length ==0) 

                { 

                  strError = objValue.name+": Only alphabetic characters allowed "; 

                }//if                             

                alert(strError + "\n [Error character position " + eval(charpos+1)+"]"); 

                return false; 

              }//if 

              break; 

           }//alpha 

		case "alnumhyphen":

			{

              var charpos = objValue.value.search("[^A-Za-z0-9\-_]"); 

              if(objValue.value.length > 0 &&  charpos >= 0) 

              { 

                  if(!strError || strError.length ==0) 

                { 

                  strError = objValue.name+": characters allowed are A-Z,a-z,0-9,- and _"; 

                }//if                             

                alert(strError + "\n [Error character position " + eval(charpos+1)+"]"); 

                return false; 

              }//if 			

			break;

			}

        case "email": 

          { 

               if(!validateEmailv2(objValue.value)) 

               { 

                 if(!strError || strError.length ==0) 

                 { 

                    strError = objValue.name+": Enter a valid Email address "; 

                 }//if                                               

                 alert(strError); 

                 return false; 

               }//if 

           break; 

          }//case email 

        case "lt": 

        case "lessthan": 

         { 

            if(isNaN(objValue.value)) 

            { 

              alert(objValue.name+": Should be a number "); 

              return false; 

            }//if 

            if(eval(objValue.value) >=  eval(cmdvalue)) 

            { 

              if(!strError || strError.length ==0) 

              { 

                strError = objValue.name + " : value should be less than "+ cmdvalue; 

              }//if               

              alert(strError); 

              return false;                 

             }//if             

            break; 

         }//case lessthan 

        case "gt": 

        case "greaterthan": 

         { 

            if(isNaN(objValue.value)) 

            { 

              alert(objValue.name+": Should be a number "); 

              return false; 

            }//if 

             if(eval(objValue.value) <=  eval(cmdvalue)) 

             { 

               if(!strError || strError.length ==0) 

               { 

                 strError = objValue.name + " : value should be greater than "+ cmdvalue; 

               }//if               

               alert(strError); 

               return false;                 

             }//if             

            break; 

         }//case greaterthan 

        case "regexp": 

         { 

		 	if(objValue.value.length > 0)

			{

	            if(!objValue.value.match(cmdvalue)) 

	            { 

	              if(!strError || strError.length ==0) 

	              { 

	                strError = objValue.name+": Invalid characters found "; 

	              }//if                                                               

	              alert(strError); 

	              return false;                   

	            }//if 

			}

           break; 

         }//case regexp 

        case "dontselect": 

         { 

            if(objValue.selectedIndex == null) 

            { 

              alert("BUG: dontselect command for non-select Item"); 

              return false; 

            } 

            if(objValue.selectedIndex == eval(cmdvalue)) 

            { 

             if(!strError || strError.length ==0) 

              { 

              strError = objValue.name+": Please Select one option "; 

              }//if                                                               

              alert(strError); 

              return false;                                   

             } 

             break; 

         }//case dontselect 

    }//switch 

    return true; 

}





function jump(from, to, length)

{

	if(from.value.length == length)

	{

	to.focus();

	}

}



function creditCheck()

{

	if(document.forms["Application"].creditcheck.checked==false)

	{

	alert("Sorry we are unable to help without permission to check your credit report.");

	}

}
function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   if(sText != "")
   {
	   for (i = 0; i < sText.length && IsNumber == true; i++) 
	   { 
		  Char = sText.charAt(i); 
		  if (ValidChars.indexOf(Char) == -1) 
		  {
			 IsNumber = false;
		  }
	   }
   }
   return IsNumber;
}
function IsInt(sText)
{
	//alert(sText);
   var ValidChars = "0123456789";
   var IsInt=true;
   var Char;
  
   if(sText != "")
   {
	   for (i = 0; i < sText.length && IsInt == true; i++) 
	   { 
		  Char = sText.charAt(i); 
		  if (ValidChars.indexOf(Char) == -1) 
		  {
			 IsInt = false;
		  }
	   }
   }
   return IsInt;
}
function validEmail(strEmail)
{	//var strExpression = /^[a-z][a-z_0-9\.]+@[a-z_0-9\.]+$/i;
	
	//return strExpression.test(strEmail);
	if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
		return true;
	else
		return false;

}

function isAlphaNumeric(strText) 
{ 
   var strExpression = /^[a-z][a-z_0-9]{0,}$/i; 
   return strExpression.test(strText); 
}

function isAlpha(strText) 
{ 
   var strExpression = /^[a-z][a-z_A-Z]{0,}$/i; 
   return strExpression.test(strText); 
}
	
// ===================================================================
// Author: Matt Kruse <matt@mattkruse.com>
// WWW: http://www.mattkruse.com/
//
// NOTICE: You may use this code for any purpose, commercial or
// private, without any further permission from the author. You may
// remove this notice from your final code if you wish, however it is
// appreciated by the author if at least my web site address is kept.
//
// You may *NOT* re-distribute this code in any way except through its
// use. That means, you can include it in your product, or your web
// site, or any other form where the code is actually being used. You
// may not put the plain javascript up on your site for download or
// include it in your javascript libraries for download. 
// If you wish to share this code with others, please just point them
// to the URL instead.
// Please DO NOT link directly to my .js files from your site. Copy
// the files to your server and use them there. Thank you.
// ===================================================================

// HISTORY
// ------------------------------------------------------------------
// May 17, 2003: Fixed bug in parseDate() for dates <1970
// March 11, 2003: Added parseDate() function
// March 11, 2003: Added "NNN" formatting option. Doesn't match up
//                 perfectly with SimpleDateFormat formats, but 
//                 backwards-compatability was required.

// ------------------------------------------------------------------
// These functions use the same 'format' strings as the 
// java.text.SimpleDateFormat class, with minor exceptions.
// The format string consists of the following abbreviations:
// 
// Field        | Full Form          | Short Form
// -------------+--------------------+-----------------------
// Year         | yyyy (4 digits)    | yy (2 digits), y (2 or 4 digits)
// Month        | MMM (name or abbr.)| MM (2 digits), M (1 or 2 digits)
//              | NNN (abbr.)        |
// Day of Month | dd (2 digits)      | d (1 or 2 digits)
// Day of Week  | EE (name)          | E (abbr)
// Hour (1-12)  | hh (2 digits)      | h (1 or 2 digits)
// Hour (0-23)  | HH (2 digits)      | H (1 or 2 digits)
// Hour (0-11)  | KK (2 digits)      | K (1 or 2 digits)
// Hour (1-24)  | kk (2 digits)      | k (1 or 2 digits)
// Minute       | mm (2 digits)      | m (1 or 2 digits)
// Second       | ss (2 digits)      | s (1 or 2 digits)
// AM/PM        | a                  |
//
// NOTE THE DIFFERENCE BETWEEN MM and mm! Month=MM, not mm!
// Examples:
//  "MMM d, y" matches: January 01, 2000
//                      Dec 1, 1900
//                      Nov 20, 00
//  "M/d/yy"   matches: 01/20/00
//                      9/2/00
//  "MMM dd, yyyy hh:mm:ssa" matches: "January 01, 2000 12:30:45AM"
// ------------------------------------------------------------------

var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat');
function LZ(x) {return(x<0||x>9?"":"0")+x}

// ------------------------------------------------------------------
// isDate ( date_string, format_string )
// Returns true if date string matches format of format string and
// is a valid date. Else returns false.
// It is recommended that you trim whitespace around the value before
// passing it to this function, as whitespace is NOT ignored!
// ------------------------------------------------------------------
function isDate(val,format) {
	var date=getDateFromFormat(val,format);
	if (date==0) { return false; }
	return true;
	}

// -------------------------------------------------------------------
// compareDates(date1,date1format,date2,date2format)
//   Compare two date strings to see which is greater.
//   Returns:
//   1 if date1 is greater than date2
//   0 if date2 is greater than date1 of if they are the same
//  -1 if either of the dates is in an invalid format
// -------------------------------------------------------------------
function compareDates(date1,dateformat1,date2,dateformat2) {
	var d1=getDateFromFormat(date1,dateformat1);
	var d2=getDateFromFormat(date2,dateformat2);
	if (d1==0 || d2==0) {
		return -1;
		}
	else if (d1 > d2) {
		return 1;
		}
	return 0;
	}

// ------------------------------------------------------------------
// formatDate (date_object, format)
// Returns a date in the output format specified.
// The format string uses the same abbreviations as in getDateFromFormat()
// ------------------------------------------------------------------
function formatDate(date,format) {
	format=format+"";
	var result="";
	var i_format=0;
	var c="";
	var token="";
	var y=date.getYear()+"";
	var M=date.getMonth()+1;
	var d=date.getDate();
	var E=date.getDay();
	var H=date.getHours();
	var m=date.getMinutes();
	var s=date.getSeconds();
	var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;
value["dd"]=LZ(d);
	value["E"]=DAY_NAMES[E+7];
	value["EE"]=DAY_NAMES[E];
	value["H"]=H;
	value["HH"]=LZ(H);
	if (H==0){value["h"]=12;}
	else if (H>12){value["h"]=H-12;}
	else {value["h"]=H;}
	value["hh"]=LZ(value["h"]);
	if (H>11){value["K"]=H-12;} else {value["K"]=H;}
	value["k"]=H+1;
	value["KK"]=LZ(value["K"]);
	value["kk"]=LZ(value["k"]);
	if (H > 11) { value["a"]="PM"; }
	else { value["a"]="AM"; }
	value["m"]=m;
	value["mm"]=LZ(m);
	value["s"]=s;
	value["ss"]=LZ(s);
	while (i_format < format.length) {
		c=format.charAt(i_format);
		token="";
		while ((format.charAt(i_format)==c) && (i_format < format.length)) {
			token += format.charAt(i_format++);
			}
		if (value[token] != null) { result=result + value[token]; }
		else { result=result + token; }
		}
	return result;
	}
	
// ------------------------------------------------------------------
// Utility functions for parsing in getDateFromFormat()
// ------------------------------------------------------------------
function _isInteger(val) {
	var digits="1234567890";
	for (var i=0; i < val.length; i++) {
		if (digits.indexOf(val.charAt(i))==-1) { return false; }
		}
	return true;
	}  
  function showLoan(select) {

 var others = MM_findObj("tblOthers");
 var newhome = MM_findObj("tblPurchase");
 
 // reload when product has changed after hitting submit
 if (others == null || newhome == null) {
    window.location.reload();
    select.value = "PP_REFI";
	return;
 }

 if (select.value == "PP_NEWHOME") {
   others.style.display="none";
   newhome.style.display="";
 }
 else {
   others.style.display="";
   newhome.style.display="none";
 }
}


function showLoanFields(obj) {
	
	 if (obj.value == "PP_LOANMODI") {
		 window.location.href = 'apply-loanmodification.php';
	 }
}

/*** functions for limiting values of dropdowns based on the value of another input ***/

/* Limit b's selections upto whatever a's selected value is. */
function limit(maxValue, b) {

 // the current max value in b's list.
 var bMax = getInteger(b.options[b.options.length-1].value);
 
 if (bMax > maxValue) {
  trim(b, maxValue);
 }
 else if (bMax < maxValue) {
  extend(b, bMax, maxValue);
 }
}

/* extends list from bMax to maxValue. */
function extend(b, bMax, maxValue) {
 
 var i = bMax;
 var upperlimit = false;
 while (i < maxValue) {
  
  var inc = 0;
 
  if (i < 197500) {
   inc = 5000;
   if  (!((inc+i) > maxValue)){
    i+=inc;   
   }else{
   	upperlimit = true;
   }
  }else if (i == 197500) {
   inc = 10000;
   i = 205000;
  }
  else if (i < 395000) {
   inc = 10000;
   if  (!((inc+i) > maxValue)){
    i+=inc;   
   }else{
    upperlimit= true;
   }
  }
  else if (i == 395000) {
   inc = 20000;
   i = 410000;
  }
  else if (i < 990000) {
   inc = 20000;
   if  (!((inc+i) > maxValue)){
    i+=inc;   
   }else{
    upperlimit= true;
   }
  }
  else {
   break;
  }
  if(upperlimit == true){
  	lower = upper+1;
	upper = maxValue+(inc/2);
  	addOption(toMoneyInt(lower) + ' - ' + toMoneyInt(upper), maxValue, b);  
  	break;
  }else{
  	lower = i-((inc/2)-1);
  	upper = i+(inc/2);
  	addOption(toMoneyInt(lower) + ' - ' + toMoneyInt(upper), i, b);  
  }
 }
 
}

function addOption(text,value,list) {
  var opt = document.createElement('option');
  opt.text = text;
  opt.value = value;
  
  try {
   list.add(opt, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
   list.add(opt); // IE only
  }
}


/** Makes 10000 look like 10,000, etc. */
function toMoneyInt(num) {

 str = num + ""
 len = str.length
 s = ""
 
 for(var i=len,j=0; i>=0; i--,j++) {
  s = str.charAt(i) + s;
  
  if (j==3 && i > 0) {
   s = "," + s;
   j = 0;
  }
 }

 return s;
}


/* fixes home equity bal two and add cach to start at >=15k if est-one > 15k.  
 * est, one:  est val and bal one.
 * form:      the form to fix up.
 */
function fixHomeEquity(est, one, form) {
 if((est - one) >= 15000) {
  
  for(var i=0; i<form.BAL_TWO.options.length; i++) {
   if(form.BAL_TWO.options[i].value < 15000) {
    // alert(form.BAL_TWO.options[i].text);
    form.BAL_TWO.options[i] = null;
    // decrement counter to accomodate array re-shuffle.
    // we could iterate backwards too...
    i--;
   }
  }
  
  for(var i=0; i<form.ADD_CASH.options.length; i++) {
   if(form.ADD_CASH.options[i].value < 15000) {
    // alert(form.ADD_CASH.options[i].text);
    form.ADD_CASH.options[i] = null;
    i--;
   }
  }
 }
}


/**** util methods */

function getInteger(vNum) {
	vNum = getIntegerString(vNum.toString());
	if (vNum == "") { vNum = 0; }
	return Number(vNum);
}

function getIntegerString(strIn) {
	return strIn.replace(/[^0-9]/g, "");
}


function trimString(strIn) {
	if (/^\s/.test(strIn)) { strIn = strIn.replace(/^\s{1,}/, ""); }
	if (/\s$/.test(strIn)) { strIn = strIn.replace(/\s{1,}$/, ""); }
	return strIn;
}

function getDecimalString(strIn) {
	strIn = strIn.replace(/[^0-9\.]/g, "");
	var iPoint = strIn.indexOf(".");
	if (iPoint > -1) {
		strIn = strIn.substring(0, iPoint + 1) + getIntegerString(strIn.substring((iPoint + 1), strIn.length));
	}
	return strIn;
}

function isValueInSelectbox(hSelectbox, strValue) {
	for (var i=0; i < hSelectbox.options.length; i++) {
		if (hSelectbox.options[i].value == strValue) {
			return true;
		}
	}
	return false;
}

function getParsedPhoneStr(strIn) {
	strIn = strIn.replace(/\.|-| |\(|\)/g,"");
	return strIn;
}


/*
 * DOM show/hide functions.
 * Do not set display to "block", it breaks things like table rows.
 */
function showElement(strID) {
	try { document.getElementById(strID).style.display = ""; } catch(ex) {}
}
function hideElement(strID) {
	try { document.getElementById(strID).style.display = "none"; } catch(ex) {}
}


function isNotHiddenFormField(form, strName) {
	// Tells you if a non-hidden field exists in a form.
	var type;
	var field = form.elements[strName];
	if (field && (typeof(field) == "object")) {
		try {
			type = field.getAttribute("type");
		} catch(ex) {
			// probably a radio button group (no attribute)
			return true;
		}
		if ((type) && (type.toLowerCase() == "hidden")) {
			return false;
		}
		return true;
	}
	return false;
}



function getRadioValue(hRadioGroup) {
	// Gets the selected value of a radio button group. If no radio button is selected, returns an empty string.
	for (var i=0; i < hRadioGroup.length; i++) {
		if (hRadioGroup[i].checked) { return hRadioGroup[i].value; }
	}
	return "";
}

function getMultipleSelectBoxValues(hSelect) {
	var i, option, arrSelected = new Array();
	while (hSelect.selectedIndex >= 0) {
		arrSelected[arrSelected.length] = hSelect.selectedIndex;
		hSelect.options[hSelect.selectedIndex].selected = false;
	}
	for (i=0; i < arrSelected.length; i++) {
		option = hSelect.options[arrSelected[i]];
		option.selected = true;
		arrSelected[i] = option.value;
	}
	return arrSelected;
}

function getFormFieldValue(hField) {
	if (!hField) { return undefined; }
	try {
		if (hField.type) {
			if (hField.type == "radio") {
				return getRadioValue(hField.form.elements[hField.name]);
			} else if (hField.type == "select-multiple") {
				return getMultipleSelectBoxValues(hField);
			} else {
				return hField.value;
			}
		}
	} catch (ex) {}
	try {
		if (hField.length && hField[0] && (hField[0].type == "radio")) {
			return getRadioValue(hField[0].form.elements[hField[0].name]);
		}
	} catch(ex) {}
	return undefined;
}

function addCommasToNumString(strIn) {
	var arrTemp = strIn.split("");
	var i = strIn.length - 4;
	var iPoint = strIn.indexOf(".");
	if (iPoint > -1) { i -= (strIn.length - iPoint); }
	for (i; i >= 0; i-=3) { arrTemp[i] += ","; }
	return arrTemp.join("");
}


function filterIntegerAddCommas(hField) {
	hField.value = addCommasToNumString(getIntegerString(hField.value));
}

function filterInteger(hField) {
   hField.value = getIntegerString(hField.value);
}


function toggleOtherField(hSelectbox, strOtherFormBlock) {
	// Shows another form block if an option with value "other" is selected in a SELECT form element.
	if (hSelectbox.value == "other") {
		showElement(strOtherFormBlock);
	} else {
		hideElement(strOtherFormBlock);
	}
}

function qs() {
var query = window.location.search.substring(1);
var parms = query.split('&');
for (var i=0; i<parms.length; i++) {
   var pos = parms[i].indexOf('=');
   if (pos > 0) {
      var key = parms[i].substring(0,pos);
      var val = parms[i].substring(pos+1);
      qsParm[key] = val;
      }
   }
}

function validateRadioButton(hRadioButton, strAlert){
	var selectedOption = -1;
	for(i=hRadioButton.length-1; i > -1; i--){
		if (hRadioButton[i].checked) {
			selectedOption= i;
		}
	}
	if(selectedOption == -1){
		return validationAlert(strAlert, hRadioButton[0]);
	}
	return true;
}

function validateCheckBox(hCheckBox, strAlert){
	if(!hCheckBox.checked){
		return validationAlert(strAlert, hCheckBox);
	}
	return true;
}
var downPaymentOptionLabelText = "{0}% down";

function updateDownPaymentSelectBox(hDownPaymentSelect, hHomeValueField) {
	var form = hDownPaymentSelect.form;
	var lastValue = getFormFieldValue(hDownPaymentSelect);
	var homeValue = getInteger(getFormFieldValue(hHomeValueField));
	var showDollarValue = (homeValue != 0) ? true : false;

	var opts = hDownPaymentSelect.options;
	var tmpLabel;
	var tmpDollarValue;
	for (var i=0; i < opts.length; i++) {
		if ((opts[i].value == "") || isNaN(opts[i].value)) { continue; }
		tmpLabel = downPaymentOptionLabelText.replace("{0}", opts[i].value);
		if (showDollarValue) {
			tmpDollarValue = new String(calculateDownPaymentValue(parseInt(opts[i].value), homeValue));
			tmpLabel = "$" + addCommasToNumString(tmpDollarValue) + " (" + tmpLabel + ")";
		}
		
		hDownPaymentSelect.options[i].text = tmpLabel;
	}

	var msieFix = "fixDownPaymentBoxForMSIE('" + form.name + "', '" + hDownPaymentSelect.name + "', '" + lastValue + "');";
	setTimeout(msieFix, 50);
	
	//form.DownPayment_Amount_OTHER.value = homeValue;
	
}


function calculateDownPaymentValue(percent, price) {
	return Math.ceil(price * (percent / 100));
}


function fixDownPaymentBoxForMSIE(formName, fieldName, lastValue) {
	var select = document.forms[formName].elements[fieldName];
 	if (select.selectedIndex == -1) {
 	    if (isValueInSelectbox(select, lastValue)) {
 	        select.value = lastValue;
 	    } else {
 	        select.value = "";
 	    }
 	}
}

function doDownPaymentSelectBoxLogic(hSelectbox) {
	var form = hSelectbox.form;
	toggleOtherField(hSelectbox, "otherDownPaymentBlock");
	if (hSelectbox.value == "other") {
		form.DownPayment_Amount_OTHER.value = "";
		form.DownPayment_Amount.value = "";
	} else {
		if (form.DownPayment_Amount_OTHER.value != 0) {
			form.DownPayment_Amount.value = calculateDownPaymentValue(parseInt(hSelectbox.value), form.DownPayment_Amount_OTHER.value);
		} else {
			form.DownPayment_Amount_OTHER.value = calculateDownPaymentValue(parseInt(hSelectbox.value), form.Estimated_Home_Value.value);
	}
}
}

/* ###### GENERAL HELPER FUNCTIONS ######  */

function validationAlert(strAlert, hField) {
	// Displays an alert, focuses a form field, and returns false.
	alert(strAlert);
	try { hField.focus(); } catch(ex) {}
	return false;
}




function balTwoEmptyCheck(b) {
	if (b.options.length < 2) {
   		addOption("You cannot borrow more than", "xx", b);
   		addOption("your Estimated Home Value", "xx", b);
   	} else if (b.options.length > 2) {
   		if (b.options[1].value == 'xx' && b.options[2].value == 'xx') {
   			b.remove(1);b.remove(1);
   		}
   	}
}

function checksecondary()
{
if(document.getElementById('MTG_TWO_YES').checked)
{
if(document.Application.BAL_TWO.value == '' )
{
alert("Please Select Second mortgage balance");
document.Application.BAL_TWO.focus();
return false;
}
if(document.Application.MTG_TWO_INT.value == '')
{
alert("Please Select Second mortgage Interest rate");
document.Application.MTG_TWO_INT.focus();
return false;
}
return true;
}
else
return true;
}
//.............................................jig
function checkmortageform2()
{
		if(document.Application.BAL_ONE.value == '' || document.Application.BAL_ONE.value == '0')
		{
		alert("Please Select First mortgage balance");
		document.Application.BAL_ONE.focus();
		return false;
		}
		
		if(document.Application.MTG_ONE_INT.value == '' || document.Application.MTG_ONE_INT.value == '0' )
		{
		alert("Please Select First mortgage interest rate");
		document.Application.MTG_ONE_INT.focus();
		return false;
		}
		if(document.Application.BAL_TWO.value=='')
			document.Application.BAL_TWO.value=0;
			
		/*var pre_LTV_total= parseInt(document.Application.BAL_ONE.value) + parseInt(document.Application.BAL_TWO.value) + parseInt(document.Application.ADD_CASH.value);
		
		
		
		var LTV = pre_LTV_total / parseInt(document.Application.EST_VAL.value);
		
		if(LTV > 0.9)
		{
			alert("You may only borrow up to 90% of the value of your home. Please go back and raise your home value or lower your loan amount.");
			document.Application.BAL_ONE.focus();
			return false;
		}*/
		
		
	if(document.getElementById('MTG_TWO_YES').checked)
	{
		if(document.Application.BAL_TWO.value == '' || document.Application.BAL_TWO.value == '0' )
		{
			alert("Please Select Second mortgage balance");
			document.Application.BAL_TWO.focus();
			return false;
		}
		if(document.Application.MTG_TWO_INT.value == '' || document.Application.MTG_TWO_INT.value == '0')
		{
			alert("Please Select Second mortgage Interest rate");
			document.Application.MTG_TWO_INT.focus();
			return false;
		}
		return true;
	}
	
	return true;
}

//.............................................



