var reWhitespace = /^\s+$/

function isInvalidAccount(accnum1,accnum2) {
	if ((accnum1 == '000000') || (accnum1 == '000001') || (accnum1 == '000002') || (accnum1 == '000003')) {
		alert(accnum1+"-"+accnum2 + " is not a valid Account Number. Please enter a valid Account Number.");
		return true;
	}
	else
	{
		return false;	
	}

}


function isPOBox(str) {
	
	function removeSpaces(str) {
		newStr = ""		   
		for (i=0;i<str.length;i++) {
			if (str.charAt(i) != " " && str.charAt(i) != ".") 
		              	newStr = newStr + str.charAt(i)
		}
		return newStr;
	}
	
	str = removeSpaces(str.toUpperCase()); 
	if (str.indexOf("POBOX") >= 0 || str.indexOf("POSTOFFICEBOX") >= 0)
		return true;
	else
		return false;
}


function itemCount(str, del) {

	if (str == null) {
		str = "";
		}

	var cnt = 0;
	var len = str.length;
	var charA = "";
	
	for (var i = 0; i < len; i++) {   

		charA = str.charAt(i);

		if (charA == del) {
			cnt = cnt + 1;
			}
		}
   
	if (len > 0) {
		cnt = cnt + 1;
		}
   
	return cnt;

	}

function getItem(idx, str, del) {

	if (str == null) {
		str = "";
		}

	var cnt = 1;
	var len = str.length;
	var charA = "";
	var item = "";
	
	for (var i = 0; i < len && cnt <= idx + 1; i++) {   
		
		charA = str.charAt(i);

		if (cnt - 1 == idx) {
		
			if (charA != del) {
				item = item + charA;
				}
			else {
				cnt = cnt + 1;
				}				
			}
		
		else {
		
			if (charA == del) {
				cnt = cnt + 1;
				}
			}
   		}
	
	return item;

	}

function addItem(item, str, del) {

	if (str == null) {
		str = "";
		}

	if (str == "") {
		str = item;
		return str;
		}
	else {
		str = str + del + item;
		return str;
		}
	}
	
function addUniqueItem(item, str, del) {

	if (str == null) {
		str = "";
		}

	if (str == "") {
		str = item;
		return str;
		}
	else {
		
		var cnt = itemCount(str,del);
		var itm = "";
		var noadd = false;
		
		for (var i = 0; i < cnt; i++) {   
			
			itm = getItem(i,str,del);
			
			if (itm == item) {
				
				noadd = true;
				}
			}	
		
		if (noadd == false) {
			
			str = str + del + item;
			}
			
		return str;
		}
	}
	
function sortItems(str, del) {

	var i_cnt = 0;
	var i_itm = "";
	var j_cnt = 0;
	var j_itm = "";
	var tmp = "";
	var srt = "";
		
	i_cnt = itemCount(str,del);

	if (i_cnt == 1) {
		return str;
		}

	for (var i = 0; i < i_cnt; i++) {   

		i_itm = getItem(i,str,del);
		j_cnt = itemCount(srt,del);
		i_add = false;
		tmp = "";
		
		if (j_cnt == 0) {
			j_itm = i_itm;
			srt = addItem(j_itm,"",del);
			j_cnt = itemCount(srt,del);
			}
		else {	
		
			for (var j = 0; j < j_cnt; j++) {   

				j_itm = getItem(j,srt,del);

				if ((i_itm <= j_itm) && (i_add == false)) {
					tmp = addItem(i_itm,tmp,del);
					tmp = addItem(j_itm,tmp,del);
					i_add = true;
					}
				else {
					tmp = addItem(j_itm,tmp,del);
					}   		
				}

			srt = tmp;

			}
		}
		
			alert(srt);
	return srt;
		
	}

function removeItem(idx, str, del) {

	if (str == null) {
		str = "";
		}

	var cnt = 1;
	var len = str.length;
	var charA = "";
	var new_string = "";
	
	for (var i = 0; i < len; i++) {   
		
		charA = str.charAt(i);
		
		if (charA == del) {
			cnt = cnt + 1;
			}
		
		if (cnt - 1 != idx) {
			new_string = new_string + charA;
			}

   		}

	//get rid of leading delimeter
	if (new_string.charAt(0) == del) {
		new_string = new_string.substring(1,len - 1);
		}

	return new_string;

	}

function isNumeric( str ) {
	// Return immediately if an invalid value was passed in
	if (str+"" == "undefined" || str+"" == "null" || str+"" == "")	
		return false;

	var isValid = true;

	str += "";	// convert to a string for performing string comparisons.

	// Loop through string one character at time,  breaking out of for
	// loop when an non Alpha character is found.
  	for (i = 0; i < str.length; i++) {
		// Alpha must be between "A"-"Z", or "a"-"z"
		if (!((str.charAt(i) >= "0") && (str.charAt(i) <= "9")))  {
         	isValid = false;
         	break;
      		}
      	} // end for loop
   
	return isValid;
}  // end IsAlpha 

function isEmail(str) { 
	
	//check for @ available and not first character 
	if (str.indexOf("@") == -1) return false; 
	if (str.indexOf(".") == -1) return false; 
	if (str.lastIndexOf(".") < str.lastIndexOf("@")) return false; 
	if (str.charAt(str.indexOf("@") + 1) == ".") return false;  
	
	return true; 
	
	} 


function isDate(str) {

 //check for the Date format MM/DD/YY
 var b,c,d,e,f;
 var valid = "0123456789/"
 var ok = "yes";
 var temp;

 for (var i=0; i< str.length; i++) {
 temp = "" + str.substring(i, i+1);
 if (valid.indexOf(temp) == "-1") return false;
 }

 if (str.length != 8) return false;

 b = str.substring(0, 2); // month
 c = str.substring(2, 3);// '/'
 d = str.substring(3, 5); // day
 e = str.substring(5, 6);// '/'
 f = str.substring(6, 8); // year

 if (b<1 || b>12) return false;
 if (c != '/') return false;
 if (d<1 || d>31) return false;
 if (e != '/') return false;
 if (f<0 || f>99) return false;
 if (b==4 || b==6 || b==9 || b==11){
 if (d==31) return false;
 }

 if (b==2){
 var g=parseInt(f/4);
 if (isNaN(g)) {
 return false;
 }
 if (d>29) return false;
 if (d==29 && ((f/4)!=parseInt(f/4))) return false;
 }

  return true;
    
 }



function getAlpha(str) {

	//get alpha characters
	
	var alp = "";
	var charA = "";
	var charcode = "";
	
	for (var i = 0; i < str.length; i++) {   
		
		charA = str.charAt(i);
		
		if ((charA >= "A" && charA <= "Z") || (charA >= "a" && charA <= "z")) {
			
			alp = alp + charA;
			}
		}
		
	return alp;
	}

function getNumeric(str) {

	//get alpha characters
	
	var num = "";
	var charA = "";
	
	for (var i = 0; i < str.length; i++) {   
		
		charA = str.charAt(i);

		if (charA <= "9" && charA >= "0") {
			num = num + charA;
			}
		}
		
	return num;
	}

function getAlphaNumeric(str) {

	//get alpha characters
	
	var alpnum = "";
	var charA = "";
	var charcode = "";
	
	for (var i = 0; i < str.length; i++) {   
		
		charA = str.charAt(i);
		
		if ((charA >= "A" && charA <= "Z") || (charA >= "a" && charA <= "z") || (charA <= "9" && charA >= "0")) {
			alpnum = alpnum + charA;
			}
		}
		
	return alpnum;
	}

function trimText(txt) { 

	var bag = "";

	bag = leftTrim(txt);
	bag = rightTrim(bag);    
    return bag;
	} 
	
function leftTrim(txt) { 

    var cnt = txt.length; 
    var bag = "";
    var wrd = false;
    
    //left trim
    for (var i = 0; i < cnt; i++) {   
		
		if (txt.charAt(i) != " ") {
			
			bag = bag + txt.charAt(i);
			wrd = true;
			}
			
		else {
		
			if (wrd == true) {
				
				bag = bag + txt.charAt(i);
				}
			}
		}
    
    return bag;
	} 

function rightTrim(txt) { 

    var cnt = txt.length; 
    var bag = "";
    var wrd = false;
    
    //left trim
    for (var i = txt.length - 1; i >= 0; i--) {   
		
		if (txt.charAt(i) != " ") {
			
			bag = txt.charAt(i) + bag;
			wrd = true;
			}
			
		else {
		
			if (wrd == true) {
				
				bag = txt.charAt(i) + bag;
				}
			}
		}
    
    return bag;
	} 



function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}


function isWhitespace (s)

{   // Is s empty?
    return (isEmpty(s) || reWhitespace.test(s));
}
