function isSelected(theCollection) {
	var selected = false;
	var tmp = '';
	
	if (null==theCollection) return false;
	else {			
		if (theCollection.length == null || isEmpty(theCollection.length)) {
			// this is single checkbox or radio
			var test = theCollection.checked || theCollection.selected;	
			if (test) selected = true;
		} 
		else {
			for (var i=0;i<theCollection.length;i++) {
				var test = theCollection[i].checked || theCollection[i].selected;
				if (test && theCollection[i].value!='') selected = true;
			}
		}
	}
	
	if (selected) return true;
	else return false;
}

function isChecked(obj) {
	var checked = false;
	
	if (!isNaN(obj.length)) {
		for (var i=0;i<obj.length;i++) {
			if (obj[i].checked) {
				checked = true;
				break;
			}	
		}
	} else {
		checked = obj.checked;
	}
	
	return checked;
}


function isDigit(in_text, fieldname) {
	var in_str=in_text.value;
	var len=in_str.length;
	var output=true;

	for (x=0; x<len; x++) {
		var cur_char=in_str.charCodeAt(x);
		if (cur_char < 46 || cur_char > 57) {
		    output=false;
		}
	}

	if (output == false) {
		alert("Data In Field '"+fieldname+"' Must Be A Number Value.");
		in_text.value="";
		in_text.focus();
	}

	return output;
}

function isDigit(c) {
  var test = "" + c;
  if (test >= "0" && test <= "9") { return true; }
    return false;
}

function isDate(pDate){
	if ( isNaN(Date.parse(pDate)) ) {
		return false;
	}
	
	return true;
}

function isEmail(src) {
	var emailReg = "^[\\w-\.]+\@([\\w-]+[\.])+[\\w]+$";
	var regex = new RegExp(emailReg);
		 
	return regex.test(src);
}

function isPhone(s) {
	var clean = s+'';
	clean = removeValidPhoneCharacter(clean);
	var phoneReg = "^[0-9]{10,12}$";
	var regex = new RegExp(phoneReg);
	
	return regex.test(clean);
}

function removeValidPhoneCharacter(s) {
    s = s.replace(/\(/g, "");
    s = s.replace(/\)/g, "");
    s = s.replace(/\+/g, "");
	s = s.replace(/\-/g, "");
	s = s.replace(/\s/g, "");
    
    return s;
}

function isZip(s) {
	var clean = s+'';
	clean = removeValidZipCharacter(clean);
	var zipReg = "^[0-9]{5,9}$";
	var regex = new RegExp(zipReg);
	
	return regex.test(clean);
}

function removeValidZipCharacter(s) {
	s = s.replace(/\-/g, "");
    
    return s;
}

/*
function hasSP(s) {
	var pattern = "^[\<\>\"\'\%\;\)\(\&\+]//g";
	var regex = new RegExp[pattern];
	return regex.test(s);
}
*/

function hasSpecialCharacter(s) {
	var test = s+'';
	test = removeSpecialCharacter(test);
	if (test!=s) return true;
	else return false;
}

function removeSpecialCharacter(s) {
    s = s.replace(/\</g, "");
    s = s.replace(/\>/g, "");
    s = s.replace(/\"/g, "");
//	s = s.replace(/\'/g, "");
//	s = s.replace(/\./g, "");
//	s = s.replace(/\-/g, "");
//	s = s.replace(/\ /g, "");
	s = s.replace(/\#/g, "");
	s = s.replace(/\&/g, "");
    s = s.replace(/\%/g, "");
    s = s.replace(/\;/g, "");
    s = s.replace(/\(/g, "");
    s = s.replace(/\)/g, "");
    s = s.replace(/\+/g, "");
    s = s.replace(/\*/g, "");
    s = s.replace(/\!/g, "");
	s = s.replace(/\~/g, "");
	s = s.replace(/\`/g, "");
	s = s.replace(/\@/g, "");
	s = s.replace(/\$/g, "");
	s = s.replace(/\^/g, "");
	s = s.replace(/\=/g, "");
	s = s.replace(/\\/g, "");
	s = s.replace(/\|/g, "");
	s = s.replace(/\//g, "");
	s = s.replace(/\?/g, "");
	s = s.replace(/\[/g, "");
	s = s.replace(/\]/g, "");
	s = s.replace(/\{/g, "");
	s = s.replace(/\}/g, "");
	s = s.replace(/\:/g, "");
    return s;
}

function isEmpty(str)	{
	var b = false;

	strTemp = new String(str);
	if (strTemp == null) {
		b = true;
	}
	else {
		if (strTemp == 'undefined' || strTemp=='null'|| strTemp.length == 0) b = true;
	}

	return b;
}


function IsNullLeaveSpace(s) {
  if (s.length == 0) {
  	return true;
  }
  return false;
}

function IsNull (s, error) {
  if (s.length == 0) {
    errorMsg = errorMsg + "<li>" + error + "<p>\n\n";
	erMsg2 = erMsg2 + error + "\n";
    errorstatus = 1; return true;
  }
  return false;
}
function isLowerCase(c) {
if (c >= "a" && c <= "z") { return true; }
  return false;
}

function isZero(number, error) {
	if (number == 0) {
		errorMsg = errorMsg + "<li>" + error + "<p>\n\n"; 
		erMsg2 = erMsg2 + error + "\n";
		errorstatus = 1; 
		return false;
	}
	return true;
}

function isUpperCase(c) {
	if (c >= "A" && c <= "Z") { return true; }
	  return false;
}

function isAlpha(c) {
	if (c >= "A" && c <= "z") { return true; }
	return false;
}

function isGoodAlphaNum(s, error) {
  var test = "" + s;
  for (var k = 0; k < test.length; k++) {
    var c = test.substring(k, k+1);
    if ((isDigit(c) == false) &&  (isUpperCase(c) == false) && (isLowerCase(c) == false)) {
      errorMsg = errorMsg + "<li>" + error + "<p>\n\n";
	erMsg2 = erMsg2 + error + "\n";
      errorstatus = 1; return false;
    }
  }
  return true;
}

function isAlphaNum(s, error) {
  var test = "" + s;
  for (var k = 0; k < test.length; k++) {
    var c = test.substring(k, k+1);
    if ((isDigit(c) == false) &&  (isAlpha(c) == false)) {
      errorMsg = errorMsg + "<li>" + error + "<p>\n\n";
	erMsg2 = erMsg2 + error + "\n";
      errorstatus = 1; return false;
    }
  }
  return true;
}

function isAlphaNumber(s) {
  var test = "" + s;
  for (var k = 0; k < test.length; k++) {
    var c = test.substring(k, k+1);
    if ((isDigit(c) == false) &&  (isAlpha(c) == false)) {
       return false;
    }
  }
  return true;
}

function checkMinlength (s,minlength,error) {
  if (s.length < minlength) {
    errorMsg = errorMsg + "<li>" + error + "<p>\n\n";
	erMsg2 = erMsg2 + error + "\n";
    errorstatus = 1; return false;
  }
  return true;
}


function checkMaxlength (s,maxlength,error) {
  if (s.length > maxlength) {
    errorMsg = errorMsg + "<li>" + error + "<p>\n\n";
	erMsg2 = erMsg2 + error + "\n";
    errorstatus= 1; return false;
  }
  return true;
}

function isNumber(c, error) {
	var number = "" + c;
	for(var k = 0;k< number.length; k++) {
		var i = number.substring(k, k+1); 	
		if(!isDigit(i)) {  
			errorMsg = errorMsg + "<li>" + error + "<p>\n\n";
			erMsg2 = erMsg2 + error + "\n";
			errorstatus = 1; return false;
		}
	}
	return true;
}

function isNum(c) {
	var number = "" + c;
	for(var k = 0;k< number.length; k++) {
		var i = number.substring(k, k+1); 	
		if(!isDigit(i)) {  
			return false;
		}
	}
	
	return true;
}
function isNumeric(num) {
	var digits="0123456789"
	var temp
	var val = true;
	for (var i=0;i<num.length;i++){
		temp=num.substring(i,i+1)
		if (digits.indexOf(temp)==-1) {			
			val = false;
		}
	}
	return val;
}

function hasWhiteSpace (s) {
  var i;
  for (var i=0;i<s.length;i++) {
    var c = s.charAt(i);
    if (c == " " || c == "\t" || c == "\n" || c == "\r") {
      return true;
    }
  }
  return false;
}

function hasSymbol(emailAddress, error) {
	var atcount=0;
	var dotcount=0;
	var email=emailAddress	
	
	for(i=0;i<(email.length);i++) {
		if(email.charAt(i)=='@') atcount++;
		if(email.charAt(i)=='.') dotcount++;
	}
	
	if ((atcount == 0) || (dotcount == 0)) {
		errorMsg = errorMsg + "<li>" + error + "<p>\n\n";
		erMsg2 = erMsg2 + error + "\n";
		errorstatus = 1;
		return false;
	}

	if (atcount > 1) {
		errorMsg = errorMsg + "<li>" + error + "<p>\n\n";
		erMsg2 = erMsg2 + error + "\n";
		errorstatus = 1;
		return false;
	} 
	
  	return true;
}
