

function isNull (s)
{
	if (s.length == 0) 
	{
		return true
	}
	return false;
}

function stringCompare(string1, string2, caseSensitive)
{
	var str1;
	var str2;

	if (caseSensitive == false)
	{
		str1 = string1.toLowerCase();
		str2 = string2.toLowerCase();
	}
	else
	{
		str1 = string1;
		str2 = string2;
	}
	if (str1 == str2)
	{
		return true;
	}
	else
	{	
		return false;
	}
} 


function splitIt (myString, delimiter)
{
	var retArray = new Array();
	var pos = myString.indexOf(delimiter);

	if(pos == -1)
	{
		retArray[0] = myString;
		return retArray;
	}
	else 
	{
		var arrPos = 0;
		var remStr = myString;
		var remStr1 = myString;

		while(true)
		{
			retArray[arrPos]= remStr.substring(0,pos);
			remStr = remStr.substring(pos+1);
			pos = remStr.indexOf(delimiter);
			arrPos++;
			if(pos == -1)
				 break;
		}

		retArray[arrPos] = remStr;
		return retArray;
	}
}

function isLowerCase(c) 
{
	if (c >= "a" && c <= "z") 
	{ 
		return true; 
	}
	return false;
}

function isUpperCase(c) 
{
	if (c >= "A" && c <= "Z") 
	{ 
		return true; 
	}
	return false;
}

function isAlpha(c) 
{
	if ((c >= "A" && c <= "Z") || (c >= "a" && c <= "z") )
	{ 
		return true; 
	}
	return false;
}

function isDigit(c) 
{
	var test = "" + c;
	if (test >= "0" && test <= "9") 
	{ 
		return true; 
	}
	return false;
}


function isNumber(c)
{
	if ( isNull( c ) )
		return false;
	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 isCarriageReturn(c) 
{
	var test = "" + c;
	if (test == "\n" || test == "\r") 
	{
		return true; 
	}
	return false;
}

function removeCarriageReturn(s) 
{
	var test = "" + s;
	var new_s = "";
	for (var k = 0; k < test.length; k++) 
	{
		var c = test.substring(k, k+1);
		if (isCarriageReturn(c) == false) 
		{ 
			new_s = new_s + c; 
		} 
		else 
		{ 
			new_s = new_s + " "; 
		}
	}
	return new_s;
}

function hasWhiteSpace (s) 
{
	var i;
	for (i=0;i<s.length;i++) 
	{
		var c = s.charAt(i);
		if (c == " " || c == "\t" || c == "\n" || c == "\r") 
		{
			return true;
		}
	}
	return false;
}

function trimWhiteSpace(hasSpaceString) 
{
	var trimmedString = "";

	while(hasSpaceString.charAt(0) == " ") 
	{
		trimmedString = hasSpaceString.substring(1,(hasSpaceString.length));
		hasSpaceString = trimmedString;
	}
	while(hasSpaceString.charAt(hasSpaceString.length - 1) == " ") 
	{
		trimmedString = hasSpaceString.substring(0,(hasSpaceString.length - 1));
		hasSpaceString = trimmedString;
	}
	return hasSpaceString;
}

function stripInitZeroSpace(s)
{
  	var ret = "";
  	s = trimWhiteSpace(s);
  	for (var i = 0; i < s.length; i++)
    		if (s.charAt(i) != '0') break;

  	ret = s.substring(i);

  	return ret;
} 


function isSpecialCharacter(c) 
{
	var test = "" + c;
	if (test == "," || test == "." ) { return true; }
	else return false;
}



function isAlphaNumeric(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 isAlphaNumericSpace(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) && (c != " ")) {
       return false;
    }
  }
  return true;
}

function isValidName(s) {
  var test = "" +s;
  for (var k = 0; k < test.length; k++) {
	var c = test.substring(k, k+1);
	if((isAlpha(c) == true) || (c == ' ') ||(c == '\'') || (c == '-') ||(c == '~'))
	{
	 continue;
    }
    else
	{
	 return false;
    }
  }
  return true;
}

function minLen(s, len)
{
	if (s.length < len)
		return false;

	return true;
}


function charsInStr(str, chars)
{
	for(var i = 0; i < str.length; i++)
	{
		if (chars.indexOf(str.charAt(i)) != -1){
			return true;
		}
	}
	return false;
}

function isValidEmailAddress(s)
{
	var atPosition = s.indexOf("@");

	if(atPosition == -1)
		return false;

	if(atPosition < s.lastIndexOf("@"))
		return false; // more than one

	var dotPosition = s.lastIndexOf(".");

	if(dotPosition < atPosition || dotPosition == (atPosition + 1))
		return false;

	return true;
	
}

function isValidPassword(password, isSignOn)
{
	if (!isAlphaNumeric(password))
	{
  		return false;
	}

	if ((password.length < 4) || (password.length > 7))
	{
  		return false;
	}

	if(!isSignOn)
	{
		// password must not be made entirely of sequential characters
		var sequential = "abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:zyxwvutsrqponmlkjihgfedcba:ZYXWVUTSRQPONMLKJIHGFEDCBA:0123456789:9876543210";
		if (sequential.indexOf(password) != -1)
		{
			return false;
		}

		if (isComposedOfChars(password.charAt(0), password))
		{
  			return false;
		}
	}

	return true;
}

function isComposedOfChars(validChars, inString)
{
	return (indexOfFirstNotIn(validChars, inString) == -1);
}

function indexOfFirstNotIn(okayChars, inString)
{
	var i;
	for (i=0; i < inString.length; i++)
	{
		var charm = inString.charAt(i);
		if (okayChars.indexOf(charm) == -1)
		{
			return i;
		}
	}
	return -1;
}

function isValidUsername(username)
{
	if (!isAlphaNumericU(username))
	{
  		return false;
	}
	if ((username.length < 4))
	{
  		return false;
	}
	return true;
}

function isAlphaNumericU(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) && (c != '_')) {
       return false;
    }
  }
  return true;
}

function confirmLink(_link, _confirm) {
	if( confirm( _confirm ) ) {
		document.location = _link;
		//return true;
	} else {
		//return false;
	}
}
