//--------------------------------------------------------------------------------
/*
**	Alex's Custom Function Library
**	URL		: www.tneoh.zoneit.com/javascript/
*/
//--------------------------------------------------------------------------------


function LTrim( data )
{
	while (1)
	{
		if ( data.substring(0, 1) != " " ) break;
		data = data.substring(1, data.length);
	}
	return data;
}
function RTrim( data )
{
	while (1)
	{
		if (data.substring(data.length - 1, data.length) != " ") break;
		data = data.substring(0, data.length - 1);
	}
	return data;
}
function Trim( data)
{
	var tmpstr = LTrim( data);
	return RTrim(tmpstr);
}
function isInteger(s)
{
   if (s.length > 0)
   {
      sNum = s;
      for (i=0; i<sNum.length; i++)
      {
      	if (sNum.charAt(i) < '0' || sNum.charAt(i) > '9')
      	{
      	   return false;
      	}
      }
      return true;
   }
   else
   {
      return false;
   }
}
function isEmail(s) {
	if (s.indexOf(" ") != -1)
		return false;
	else if (s.indexOf("@") == -1)
		return false;
	else if (s.indexOf("@") == 0)
		return false;
	else if (s.indexOf("@") == (s.length-1))
		return false;
	var arrayString = s.split("@"); //(works only in netscape3 and above.)
	//var retSize = customSplit(argvalue, "@", "arrayString");
	if (arrayString[1].indexOf(".") == -1)
		return false;
	else if (arrayString[1].indexOf(".") == 0)
		return false;
	else if (arrayString[1].charAt(arrayString[1].length-1) == ".") {
		return false;
	}
	return true;
}
function isUrl(s) {

	if (s.indexOf(" ") != -1)
		return false;
	else if (s.indexOf("http://") == -1)
		return false;
	else if (s == "http://")
		return false;
	else if (s.indexOf("http://") > 0)
		return false;
	s = s.substring(7, s.length);

	if (s.indexOf(".") == -1)
		return false;
	else if (s.indexOf(".") == 0)
		return false;
	else if (s.charAt(s.length - 1) == ".")
		return false;
	if (s.indexOf("/") != -1) {
		s = s.substring(0, s.indexOf("/"));
	if (s.charAt(s.length - 1) == ".")
		return false;
	}
	if (s.indexOf(":") != -1) {
		if (s.indexOf(":") == (s.length - 1))
			return false;
		else if (s.charAt(s.indexOf(":") + 1) == ".")
			return false;
		s = s.substring(0, s.indexOf(":"));
		if (s.charAt(s.length - 1) == ".")
			return false;
	}
	return true;
}

	//datetime ﾇ・ﾂ(0000-00-00 00:00:00)ﾀﾇ ｳｯﾂ･ ｽｺﾆｮｸｵﾀｻ ﾅｸﾀﾓｽｺﾅﾆﾇﾁｷﾎ ｺｯﾈｯｽﾃﾅｰｴﾂ ﾇﾔｼ・
	function datetimeTostamp($timeString) {
		$datepattern ="(^[0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2}$)";	//0000-00-00 00:00:00ﾇ・ﾄﾀﾇ ﾆﾐﾅﾏ
		if(ereg($datepattern,$timeString,$date1)) {
			$date1_time = mktime($date1[4],$date1[5],$date1[6],$date1[2],$date1[3],$date1[1]);
		} else error_msg("ﾀ・ﾞｵﾈ ｳｯﾂ･ ﾇ・ﾄﾀﾌ ｸﾂﾁ・ｾﾊｽﾀｴﾏｴﾙ.\\n$timeString");
		return $date1_time;
	}

	//date ﾇ・ﾂ(0000-00-00)ﾀﾇ ｳｯﾂ･ ｽｺﾆｮｸｵﾀｻ ﾅｸﾀﾓｽｺﾅﾆﾇﾁｷﾎ ｺｯﾈｯｽﾃﾅｰｴﾂ ﾇﾔｼ・
	function dateTostamp($timeString) {
		$datepattern ="(^[0-9]{4})-([0-9]{2})-([0-9]{2})";	//0000-00-00 ﾇ・ﾄﾀﾇ ﾆﾐﾅﾏ
		if(ereg($datepattern, $timeString, $date1)) {
			$date1_time = mktime(0,0,0,$date1[2],$date1[3],$date1[1]);
		} else error_msg("ﾀ・ﾞｵﾈ ｳｯﾂ･ ﾇ・ﾄﾀﾌ ｸﾂﾁ・ｾﾊｽﾀｴﾏｴﾙ.\\n$timeString");
		return $date1_time;
	}


function Replace(s, x, y)
{
	if ((x == y) || (parseInt(y.indexOf(x)) > -1))
	{
		errmessage = "replace function error: \n";
		errmessage += "Second argument and third argument could be the same ";
		errmessage += "or third argument contains second argument.\n";
		errmessage += "This will create an infinite loop as it's replaced globally.";
		alert(errmessage);
		return false;
	}
	while (s.indexOf(x) != -1)
	{
		var leading = s.substring(0, s.indexOf(x));
		var trailing = s.substring(s.indexOf(x) + x.length, s.length);
		s = leading + y + trailing;
	}
	return s;
}

//--------------------------------------------------------------------------------
function isNull(s)
{
	return ((s == null) || (s.length == 0))
}
function isEmpty( data )
{
	for ( var i = 0 ; i < data.length ; i++ )
	{
		if ( data.substring( i, i+1 ) != " " ) { return false; }
	}
	return true;
}


function isFloat(s)
{
	RefString     = "-1234567890.";
	DecimalPoints = 0;

	for (i=0; i<s.length; i++)
	{
		TempChar = s.substring ( i, i+1 );
		if (  TempChar == "." ) { DecimalPoints++; }					// Can only have zero or one decimal points in a number
		if (( TempChar == "-" ) && ( i != 0 )) { return ( false ); }	// Minus Sign must be first character
		if ( RefString.indexOf (TempChar,0) == -1) { return ( false ); }// Check if current character is valid(character not found in RefString)
	}
	if ( DecimalPoints > 1 ) { return ( false ); }
	return(true);
}
function isAlphaNumeric(s)
{
	if (s.length > 0)
	{
		sNum = s;
		for (i=0; i<sNum.length; i++)
		{
			if (!(((sNum.charAt(i) >= 'A' && sNum.charAt(i) <= 'Z') || sNum.charAt(i) >= 'a' && sNum.charAt(i) <= 'z') || (sNum.charAt(i) >= '0' && sNum.charAt(i) <= '9')) ) return false;
		}
		return true;
	}
	else { return false; }
}
function isLenFromTo(s, iFrom, iTo)
{
	iL = s.length
	if (iFrom <= iL && iL <= iTo) { return true;  }
	else						  { return false; }
}
function isTime(s)
{
	//12:00:59
	//012345678
	//hh:mm:ss
	//hh = 00 ~ 23
	//mm = 00 ~ 59
	//ss = 00 ~ 59
	if (s.length == 8)
	{
		if (s.substring(2,3) != ":") { return false; }
		if (s.substring(5,6) != ":") { return false; }
		if (s.substring(0,2) >= '00' && s.substring(0,2) <= '23')
			if (s.substring(3,5) >= '00' && s.substring(3,5) <= '59')
				if (s.substring(6,8) >= '00' && s.substring(6,8) <= '59') { return true; }
	}
	return false;
}
function LeapYear(yr)
{
	/*	Is it a leap year?
	**	1.Years divisible by 4 are leap years, but
	**	2.Years divisible by 100 are not leap years, but
	**	3.Years divisible by 400 are leap years.
	*/
	if (((yr % 4 == 0) && yr % 100 != 0) || yr % 400 == 0) { return true; }
	else { return false; }
}
function isDate(s)
{
	/* Note: Date must be in the format MM/DD/YYYY */
	/* Allow empty fields as dates. */
	if (s.length > 0)
	{
		Slashes   = 0;
		Month     = 0;
		Day       = 0;
		Year      = 0;
		RefString = "01234567890/";

		for (i=0; i<s.length; i++)
		{
			TempChar = s.substring(i, i +1);
			if (RefString.indexOf(TempChar,0) == -1)	/* Invalid character? */
			{
				//alert ( "Invalid character in date string.  Format must be: MM/DD/YYYY." );
				return (false);
			}
			if ( TempChar == "/" ) { Slashes++; }		/* Must have two slashes */
		}
		if ( Slashes != 2 )
		{
			//alert ( "Date string must have two slashes in it.  Format must be: MM/DD/YYYY." );
			return (false);
		}

		/* Parse out the date pieces */
		i =  0;
		x = "";

	   /* Month */
	   while ((s.charAt(i) != "/") && (i <= s.length))
	   {
	     x = x +  s.charAt(i);
	     i++;
	   }
	   Month = Month + x;  // Rely on implicit conversion of char string x to a number

	   if (( Month < 1 ) || ( Month > 12 ))
	   {
	   		//alert ( "Month must be between 1 and 12." );
	   		return (false);
	   	}

	   /* Day */
	   i++; // Skip the slash
	   x = "";
	   while ((s.charAt(i) != "/") && (i <= s.length))
	   {
	     x = x +  s.charAt(i);
	     i++;
	   }
	   Day = Day + x;

	   if (( Day < 1 ) || ( Day > 31 ))
	   {
	   		//alert ( "Day must be between 1 and 31." );
	   		return (false);
	   	}

	   /* Year */
	   i++;
	   x = "";
	   while ((s.charAt(i) != "/") && (i <= s.length))
	   {
	     x = x +  s.charAt(i);
	     i++;
	   }
	   Year = Year + x;


	   if (( Year < 1000 ) || ( Year > 9999 ))
	   {
	   		//alert ( "Year must be between 1000 and 9999." );
	   		return (false);
	   	}

	   /* Check Day a bit more closely */

	   if (( Month == 4 || Month == 6 || Month == 9 || Month == 11 ) && ( Day > 30 ))
	   {
	      //alert( "Month " + Month + " can not have more than 30 days." );
	      return ( false );
	   }


	   if ( Month == 2)
	   {
	      if ( LeapYear(Year) )
	      {
	         if ( Day > 29 )
	         {
	         	//alert( "February can not have more than 29 days in " + Year + "." );
	         	return false;
	         }
	      }
	      else
	      {
	         if ( Day > 28 )
	         {
	         	//alert( "February can not have more than 28 days in " + Year + "." );
	         	return false;
	         }
	      }

	   }
	}
	return ( true );
}
//--------------------------------------------------------------------------------
function isSSN( s ) {
	var Sum = 0;
	if ( s.length != 13 ) return false;
	if ( isInteger(s) == false ) return false;
	for(i = 0; i < 12; i++)	{
		if( i < 6 ) { Sum += parseInt(s.charAt(i)) * (i + 2); }
		if( i > 5 && i < 8) { Sum += parseInt(s.charAt(i)) * ( i + 1); }
		if( i > 7 ) { Sum += parseInt(s.charAt(i)) * ( i - 7); }
	}
	if( 11 - (Sum % 11) != parseInt(s.charAt(12)) )	{ return false; }
	return true;
}
//--------------------------------------------------------------------------------
//www.tneoh.zoneit.com/javascript/
function isWord(argvalue) {
	var onechar = "";
	for (var n = 0; n < argvalue.length; n++) {
		onechar = argvalue.substring(n, n+1);
		if ((onechar < "0" || onechar > "9") && (onechar < "A" || onechar > "Z") && (onechar < "a" || onechar > "z") && (onechar != "_")) {
			return false;
		}
	}
	return true;
}
function JFormat(argvalue, format) {
	var numOfDecimal = 0;
	if (format.indexOf(".") != -1) {
		numOfDecimal = format.substring(format.indexOf(".") + 1, format.length).length;
	}
	argvalue = formatDecimal(argvalue, true, numOfDecimal);
	argvalueBeforeDot = argvalue.substring(0, argvalue.indexOf("."));
	retValue = argvalue.substring(argvalue.indexOf("."), argvalue.length);
	strBeforeDot = format.substring(0, format.indexOf("."));
	for (var n = strBeforeDot.length - 1; n >= 0; n--) {
		oneformatchar = strBeforeDot.substring(n, n + 1);
		if (oneformatchar == "#") {
			if (argvalueBeforeDot.length > 0) {
				argvalueonechar = argvalueBeforeDot.substring(argvalueBeforeDot.length - 1, argvalueBeforeDot.length);
				retValue = argvalueonechar + retValue;
				argvalueBeforeDot = argvalueBeforeDot.substring(0, argvalueBeforeDot.length - 1);
			}
		}
		else {
			if (argvalueBeforeDot.length > 0 || n == 0)
			retValue = oneformatchar + retValue;
		}
	}
	return retValue;
}
//function HLen(s) {
//ar chlen = 0;
//for (var i = 0; i < s.length; i++) {
//		if (Asc(s.substring(i, i + 1)) < 0) { chlen += 2; }
//		else { chlen += 1; }
//	}
//	return chlen;
//}
//function Asc(Letter) {
// 	var Alpha = ' !"#$%& ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ ]^_`abcdefghijklmnopqrstuvwxyz{|}~';
//	if (Letter == "'") return 39;
//	else if (escape(Letter) == "%5C") return 92;
//    else return Alpha.indexOf(Letter)+ 32;
//}
//function Character(Code)
//{  var Alpha = ' !"#$%& ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ ]^_`abcdefghijklmnopqrstuvwxyz{|}~';
//   if (Code == 39) return "'";
//   else if (Code == 92) return unescape("%5C");
//        else return Alpha.charAt(Code - 32);
//}


function make_features(sScrol,nLeft,nTop, nWid, nHgt) {
	sF  = "toolbar=no,location=no,menubar=no,status=no,directories=no,resizable=0";
	sF += ",scrollbars="+sScrol;
	sF += ",left=" + nLeft;
	sF += ",top=" + nTop;
	sF += ",width=" +  nWid;
	sF += ",height=" + nHgt;

	return sF;

}

function dateTimeString(selectobj,val,nextobj) {	//ﾇﾊｵ蟶ｦ 2002-06-21 12:25:30 ﾇ・ﾂｷﾎ ﾃ箙ﾂｽﾃﾅｴ
		if(selectobj.value.length == 4) selectobj.value += val;
		if(selectobj.value.length == 7) selectobj.value += val;
		if(selectobj.value.length == 10) selectobj.value += " ";
		if(selectobj.value.length == 13) selectobj.value += ":";
		if(selectobj.value.length == 16) selectobj.value += ":";
		if(selectobj.value.length == selectobj.maxLength) nextobj.focus();
}
function dateString(selectobj,val,nextobj) {	//ﾇﾊｵ蟶ｦ 2002-06-21 12:25:30 ﾇ・ﾂｷﾎ ﾃ箙ﾂｽﾃﾅｴ
		if(selectobj.value.length == 4) selectobj.value += val;
		if(selectobj.value.length == 7) selectobj.value += val;
		if(selectobj.value.length == selectobj.maxLength) nextobj.focus();
}

function moveNext(selectobj, nextobj) {
	if(selectobj.value.length == selectobj.maxLength) {
		nextobj.focus();
	}
}
