/*
usage: 
<script src="http://..../compareDate.js"></script>
<script>
	document.form1.f11.onchange = new Function("onChangeDate(this,'>=','please enter future date or today')");
</script>

*/
//===================================================================
//  
//  compareDate: compare date to today, return -1 if past, 0 if equals 1 if future date
//  
//===================================================================
function compareDate(dateString) {
	if (dateString.search(/\d/) == -1) {	// empty value
		return "";
	}
	var dd = 0;
	var mm = 0;
	var yyyy = 0;
	var D = new Date();
	var value0 = date2SQL(dateString);
	if (value0 == 0) {
		return "";
	}
	//-------------------------------------------
	yyyy = D.getFullYear();
	mm = D.getMonth() + 1;
	dd = D.getDate();
	if (dd < 10) {
		dd = "0"+(dd - 0);
	}
	if (mm < 10) {
		mm = "0"+(mm - 0);
	}
	var value1 = ""+yyyy+mm+dd;
	//-------------------------------------------
	if (value0 < value1) {
		return "-1";
	}
	if (value0 == value1) {
		return "0";
	}
	return "1";
}

//===================================================================
//  
//  date2SQL: normalize date to SQL style yyyymmdd 
//  
//===================================================================
function date2SQL(dateString) {
	if (dateString.search(/\d/) == -1) {	// empty value
		return 0;
	}
	var dd = 0;
	var mm = 0;
	var yyyy = 0;
	if (dateString.search(/(\d{1,2})\D(\d{1,2})\D(\d{4})/) != -1) {		// 30/12/2008
		dd = RegExp.$1 - 0;
		mm = RegExp.$2 - 0;
		yyyy = RegExp.$3 - 0;
	}
	else if (dateString.search(/(\d{4})\D(\d{2})\D(\d{2})/) != -1) {		// 2010-05-20
		dd = RegExp.$3 - 0;
		mm = RegExp.$2 - 0;
		yyyy = RegExp.$1 - 0;
	}
	else if (dateString.search(/(\d{1,2})\D(\d{1,2})\D(\d{2})/) != -1) {		// 30/12/08
		dd = RegExp.$1 - 0;
		mm = RegExp.$2 - 0;
		yyyy = RegExp.$3 - 0;
		yyyy = (yyyy < 30) ? (yyyy+2000) : (yyyy+1900);
	}
	else if (dateString.search(/(\d{2})(\d{2})(\d{4})/) != -1) {
		dd = RegExp.$1 - 0;
		mm = RegExp.$2 - 0;
		yyyy = RegExp.$3 - 0;
	}
	else if (dateString.search(/(\d{2})(\d{2})(\d{2})/) != -1) {
		dd = RegExp.$1 - 0;
		mm = RegExp.$2 - 0;
		yyyy = RegExp.$3 - 0;
		yyyy = (yyyy < 30) ? (yyyy+2000) : (yyyy+1900);
	}
	else {
		return 0;
	}
	
	//-------------------------------------------
	if ((dd < 1) || (dd > 31)) {
		return 0;
	}
	//-------------------------------------------
	if ((mm < 1) || (mm > 12)) {
		return 0;
	}
	//-------------------------------------------
	if (dd < 10) {
		dd = "0"+(dd - 0);
	}
	if (mm < 10) {
		mm = "0"+(mm - 0);
	}
	var ret = ""+yyyy+mm+dd;
	return ret;

}


