function setStatus(msg) {
	status = msg;
	return true;
} 

function upperThis(field) {
	field.value = field.value.toUpperCase();
}

function format_the_number(expr, decplaces) {
	var str = "" + Math.round(eval(expr) * Math.pow(10, decplaces));
	while (str.length <= decplaces) {
		str = "0" + str;
	}
	var decpoint = str.length - decplaces;
	return str.substring(0, decpoint) + "." + str.substring(decpoint, str.length);
}

function phoneMask(e, obj, strCountry) {
	var k, c, re, blnHyphen;

	switch (strCountry) {
		case "USA":
		case "-1":
		case "MEXICO":
		case "CANADA":
		case "":
			break;
		default:
			return true;
	}

	if (window.event) {
		k = e.keyCode;
	}
	else if (e.which) {
		k = e.which;
	}
	c = String.fromCharCode(k);
	re = /[0-9\-]/;
	blnHyphen = (k == 45);
	if (re.test(c) || blnHyphen) {
		re = /^([0-9][0-9][0-9])(\-[0-9][0-9][0-9])?$/;
		if (re.test(obj.value) && !blnHyphen) {
			obj.value += "-";
		}
		return true;
	}
	else {
		switch(window.event ? e.which : e.keyCode) {
			case 8:		//backspace
			case 9:		//tab
			case 13:	//enter
			case 35:	//end
			case 36:	//home
			case 46:	//delete
				return true;
				break;
			default:
				return false;
		}
	}
}

function chooseISSILink(view_str) {
	self.location.href = view_str
}

function checkCard(card_str) {
		var ok = "Y"	
		var the_num = 0 
		var the_f = 1
		var the_nstr = ""
		var chr2 = "" 	
		var the_total  = 0
		var sz = card_str.length
		if ((sz < 13) || (sz > 20)) {
			ok = "N"
			alert("Error: Invalid Card Number.")
		}

		if (ok == "Y") {
			var chr =""
			for (var i = (sz-1); i >= 0; i--) {
				chr =  card_str.charAt(i)				

				if (isNaN(chr)) {
					alert("Error: Invalid Card Number. All characters in the credit card number must be numeric.")
					ok = "N"
					break
				}
				if (ok == "Y") {
					the_num = parseFloat(chr) * parseFloat(the_f)
				
					the_nstr = String(the_num)
				
					n_sz = the_nstr.length


					for (var j = 0; j < n_sz; j++) {
						if (j > 1) { break };
						chr2 =  the_nstr.charAt(j)
						the_total = parseFloat(the_total) + parseFloat(chr2) 
					}
					if (parseFloat(the_f) == 1) {
						the_f = 2
					} else {
						the_f = 1
					}
				}

			}
			if (ok == "Y") {
				the_total = parseFloat(the_total/10)

				var the_answer = (parseFloat(the_total ) - parseInt(the_total))

				if ((parseFloat(the_total ) - parseInt(the_total )) != 0) {
//					alert("Error: Invalid Card Number. " + String(the_answer))
					alert("Error: Invalid Card Number. ")
					ok = "N";
				}
				
			}

		}
		

		if (ok == "Y") {
		return true
		} else {
		return false
		}
}

var wndPick;
function closePickWindow() {
	if (wndPick) {
		wndPick.close();
	}
}
function openPickWindow(strPick, strCall, strAff) {
	var strURL = "";

	closePickWindow();

	switch(strPick) {
		case "ind":
			strURL = "../utilities/pickind.asp?call=" + strCall + "&af=" + strAff;
			break;
	}

	if (strURL != "") {
		wndPick = window.open(strURL, "wndPick", "height=600, width=610, scrollbars, resizable");
	}
	else {
		alert("Invalid source: " + strPick);
	}
}
function checkPickWindow(strPick, strCall, strAff) {
	if (wndPick && !wndPick.closed) {
		wndPick.focus();
	}
	else {
		openPickWindow(strPick, strCall, strAff);
	}
}

/***********************************************************************************/

function fillDummyData(){
	var x = document.getElementsByTagName("input"), bln;
    var i, sType, bln;
    var s = new String();
    var functionReference;  
    
	for (i=0;i<x.length;i++){
	    if (x[i].hasAttribute)
			bln = x[i].hasAttribute("readonly");
		else
			bln = x[i].getAttribute("readonly");
	
        if(!bln){
            if (x[i].hasAttribute)
			    sType = x[i].hasAttribute("type");
		    else
			    sType = x[i].getAttribute("type");
            
            switch(sType){
                case "text":
                    s = x[i].name.toUpperCase();  
                    
                    if(s.indexOf("EMAIL",0) != -1){
                        x[i].value = "email@email.com";
                    } else if((s.indexOf("PHONE",0) != -1) || (s.indexOf("FAX",0) != -1)){
                        x[i].value = "555-555-5555";
                    } else if(s.indexOf("ZIP",0) != -1){
                        x[i].value = "90210";
                    } else {
                        x[i].value = "aaaaaa";
                    }
                    
                    break;
            }
        }        
	}
    
    x = document.getElementsByTagName("select"), bln;
    
	for (i=0;i<x.length;i++){
	    s = x[i].name.toUpperCase();         
        if(s.indexOf("COUNTRY",0) == -1){
            x[i].selectedIndex = 1;
            
            if (x[i].hasAttribute)
			    bln = x[i].hasAttribute("onchange");
		    else
			    bln = x[i].getAttribute("onchange");
               
            if(bln){
                functionReference = x[i].onchange;
                functionReference();
            }
        }
	}
    
    return true;
}
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_nbGroup(event, grpName) { //v6.0
var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])?args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) { img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr) for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

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];}}
}

var blnCheckForEditsBeforeUnload = false;
function checkForEditsBeforeUnload() {
	var frm, obj, blnChanged = false, blnTemp, strTemp, objTemp;

	for (var i = 0; i < document.forms.length && !blnChanged && blnCheckForEditsBeforeUnload; ++i) {
		frm = document.forms[i];
		for (var j = 0; j < frm.elements.length && !blnChanged; ++j) {
			obj = frm.elements[j];
			switch(obj.type) {
				case "checkbox":
					if (obj.checked != obj.defaultChecked) {
						obj.focus();
						blnChanged = true;
					}
					break;
				case "password":
				case "file":
				case "text":
				case "textarea":
					if (obj.value != obj.defaultValue) {
						obj.focus();
						obj.select();
						blnChanged = true;
					}
					break;
				case "select-one":
					blnTemp = false;
					//have to check if any were selected to begin with
					//this is to workaround no "default" selected
					//since the browser auto assigns the first option as being selected
					for (var k = 0; k < obj.options.length; ++k) {
						if (obj.options[k].defaultSelected) {
							blnTemp = true;
						}
					}
					//since no default selection, make the first option the default.
					if (!blnTemp) {
						obj.options[0].defaultSelected = true;
						blnTemp = true;
					}
					for (var k = 0; k < obj.options.length && blnTemp; ++k) {
						if (obj.options[k].selected != obj.options[k].defaultSelected) {
							obj.focus();
							blnChanged = true;
						}
					}
					break;
				case "select-multiple":
					for (var k = 0; k < obj.options.length; ++k) {
						if (obj.options[k].selected != obj.options[k].defaultSelected) {
							obj.focus();
							blnChanged = true;
						}
					}
					break;
				case "radio":
					strTemp = "";
					//have to check if multiple values were checked by default
					//if multiple values are selected, the last one will be the "default" checked
					for (var k = 0; k < frm.elements.length; ++k) {
						objTemp = frm.elements[k];
						if (objTemp.name == obj.name) {
							if (objTemp.defaultChecked) {
								strTemp = objTemp.value;
							}
						}
					}
					//if checked and the value doesn't match the default, the value was changed.
					if (obj.checked && obj.value != strTemp) {
						obj.focus();
						blnChanged = true;
					}
					break;
				case "hidden":
				case "submit":
				case "reset":
				case "button":
					break;
				default:
					alert(obj.type);
			}
		}
	}

	if (blnChanged) {
		return "You have made changes to the page that have not been posted."
	}
}
function setSelect(objSelect, values) {
	for (var i = 0; i < objSelect.options.length; ++i) {
		bln = false;
		switch (typeof(values)) {
			case "string":
				if (objSelect.options[i].value == values)
					bln = true;
				break;
			case "array":
				for (var j = 0; j < values.length; ++j)
					if (values[j] == objSelect.options[i].value)
						bln = true;
				break;
		}
		objSelect.options[i].selected = bln;
	}
}

