//Popup Script
<!-- Begin
function NewWindow1(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
//  End -->

//Mouseover Script
<!--
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_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_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];}
}

browser = navigator.appName;
ie = "Microsoft Internet Explorer";
netscape = "Netscape";

function SetFormValue(formStr,field,value) {
	
	form=(MM_findObj(formStr))
	
	if (form) {
		if (null != (form.elements[field])) {
			if ((browser == netscape)&&(form.elements[field].type=='select-one')){
				sellength=form.elements[field].length;
				for (i=0; i< sellength; i++) {
					if (form.elements[field].options[i].value==value)
						form.elements[field].options[i].selected=true;
				}
			} 
			else 
				form.elements[field].value=value;
		}		
	}
}

function SubmitForm(formStr) {
	form=(MM_findObj(formStr))
	if(form) form.submit();
}
//-->

//-- Urchin Tracking Module II (UTM II),$Revision: 1.6 $,
//-- Copyright 2003 Urchin Software Corporation, All Rights Reserved.

/*--------------------------------------------------
   UTM II User Settings
--------------------------------------------------*/
var __utmfsc=1;                 /*-- set client info flag (1=on|0=off) --*/
var __utmdn="auto";             /*-- (auto|none|domain) set the domain name for cookies --*/
var __utmhash="on";             /*-- (on|off) unique domain hash for cookies --*/
var __utmgifpath="/Images/CommonImages/__utm.gif";  /*-- set the web path to the __utm.gif file --*/
var __utmtimeout="1800";        /*-- set the inactive session timeout in seconds --*/

/*--------------------------------------------------
   UTM II Campaign Tracking Settings
--------------------------------------------------*/
var __utmctm=1;                 /*-- set campaign tracking module (1=on|0=off) --*/
var __utmcto="15768000";        /*-- set the campaign timeout in seconds (6 month default) --*/

var __utmccn="utm_campaign";    /*-- campaign name --*/
var __utmcpr="utm_program";     /*-- campaign program --*/
var __utmcrs="utm_refsite";     /*-- campaign referral site --*/
var __utmcrl="utm_refloc";      /*-- campaign referral location --*/
var __utmctr="utm_term";        /*-- campaign term/keyword --*/
var __utmcct="utm_content";     /*-- campaign content --*/

var __utmcui="utm_userid";      /*-- campaign userid --*/
var __utmccu="utm_custom";      /*-- campaign custom field --*/

/*--------------------------------------------------
   Don't modify below this point
--------------------------------------------------*/
var __utmf,__utmdh,__utmd,__utmdom="",__utmu,__utmjv="-",__utmfns;

if (!__utmf) {
   var __utma,__utmb,__utmc;
   var __utmexp="",__utms="",__utmst=0,__utmlf=0;

   /*--------------------------------------------------
      get useful information
   --------------------------------------------------*/
   __utmdh = __utmSetDomain();                               /*--- set the domain and get the domain hash ---*/
   __utma  = document.cookie.indexOf("__utma="+__utmdh);     /*--- cookie a ---*/
   __utmb  = document.cookie.indexOf("__utmb="+__utmdh);     /*--- cookie b ---*/
   __utmc  = document.cookie.indexOf("__utmc="+__utmdh);     /*--- cookie c ---*/
   __utmu  = Math.round(Math.random() * 4294967295);         /*--- unique number ---*/
   __utmd  = new Date();                                     /*--- current date/time epoch ---*/
   __utmst = Math.round(__utmd.getTime()/1000);              /*--- session time ---*/

   if (__utmdn && __utmdn != "") { __utmdom = " domain="+__utmdn+";"; } /*--- domain ---*/
   /*--- timeout ---*/
   if (__utmtimeout && __utmtimeout != "") {
      __utmexp = new Date(__utmd.getTime()+(__utmtimeout*1000));
      __utmexp = " expires="+__utmexp.toGMTString()+";";
   }

   /*--------------------------------------------------
      grab cookies from the commandline
   --------------------------------------------------*/
   __utms = document.location.search;
   if (__utms && __utms != "" && __utms.indexOf("__utma=") >= 0) {
      __utma = __utmGetCookie(__utms,"__utma=","&");
      __utmb = __utmGetCookie(__utms,"__utmb=","&");
      __utmc = __utmGetCookie(__utms,"__utmc=","&");
      if (__utma != "-" && __utmb != "-" && __utmc != "-") __utmlf = 1;
      else if (__utma != "-")                              __utmlf = 2;
   }

   /*--------------------------------------------------
      based on the logic set cookies
   --------------------------------------------------*/
   if (__utmlf == 1) { 
      document.cookie="__utma="+__utma+"; path=/; expires=Sun, 18 Jan 2038 00:00:00 GMT;";
      document.cookie="__utmb="+__utmb+"; path=/;"+__utmexp;
      document.cookie="__utmc="+__utmc+"; path=/;";
      __utmfns=1;
   } else if (__utmlf == 2) { 
      __utma = __utmFixA(__utms,"&",__utmst); 
      document.cookie="__utma="+__utma+"; path=/; expires=Sun, 18 Jan 2038 00:00:00 GMT;";
      document.cookie="__utmb="+__utmdh+"; path=/;"+__utmexp;
      document.cookie="__utmc="+__utmdh+"; path=/;"
      __utmfns=1;
   } else if (__utma >= 0 && __utmb >= 0 && __utmc >= 0) { 
      document.cookie="__utmb="+__utmdh+"; path=/;"+__utmexp+__utmdom;
   } else if (__utma >=0) { 
      __utma = __utmFixA(document.cookie,";",__utmst); 
      document.cookie="__utma="+__utma+"; path=/; expires=Sun, 18 Jan 2038 00:00:00 GMT;"+__utmdom;
      document.cookie="__utmb="+__utmdh+"; path=/;"+__utmexp+__utmdom;
      document.cookie="__utmc="+__utmdh+"; path=/;"+__utmdom;
      __utmfns=1;
   } else if (__utma < 0 && __utmb < 0 && __utmc < 0) { 
      __utma = __utmCheckUTMI(__utmd); 
      if (__utma == "-")  __utma = __utmdh+"."+__utmu+"."+__utmst+"."+__utmst+"."+__utmst+".1"; 
      else                __utma = __utmdh+"."+__utma;
      document.cookie="__utma="+__utma+"; path=/; expires=Sun, 18 Jan 2038 00:00:00 GMT;"+__utmdom;
      document.cookie="__utmb="+__utmdh+"; path=/;"+__utmexp+__utmdom;
      document.cookie="__utmc="+__utmdh+"; path=/;"+__utmdom;
      __utmfns=1;
   } else {
      __utma = __utmdh+"."+__utmu+"."+__utmst+"."+__utmst+"."+__utmst+".1";
      document.cookie="__utma="+__utma+"; path=/; expires=Sun, 18 Jan 2038 00:00:00 GMT;"+__utmdom;
      document.cookie="__utmb="+__utmdh+"; path=/;"+__utmexp+__utmdom;
      document.cookie="__utmc="+__utmdh+"; path=/;"+__utmdom;
      __utmfns=1;
   }
   __utmSetInfo();
   __utmf = 1;
}

function __utmSetInfo() {
   var __utmr="-",__utmp;
   var __utmi = new Image(1,1);
   var __utmsrc = __utmgifpath+"?";
   var loc = document.location;
   __utmr = document.referrer;
   if (!__utmr || __utmr == "") { __utmr = "-"; } 
   else { 
      __utmp = __utmr.indexOf(document.domain); 
      if ((__utmp >= 0) && (__utmp <= 8)) { __utmr = "0"; }
      if (__utmr.indexOf("[") == 0 && __utmr.lastIndexOf("]") == (__utmr.length-1)) { __utmr = "-"; }
   }
   __utmsrc += "utmn="+__utmu;
   if (__utmfsc && __utmfns) {__utmsrc += __utmGetClientInfo(); }
   if (__utmctm)             {__utmsrc += __utmSetCampaignInfo(); }
   __utmsrc += "&utmr="+__utmr+"&utmp="+loc.pathname+loc.search;
   __utmi.src = __utmsrc;
   return 0;
}

function __utmSetCampaignInfo() {
    var __utmcc = "";
    var __utmtmp = "-";
    var __utmcnew = "&utmcn=1";
    var __utmx = document.location.search;
    var __utmz = document.cookie.indexOf("__utmz="+__utmdh);
    if (__utmz > -1) {
       __utmz = __utmGetCookie(document.cookie,"__utmz=",";");
    } else { __utmz = "-"; }

    /*--- check for campaign info ---*/
    __utmtmp = __utmGetCookie(__utmx,__utmccn+"=","&");
    if (__utmtmp == "-" || __utmtmp == "") { return ""; }
    __utmcc += "utmccn="+__utmtmp;
    __utmtmp = __utmGetCookie(__utmx,__utmcpr+"=","&"); if (__utmtmp != "-" && __utmtmp != "") __utmcc += "|utmcpr="+__utmtmp;
    __utmtmp = __utmGetCookie(__utmx,__utmcrs+"=","&"); if (__utmtmp != "-" && __utmtmp != "") __utmcc += "|utmcrs="+__utmtmp;
    __utmtmp = __utmGetCookie(__utmx,__utmcrl+"=","&"); if (__utmtmp != "-" && __utmtmp != "") __utmcc += "|utmcrl="+__utmtmp;
    __utmtmp = __utmGetCookie(__utmx,__utmctr+"=","&"); if (__utmtmp != "-" && __utmtmp != "") __utmcc += "|utmctr="+__utmtmp;
    __utmtmp = __utmGetCookie(__utmx,__utmcct+"=","&"); if (__utmtmp != "-" && __utmtmp != "") __utmcc += "|utmcct="+__utmtmp;

    /*--- check if campaign is already set ---*/
    if (!__utmfns && __utmz.indexOf(__utmcc) != -1) __utmcnew = "";


    /*--- check for userid in cookie ---*/
    __utmtmp = __utmGetCookie(__utmx,__utmcui+"=","&"); 
    if (__utmtmp != "-" && __utmtmp != "") { 
       __utmcc += "|utmcui="+__utmtmp;
    } else {
       __utmtmp = __utmGetCookie(__utmz,"utmcui=","|"); 
       if (__utmtmp != "-" && __utmtmp != "") { __utmcc += "|utmcui="+__utmtmp; } 
    }

    /*--- check for email in cookie ---*/
    __utmtmp = __utmGetCookie(__utmx,__utmccu+"=","&"); 
    if (__utmtmp != "-" && __utmtmp != "") { 
       __utmcc += "|utmccu="+__utmtmp;
    } else {
       __utmtmp = __utmGetCookie(__utmz,"utmccu=","|"); 
       if (__utmtmp != "-" && __utmtmp != "") { __utmcc += "|utmccu="+__utmtmp; } 
    }

    /*--- set the cookie ---*/
    if (!__utmcto || __utmcto == "") { __utmcto = "15768000"; }
    var __utmcx = new Date(__utmd.getTime()+(__utmcto*1000));
    __utmcx = " expires="+__utmcx.toGMTString()+";";
    document.cookie="__utmz="+__utmdh+"."+__utmst+"."+__utmcc+"; path=/; "+__utmcx+__utmdom;

    /*--- set the new campaign flag  ---*/
    return __utmcnew;
}

function __utmGetClientInfo() {
   var __utmtmp="-",__utmsr="-",__utmsa="-",__utmsc="-",__utmbs="-",__utmul="-";
   var __utmje=1,__utmce=1,__utmtz=0;
   if (self.screen) { 
      __utmsr = screen.width+"x"+screen.height;
      __utmsa = screen.availWidth+"x"+screen.availHeight;
      __utmsc = screen.colorDepth+"-bit";
   } else if (self.java) {
      var __utmjk = java.awt.Toolkit.getDefaultToolkit();
      var __utmjksize = __utmjk.getScreenSize();       
      __utmsr = __utmjksize.width+"x"+__utmjksize.height;
   } 
   if( typeof( window.innerWidth ) == 'number' ) {
      __utmbs = window.innerWidth+"x"+window.innerHeight;
   } else { 
     if (document.documentElement && 
       (document.documentElement.offsetHeight || document.documentElement.offsetWidth ) ) {
        __utmbs = document.documentElement.offsetWidth+"x"+document.documentElement.offsetHeight;
     } else if (document.body && (document.body.offsetWidth || document.body.offsetHeight) ) {
        __utmbs = document.body.offsetWidth+"x"+document.body.offsetHeight;
     } 
   }
   for (var i=5;i>=0;i--) {
      var __utmtmp = "<script language='JavaScript1."+i+"'>__utmjv='1."+i+"';</script>"; 
      document.write(__utmtmp);
      if (__utmjv != "-") break;
   }
   if (navigator.language) { __utmul = navigator.language.toLowerCase(); }
   else if (navigator.browserLanguage) { __utmul = navigator.browserLanguage.toLowerCase(); }
   __utmje = navigator.javaEnabled()?1:0;
   if (document.cookie.indexOf("__utmb=") < 0) { __utmce = "0"; }
   if (document.cookie.indexOf("__utmc=") < 0) { __utmce = "0"; }
   __utmtz = __utmd.getTimezoneOffset();
   __utmtz = __utmTZConvert(__utmtz);
   __utmtmp ="";
   __utmtmp += "&utmsr="+__utmsr+"&utmsa="+__utmsa+"&utmsc="+__utmsc+"&utmbs="+__utmbs;
   __utmtmp += "&utmul="+__utmul+"&utmje="+__utmje+"&utmce="+__utmce+"&utmtz="+__utmtz+"&utmjv="+__utmjv;
   return __utmtmp;
}
function __utmLinker(__utmlink) {
   var __utmlp,__utmi,__utmi2,__utmta="-",__utmtb="-",__utmtc="-",__utmtz="-";

   if (__utmlink && __utmlink != "") { 
      if (document.cookie) {
         __utmta = __utmGetCookie(document.cookie,"__utma="+__utmdh,";");
         __utmtb = __utmGetCookie(document.cookie,"__utmb="+__utmdh,";");
         __utmtc = __utmGetCookie(document.cookie,"__utmc="+__utmdh,";");
         __utmtz = __utmGetCookie(document.cookie,"__utmz="+__utmdh,";");
         __utmlp = "__utma="+__utmta+"&__utmb="+__utmtb+"&__utmc="+__utmtc+"&__utmz="+__utmtz;
      }
      if (__utmlp) {
         if (__utmlink.indexOf("?") <= -1) { document.location = __utmlink+"?"+__utmlp; }
         else { document.location = __utmlink+"&"+__utmlp; }
      } else { document.location = __utmlink; }
   }
}
function __utmGetCookie(__utmclist,__utmcname,__utmcsep) {
   if (!__utmclist || __utmclist == "") return "-";
   if (!__utmcname || __utmcname == "") return "-";
   if (!__utmcsep  || __utmcsep  == "") return "-";
   var __utmi, __utmi2, __utmi3, __utmtc="-";

   __utmi = __utmclist.indexOf(__utmcname);
   __utmi3 = __utmcname.indexOf("=")+1;
   if (__utmi > -1) { 
      __utmi2 = __utmclist.indexOf(__utmcsep,__utmi); if (__utmi2 < 0) { __utmi2 = __utmclist.length; }
      __utmtc = __utmclist.substring((__utmi+__utmi3),__utmi2); 
   }
   return __utmtc;
}
function __utmSetDomain() {
   if (!__utmdn || __utmdn == "" || __utmdn == "none") { __utmdn = ""; return 1; }
   if (__utmdn == "auto") {
      var __utmdomain = document.domain;
      if (__utmdomain.substring(0,4) == "www.") {
         __utmdomain = __utmdomain.substring(4,__utmdomain.length);
      }
      __utmdn = __utmdomain;
   }
   if (__utmhash == "off") return 1;
   return __utmHash(__utmdn);
}
function __utmHash(__utmd) {
   if (!__utmd || __utmd == "") return 1;
   var __utmhash=0, __utmg=0;
   for (var i=__utmd.length-1;i>=0;i--) {
      var __utmc = parseInt(__utmd.charCodeAt(i)); 
      __utmhash = ((__utmhash << 6) & 0xfffffff) + __utmc + (__utmc << 14);
      if ((__utmg = __utmhash & 0xfe00000) != 0) __utmhash = (__utmhash ^ (__utmg >> 21));
   }
   return __utmhash;
}
function __utmFixA(__utmcs,__utmsp, __utmst) {
   if (!__utmcs || __utmcs == "") return "-";
   if (!__utmsp || __utmsp == "") return "-";
   if (!__utmst || __utmst == "") return "-";
   var __utmt = __utmGetCookie(__utmcs,"__utma=",__utmsp);
   var __utmlt=0;
   var __utmns=0;
   var __utmi=0;

   if ((__utmi=__utmt.lastIndexOf(".")) > 9) {
      __utmns = __utmt.substring(__utmi+1,__utmt.length);
      __utmns = (__utmns*1)+1;
      __utmt = __utmt.substring(0,(__utmi));

      if ((__utmi = __utmt.lastIndexOf(".")) > 7) {
         __utmlt = __utmt.substring(__utmi+1,__utmt.length);
         __utmt = __utmt.substring(0,(__utmi));
      }

      if ((__utmi = __utmt.lastIndexOf(".")) > 5) {
         __utmt = __utmt.substring(0,(__utmi));
      }
      __utmt += "."+__utmlt+"."+__utmst+"."+__utmns;
   }
   return __utmt;
}

function __utmCheckUTMI(__utmd) {
   var __utm1A = new Array();
   var __utmlst=0,__utmpst=0,__utmlvt=0,__utmlu=0,__utmi=0,__utmpi=0;
   var __utmap = "-";
   var __utmld = "";
   var __utmt2;
   var __utmt = document.cookie;

   while((__utmi = __utmt.indexOf("__utm1=")) >= 0) {
      __utm1A[__utm1A.length] = __utmGetCookie(__utmt,"__utm1=",";");
      __utmt = __utmt.substring(__utmi+7,__utmt.length);
   }
   if (__utm1A.length) {
      var __utmcts = Math.round(__utmd.getTime()/1000);
      var __utmlex = " expires="+__utmd.toGMTString()+";";
      __utmt = document.cookie; 
      if ((__utmi = __utmt.lastIndexOf("__utm3=")) >= 0) {
         __utmlst = __utmt.substring(__utmi,__utmt.length);
         __utmlst = __utmGetCookie(__utmlst,"__utm3=",";");
      }
      if ((__utmi = __utmt.lastIndexOf("__utm2=")) >= 0) {
         __utmpst = __utmt.substring(__utmi,__utmt.length);
         __utmpst = __utmGetCookie(__utmpst,"__utm2=",";");
      }
      for (var i=0;i<__utm1A.length;i++) {
         __utmt = __utm1A[i];
         if ((__utmi = __utmt.lastIndexOf(".")) >= 0) {
            __utmt2 = (__utmt.substring(0,__utmi))*1;
            __utmt  = (__utmt.substring(__utmi+1,__utmt.length))*1;
            if (__utmlvt == 0 || __utmt < __utmlvt) { 
               __utmlvt = __utmt;
               __utmlu  = __utmt2;
            }
         }
      }
      if (__utmlvt && __utmlst) { 
         if (!__utmpst ||  __utmpst > __utmlst) __utmpst = __utmlst;
         __utmap = __utmlu+"."+__utmlvt+"."+__utmpst+"."+__utmlst+".2"; 
      } else if (__utmlvt) { 
         if (!__utmpst || __utmpst > __utmcts) __utmpst = __utmcts;
         __utmap = __utmlu+"."+__utmlvt+"."+__utmpst+"."+__utmcts+".2";
      }
      __utmld = __utmt = document.domain;
      __utmi=__utmpi=0;
      while((__utmi = __utmt.indexOf(".",__utmpi+1)) >= 0) {
         if (__utmpi>0) __utmld = __utmt.substring(__utmpi+1,__utmt.length);
         __utmld = " domain="+__utmld+";"; 
         document.cookie="__utm1=1; path=/;"+__utmlex+__utmld;
         document.cookie="__utm2=1; path=/;"+__utmlex+__utmld;
         document.cookie="__utm3=1; path=/;"+__utmlex+__utmld;
         __utmpi=__utmi;
      }
      document.cookie="__utm1=1; path=/;"+__utmlex;
      document.cookie="__utm2=1; path=/;"+__utmlex;
      document.cookie="__utm3=1; path=/;"+__utmlex;
   }
   return __utmap;
}

function __utmTZConvert(__utmmz) {
   var __utmhr=0,__utmmn=0,__utmsg='+';
   if (__utmmz && __utmmz != "") {
      if (__utmmz <= 0) {__utmsg='+'; __utmmz*=-1; }
      else {__utmsg='-'; __utmmz*=1; }
      __utmhr = Math.floor((__utmmz/60)); 
      __utmmn = Math.floor((__utmmz%60)); 
   }
   if (__utmhr < 10) __utmhr = "0"+__utmhr;
   if (__utmmn < 10) __utmmn = "0"+__utmmn;
   return __utmsg+__utmhr+__utmmn;
}


//popup
<!-- Begin
function NewWindow1(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
//  End -->


// global variables for popups
var PopupFlag=0;
var Popup;

var isNew = 0;
var isNS4 = 0;
var isIE4 = 0;

var ClipFlag = 0;

var mousePosX = null;
var mousePosY = null;

//browser sniffer
var brows=((navigator.appName)+(parseInt(navigator.appVersion)));
if(parseInt(navigator.appVersion)>=5) 
	isNew=1;
else if (brows=="Netscape4") 
	isNS4=1;
else if (brows=="Microsoft Internet Explorer4") 
	isIE4=1;

if (isNS4||isIE4){
	if (isNS4){
		var docObj = 'document';
	}
	else{
		var docObj = 'document.all';
	}
	var styleObj = (isNS4) ? '' : '.style';
}
if (isNew){
	var docObj = 'document.getElementById';
	var styleObj = '.style';
}


// SHOW A HIDDEN DIV -----------------------------------
	function fncShowDiv(menuName,top,left)
	{
		if (isNew){
			var menu = eval(docObj + "(menuName)" + styleObj);
		}
		else if (isNS4 || isIE4){
			var menu = eval(docObj + '.' + menuName + styleObj);
		}
		else{
		}
		if (isIE4) { // grab the x-y position of the mouse if browser is IE
	    	mousePosX = event.x + document.body.scrollLeft;
	    	mousePosY = event.y + document.body.scrollTop;
	  	} 
		else {  // grab the x-y position of the mouse if browser is NS
			document.captureEvents(Event.MOUSEMOVE);
			document.onmousemove=mTrack;
		}
		//assign an offset of the mouse to the div top and left
		menu.top=(mousePosY+top);
		menu.left=(mousePosX-left-150);
		
		menu.visibility="visible";
	}

	/*This function finds the mouse x y coordinates*/
	function mTrack(e) {
    	mousePosX = e.pageX;
    	mousePosY = e.pageY;
	  	// catch possible negative values in NS4
	  	if (mousePosX < 0){
			mousePosX = 0;
		}
	  	if (mousePosY < 0){
			mousePos = 0;
		} 
	}


	/*This function gets the DOM depending on the browser and hides the menu.
	The id of the span is passed in as a parameter*/
	function fncHideDiv(menuName)
	{
		if (isNew){
			var menu = eval(docObj + "(menuName)" + styleObj);
		}
		else if (isNS4 || isIE4){
			var menu = eval(docObj + '.' + menuName + styleObj);
		}
		else{
		}
		menu.visibility="hidden";
	}
	
function writit(text,id)
{
	if (document.getElementById)
	{
		x = document.getElementById(id);
		x.innerHTML = '';
		x.innerHTML = text;
	}
	else if (document.all)
	{
		x = document.all[id];
		x.innerHTML = text;
	}
	else if (document.layers)
	{
		x = document.layers[id];
		text2 = '<P CLASS="testclass">' + text + '</P>';
		x.document.open();
		x.document.write(text2);
		x.document.close();
	}
}






/*This function puts any number entered in the correct format*/

function stripNum(num) 
{
	var iPercent
	var iDollar
	var iSpace
	var iComma
	var numLength = num.length
	
	if(numLength > 0) 
	{
	   num=num.toString();
	   iPercent = num.indexOf("%");
	   if(iPercent >= 0) 
	   {
	      num=num.substring(0,iPercent) + "" + num.substring(iPercent + 1,numLength);
	      numLength=num.length;
	   }
	   iDollar = num.indexOf("$");
	   if(iDollar >= 0) 
	   {
	      num=num.substring(0,iDollar) + "" + num.substring(iDollar + 1,numLength);
	      numLength=num.length;
	   }
	   iSpace = num.indexOf(" ");
	   if(iSpace >= 0) 
	   {
	      num=num.substring(0,iSpace) + "" + num.substring(iSpace + 1,numLength);
	      numLength=num.length;
	   }
	   iComma = num.indexOf(",");
	   if(iComma >= 0) 
	   {
	      	while(iComma >=1) 
			{
		         num=num.substring(0,iComma) + "" + num.substring(iComma + 1,numLength);
		         numLength=num.length;
		         iComma = num.indexOf(",");
	   		}
	   }
	   num = eval(num);
	} 
	else 
	{
		num = 0;
	}
	return num;
}
/*END This function puts any number entered in the correct format*/
	


	
function formatNumber(num) 
{
	var isNeg=0;
    if(num < 0) 
	{
       num=num*-1;
       isNeg=1;
    }
	onum=Math.round(num*100)/100;
	integer=Math.floor(onum);
	if (Math.ceil(onum) == integer) 
	{
		decimal="00";
	} 
	else
	{
		decimal=Math.round((onum-integer)*100)
	}
	decimal=decimal.toString();
	if (decimal.length<2) 
		decimal="0"+decimal;
	integer=integer.toString();
	var tmpnum="";
	var tmpinteger="";
	var y=0;

	for (x=integer.length;x>0;x--) 
	{
		tmpnum=tmpnum+integer.charAt(x-1);
		y=y+1;
		if (y==3 & x>1) 
		{
			tmpnum=tmpnum+",";
			y=0;
		}
	}
	for (x=tmpnum.length;x>0;x--) 
	{
		tmpinteger=tmpinteger+tmpnum.charAt(x-1);
	}
	//finNum="$"+tmpinteger+"."+decimal;
	finNum=tmpinteger+"."+decimal;
    if(isNeg == 1) 
	{
       finNum = "-" + finNum;
    }
	return finNum;
}	
	

	
/*This function compute's monthly payment*/
function computeMonthlyPayment(prin, numPmts, intRate) 
{
	var pmtAmt = 0;
	if(intRate == 0) 
	{
	   pmtAmt = prin / numPmts;
	} 
	else 
	{
	   if (intRate >= 1.0) 
	   {
	     intRate = intRate / 100.0;
	   }
	   intRate /= 12;
	   var pow = 1;
	   for (var j = 0; j < numPmts; j++)
	      pow = pow * (1 + intRate);
	   pmtAmt = (prin * pow * intRate) / (pow - 1);
	}
	return pmtAmt;
}
/*END This function compute's monthly payment*/
	
	
	

/*Mortgage Amortization Form*/
function computeAmortizationForm(form) 
{
	if(document.mortgagePayment.principal.value == 0 || document.mortgagePayment.principal.value == "") 
	{
		alert("Please enter the mortgage's principal amount.");
		document.mortgagePayment.principal.focus();
	} 
	else if(document.mortgagePayment.intRate.value == 0 || document.mortgagePayment.intRate.value == "") 
	{
		alert("Please enter the mortgage's annual interest rate.");
		document.mortgagePayment.intRate.focus();
	} 
	else if(document.mortgagePayment.numYears.value == 0 || document.mortgagePayment.numYears.value == "") 
	{
		alert("Please enter the mortgage's term in number of years.");
		document.mortgagePayment.numYears.focus();
	} 
	else 
	{
		var Vprincipal = stripNum(document.mortgagePayment.principal.value);
		var VintRate = stripNum(document.mortgagePayment.intRate.value);
		var VnumYears = stripNum(document.mortgagePayment.numYears.value);
		var VannualTax = document.mortgagePayment.annualTax.value;
		var VmonthlyTax =0;
		if(VannualTax == 0 || VannualTax == "") 
		{
			VannualTax = 0;
			VmonthlyTax =0;
		} 
		else 
		{
		   VannualTax = stripNum(VannualTax);
		   VmonthlyTax = VannualTax / 12;
		   VmonthlyTax *= 100;
		   VmonthlyTax = Math.round(VmonthlyTax);
		   VmonthlyTax /= 100;
		}
		var VannualInsurance = document.mortgagePayment.annualInsurance.value;
		var VmonthlyInsurance = 0;
		if(VannualInsurance == 0 || VannualInsurance == "") 
		{
		   VannualInsurance = 0;
		   VmonthlyInsurance = 0;
		} 
		else 
		{
			VannualInsurance = stripNum(VannualInsurance);
			VmonthlyInsurance = VannualInsurance / 12;
			VmonthlyInsurance *= 100;
			VmonthlyInsurance = Math.round(VmonthlyInsurance);
			VmonthlyInsurance /= 100;
		}
		var VmonthlyPMI = document.mortgagePayment.monthlyPMI.value;
		if(VmonthlyPMI == 0 || VmonthlyPMI == "") 
		{
		   VmonthlyPMI = 0;
		} 
		else 
		{
		   VmonthlyPMI = stripNum(VmonthlyPMI);
		}
		var VotherPmts = eval(VmonthlyTax) + eval(VmonthlyInsurance) + eval(VmonthlyPMI);
		var VnumPmts = VnumYears * 12;
		var VpmtAmt = computeMonthlyPayment(Vprincipal, VnumPmts, VintRate);
		var VtotalMtgPmt = eval(VpmtAmt) + eval(VotherPmts);
		document.mortgagePayment.monthlyPI.value = "$"+formatNumber(VpmtAmt);
		document.mortgagePayment.otherPmts.value = "$"+formatNumber(VotherPmts);
		document.mortgagePayment.monthlyPmt.value = "$"+formatNumber(VtotalMtgPmt);
	}
}
/*END Mortgage Amortization Form*/

/*Mortgage Payoff Goal Form*/
function computePayoffGoalForm(form) 
{
	if(form.principal.value == "" || form.principal.value == 0) 
	{
		alert("Please enter the principal balance of your current mortgage.");
		form.principal.focus();
	} 
	else if(form.interest.value == "" || form.interest.value == 0) 
	{
		alert("Please enter the interest rate of your current mortgage.");
		form.interest.focus();
	} 
	else if(form.origPmt.value == "" || form.origPmt.value == 0) 
	{
		alert("Please enter your current monthly mortgage payment (principal and interest portion only).");
		form.origPmt.focus();
	} 
	else
		if(form.noYears.value == "" || form.noYears.value == 0) 
		{
			alert("Please enter the number of years you would like to pay off your mortgage in.");
			form.noYears.focus();
		} 
		else 
		{
			var Vprincipal = stripNum(form.principal.value);
			var i = stripNum(form.interest.value);
			if (i >= 1.0) 
			{
				i = i / 100.0;
			}
			i /= 12;
			VnoYears = stripNum(form.noYears.value);
			VorigPmt = stripNum(form.origPmt.value);
			var noMonths = VnoYears * 12;
			var pow = 1;
			for (var j = 0; j < noMonths; j++)
			pow = pow * (1 + i);
			var newPmt = (Vprincipal * pow * i) / (pow - 1);
			var VpmtAdd = eval(newPmt) - eval(VorigPmt);
			form.pmtAdd.value = "$" + formatNumber(VpmtAdd);
			var prin = stripNum(form.principal.value);
			var count = 0;
			var prinPort = 0;
			var intPort = 0;
			var accumInt = 0;
			var pmt = stripNum(form.origPmt.value);
			while(eval(prin) > eval(pmt)) 
			{
				intPort = prin * i;
				accumInt = eval(accumInt) + eval(intPort)
				prinPort = eval(pmt) - eval(intPort);
				prin = eval(prin) - eval(prinPort);
				count = eval(count) + eval(1);
			}
			var VorigInt = accumInt;
			var VnewInt = (eval(newPmt * noMonths)) - eval(Vprincipal);
			var VintSave = eval(VorigInt) - eval(VnewInt);
			form.intSave.value = "$" + formatNumber(VintSave);
			var Vresults = ("If you would like to pay off your mortgage in " + VnoYears + " years instead of the current " + formatNumber(count / 12) + " years, you will need to start making a second monthly mortgage payment in the amount of $" + formatNumber(VpmtAdd) + ". This will cut your current mortgage interest cost from $" + formatNumber(accumInt) + " down to $" + formatNumber(VnewInt) + ", a savings of $" + formatNumber(VintSave) + " in interest charges.");
			writit(Vresults,"results")
		}
}
/*END Mortgage Payoff Goal Form*/


/*Mortgage Qualification Form*/
function computeMQualForm(form) 
{
	
	//IF REQUIRED FIELDS EMPTY, ALERT AND KILL SCRIPT
	if(form.grossPay.value == "" || form.grossPay.value == 0) 
	{
		alert("Please enter your gross annual income.");
		form.grossPay.focus();
	} 
	else
		//if(form.moDebts.value == "")
		//{
			//alert("Please enter the monthly debt payments you expect to pay.");
			//form.moDebts.focus();
		//} 
		//else if(form.downPay.value == "")
		//{
			//alert("Please enter the down payment you expect to pay.");
			//form.downPay.focus();
		//} 
		if(form.intRate.value == "" || form.intRate.value == 0) 
		{
			alert("Please enter the annual interest rate you expect to pay.");
			form.intRate.focus();
		} 
		//else if(form.moPMIPercent.value == "")
		//{
			//alert("Please enter the monthly private mortgage insurance percentage you expect to pay.");
			//form.moPMIPercent.focus();
		//} else if(form.moInsurance.value == "")
		//{
			//alert("Please enter the monthly insurance you expect to pay.");
			//form.moInsurance.focus();
		//} 
		else if(form.propTaxPerc.value == "")
		{
			alert("Please enter the annual property tax percentage you expect to pay.");
			form.propTaxPerc.focus();
		} 
		else if(form.term.value == "")
		{
			alert("Please enter the length of the mortgage.");
			form.pmtRatio.focus();
		} 
		else if(form.pmtRatio.value == "")
		{
			alert("Please enter the maximum mortgage payment to income ratio.");
			form.pmtRatio.focus();
		} 
		else if(form.debtRatio.value == "")
		{
			alert("Please enter the maximum debt payments to income ratio.");
			form.debtRatio.focus();
		} 
		
		else 
		{
			//START REQUIRED FIELD VARIFICATION
		
			//SET OPTIONAL BLANK FIELDS EQUAL TO ZERO;
			var VmonthlyDebtPmts = stripNum(form.moDebts.value);
			var VmoInsurance = stripNum(form.moInsurance.value);
			var VannPropTaxPerc = stripNum(form.propTaxPerc.value);
			if(VannPropTaxPerc >= 1) 
			{
				VannPropTaxPerc = VannPropTaxPerc / 100;
			}
			var VmoPropTaxPerc = VannPropTaxPerc / 12;
		
			//COMPUTE MONTHLY INCOME BASED ON ANNUAL INCOME
			var VgrossPay = stripNum(form.grossPay.value);
			var monthlyIncome = VgrossPay /12;
			
			//MORTGAGE PAYMENT CAN'T EXCEED 28% OF MONTHLY INCOME
			var VpmtRatio = stripNum(form.pmtRatio.value);
			if(VpmtRatio >= 1) 
			{
				VpmtRatio /= 100;
			}
			var maxIncomePmt = monthlyIncome * VpmtRatio;
			
			//MORTGAGE PAYMENT PLUS DEBT PMTS CAN'T EXCEED 36% OF MONTHLY INCOME
			var VdebtRatio = stripNum(form.debtRatio.value);
			if(VdebtRatio >= 1) 
			{
				VdebtRatio /= 100;
			}
			var maxDebtToIncomePmt = eval(VdebtRatio * monthlyIncome) - eval(VmonthlyDebtPmts);
			
			//USE THE LOWER OF 28% OR 36% AS MAXIMUM HOUSE PAYMENT
			var maxHousePmt = 0;
			if(maxIncomePmt > maxDebtToIncomePmt) 
			{
				maxHousePmt = maxDebtToIncomePmt;
			} 
			else {
				maxHousePmt = maxIncomePmt;
			}
	
			//IF MAX HOUSE PAYMENT IS LESS THAN $1, ALERT & KILL SCRIPT
			if(maxHousePmt < 1) 
			{
				form.downPay2.value = "";
				form.loanAmt.value = "";
				form.homePrice.value = "";
				form.moPay.value = "";
				alert("Based on industry standards you would not qualify for a home mortgage. In order to qualify you will need to either increase your annual income or lower your monthly debt payments, or a combination of both.")
			} 
			else 
			{
				//START HOUSE PAYMENT VERIFICATION
				
				//ADJUST HOUSE PAYMENT DOWN TO REFLECT MONTHLY PMI, INSURANCE & TAX
				
				//GATHER VARIABLES FOR PAYMENT AND PRINCIPLE COMPUTATIONS
				var Vi = stripNum(form.intRate.value);
				var VintRate = stripNum(form.intRate.value);
				if(VintRate >= 1) 
				{
					VintRate = VintRate / 100;
				} 
				else 
				{
					VintRate = VintRate;
				}
				VintRate = VintRate / 12;
				var Vterm = 0;
				if(form.term.selectedIndex == 0) 
				{
					Vterm = 180;
				} 
				else
					if(form.term.selectedIndex == 1) 
					{
						Vterm = 240;
					} 
					else 
					{
						Vterm = 360;
					}
			
					//MAKE INITIAL DETERMINATION OF NEW MAX HOUSE PMT
					//COMPUTE PRINCIPAL PAID ON MAXIMUM MONTHLY PAYMENT
					var pow = 1;
					for (var j = 0; j < Vterm; j++) 
					{
						pow = pow * (1 + VintRate);
					}
					var maxLoanAmt = ((pow - 1) * maxHousePmt) / (pow * VintRate);
			
					//DETERMINE INITIAL HOME PRICE
					var VdownPay = stripNum(form.downPay.value);
					var maxHomePrice = eval(maxLoanAmt) + eval(VdownPay);
					
					//DETERMINE INITIAL PMI
					var VmoPMIPercent = stripNum(form.moPMIPercent.value);
					if(form.moPMIPercent.value.length == 0) 
					{
						var downPayPerc = VdownPay / maxHomePrice;
						var PMIPerc = 0;
						if(downPayPerc < .05) 
						{
							PMIPerc = 0;
						} 
						else if(downPayPerc < .10) 
						{
							PMIPerc = .00065;
						} 
						else if(downPayPerc < .15) 
						{
							PMIPerc = .00043;
						} 
						else if(downPayPerc < .20) 
						{
							PMIPerc = .00027;
						} 
						else {
							PMIPerc = 0;
						}
					} 
					else 
					{
						PMIPerc = VmoPMIPercent / 1000;
					}
					var monthlyPMI = maxLoanAmt * PMIPerc;
			
					//DETERMINE INITIAL PROPERTY TAX
					var monthlyPropTax = maxHomePrice * VmoPropTaxPerc;
					
					var initMaxHousePmt = eval(maxHousePmt);
					
					//var initMaxHousePmt = eval(maxHousePmt) - eval(monthlyPMI) - eval(VmoInsurance) - eval(monthlyPropTax);
					
					var newMaxHousePmt = 0;
					var newMaxLoanAmt = 0;
					var newMaxHomePrice = 0;
					var totalOfPmts = eval(maxHousePmt) + eval(monthlyPMI) + eval(VmoInsurance) + eval(monthlyPropTax);;
					var count = 0;
			
					while(totalOfPmts > maxHousePmt) 
					{
					
						initMaxHousePmt = eval(initMaxHousePmt) - eval(1);
						
						//MAKE INITIAL DETERMINATION OF NEW MAX HOUSE PMT
						
						//COMPUTE PRINCIPAL PAID ON MAXIMUM MONTHLY PAYMENT
						newMaxLoanAmt = ((pow - 1) * initMaxHousePmt) / (pow * VintRate);
						
						//DETERMINE NEW HOME PRICE
						newMaxHomePrice = eval(newMaxLoanAmt) + eval(VdownPay);
						
						//DETERMINE INITIAL PMI
						if(form.moPMIPercent.value.length == 0) 
						{
							downPayPerc = VdownPay / newMaxHomePrice;
							PMIPerc = 0;
							if(downPayPerc < .05) 
							{
								PMIPerc = 0;
							} 
							else if(downPayPerc < .10) 
							{
								PMIPerc = .00065;
							} 
							else if(downPayPerc < .15) 
							{
								PMIPerc = .00043;
							} 
							else if(downPayPerc < .20) 
							{
								PMIPerc = .00027;
							} 
							else 
							{
								PMIPerc = 0;
							}
						} 
						else 
						{
							PMIPerc = VmoPMIPercent / 1000;
						}
						monthlyPMI = newMaxLoanAmt * PMIPerc;
			
						//DETERMINE INITIAL PROPERTY TAX
						monthlyPropTax = newMaxHomePrice * VmoPropTaxPerc;
						
						totalOfPmts = eval(initMaxHousePmt) + eval(monthlyPMI) + eval(VmoInsurance) + eval(monthlyPropTax);
						
						count = eval(count) + eval(1);
						if(count > 1000) 
						{
							break;
						} 
						else 
						{
							continue;
						}
					}
					
					//ENTER TOTALS
					form.downPay2.value = "$" + formatNumber(VdownPay);
					form.loanAmt.value = "$" + formatNumber(newMaxLoanAmt);
					form.homePrice.value = "$" + formatNumber(eval(VdownPay) + eval(newMaxLoanAmt));
					form.moPMI.value = "$" + formatNumber(monthlyPMI);
					form.moIns.value = "$" + formatNumber(VmoInsurance);
					form.moTax.value = "$" + formatNumber(monthlyPropTax);
					form.moPay.value = "$" + formatNumber(initMaxHousePmt);
					form.moTotal.value = "$" + formatNumber(totalOfPmts);
			
			//END HOUSE PAYMENT VERIFICATION
			}
		//END REQUIRED FIELD VARIFICATION
		}
}
/*END Mortgage Qualification Form*/