// all validate script below will send return value :
// 0 : input blank
// -1: invalid
// 1 : valid
var invalidAddrChars = '\/"<>(),;:$&!`\'^*|[]{}';
var invalidHostChars = '\/"<>(),;:$&!`\'^*|[]{}@';

function trim(S) {
// remove leading and trailing whitespaces,  S is a string object
	return S.replace(/(^\s*)|(\s*$)/g, "");
}

function isValidDate(stdate) {
// format date : 'MM/DD/YYYY'
	if (trim(stdate) == "") return 0;
	if (stdate.length > 10 || stdate.length < 8) return -1
	s1 = stdate.indexOf('/')
	s2 = stdate.indexOf('/', s1+1)
	if (s1<0 || s2<0) return -1
	mm = stdate.substring(0, s1)// month
	dd = stdate.substring(s1+1, s2)// day
	yy = stdate.substring(s2+1, stdate.length)// year
	if (mm<1 || mm>12) return -1
	if (dd<1 || dd>31) return -1
	if (yy<1900 || yy>2099) return -1
	if ((mm==4 || mm==6 || mm==9 || mm==11) && (dd==31)) return -1
	if (mm==2){
		if (dd>29) return -1
		var g=parseInt(yy/4)
		if (isNaN(g)) return -1
		if (dd==29 && ((yy/4)!=parseInt(yy/4))) return -1
	}
	return 1
}

function isValidString(st, min, max, chharams, stharam) {
	// chharams : karakter-karakter yg tidak boleh ada dalam st
	// stharam  : string yg tidak boleh ada dalam st
	i = st.length
	if (trim(st)=="") return 0
	if (i<min || i>max) return -1
	if (stharam!="" && st.indexOf(stharam)!=-1) return -1
	if (chharams!=""){
		i=0;
		while(i<chharams.length){
			if (st.indexOf(chharams.charAt(i++))!=-1) return -1
		}
	}
	return 1
}

function isValidInteger(i, min, max) {
	//if (trim(i) == "") return 0
	if (isNaN(i)) return -1
	if (min!="-") if (i<min) return -1
	if (max!="-") if (i>max) return -1
	return 1
}

function isValidEmail(st) {
	st=trim(st)
	if (st == "") return 0
	if (st.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*[A-Za-z0-9]+$/) == -1) return -1
	if (st.search(/\s+/)!=-1) return -1
	return 1
}

function isValidHTTP_URL(st) {
	st=trim(st)
	if (st == "" || st == 'http://') return 0;
	if (st.indexOf('http://')!=0) st = 'http://'+st;
	//if (st.search(/^http:\/\/[A-Za-z0-9]+((\.|-|\\|\/|\_|\~)[A-Za-z0-9]+)*\/{0,1}$/) == -1) return -1;
	if (st.search(/^http:\/\/[A-Za-z0-9:]+((\.|-|\\|\/|\_)[A-Za-z0-9~%?&=:,_;+#$!@]+)*\/{0,1}$/) == -1) return -1;
	if (st.search(/\s+/)!=-1) return -1;
	return 1;
}

function encodeURL(st){
	tmpst=''
	for (i=0; i<st.length; i++)
		tmpst+= escape(st.charAt(i));
	return tmpst;
}
