/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* Script written by Yamen Elasadi - Professional Validator */
/* © Copy Right Protected Data Mortgage, EquiLoans Home Advisors® */
/* All Rights Reserved, www.DataMortgage.com */


//********************************ADD TO FAVORITES******************************
<!-- Begin
function bookmarksite(title, url){
if (document.all)
window.external.AddFavorite(url, title);
else if (window.sidebar)
window.sidebar.addPanel(title, url, "")
}
// End -->

<!-- Begin
function addbookmark(bookmarkurl,bookmarktitle){
	bookmarkurl=location;
	if (document.all){	
		window.external.AddFavorite(bookmarkurl,bookmarktitle); 
	}
	else {
		alert("press Ctrl+D to bookmark"); 
	}
}
// End -->
//********************************CLEAR FIELD *Not Required, but just in case***
<!-- Begin
    function clearField()
    {
        document.searchForm.q.value = "";
    }
// End -->
<!-- Begin
function clearField(htmlObject) {
   if (htmlObject != null) {
       htmlObject.value = "";
   }
}
// End -->

//********************************DATE FUNCTION********************************
<!-- Begin
function showToday(){
  dateStr = "";
  today = new Date();
  day = today.getDay();
	if (day == 0) dateStr = "Sunday, ";
  if (day == 1) dateStr = "Monday, ";
  if (day == 2) dateStr = "Tuesday, "; 
  if (day == 3) dateStr = "Wednesday, "; 
  if (day == 4) dateStr = "Thursday, "; 
  if (day == 5) dateStr = "Friday, ";
  if (day == 6) dateStr = "Saturday, "; 
	month = today.getMonth();
  if (month == 0)  dateStr += " January ";
  if (month == 1)  dateStr += " February ";
  if (month == 2)  dateStr += " March "; 
  if (month == 3)  dateStr += " April ";
  if (month == 4)  dateStr += " May "; 
  if (month == 5)  dateStr += " June "; 
  if (month == 6)  dateStr += " July ";
  if (month == 7)  dateStr += " August ";
  if (month == 8)  dateStr += " September ";
  if (month == 9)  dateStr += " October ";
  if (month == 10) dateStr += " November ";
  if (month == 11) dateStr += " December ";
	dateStr += today.getDate() + ", ";
	year = today.getYear();
	if (year < 1000) year += 1900;
	dateStr += year;
  return dateStr;
}
// End -->

//********************************FADE FUNCTION********************************
<!-- Begin
function lite(obj) {
 if(document.all&&!window.opera) {
  obj.filters.blendTrans.apply();
  obj.filters.blendTrans.play();
 }
}
// End -->

//**************************ROLLOVER IMAGE FUNCTION*****************************
<!-- Begin
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_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_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_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];}
}
// End -->


//**************************FIELD RETAINER (MEMORY) FUNCTION**************************
<!-- Begin

//Time in days to save form fields values after last visit
//Set to different value to reset cookie (ie: "101 days" instead of "100 days"):
var memoryduration="100 days"

function setformobjects(){
var theforms=document.forms
memorizearray=new Array()
for (i=0; i< theforms.length; i++){
for (j=0; j< theforms[i].elements.length; j++){
if (theforms[i].elements[j].className.indexOf("memorize")!=-1 && theforms[i].elements[j].type=="text")
memorizearray[memorizearray.length]=theforms[i].elements[j]
}
}
var retrievedvalues=get_cookie("mvalue"+window.location.pathname)
if (retrievedvalues!=""){
retrievedvalues=retrievedvalues.split("|")
if (retrievedvalues[retrievedvalues.length-1]!=parseInt(memoryduration)) //reset cookie if var memoryduration has changed
resetcookie("mvalue"+window.location.pathname)
else{
for (i=0; i<memorizearray.length; i++){
if (retrievedvalues[i]!="empty_value")
memorizearray[i].value=retrievedvalues[i]
}
}
}
}

function get_cookie(Name) {
  var search = Name + "="
  var returnvalue = "";
  if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    if (offset != -1) { // if cookie exists
      offset += search.length
      end = document.cookie.indexOf(";", offset);
      if (end == -1)
         end = document.cookie.length;
      returnvalue=unescape(document.cookie.substring(offset, end))
      }
   }
  return returnvalue;
}

function resetcookie(id){
var expireDate = new Date()
expireDate.setDate(expireDate.getDate()-10)
document.cookie = id+"=;path=/;expires=" + expireDate.toGMTString()
}

function saveformvalues(){
var formvalues=new Array(), temp
for (i=0; i<memorizearray.length; i++){
temp=memorizearray[i].value!=""? memorizearray[i].value : "empty_value"
formvalues[formvalues.length]=escape(temp)
}
formvalues[formvalues.length]=parseInt(memoryduration)
formvalues=formvalues.join("|")
var expireDate = new Date()
expireDate.setDate(expireDate.getDate()+parseInt(memoryduration))
document.cookie = "mvalue"+window.location.pathname+"="+formvalues+"; path=/;expires=" + expireDate.toGMTString()
}

if (window.addEventListener)
window.addEventListener("load", setformobjects, false)
else if (window.attachEvent)
window.attachEvent("onload", setformobjects)
else if (document.getElementById)
window.onload=setformobjects
if (document.getElementById)
window.onunload=saveformvalues
// End -->


//**************************FIELD HIGHLIGHTER FUNCTION**************************
<!-- Begin
var highlightcolor="#EEE9E3"
var ns6=document.getElementById&&!document.all
var previous=''
var eventobj
//Regular expression to highlight only form elements
var intended=/INPUT|TEXTAREA|SELECT|OPTION/
//Function to check whether element clicked is form element
function checkel(which){
if (which.style&&intended.test(which.tagName)){
if (ns6&&eventobj.nodeType==3)
eventobj=eventobj.parentNode.parentNode
return true
}
else
return false
}
//Function to highlight form element
function highlight(e){
eventobj=ns6? e.target : event.srcElement
if (previous!=''){
if (checkel(previous))
previous.style.backgroundColor=''
previous=eventobj
if (checkel(eventobj))
eventobj.style.backgroundColor=highlightcolor
}
else{
if (checkel(eventobj))
eventobj.style.backgroundColor=highlightcolor
previous=eventobj
}
}
// End -->

//************************DISABLE MOUSE CLICKS FUNCTION************************
<!-- Begin
function clickIE() {if (document.all) {alert(message);return false;}}
function clickNS(e) {if 
(document.layers||(document.getElementById&&!document.all)) {
if (e.which==2||e.which==3) {alert(message);return false;}}}
if (document.layers) 
{document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;}
else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;}
document.oncontextmenu=new Function("return false")
// End -->
<!-- Begin
function disableselect(e){
return false
}

function reEnable(){
return true
}

//if IE4+
document.onselectstart=new Function ("return false")

//if NS6
if (window.sidebar){
document.onmousedown=disableselect
document.onclick=reEnable
}
// End -->

//********************************VALIDATING DOLLAR VALUE******************************
<!-- Begin
function commaSplit(srcNumber) {
var txtNumber = srcNumber.toString();
if (isNaN(txtNumber) || txtNumber == "") {
alert("Please use a valid number.");
return txtNumber = "";
}
else {
var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
var arrNumber = txtNumber.split('.');
arrNumber[0] += '.';
do {
arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
} while (rxSplit.test(arrNumber[0]));
if (arrNumber.length > 1) {
return arrNumber.join('');
}
else {
return arrNumber[0].split('.')[0];
      }
   }
}


function removeCommas(strx) {
re = /^\$|,/g;
// remove "$" and ","
return strx.replace(re, "");
}
// End -->

//********************************VALIDATING YEAR OF BIRTH******************************
<!-- Begin
function YearSplit(srcNumber) {
var txtNumber = srcNumber.toString();
if (isNaN(txtNumber) || txtNumber == "") {
alert("Please use a valid number.");
return txtNumber = "";
}
else {
var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][0-9][0-9][,.])');
var arrNumber = txtNumber.split('.');
arrNumber[0] += '.';
do {
arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
} while (rxSplit.test(arrNumber[0]));
if (arrNumber.length > 1) {
return arrNumber.join('');
}
else {
return arrNumber[0].split('.')[0];
      }
   }
}

function removeCommas(strx) {
re = /^\$|,/g;
// remove "$" and ","
return strx.replace(re, "");
}
// End -->


//************************ PLAY SOUND ************************
<!-- Begin
var soundfile="sidebar.wav"

function playsound(soundfile){
if (document.all && document.getElementById){
document.getElementById("soundeffect").src="" //reset first in case of problems
document.getElementById("soundeffect").src=soundfile
}
}

function bindsound(tag, soundfile, masterElement){
if (!window.event) return
var source=event.srcElement
while (source!=masterElement && source.tagName!="HTML"){
if (source.tagName==tag.toUpperCase()){
playsound(soundfile)
break
}
source=source.parentElement
}
}
// End -->


//************************ SUBMIT ONCE - © Data Mortgage ************************
// If needed to us.  Add in the <form    onSubmit="submitonce(this)" ****************
<!-- Begin
function submitonce(theform){
//if IE 4+ or NS 6+
if (document.all||document.getElementById){
//screen thru every element in the form, and hunt down "submit" and "reset"
for (i=0;i<theform.length;i++){
var tempobj=theform.elements[i]
if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
//disable em
tempobj.disabled=true
}
}
}
// End -->


//************************ PRINT - © Data Mortgage ************************
// If window.print() is not supported - Alert
<!-- Begin
function printWindow() {
	if (window.print) {
    	window.print();
  	} else {
		alert("Your browser does not support this print option. Please print this page as you normally would.");
	}
}
// End -->

//************************ Auto Jumb to Next Input - © Data Mortgage ************************
<!-- Begin
function KeyPress(what,e,max,action) {
if (document.layers) {
if (e.target.value.length >= max)
{
eval(action);
}
}
else if (document.all) {
if (what.value.length > (max-1))
{
eval(action);
}
}
}
// End -->


//************************ FORM INPUT CURRENCY VALIDATION ************************
<!-- Begin


function formatCurrency(num) 
{
	var varnumformatted;

	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
	if (sign)
		varnumformatted = '$' + num + '.' + cents;
	else
		varnumformatted = '($' + num + '.' + cents + ')';
	
	return  varnumformatted;//(((sign)?'':'-') + '$' + num + '.' + cents);
}

function isBlank(str)              
{
	if (str.length == 0)             // yes - nothing entered
	return true
	for (i=0; i<=str.length-1; i++)  // yes - all spaces
	if (str.charAt(i) != " ")
		return false
	return true                      // nope
}

function isDigit (c)
{   
	return ((c >= "0") && (c <= "9"))
}

function isIntegerPN (s)
{   var i, startPos;

	if (isBlank(s)) 
	return false;
	

	// Search through string's characters one by one
	// until we find a non-numeric character.
	// When we do, return false; if we don't, return true.

	if ( s.charAt(0) == "-" )
		startPos = 1;
	else
		startPos = 0;
		
	for (i = startPos; i < s.length; i++)
	{   
		// Check that current character is number.
		var c = s.charAt(i);

		if (!isDigit(c)) return false;
	}

	// All characters are numbers.
	return true;
}

function isNumber( number )
{		
	number = removeCommas( number );
	if ( isIntegerPN(number) )
		return true;
	else
		return false
}

function removeCommas( strValue ) 
{
	var objRegExp = /,/g; //search for commas globally
		
	//replace all matches with empty strings
	return strValue.replace(objRegExp,'');
}

function format_number(n)
{
	if (!isNumber(n))
		return n;
		
	var isBlank = true; 
	var isNegative = false;
		if (n.length == 0)             // yes - nothing entered
		return "";
		for (i=0; i<=n.length-1; i++)  // yes - all spaces
		if (n.charAt(i) != " ")
			isBlank = false;
		if ( isBlank ) 
			return "";
		
	n = removeCommas(n);
	var arr=new Array('0'), i=0; 
		
	if ( n < 0 ) 
	{
		isNegative = true;
		n = n * -1;
	}
	while (n>0) 
		{arr[i]=''+n%1000; n=Math.floor(n/1000); i++;}
	arr=arr.reverse();
	for (var i in arr) if (i>0) //padding zeros
		while (arr[i].length<3) arr[i]='0'+arr[i];
		
	if ( isNegative ) 
		return "-" + arr.join();
	else
		return arr.join();
}
			
function setLabelToDefault()
{

	for (i = 0; i < Page_Validators.length; i++) {	
		var validator = Page_Validators[i];		
		var inputObj = document.getElementById(validator.controltovalidate);						
		var span1Obj = document.getElementById("span" + validator.controltovalidate);	
		var	span2Obj = document.getElementById("span2" + validator.controltovalidate);
		
		if (span1Obj)
		{	
			span1Obj.style["color"] = "#153564";
		}
		
		if (span2Obj)
		{	
			span2Obj.style["color"] = "#153564";
		}
		
		if (inputObj)
		{
			if (inputObj.type == "select-one")
			{
				inputObj.style.backgroundColor = "#FFFFFF";
				inputObj.style.color = "#153564";
			}
			else
			{
				inputObj.style.borderColor = "";
			}		
		}
	}
}

function LabelErrorInput()
{	
	setLabelToDefault();
	
	var validator; 
	var span1Obj, span2Obj;
	var inputObj;

	for (iVal = 0; iVal < Page_Validators.length; iVal++) {					
		ValidatorValidate(Page_Validators[iVal]);
		
		validator = Page_Validators[iVal];					
				
		if (!validator.isvalid)
		{
			span1Obj = document.getElementById("span" + validator.controltovalidate);	
			span2Obj = document.getElementById("span2" + validator.controltovalidate);
			inputObj = document.getElementById(validator.controltovalidate);		
		}
		
		if (span1Obj)
			span1Obj.style["color"] = "#FF0000";
		
		if (span2Obj)
			span2Obj.style["color"] = "#FF0000";
			
		if (inputObj)
		{
			if (inputObj.type == "select-one")
			{
				inputObj.style.backgroundColor = "#FF0000";
				inputObj.style.color = "#FFFFFF";
			}
			else
			{
				inputObj.style.borderColor = "#FF0000";
			}						
		}
	
	}
}
// End -->