//################################################################
//##                        Winson v1.6                         ##
//################################################################

/////////////////////////////////////

function StrTrim(str)
{
	var i;
	var len = str.length;
	
	for(i = 0; i < len; i++)
		if(str.charAt(i) != ' ')
		{
			str = str.substring(i);
			len = str.length;
			
			for(i = len - 1; i >= 0; i--)
				if(str.charAt(i) != ' ')
				{
					str = str.substring(0, i + 1);
					break;
				}
			
			break;
		}
		
	return str;
}

/////////////////////////////////////


function IsDay(text_d , text_m , text_y ){

	var v_monthend = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	
	var v_yy = text_y;
	var v_mm = text_m;
	var v_dd = text_d;

	// Check validation of year
	if (v_yy % 4 == 0 && v_mm == 2 && v_dd == 29) { return (true); }
	
	// Check validation of month
	if (v_mm <= 0 || v_mm > 13){
		return (false); 
	}

	// Check validation of day
	if (v_dd <= 0 || v_dd > v_monthend[v_mm-1]) {
		return (false);
	}
	return true;
}

/////////////////////////////////////

function IsMonth(no)
{
	if(IsInt(no))
		return(no >= 1 && no <= 12);
		
	return false;
}

/////////////////////////////////////

function IsYear(no)
{

var birth = new Date();

	if(IsInt(no))
		return(no >= 1900 && no <= birth.getFullYear());
		
	return false;
}

/////////////////////////////////////

function IsHeading(str, head)
{
	if(str.length > head.length)
		if(str.substring(0, head.length) == head)
			return true;

	return false;
}

/////////////////////////////////////

function IsIntEx(num)
{
	var sign = num.charAt(0);

	if(num.length >= 2)
		if(sign == "+" || sign == "-")
			num = num.substring(1);

	return IsInt(num);
}

/////////////////////////////////////

function IsFloatEx(num)
{
	var sign = num.charAt(0);

	if(num.length >= 2)
		if(sign == "+" || sign == "-")
			num = num.substring(1);

	return IsFloat(num);
}

/////////////////////////////////////

function IsExisting(obj_name, form_obj)
{
	var i;
	var form_obj;

	if(form_obj == null)
		form_obj = document.forms[0];

	for(i = 0; i < form_obj.length; i++)
		if(document.forms[0][i].name == obj_name)
			return true;

	return false;
}

/////////////////////////////////////

function IsInt(num)
{
	var i;
	var len = num.length;

	for(i = 0; i < len; i++)
	{
		var ch = num.charAt(i);

		if(ch < '0' || ch > '9')
			return false;
	}

	return true;
}

/////////////////////////////////////

function IsFloat(num)
{
	var i;
	var len = num.length;
	var num_dot = 0;

	for(i = 0; i < len; i++)
	{
		var ch = num.charAt(i);

		if(ch == ".")
		{
			num_dot++;

			if(num_dot > 1)
				return false;

			if(i == 0 || i == len - 1)
				return false;
	}
	else
		if(ch < '0' || ch > '9')
			return false;
	}

	return true;
}

/////////////////////////////////////

function IsPhone(phone)
{
	if(!IsInt(phone))
		return false;

	if(phone.length != 8)
		return false;

	return true;
}

/////////////////////////////////////

function IsCreditCardNo(no)
{
	if(!IsInt(no))
		return false;

	if(no.length != 4)
		return false;

	return true;
}

/////////////////////////////////////

function IsUserid(userid)
{
	var i;
	var len = userid.length;

	for(i = 0; i < len; i++)
	{
		var ch = userid.charAt(i);

		if(ch < 'A' || ch > 'Z')
			if(ch < 'a' || ch > 'z')
				if(ch < '0' || ch > '9')
					if(ch != "_")
						return false;
	}

	return true;
}

/////////////////////////////////////

function IsPassword(password)
{
	var i;
	var len = password.length;

	for(i = 0; i < len; i++)
	{
		var ch = password.charAt(i);

		if(ch < 'A' || ch > 'Z')
			if(ch < 'a' || ch > 'z')
				if(ch < '0' || ch > '9')
					return false;
	}

	return true;
}

/////////////////////////////////////

function IsEmail(email)
{
	if (email.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
      return   true;
    else   
      return   false;

//	return ((email != "") && (email.indexOf("@") != -1) && (email.indexOf(".") != -1));
}

/////////////////////////////////////

function getCookieVal (offset)
{
	var endstr = document.cookie.indexOf (";", offset); 

	if(endstr == -1) 
		endstr = document.cookie.length; 

	return unescape(document.cookie.substring(offset, endstr)); 
} 

/////////////////////////////////////

function GetCookie (name)
{ 
	var arg = name + "="; 
	var alen = arg.length; 
	var clen = document.cookie.length; 
	var i = 0; 

	while(i < clen)
	{ 
		var j = i + alen; 

		if (document.cookie.substring(i, j) == arg) 
			return getCookieVal (j); 

		i = document.cookie.indexOf(" ", i) + 1; 

		if(i == 0)
			break; 
	}

	return null; 
}

/////////////////////////////////////

function SetCookie (name, value)
{ 
	var argv = SetCookie.arguments; 
	var argc = SetCookie.arguments.length; 
	var expires = (argc > 2) ? argv[2] : null; 
	var path = (argc > 3) ? argv[3] : null; 
	var domain = (argc > 4) ? argv[4] : null; 
	var secure = (argc > 5) ? argv[5] : false; 

	document.cookie = name + "=" + escape (value) + 
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((path == null) ? "" : ("; path=" + path)) + 
	((domain == null) ? "" : ("; domain=" + domain)) + 
	((secure == true) ? "; secure" : ""); 
}

/////////////////////////////////////

function DeleteCookie (name)
{ 
	var exp = new Date(); 
	exp.setTime (exp.getTime() - 1);
	var cval = GetCookie (name); 
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString(); 
}

/////////////////////////////////////

