var	numb = "0123456789";
var	lwr = "abcdefghijklmnopqrstuvwxyz";
var	upr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var   oth = "~`!@#$%^&*()_+-={[}]|\\:\";'<,>.?/ ";

function refresh(){
    window.location.reload( false );
}
function checkForm(id) {
	var f = document.forms[id];
	for (var i=0; i< f.elements.length; i++) {
		if ( (f.elements[i].type == "checkbox") && (f.elements[i].checked == true) )
			return confirm('This will delete all information related to selected items from the database!\nContinue?');
	}
	alert("No boxes have been checked!");	
	return false;
}
function checkMultipleForm(id, category) {
	var f = document.forms[id];
	for (var i=0; i< f.elements.length; i++) {
		if ( (f.elements[i].type == "checkbox") && (f.elements[i].checked == true) )
			return confirm('This will delete all information related to selected '+category+' from the database!\nContinue?');
	}
	alert("No boxes have been checked!");	
	return false;
}
function checkSelectedForm(category) {
	var f = document.forms[0];
	for (var i=0; i< f.elements.length; i++) {
		if ( (f.elements[i].type == "checkbox") && (f.elements[i].checked == true) )
			return confirm('This will delete all information related to selected '+category+' from the database!\nContinue?');
	}
	alert("No boxes have been checked!");	
	return false;
}
function selectedForm(category) {
	var f = document.forms[0];
	for (var i=1; i< f.elements.length; i++) {
		if ( (f.elements[i].type == "checkbox") && (f.elements[i].checked == true) )
			return confirm('This will delete all information related to selected '+category+' from the database!\nContinue?');
	}
	alert("No boxes have been checked!");	
	return false;
}
function delItem(msg){
		var msg;
		msg = "Do you want to delete this "+msg+"?";
		var yesno=confirm(msg);
		if (yesno) return true;
		else return false;
}
function checkAll(id){
	var f = document.forms[id];
	for (var i=0; i< f.elements.length; i++) {
		f.elements[i].checked = true;
	}
}
function uncheckAll(id){
	var f = document.forms[id];
	for (var i=0; i< f.elements.length; i++) {
		f.elements[i].checked = false;
	}
}
//----------------------------------------------------------------------------------------------List Box-------------------------------------------------------------
function addOption(selectObject,optionText,optionValue) {
	var optionObject = new Option(optionText,optionValue);
	var optionRank = selectObject.options.length;
	selectObject.options[optionRank]=optionObject;
}
function deleteOption(selectObject,optionRank) {
	if (selectObject.options.length!=0) { selectObject.options[optionRank]=null; }
}
function addList() {
    var formObject = document.orderForm;
	var oldIndex = formObject.oldOrder.selectedIndex;
    if (oldIndex !=-1) {
        addOption(formObject.newOrder,formObject.oldOrder.options[oldIndex].text, formObject.oldOrder.options[oldIndex].text);
    } else {
        alert("Please select the item on the left hand side box and click Add");
    }
}
function delList(){
	var formObject = document.orderForm;
	if (formObject.newOrder.selectedIndex!=-1) {
		deleteOption(formObject.newOrder,formObject.newOrder.selectedIndex);
	} else {
		alert("Select an option on the righ hand side box and click Delete");
	}
}
function allOptions(){
	var formObject = document.orderForm;
	var selectedArray = new Array();
	var i;
	var count = 0;
	if (formObject.newOrder.options.length != formObject.oldOrder.options.length){
			alert("Number of items in the left hand side box is not equal to the number in the right hand side box.");
			return false;
	}else{
			for (var i=0; i<formObject.newOrder.options.length; i++) {
					formObject.newOrder.options[i].selected = true;
			}
			for (i=0; i<formObject.newOrder.options.length; i++) {
					if (formObject.newOrder.options[i].selected) {
						selectedArray[count] = formObject.newOrder.options[i].value;
						count++;
					}
			}
			formObject.selectedValue.value = selectedArray;
			return true;
	}
}

function IsNumeric(sText){
		var ValidChars = "0123456789.";
		var IsNumber=true;
		var Char;
		for (i = 0; i < sText.length && IsNumber == true; i++) { 
			  Char = sText.charAt(i); 
			  if (ValidChars.indexOf(Char) == -1) {
					IsNumber = false;
			  }
		}
		return IsNumber;
}
function IsValidMail(x){
		//var x = document.forms[0].email.value;
		var isMail=true;
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (filter.test(x)) isMail = true;
		else isMail = false;

		return isMail;
}
//--------------------------------------------------------------Password Reset------------------------------------------------------------------------------------
function  BX_(x){ return ((x) - (((x)>>1)&0x77777777) - (((x)>>2)&0x33333333) - (((x)>>3)&0x11111111)); }
function BITCOUNT(x){ return  (((BX_(x)+(BX_(x)>>4)) & 0x0F0F0F0F) % 255); }
function haschar(parm,val) {
	if (parm == "") return false;
	for (i=0; i<parm.length; i++) {
		if (val.indexOf(parm.charAt(i),0) != -1) return true;
	}
	return false;
}
function ischars(parm,val) {
	if (parm == "") return false;
	for (i=0; i < parm.length; i++) {
		if( bal.indexOf(parm.charAt(i),0) == -1) return false;
	}
	return true;
}
function hasNum(parm) {return haschar(parm,numb);}
function hasLower(parm) {return haschar(parm,lwr);}
function hasUpper(parm) {return haschar(parm,upr);}
function hasAlpha(parm) {return haschar(parm,lwr+upr);}
function hasOther(parm) {return haschar(parm,oth);}
function hasAlphanum(parm) {return haschar(parm,lwr+upr+numb);}
function isNum(parm) {return ischars(parm,numb);}
function isLower(parm) {return ischars(parm,lwr);}
function isUpper(parm) {return ischars(parm,upr);}
function isAlpha(parm) {return ischars(parm,lwr+upr);}
function isOther(parm) {return ischars(parm,oth);}
function isAlphanum(parm) {return ischars(parm,lwr+upr+numb);}
function classcount(c) {
	has = 0;
	if(hasLower(c)){
		has = has | 0x1;
	} 
	if(hasUpper(c)){
		has = has | 0x2;
	} 
	if(hasNum(c)){
		has = has | 0x4;
	} 
	if(hasOther(c)){
		has = has | 0x8;
	}

	return BITCOUNT(has);
}
function highlight(c) {
	document.getElementById("lcase").style.color = "red";
	document.getElementById("ucase").style.color = "red";
	document.getElementById("num").style.color = "red";
	document.getElementById("special").style.color = "red";
	if(hasLower(c)){
		document.getElementById("lcase").style.color = "green";
	} 
	if(hasUpper(c)){
		document.getElementById("ucase").style.color = "green";
	} 
	if(hasNum(c)){
		document.getElementById("num").style.color = "green";
	} 
	if(hasOther(c)){
		document.getElementById("special").style.color = "green";
	}
}	
function mkpass(val){
	var charlist = new Array(5);
	val.value = "";
	charlist[0]="abcdefghijkmnopqrstuvwxyz";
	charlist[1]="23456789";
	charlist[2]=";[],./-=\\";
	charlist[3]="ABCDEFGHJKLMNPQRSTUVWXYZ";
	charlist[4]="~!@#$%^&*()_+<>?:\"{}";
	while(classcount(val.value) < 3 || val.value.length < 8){
		n = Math.floor(Math.random()*100);
		if(n < 50) { n = 0; }
		else if(n < 70){ n = 1; }
		else if(n < 85){ n = 2; }
		else if(n < 95){ n = 3; }
		else { n = 4; }
		c = Math.floor(Math.random()*charlist[n].length);
		if(val.value.length == 8){
			val.value = charlist[n][c];
		} else {
			val.value += charlist[n].substr(c,1);
		}
	}
}