﻿// globals for browser detection
var Ver4OrLess = parseInt(navigator.appVersion) <= 4;
var VerMoreThan4 = parseInt(navigator.appVersion) > 4;
var NS4OrLess = ((navigator.appName == "Netscape") && Ver4OrLess);
var NSMoreThan4 = ((navigator.appName == "Netscape") && VerMoreThan4);
var IE4OrLess = ((navigator.userAgent.indexOf("MSIE") != -1) && Ver4OrLess);
var IEMoreThan4 = ((navigator.appName == "MSIE") && VerMoreThan4);

ie = document.all?1:0;
ns4 = document.layers?1:0;

function changeImage(imgElement, newImgName) {
	document[imgElement].src = newImgName;
}

function doDisclaimerSubmit(form) {
	if (form.selection.value == "") {
		alert("Please select a disclaimer option.");
		return false;
	}
	return true;
}

function doQuoteFormSubmit(form, action) {
	if (!calculate()) return false;
	fixupData(form); // fixup necessary data
	
	if (form.quote_date != null) {	
		if (!isValidDate(form.quote_date.value, "/", "Quote Date")) {
			return false; // make sure they haven't messed up the quote date
		}
	}
	
	if (form.loanName.value == "") {
		alert("Please enter a loan name.");
		return false;
	}
	
	form.action.value = action;
	form.securities_cost.value = fees[33];
	form.transaction_cost.value = fees[27] + fees[28] + fees[29];
	form.total_cost.value = fees[30];
	form.submit();
}

function doSearch(form) {
	if (form.search_text.value == "") {
		alert("Please enter search text.");
		return false;
	}
	form.submit();
}

function isIdVisible(id)
{
		
		if (NSMoreThan4) {
		var myElement = document.getElementById(id);
		if (myElement.style.display == "none") {
			return false;
		} else {
			myElement.style.display == "block";
			return true;
		}		
	} else {
		if (document.all(id).style.display == "none") {
			return false;
		} else {
			document.all(id).style.display == "block";;
			return true;
		}		
	}
}

function showProgress(id)
{		
		if (NSMoreThan4) 
		{
			var myElement = document.getElementById(id);
			myElement.style.display = "block";
				
		} 
		else
		{
			document.all(id).style.display = "block";		
		}
}

function doRegisterSubmit(form) {
	var error = "";
	var otherFieldsVisible = false;
	
	if (form.name.value == "") error = "Name is required!\n";
	if (form.email.value == "") error += "Email is required!\n";
	if (form.phone.value == "") error += "Phone is required!\n";
	if (form.username.value == "") error += "Username is required!\n";
	if (form.password.value == "") error += "Password is required!\n";

	otherFieldsVisible = isIdVisible("details1_div");

	var x = document.aspnetForm.referredby.selectedIndex;
	var referredby_text = document.aspnetForm.referredby.options[x].value;
	if (referredby_text == "") error += "Referral method is required!\n";
	
	if (  otherFieldsVisible  && (document.aspnetForm.other_name.value == "" && document.aspnetForm.other_company.value == "") )
	{
		error = "Please enter the name and/or company from which you were referred. \n";
		alert(error);
		return false;
	}
		
	
	if (error != "") {
		alert(error);
		return false;
	}
	showProgress('in_progress');
	form.action.value = "register";
	form.submit();
}

function acceptAmortization()
{
    window.opener.document.forms['aspnetForm'].ctl00$rightColumn$Calc1$txtAmortization.value = document.forms['form1'].txtAmortization.value;	
	 if (true)
	 {
		window.self.close();
	 }
//ctl00$rightColumn$Calc1$txtAmortization
}

/**
 * This function removes the commas from the original loan amount field
 * so it can be saved to the database.
 */    
function fixupData(form) {
	var amt = form.originalLoanAmount.value;
	form.originalLoanAmount.value = removeCharacter(amt, ",");	
}

function removeCharacter(str, toRemove) {
	while (str.search(toRemove) != -1) {
		str = str.replace(toRemove, '');
	}
	return str;
}

function CA(frm){
	for (var i=0;i<frm.elements.length;i++) {
		var e = frm.elements[i];
		if ((e.name != 'allbox') && (e.type=='radio')) {
			e.checked = frm.allbox.checked;
			if (frm.allbox.checked)
				hL(e);
			else
				dL(e);
		}
	}
}

function highlightRow(frm){
	for (var i=0;i<frm.elements.length;i++)	{
		var e = frm.elements[i];
		if (e.type=='radio') {
			if (e.checked) {
				hL(e)
			} else {
				dL(e)
			}
		}
	}
}

function hL(E){
	if (ie)
	{
		while (E.tagName!="TR")
			{E=E.parentElement;}
		}
	else
	{
		while (E.tagName!="TR")
			{E=E.parentNode;}
	}
	E.className = "H";
}

function dL(E){
	if (ie)
	{
	while (E.tagName!="TR")
	{E=E.parentElement;}
	}
	else
	{
	while (E.tagName!="TR")
	{E=E.parentNode;}
	}
	E.className = "";
}

function anythingSelected(frm) {	

	if (numChecked(frm)>0) {
		return true;
	} else {
		alert("You must first select a record.");
		return false;
	}	
	
}

function numChecked(frm) {
	j=0;
	for(i=0;i < frm.length;i++) {
		e=frm.elements[i];
		if (e.type=='radio' && e.checked) {
			j++;	
		}
	}
	return j;
}

function validateContact(frm) {
	var msg;
	msg="Please enter ";
	var i;
	if (frm.elements["first_name"].value=='') { msg+="first name"; i=1; }
	if (frm.elements["last_name"].value=='') {
		if (i==1) msg+=" and ";
		msg+= "last name";
		i=1;
	}
	msg+=".";
	if (i==1) { alert(msg); return false; }
	frm.submit();
	return true;
}

function determineMailTo(frm) {
	var id;
	if (numChecked(frm)>0) {
		for(i=0;i < frm.length;i++) {
			e=frm.elements[i];
			if (e.type=='radio' && e.checked) {
				id=e.value;				
				return "mailTo:" + frm.elements["email_"+id].value
			}
		}
	} else {
		alert("You must first select a record.");
		//return false;
	}		
}

function changeTabs(){
        myDocumentElements=document.getElementsByTagName("body");
        myBody=myDocumentElements.item(0);        
	TDElements=myBody.getElementsByTagName("TD");
        i=0
	while (TDElements(i)!=null) {
		var e = TDElements(i);
		if (e.className=='SelectedHeading') {
			e.className='UnselectedHeading';
		} else
		if (e.className=='UnselectedHeading') {
			e.className='SelectedHeading';
		}
		i++;
	}
}

function showOrHide(element, id) {
	if (NSMoreThan4) {
		var myElement = document.getElementById(id);
		if (!element.checked && myElement.style.visibility == "visible") {
			myElement.style.visibility = "hidden";
		} else {
			myElement.style.visibility = "visible";
		}		
	} else {
		if (!element.checked && document.all(id).style.visibility == "visible") {
			document.all(id).style.visibility = "hidden";
		} else {
			document.all(id).style.visibility = "visible";
		}		
	}
}



function toggleAddress(element, id) {
     if (NSMoreThan4) {
          var myElement = document.getElementById(id);
          if (!document.aspnetForm.tshirt_entrant.checked && !document.aspnetForm.brochure.checked) {
               myElement.style.display = "none";
          } else {
               myElement.style.display = "block";
          }          

		  if (!document.aspnetForm.tshirt_entrant.checked && id == "tshirt_size_div")
		  {
			  myElement.style.display = "none";
		  }
     } else {
          if (!document.aspnetForm.tshirt_entrant.checked && !document.aspnetForm.brochure.checked ) {
               document.all(id).style.display = "none";
          } else {
               document.all(id).style.display = "block";
          }          

		  if (!document.aspnetForm.tshirt_entrant.checked && id == "tshirt_size_div")
		  {
			  document.all(id).style.display = "none";
		  }
     }
}

function showReferralType(element) {
	var w = element.selectedIndex;
	var selected_text = element.options[w].value;
	if( selected_text == "2773d8b6-48d9-4cba-b980-942dfb710b71" || selected_text == "2773d8b6-48d9-4cba-b980-942dfb710b73" ||	selected_text == "2773d8b6-48d9-4cba-b980-942dfb710b75" ||	selected_text == "Banker" || selected_text == "2773d8b6-48d9-4cba-b980-942dfb710b77" ||	selected_text == "2773d8b6-48d9-4cba-b980-942dfb710b78" || selected_text == "2773d8b6-48d9-4cba-b980-942dfb710b80" || selected_text == "2773d8b6-48d9-4cba-b980-942dfb710b81")
	{
		showDetailElement("details1_div");
		hideAllDropDownElements();
	}
	else
	{
		hideDetailElement("details1_div");
	}

	if( selected_text == "2773d8b6-48d9-4cba-b980-942dfb710b76")//Magazine
	{
		hideAllDropDownElements();
		showElement("detailDropDown_div1");
	}
	if( selected_text == "2773d8b6-48d9-4cba-b980-942dfb710b79")//Lender
	{
		hideAllDropDownElements();
		showElement("detailDropDown_div2");
		showElement("detailsname_div");
	}
	if( selected_text == "2773d8b6-48d9-4cba-b980-942dfb710b72")//Conference
	{
		hideAllDropDownElements();
		showElement("detailDropDown_div3");
	}
	if( selected_text == "2773d8b6-48d9-4cba-b980-942dfb710b7d")//empty
	{
		hideAllDropDownElements();
	}
}

function showOtherType(element) {	

 if (NSMoreThan4)
 {
    var x = element.selectedIndex;
    var selected_text = element.options[x].value;
	if( selected_text == "2773d8b6-48d9-4cba-b980-942dfb710b81" )//other
	{
		showDetailElement("details1_div");
		hideDetailElement("detailsname_div");
	}
	else
	{
		hideDetailElement("details1_div");
	}
 }
 else//for IE
 {
  if(document.all("ctl00$mainCopy$Register1$LenderDD"))
	{
		var x = document.all("ctl00$mainCopy$Register1$LenderDD").selectedIndex;
		var referredby_text = element.options[x].value;

		if (referredby_text == "2773d8b6-48d9-4cba-b980-942dfb710b79")//Lender
		{
			var w = element.selectedIndex;
			var selected_text = element.options[w].value;
		}	
		
	}
	if(document.all("ctl00$mainCopy$Register1$PublicationDD"))
	{
		var x = document.all("ctl00$mainCopy$Register1$referredby").selectedIndex;
		var referredby_text = document.all("ctl00$mainCopy$Register1$referredby").options[x].value;

		if (referredby_text == "2773d8b6-48d9-4cba-b980-942dfb710b76")//Magazine
		{
			var w = document.all("ctl00$mainCopy$Register1$PublicationDD").selectedIndex;
			var selected_text = document.all("ctl00$mainCopy$Register1$PublicationDD").options[w].value;
		}		
	}
	
	if(document.all("ctl00$mainCopy$Register1$RepsDD"))
	{
		var x = document.all("ctl00$mainCopy$Register1$referredby").selectedIndex;
		var referredby_text = document.all("ctl00$mainCopy$Register1$referredby").options[x].value;

		if (referredby_text == "2773d8b6-48d9-4cba-b980-942dfb710b72")//Conference
		{
			var w = element.selectedIndex;
			var selected_text = element.options[w].value;
		}		
	}
		alert(selected_text);
	if( selected_text == "other" )//other
	{
		showDetailElement("details1_div");
		hideDetailElement("detailsname_div");
	}
	else
	{
		hideDetailElement("details1_div");
	}
 }
	
}

function showElement(id) {
	if (NSMoreThan4)
	{
		var theElement = document.getElementById(id);
		theElement.style.display = "block";		
	} 
	else 
	{		
		document.all(id).style.display = "block";		
	}	
}

function showDetailElement(id) {
	if (NSMoreThan4)
	{
		var theElement = document.getElementById(id);
		theElement.style.display = "block";		
	} 
	else 
	{		
		document.all(id).style.display = "block";		
	}	
}

function hideDetailElement(id) {
	if (NSMoreThan4)
	{
		var theElement = document.getElementById(id);
		theElement.style.display = "none";		
	} 
	else 
	{		
		document.all(id).style.display = "none";		
	}	
}

function openDescriptionDetail(url){
	var w = window.open(url, 'newWin', 'width=200,height=325,screenX=400,screenY=200,top=400,left=400,resizable=yes');
	if (w != null)
	{
			w.focus;
	}
}

function hideAllDropDownElements() {
	//initialize indexes
	if (NSMoreThan4)
	{
	    if (document.getElementById("ctl00$mainCopy$Register1$RepsDD"))
	    {
		    var theElement = document.getElementById("ctl00$mainCopy$Register1$RepsDD");
		    theElement.selectedIndex = 0;			
		}
		
		if (document.getElementById("ctl00$mainCopy$Register1$PublicationDD"))
	    {
		    var theElement2 = document.getElementById("ctl00$mainCopy$Register1$PublicationDD");
		    theElement2.selectedIndex = 0;
		}
		
		if (document.getElementById("ctl00$mainCopy$Register1$LenderDD"))
	    {
		    var theElement3 = document.getElementById("ctl00$mainCopy$Register1$LenderDD");
		    theElement3.selectedIndex = 0;
		}
	} 
	else 
	{		
		document.all("ctl00$mainCopy$Register1$RepsDD").selectedIndex = 0;
		document.all("ctl00$mainCopy$Register1$PublicationDD").selectedIndex = 0;
		document.all("ctl00$mainCopy$Register1$LenderDD").selectedIndex = 0;
	}
	

	for (i=1;i<4;i++ )
	{
	
		var id = "detailDropDown_div"+i
		if (NSMoreThan4)
		{
			var theElement = document.getElementById(id);
			theElement.style.display = "none";
			theElement = document.getElementById("detailsname_div");
			theElement.style.display = "none";
		} 
		else 
		{		
			document.all(id).style.display = "none";
			document.all("detailsname_div").style.display = "none";
		}
	}
}


function toggleDetail(element, id) {
	if (NSMoreThan4) {
		var myElement = document.getElementById(id);
		if (!element.checked && myElement.style.display == "block") {
			myElement.style.display = "none";
		} else {
			myElement.style.display = "block";
		}		
	} else {
		if (!element.checked && document.all(id).style.display == "block") {
			document.all(id).style.display = "none";
		} else {
			document.all(id).style.display = "block";
		}		
	}
}

function show(array) {
	if (NSMoreThan4) {
		for (var i = 0; i < array.length; i++) {
			var myElement = document.getElementById(array[i]);
			myElement.style.visibility = "visible";
		}
		
	} else {
		for (var i = 0; i < array.length; i++) {
			document.all(array[i]).style.visibility = "visible"			
		}
	}
}

function hide(array) {
	if (NSMoreThan4) {		
		for (var i = 0; i < array.length; i++) {
			var myElement = document.getElementById(array[i]);
	        	myElement.style.visibility = "hidden";			
		}
	} else {
		for (var i = 0; i < array.length; i++) {
			document.all(array[i]).style.visibility = "hidden"			
		}
	}
}

    //-------------------------------------------
    // This function will trim leading and/or trailing spaces from a string
    // arg = the value you wish to have trimmed..
    // func = "left" for TrimLeft(), "right" for TrimRight() or null for Trim()
    // Normally, this function would be used onBlur even for example,
    // onBlur="this.value = trim(this.value, null);

    function trim(arg,func) {

        var trimvalue = "";
        arglen = arg.length;
        
        if ( func == null ) {
            func = "both";
        }

        if (arglen < 1) {
            return trimvalue;
        }
        
        if (func == "left" || func == "both") {
            i = 0;
            pos = -1;
            
            while (i < arglen) {
                if (arg.charCodeAt(i) != 32 && !isNaN(arg.charCodeAt(i))) {
                    pos = i;
                    break;
                }
                i++;
            }
        } // end of if (func == "left" || func == "both")
        
        if (func == "right" || func== "both") {
            var lastpos = -1;
            i = arglen;
            
            while (i >= 0) {
                if (arg.charCodeAt(i) != 32 && !isNaN(arg.charCodeAt(i))) {
                    lastpos = i;
                    break;
                }
                i--;
            }
        } // end of if (func == "right" || func== "both") 

        if (func == "left") {
            trimvalue = arg.substring(pos,arglen-1);
        }
         
        if (func == "right") {
            trimvalue = arg.substring(0,lastpos+1);
        }
        
        if (func == "both") {
            trimvalue = arg.substring(pos,lastpos + 1);
        }
        
        return trimvalue;
        
    } // end of function trim(arg,func)
    //-----------------------------

    // This is the keypress event handler function for date fields.  
    // It will filter out all keystrokes except numbers and backslash
    function dateKeyPressHandler()
    {
        if ( (window.event.keyCode >= 47) && (window.event.keyCode <= 57) )
            window.event.returnValue = true;
        else
            window.event.returnValue = false;  
    } // End of function dateKeyPressHandler()

    //----------------------------
    // checks if date passed is in valid mm/dd/yyyy format
    function isValidDate (myDate, sep, name) 
    {
        // Length can only be 8, 9 or 10
        if ( (myDate.length < 8) || (myDate.length >10) ) {
	        alert(name + " has an invalid date format");
		      return false;
        } 
        
        if (myDate.length == 10) {
            if (myDate.substring(2,3) == sep && myDate.substring(5,6) == sep) {

                var month  = parseInt(myDate.substring(0,2), 10);
                if ( (isNaN(month)) || (month <= 0) || (month > 12) ) {
                    alert(name + " has an invalid date format");
                    return false;
                }
						
                var date = parseInt(myDate.substring(3,5), 10);
                if ( (isNaN(date)) || (date <= 0) || (date > 31) ) {
                    alert(name + " has an invalid date format");
                    return false;
                }
						
                var year  = parseInt(myDate.substring(6,10), 10);	
                if (isNaN(year) ) {
                    alert(name + " has an invalid date format");
                    return false;
                }	
                if (! checkDaysOfMonth(date, month) ) {
                    return false;
                }		
                if ( (! isLeapYear(year)) && (month == 2) && (date > 28) ) {
                    alert(date + " has an invalid date format. Year in not leap year and day is > 28");
                    return false;
                }
                // Passed all checks, is a valid date format, return true.
                return true;
            }
            else {
                alert(name + " has an invalid date format");
                return false;
            }
        } // end of if (myDate.length == 10)
        
        if (myDate.length == 9) {

            // case of where month is 1 digit, ie 9/17/1999
            if (myDate.substring(1,2) == sep && myDate.substring(4,5) == sep) {
                var month  = parseInt(myDate.substring(0,1), 10);
                if ( (isNaN(month)) || (month <= 0) || (month > 12) ) {
                    alert(name + " has an invalid date format");
                    return false;
                }
						
                var date = parseInt(myDate.substring(2,4), 10);
                if ( (isNaN(date))|| (date <= 0) || (date > 31) ) {
                    alert(name + " has an invalid date format");
                    return false;
                }
						
                var year  = parseInt(myDate.substring(5,9), 10);
                if (isNaN(year) ) {
                    alert(name + " has an invalid date format");
                    return false;
                }	
                if (! checkDaysOfMonth(date, month) ) {
                    return false;
                }					
                if ( (! isLeapYear(year)) && (month == 2) && (date > 28) ) {
                    alert(name + " has an invalid date format. Year in not leap year and day is > 28");
                    return false;
                }
                // Passed all checks, is a valid date format, return true.
                return true;
            }
            // case where day is 1 digit, ie 10/1/1999
            else if (myDate.substring(2,3) == sep && myDate.substring(4,5) == sep) 
            {
                var month  = parseInt(myDate.substring(0,2), 10);
                if ( (isNaN(month)) || (month <= 0) || (month > 12) ) {
                    alert(name + " has an invalid date format");
                    return false;
                }
						
                var date = parseInt(myDate.substring(3,4), 10);
                if ( (isNaN(date)) || (date <= 0) || (date > 31) ) {
                    alert(name + " has an invalid date format");
                    return false;
                }
						
                var year  = parseInt(myDate.substring(5,9), 10);	
                if (isNaN(year) ) {
                    alert(name + " has an invalid date format");
                    return false;
                }			
                if ( (! isLeapYear(year)) && (month == 2) && (date > 28) ) {
                    alert(name + " has an invalid date format. Year in not leap year and day is > 28");
                    return false;
                }
                // Passed all checks, is a valid date format, return true.
                return true;
            }
            // case of invalid date format
            else {
                alert(name + " has an invalid date format");
                return false;
            }
        } // end of if (myDate.length == 9)

        if (myDate.length == 8) {
            if (myDate.substring(1,2) == sep && myDate.substring(3,4) == sep) 
            {
                var month  = parseInt(myDate.substring(0,1), 10);
                if ( (isNaN(month)) || (month <= 0) || (month > 12) ) {
                    alert(name + " has an invalid date format");
                    return false;
                }
						
                var date = parseInt(myDate.substring(2,3), 10);
                if ( (isNaN(date)) || (date <= 0) || (date > 31) ) {
                    alert(name + " has an invalid date format");
                    return false;
                }
						
                var year  = parseInt(myDate.substring(4,8), 10);	
                if (isNaN(year) ) {
                    alert(name + " has an invalid date format");
                    return false;
                }	
                // Passed all checks, is a valid date format, return true.
                return true;
            }
            else {
                alert(name + " has an invalid date format");
                return false;
            }
        } // end of if (myDate.length == 10)

    } // end of function isValidDate
    //------------------------------

    //------------------------------------------------
    // Checks whether days in the month are appropriate.
    function checkDaysOfMonth( inDays, inMonth) {
        if ( ((inDays > 29) && (inMonth == 2)) || 
             ((inDays > 30) && ( (inMonth == 4) || (inMonth == 6) || (inMonth == 9) || (inMonth == 11) )) ) {
            alert("Invalid date format. Incorrect day of the month");
            return false;
        }
        else {
            return true;
        }    

    } // end of function checkDaysOfMonth( inDays, inMonth)

    //------------------------------
    // Checks whether year is an leap year
    // Any year that is divisible by four (4) is leap year, but if it is divisible 
    // by one hundred (100) then it should be divisible by 400 as well.
    function isLeapYear(inYear) {
        //if ( ((inYear%4) == 0) && ( (inYear%100) == 0 ) &&  ((inYear%400) == 0) ) {
        if (inYear % 4 == 0 && (inYear % 100 != 0 || inYear % 400 == 0)) {
            return true;
        }
        else {
            return false;
        }
    } // end of function isLeapYear
    //------------------------------

    // does not allows leading spaces
    function textBoxKeyPressHandler(selectedObject)
    {
        //if ( ((window.event.keyCode == 32) && (selectedObject.value.length <= 0)) ||
        if (window.event.keyCode == 39 || window.event.keyCode == 44 ) {
            window.event.returnValue = false;
        }
        else {
            window.event.returnValue = true;  
        }
    } // End of function textBoxKeyPressHandler()
    //-------------------------------------------	


	
