var arrErrors = new Array();  
var inMenu = 0;
function NavigateToPage(page)	
	{
		var serverpath = '<%=ConfigurationSettings.AppSettings("ServerPath")%>'	
		NavigateToUrl(serverpath + page);
	}
 

function NavigateToUrl(urlName)
	{
		location.href=urlName;
	}

function NewAppWindow(mypage,myname)
	{
		var w =640;var h=480;var scroll='yes';var pos='center';
		mypage = '<%=ConfigurationSettings.AppSettings("ServerPath")%>' + mypage;
		if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
		if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
		else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
		settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=yes,resizable=yes';
		window.open(mypage,myname,settings);
	}
 
var win =null;
function NewWindow(mypage,myname,w,h,scroll,pos)
{
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
win = window.open(mypage,myname,settings);
}
 
 
//status = 'Merrill Lynch Credit Corporation - For more information, contact your Merrill Lynch Financial Advisor or call (866) 275-6522.';
 
//Validation Function needed in files like Moreinfo  
function checkrequired(which) 
{
	var pass=true;
			 
	if (document.images) 
	{
		for (i=0;i<which.length;i++) 
		{
			var tempobj=which.elements[i];
							 
			if (tempobj.name.substring(3,6)=="req") 
			{
				if (((tempobj.type=="text"||tempobj.type=="textarea"||tempobj.type=="radio")&&
				      tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&
					  tempobj.selectedIndex==0)) 
				{
					pass=false;
					break;
				}
			}
		}
	}
				
	if (!pass) 
	{
		shortFieldName=tempobj.name.substring(6,30).toUpperCase();
		alert("Please make sure the "+shortFieldName+" field was properly completed. Please add the required data before submitting the form.");
		return false;
	}
	else
	{
		return true;
	}
}
			
function isReady(form) {
    if (isProper(form.yourname.value) == false) {
        alert("Please enter your name.");
	form.yourname.style.backgroundColor='#DCDCDC';
	form.youremail.style.backgroundColor='#FFFFFF';
	form.Yourfriendname.style.backgroundColor='#FFFFFF';
	form.Yourfriendemail.style.backgroundColor='#FFFFFF';
        form.yourname.focus();
	return false;
    }
    if (isEmail(form.youremail.value) == false) {
        alert("Please enter a valid email address.");
	form.yourname.style.backgroundColor='#FFFFFF';
	form.youremail.style.backgroundColor='#DCDCDC';
	form.Yourfriendname.style.backgroundColor='#FFFFFF';
	form.Yourfriendemail.style.backgroundColor='#FFFFFF';
        form.youremail.focus();
        return false;
    }
    if (isProper(form.Yourfriendname.value) == false) {
        alert("Please enter your friend\'s name.");
	form.yourname.style.backgroundColor='#FFFFFF';
	form.youremail.style.backgroundColor='#FFFFFF';
	form.Yourfriendname.style.backgroundColor='#DCDCDC';
	form.Yourfriendemail.style.backgroundColor='#FFFFFF';
        form.Yourfriendname.focus();
        return false;
    }
    if (isEmail(form.Yourfriendemail.value) == false) {
        alert("Please enter a valid email address.");
	form.yourname.style.backgroundColor='#FFFFFF';
	form.youremail.style.backgroundColor='#FFFFFF';
	form.Yourfriendname.style.backgroundColor='#FFFFFF';
	form.Yourfriendemail.style.backgroundColor='#DCDCDC';
        form.Yourfriendemail.focus();
        return false;
    }
    return true;
}

function isEmail(string) 
{
    if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
        return true;
    else
        return false;
}

function isProper(string) {

   if (!string) return false;
   var iChars = "*|,\":<>[]{}`\;()@&$#%";

   for (var i = 0; i < string.length; i++) {
      if (iChars.indexOf(string.charAt(i)) != -1)
         return false;
   }
   return true;
} 
function sfIsEntered(value)
{
		var re = /\S+/g;
		return re.test(value)
}
function sfStripComma(value)
{
	var re = /,/g;
	return value.replace(re,"")
}
function sfStripDollar(value)
{
	var re = /[$]/g;
	return value.replace(re,"")
}
function sfStripPercent(value)
{
	var re = /%/g;
	return value.replace(re,"")
}
function IsCommaSeperatedNumber(obj,message)
	{	
	
	if (!sfIsEntered(message))
		message = "Please enter a Valid Currency ."
	var sValue = obj.value;
	if(sfIsEntered(sValue))
	{
		sValue = sfStripComma(sValue)
		var re = /^(\d{1,13}\s*)$/
		if (!re.test(sValue))
		{
			if (obj.style != null) 
				obj.style.borderColor="red";
			alert(message)
			obj.focus();
			return false;
		}	
	}
	obj.value = FmtComma(sValue)
	if (obj.style != null) 
		obj.style.borderColor="white";
	return true
}
function IsZipCode(obj,message)
	{	
	
	if (!sfIsEntered(message))
		message = "Please enter a Valid Zip Code ."
	var sValue = obj.value;
	if(sfIsEntered(sValue))
	{
		var re = /^\d{5}$/
		if (!re.test(sValue))
		{
			if (obj.style != null) 
				obj.style.borderColor="red";
			alert(message)
			obj.focus();
			return false;
		}	
	}
	if (obj.style != null) 
		obj.style.borderColor="white";
	return true
}
function IsZipCode9(obj,message)
{	
	if (!sfIsEntered(message))
		message = "Please enter zip code in the following format 12345 or 12345-1234."
	var sValue = obj.value;
	if(sfIsEntered(sValue))
	{
		var re = /^(\d{5})\-?(\d{4})?\s*$/
		var matchArray = re.exec(sValue)
		if (matchArray)
		{
			if (matchArray[2]=="")
				obj.value = matchArray[1]
			else
				obj.value = matchArray[1]+ "-" + matchArray[2]
		}
		else
		{
			if (obj.style != null) 
				obj.style.borderColor="red";
			alert(message)
			obj.focus();
			return false;
		}	
	}
	if (obj.style != null) 
		obj.style.borderColor="white";
	return true
}
function IsPhoneNumber(obj,message)
{	
	if (!sfIsEntered(message))
		message = "Please enter phone # in the following format (123)123-1234."
	var sValue = obj.value;
	if(sfIsEntered(sValue))
	{
		
		var re = /^\(?(\d{3})\)?[\s\-]?(\d{3})[\s\-]?(\d{4})\s*$/
		var matchArray = re.exec(sValue)
		if (matchArray)
		{
			obj.value = "(" + matchArray[1] +") "+matchArray[2] + "-" + matchArray[3]
		}
		else
		{
			alert(message)
			if (obj.style != null) 
				obj.style.borderColor="red";
			obj.focus();
			return false;
		}	
	}
	if (obj.style != null) 
		obj.style.borderColor="white";
	return true
}
function IsNumber(obj,message)
	{	
	
	if (!sfIsEntered(message))
		message = "Please enter a Valid Number ."
	var sValue = obj.value;
	if(sfIsEntered(sValue))
	{
		var re = /^(\d{1,13}\s*)$/
		if (!re.test(sValue))
		{
			if (obj.style != null) 
				obj.style.borderColor="red";
			alert(message)
			obj.focus();
			return false;
		}	
	}
	if (obj.style != null) 
		obj.style.borderColor="white";
	return true
}

// FmtComma
// Formats a number to have commas seperating every three digits
function FmtComma(sValue)
{
	
		var str = ""
		var re = /(\-?)(\d+)(\.\d+)?/;
		var matchArray = re.exec(sValue)
		if (matchArray)
		{
			var strLength = matchArray[2].length
			first = 0
			for (var ctr=4;ctr<=strLength;ctr+=3)
			{	
				str =  "," + matchArray[2].substr((strLength-ctr+1),3) + str;
				first = ctr-1;
			}
			sValue =  matchArray[1] + matchArray[2].substr(0,strLength-first) + str 
		}
	return sValue
}
function IsPositiveInteger(obj,message)
{	
	if (!sfIsEntered(message))
		message = "Please enter a positve integer number."
	var sValue = obj.value;
	if(sfIsEntered(sValue))
	{
		var re = /^(\d{1,13}\s*)$/
		if (!re.test(sValue))
		{
			if (obj.style != null) 
				obj.style.borderColor="red";
			alert(message)
			obj.focus();
			return false;
		}	
	}
	if (obj.style != null) 	
		obj.style.borderColor="white";
	return true
}
function IsAlpha(obj,message)
{	
	if (!sfIsEntered(message))
		message = "Please enter a valid value, Only alphabets are allowed."
	var sValue = obj.value;
	if(sfIsEntered(sValue))
	{
		
		var re = /^[a-zA-Z ]+$/
		if (!re.test(sValue))
		{
			if (obj.style != null) 
				obj.style.borderColor="red";
			alert(message)
			obj.focus();
			return false;
		}	
	}
	if (obj.style != null) 	
		obj.style.borderColor="white";
	return true;
}
function IsEmail(obj, message) 
{
	if (!sfIsEntered(message))
		message = "Please enter a valid email address.";
		
	var sValue = obj.value;
	if(sfIsEntered(sValue))
	{
		var re = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
		if (!re.test(sValue))
		{
			if (obj.style != null) 
				obj.style.borderColor="red";
			alert(message)
			obj.focus();
			return false;
		}	
	}
	
	if (obj.style != null) 	
		obj.style.borderColor="white";
		
	return true;        
}
function IsPunctuatedAlpha(obj, message)
{
	if (!sfIsEntered(message))
		message = "Please enter a valid value, Only alphabets and punctuation are allowed."
	var sValue = obj.value;
	if(sfIsEntered(sValue))
	{
		
		var re = /^[a-zA-Z ',-\.\&\#]+$/
		if (!re.test(sValue))
		{
			if (obj.style != null) 
				obj.style.borderColor="red";
			alert(message)
			obj.focus();
			return false;
		}	
	}
	if (obj.style != null) 	
		obj.style.borderColor="white";
	return true
}
function IsAlphaNumeric(obj,message)
{	
	if (!sfIsEntered(message))
		message = "Please enter a valid value, Only alphabets and numbers are allowed."
	var sValue = obj.value;
	if(sfIsEntered(sValue))
	{
		
		var re = /^[a-zA-Z0-9 '\&\#]+$/
		if (!re.test(sValue))
		{
			if (obj.style != null) 
				obj.style.borderColor="red";
			alert(message)
			obj.focus();
			return false;
		}	
	}
	if (obj.style != null) 	
		obj.style.borderColor="white";
	return true
}

function IsDate(obj,message)
{	
	if (!sfIsEntered(message))
		message = "Please enter a date in the following format mm/dd/yyyy or m/d/yy."
	var sValue = obj.value;
	if(sfIsEntered(sValue))
	{
		var re = /^(1[0-2]|0?[1-9])[\-\/](0?[1-9]|[12][0-9]|3[01])[\-\/]((19|20|21)?\d{2})\s*$/
		var matchArray = re.exec(sValue)
		if (matchArray)
		{
			var Months = [31,28,31,30,31,30,31,31,30,31,30,31]
			var theMonth = matchArray[1]
			var theDate = matchArray[2]
			var theYear = matchArray[3]
			if (theYear % 4 ==0 && (theYear % 100 != 0 || theYear % 400 ==00))
				Months[1]=29
			if (Months[theMonth-1] >= theDate)
			{
				obj.style.borderColor="white";
				return true ;
			}	
		}
			if (obj.style != null) 
				obj.style.borderColor="red";
			alert(message)
			obj.focus();
			return false;	
		
	}
	if (obj.style != null) 
		obj.style.borderColor="white";
	return true;
}
function LogErrorRecord( strFieldName, strFieldID, strError,strLabelId)
{
	this.FieldName= strFieldName;
	this.LabelId = strLabelId;
	this.FieldID= strFieldID;
	this.Errormessage = strError;
	
}
function showErrors()
{
	var intArrayLen = arrErrors.length;
	var strErrorMessages = ''
	var ns4=document.layers?1:0
	if(ns4) // Netscape Implementation
		{
			
			for (var intCounter=0; intCounter < intArrayLen; intCounter++)
			{
				var arrErr = arrErrors[intCounter];
				strErrorMessages +=  '* ' + arrErr.FieldName + ' ' + arrErr.Errormessage  +'\n'
			}
			arrErrors.length = 0;
			alert(strErrorMessages);
			
		}
		else // IE Implementation. 
		{
			var obj = parent.document.all['divError'];
			if (intArrayLen > 0)
			{
			strErrorMessages =	'<table cellSpacing="0" cellPadding="1" width="568" border="0">'
			strErrorMessages +=		'<tr bgColor="#003366">'
			strErrorMessages +=		'<td class="BoxTitle" height="22">Errors</td></tr>'
			strErrorMessages += '<tr><td bgColor="#ce78978"><table height="100%" cellSpacing="0" cellPadding="1" width="100%" border="0">'
		
			for (var intCounter=0; intCounter < intArrayLen; intCounter++) 
				{
					var arrErr = arrErrors[intCounter];
					if (arrErr.LabelId !=null && arrErr.LabelId !='')
					{
						var objField = document.getElementById(arrErr.LabelId) ;
						if (objField.style != null) 
							objField.style.color="Red"; 
					}
					strErrorMessages +=  "<tr bgColor='#ffffff'><td align=Center class='Content'><A href=Javascript:setControlFocus('" + arrErr.FieldID + "')>" +  arrErr.FieldName +  "</A>" + " " + arrErr.Errormessage +  "<td></tr>";
				}	
			strErrorMessages += '</table></td></tr></table><br>'
			obj.innerHTML = ''
			obj.innerHTML = strErrorMessages;
			obj.style.display = ""
			}
			else
			{
			obj.style.display = "none";
			}
		}	
	
}
function setControlFocus(srcId)
	{
		//var obj = parent.document.all[srcId];
		//obj.focus();
		if (document.getElementById(srcId) != null) 
						document.getElementById(srcId).focus();
	}
	
function deleteError(strSrcID) {
	var intArrayLen = arrErrors.length;
	//alert(strSrcID);
	for (var intCounter=0; intCounter < intArrayLen; intCounter++) {
		var arrErr = arrErrors[intCounter];
		
		if (arrErr.FieldID== strSrcID) 
			{
			if (arrErr.LabelId !=null && arrErr.LabelId !='')
				{
					var objField = document.getElementById(arrErr.LabelId) ;
					if (objField.style != null) 
					objField.style.color="Black"; 
				}
			arrErrors.splice(intCounter,1);
			showErrors();
			window.scrollTo(0,0);
			break;
			}
	}
}

			function Hilite(eventSrc)
		{
		
		
				eventSrc.runtimeStyle.background  = "#015D95";
				eventSrc.runtimeStyle.cursor = "hand";
				
			
			     
			
		}

	/*copy all functions below this*/	
	function NavigateToPageLeft(page)	
	{
		
		//alert(page);
		NavigateToUrl(page);
	}
	function NavigateToUrl(urlName)
	{
		location.href=urlName;
	}	
			
	function NewWindowWSize(mypage,myname,w,h,pos)
	{
	// this function allows for scroll bars and resizing
		if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
		if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
		else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
		
		settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars=yes,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=yes';
		win = window.open(mypage,myname,settings);
	}	
	
	function NewWindowWMenu(mypage,myname,w,h,scroll,pos)
	{
		if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
		if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
		else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
		settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=yes,toolbar=no,resizable=yes';
		win = window.open(mypage,myname,settings);
	}					
