﻿    function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }

    function MM_swapImgRestore() { //v3.0
      var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    }

    function MM_findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function MM_swapImage() { //v3.0
      var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
       if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }  
   
	//Change the background color on Blur/Focus
	function oF(obj){
	    try {
    		var vBG = obj.style.backgroundColor;
	    	obj.style.backgroundColor='#FFFFCC';//lightyellow
		    obj.onblur = function(){
		                            try {
          	    					        obj.style.backgroundColor='#FFFFFF';
                                    } catch(e) {
                                    }
				    		}
        } catch(e) {
        }
	}
	
	function oMO(obj){
	    try {
	        obj.style.cursor = 'hand';
	        obj.onmouseout = function() {
	                                try {
	                                    obj.style.cursor = 'default';
                                    } catch(e) {
                                    }
	                            }
	    } catch(e) {
	    }
	}

    //Validate Input Fields
	function RegExVal(objName,obj){

        try {
    		var vStr;
	    	switch (objName){
		    	case 'acctnum':
			    	reV = new RegExp(/(\()|(-)|(\))|( )|(\+)|(\=)|(\_)|(\~)|(\!)|(\@)|(\#)|(\$)|(\%)|(\^)|(\&)|(\*)|(\|)|(\/)|(\')|(\;)|(\.)|(\,)|(\")|(\?)|(\>)|(\<)|([a-zA-Z])/g);
				    vStr = obj.value.replace(reV,'');
				    obj.value = vStr;
	    			reVal = new RegExp(/(^\d$)/);
		    		break;
		    	case 'name':
			    	reV = new RegExp(/(\()|(\))|(\+)|(\=)|(\_)|(\~)|(\!)|(\@)|(\#)|(\$)|(\%)|(\^)|(\&)|(\*)|(\|)|(\/)|(\')|(\;)|(\.)|(\,)|(\")|(\?)|(\>)|(\<)/g);
				    vStr = obj.value.replace(reV,'');
				    obj.value = vStr;
	    			reVal = new RegExp(/(^[a-zA-Z]{1}([a-zA-Z]([- \w]*[a-zA-Z])*))/);
		    		break;
		    	case 'phone':
			    	reV = new RegExp(/(\()|(-)|(\))|( )|(\+)|(\=)|(\_)|(\~)|(\!)|(\@)|(\#)|(\$)|(\%)|(\^)|(\&)|(\*)|(\|)|(\/)|(\')|(\;)|(\.)|(\,)|(\")|(\?)|(\>)|(\<)|(\[)|(\])|(\{)|(\})|([a-zA-Z])/g);
				    vStr = obj.value.replace(reV,'');
				    obj.value = vStr;
    				if (obj.value.length==10){obj.value = vStr.substring(0,3) + '-' + vStr.substring(3,6) + '-' + vStr.substring(6,10)};
	    			reVal = new RegExp(/(^[2-9]\d{2}-\d{3}-\d{4}$)/);
		    		break;
		    	case 'raf':
			    	reV = new RegExp(/(\()|(\))|( )|(\+)|(\=)|(\_)|(\~)|(\!)|(\@)|(\#)|(\$)|(\%)|(\^)|(\&)|(\*)|(\|)|(\/)|(\')|(\;)|(\.)|(\,)|(\")|(\?)|(\>)|(\<)|(\[)|(\])|(\{)|(\})/g);
				    vStr = obj.value.replace(reV,'');
				    obj.value = vStr.toUpperCase();
	    			reVal = new RegExp(/(^RAF-[0-9a-zA-Z]{4}$)/);
		    		break;
			    case 'zip':
				    reV = new RegExp(/(\()|(-)|(\))|( )|(\+)|(\=)|(\_)|(\~)|(\!)|(\@)|(\#)|(\$)|(\%)|(\^)|(\&)|(\*)|(\|)|(\/)|(\')|(\;)|(\.)|(\,)|(\")|(\?)|(\>)|(\<)|([a-zA-Z])/g);
    				vStr = obj.value.replace(reV,'');
    				obj.value = vStr;
	    			if (obj.value.lenght==5){obj.value = vStr.substring(0,5) + '-' + vStr.substring(5,9)};
		    		reVal = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);				
			    	break;
    			case 'email':
	    			reVal = new RegExp(/(^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$)/);
		    		break;
			    case 'salesrepid':
				    //reV = new RegExp(/(\()|(-)|(\))|( )|(\+)|(\=)|(\_)|(\~)|(\!)|(\@)|(\#)|(\$)|(\%)|(\^)|(\&)|(\*)|(\|)|(\/)|(\')|(\;)|(\.)|(\,)|(\")|(\?)|(\>)|(\<)|([a-zA-Z])/g);
                    reV = new RegExp(/(\()|(-)|(\))|( )|(\+)|(\=)|(\_)|(\~)|(\!)|(\@)|(\#)|(\$)|(\%)|(\^)|(\&)|(\*)|(\|)|(\/)|(\')|(\;)|(\.)|(\,)|(\")|(\?)|(\>)|(\<)/g);
    				vStr = obj.value.replace(reV,'');
    				obj.value = vStr;
		    		reVal = new RegExp(/(^\d{5}$)/);	
				case 'creditcard':
				    switch (obj.form.ddlCardType.selectedIndex){
                        case 4://'AMEX':
                            var goodCC = /^3[47]{1}[0-9]{13}$/;
                            break;
                        case 1: //'Visa':
                            var goodCC = /^4[0-9]{15}$/;
                            break;
                        case 2: //'Mastercard':
                            var goodCC = /^5[1-5]{1}[0-9]{14}$/;
                            break;
                        case 3: //'Discover':
                            var goodCC = /^6011[0-9]{12}$/;
                            break;
                        default:
                            var goodCC = /^[0-9]{15,16}$/;
                    }
			    	reV = new RegExp(/(\()|(\))|(-)|( )|(\+)|(\=)|(\_)|(\~)|(\!)|(\@)|(\#)|(\$)|(\%)|(\^)|(\&)|(\*)|(\|)|(\/)|(\')|(\;)|(\.)|(\,)|(\")|(\?)|(\>)|(\<)|([a-zA-Z])/g);
				    vStr = obj.value.replace(reV,'');
				    obj.value = vStr;
	    			reVal = new RegExp(goodCC); ///\d{10,16}/);
				    break;
			    case 'aba':
				    reV = new RegExp(/(\()|(-)|(\))|( )|(\+)|(\=)|(\_)|(\~)|(\!)|(\@)|(\#)|(\$)|(\%)|(\^)|(\&)|(\*)|(\|)|(\/)|(\')|(\;)|(\.)|(\,)|(\")|(\?)|(\>)|(\<)|([a-zA-Z])/g);
    				vStr = obj.value.replace(reV,'');
    				obj.value = vStr;
		    		reVal = new RegExp(/^\s*\d+\s*\d{8}$/);
			    	break;
			    case 'bank':
				    reV = new RegExp(/(\()|(-)|(\))|( )|(\+)|(\=)|(\_)|(\~)|(\!)|(\@)|(\#)|(\$)|(\%)|(\^)|(\&)|(\*)|(\|)|(\/)|(\')|(\;)|(\.)|(\,)|(\")|(\?)|(\>)|(\<)|([a-zA-Z])/g);
    				vStr = obj.value.replace(reV,'');
    				obj.value = vStr;
		    		reVal = new RegExp(/^\s*\d+\s*$/);
			    	break;
		    }
    		if (!reVal.test(obj.value)){
	    		obj.style.backgroundColor='#FFCCCC';
		    	return (false);
		    }
		    obj.style.backgroundColor='#99FF99';
		    return (true);

        } catch(e){
        }
	}

    function getElement(ById){
        var obj = null;
        if (document.layers){   
            obj = document.layers[ById];
        } else if (document.all){
            obj = document.all[ById];
        } else if (document.getElementById){
            obj = document.getElementById(ById);
        }
        return obj;
    }

var timerlen = 5;
var slideAniLen = 250;

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();

function slidedown(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display != "none")
                return; // cannot slide down something that is already visible

        moving[objname] = true;
        dir[objname] = "down";
        startslide(objname);
}

function slideup(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display == "none")
                return; // cannot slide up something that is already hidden

        moving[objname] = true;
        dir[objname] = "up";
        startslide(objname);
}

function startslide(objname){
        obj[objname] = document.getElementById(objname);

        endHeight[objname] = parseInt(obj[objname].style.height);
        startTime[objname] = (new Date()).getTime();

        if(dir[objname] == "down"){
                obj[objname].style.height = "1px";
        }

        obj[objname].style.display = "block";

        timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}

function slidetick(objname){
        var elapsed = (new Date()).getTime() - startTime[objname];

        if (elapsed > slideAniLen)
                endSlide(objname)
        else {
                var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
                if(dir[objname] == "up")
                        d = endHeight[objname] - d;

                obj[objname].style.height = d + "px";
        }

        return;
}

function endSlide(objname){
        clearInterval(timerID[objname]);

        if(dir[objname] == "up")
                obj[objname].style.display = "none";

        obj[objname].style.height = endHeight[objname] + "px";

        delete(moving[objname]);
        delete(timerID[objname]);
        delete(startTime[objname]);
        delete(endHeight[objname]);
        delete(obj[objname]);
        delete(dir[objname]);

        return;
}
