function isDate(d)
{
	try{
		$.datepicker.parseDate('yy-M-dd', d);
		return true;
	}
	catch(ex) {
		return false;
	}
	/*var valid = false;
	// DD-MM-YYYY
	var arrDate = d.split('-');
	var dd = parseInt(arrDate[0], 10);
	var mm = parseInt(arrDate[1], 10);
	var yyyy = parseInt(arrDate[2], 10);
	if(isNaN(dd) || isNaN(mm) || isNaN(yyyy)) {
		valid = false;
	}
	else {
		var d2 = new Date(yyyy, mm-1, dd);
		if(d2.getFullYear() == yyyy && d2.getMonth() == (mm-1) && d2.getDate() == dd) {
			valid = true;
		}
	}
	return valid;*/
}

function isGreaterThanCurrentDate(sDate)
{
	var valid = false;
	sDate = convertToDDMMYY(sDate);
	// DD-MM-YYYY
	var currentDate = new Date();	
	var arrDate = sDate.split('-');
	var dd = parseInt(arrDate[0], 10);
	var mm = parseInt(arrDate[1], 10);
	var yyyy = parseInt(arrDate[2], 10);
	var d2 = new Date(yyyy, mm-1, dd);	
	
	if(d2.getFullYear() >= currentDate.getFullYear()) {
		if(d2.getFullYear() == currentDate.getFullYear()) {
			if(d2.getMonth() >= currentDate.getMonth()) {
				if(d2.getMonth() == currentDate.getMonth()) {
					if(d2.getDate() >= currentDate.getDate()){
						valid = true;
					}
				}
				else {
					valid = true;
				}
			}
		}
		else {
			valid = true;
		}
	}

	return valid;
}

function isDateGE(sDate1,sDate2)
{
	var valid = false;
	sDate1 = convertToDDMMYY(sDate1);
	sDate2 = convertToDDMMYY(sDate2);
	// DD-MM-YYYY
	var arrDate1 = sDate1.split('-');
	var d1 = new Date(parseInt(arrDate1[2], 10),parseInt(arrDate1[1], 10)-1,parseInt(arrDate1[0], 10));	
	
	var arrDate2 = sDate2.split('-');
	var d2 = new Date(parseInt(arrDate2[2], 10),parseInt(arrDate2[1], 10)-1,parseInt(arrDate2[0], 10));
	
	if(d1 >= d2)
		valid = true;

	return valid;
}

function isGTJourneyTime(arrStartTime, arrEndTime, arrJourneyTime) {
	//alert(arrStartTime);
	//alert(arrEndTime);
	var valid = false;	
	var arrResult = new Array();
	var arrStartTime1 = new Array(arrStartTime[0],arrStartTime[1],arrStartTime[2]);
	var arrEndTime1 = new Array(arrEndTime[0],arrEndTime[1],arrEndTime[2]);
	
	arrStartTime1[0] = eval(arrStartTime1[0]);
	arrEndTime1[0] = eval(arrEndTime1[0]);
	arrJourneyTime[0] = eval(arrJourneyTime[0]);
	//arrJourneyTime[1] = eval(arrJourneyTime[1]);
	//arrEndTime1[1] = eval(arrEndTime1[1]);
	//arrStartTime1[1] = eval(arrStartTime1[1]);
	
	if(arrStartTime1[2] == 'PM') {
		if(arrStartTime1[0] != 12)
			arrStartTime1[0] = arrStartTime1[0] + 12;			
	}
	else {
		if(arrStartTime1[0] == 12)
			arrStartTime1[0] = arrStartTime1[0] - 12;			
	}
	
	if(arrEndTime1[2] == 'PM') {
		if(arrEndTime1[0] != 12)
			arrEndTime1[0] = arrEndTime1[0] + 12;
	}
	else {
		if(arrEndTime1[0] == 12)
			arrEndTime1[0] = arrEndTime1[0] - 12;
	}
	
	if(arrEndTime1[1] < arrStartTime1[1]) {
		arrResult[1] = arrEndTime1[1] + 60 - arrStartTime1[1];
		arrResult[0] = arrEndTime1[0] - (arrStartTime1[0] + 1);
	}
	else {
		arrResult[1] = arrEndTime1[1] - arrStartTime1[1];
		arrResult[0] = arrEndTime1[0] - arrStartTime1[0];
	}
		
	if(arrResult[0] > arrJourneyTime[0])
		valid = true;
	else {
		if(arrResult[0] == arrJourneyTime[0] && (arrResult[1] >= arrJourneyTime[1])) {
			valid = true;			
		}
	}
	
	return valid;
}

function getOutZero(string) { 
	if(string.charAt(0) == '0')
		string = string.substring(1, string.length)
	return  string;		
}	

function isValidArrDepTime(arrStartTime, arrEndTime) {
	var valid = false;	
	var arrResult = new Array();
	var arrStartTime1 = new Array(arrStartTime[0],arrStartTime[1],arrStartTime[2]);
	var arrEndTime1 = new Array(arrEndTime[0],arrEndTime[1],arrEndTime[2]);
	
	arrStartTime1[0] = getOutZero(arrStartTime1[0]);
	arrEndTime1[0] = getOutZero(arrEndTime1[0]);
	
	arrStartTime1[0] = eval(arrStartTime1[0]);
	arrEndTime1[0] = eval(arrEndTime1[0]);
	
	if(arrStartTime1[2] == 'AM' && arrEndTime1[2] == 'PM') {
		return true;				
	}
	else {
		if(arrStartTime1[2] == 'PM' && arrEndTime1[2] == 'AM')
			return false;
	}

	if(arrStartTime1[0] == 12) {
		arrStartTime1[0] = 0;
	}
	
	if(arrEndTime1[0] == 12) {
		arrStartTime1[0] = 0;
	}	
	if(arrEndTime1[0] > arrStartTime1[0]) {
		valid = true;	
	}
	if(arrEndTime1[0] == arrStartTime1[0] && arrEndTime1[1] > arrStartTime1[1]) {
		valid = true;			
	}
	return valid;
}
//edit by TTSon 08/06/11
function isTimeEntryBlank(idControl) {
	var valid = false;	
	if($('#' + idControl).val() == '')
	{
		valid = true;			
		
	}
	//alert(valid);
/*	else if($('#' + idControl + 'M').val() != '' && ($('#' + idControl + 'H').val() == '' || $('#' + idControl + 'AMPM').val() == ''))
		valid = true;
	else if($('#' + idControl + 'AMPM').val() != '' && ($('#' + idControl + 'H').val() == '' || $('#' + idControl + 'M').val() == ''))
		valid = true;		*/

	return valid;
}

function isTimeEntryAllBlank(idControl) {
	var valid = false;	
	
	if($('#' + idControl).val() == '')
	{
		valid = true;			
		
	}
		
	return valid;
}

function trim(s)
{
	return s.replace(/^\s+|\s+$/g,"");

}

function convertToDDMMYY(sDate) {
	return $.datepicker.formatDate('dd-mm-yy', $.datepicker.parseDate('dd-M-yy', sDate));
}