function img_resize(obj)
{
	//var pWidth = obj.parentNode.style.width;
	//pWidth = pWidth.replace("px","");
	var pHeight = obj.parentNode.style.height;
	pHeight = pHeight.replace("px","");
	
	var myWidth = obj.width;
	var myHeight = obj.height;
	
	if(myHeight > pHeight)
	{
		obj.height = pHeight;
		obj.width = (myWidth/myHeight) * pHeight;
	}
}

function countdown(Time_Left, format)
 {
	TimeLeft =		Time_Left;
	 if(Time_Left <= 0)
	 {
	 	document.getElementById("countdown").innerHTML='';
	 }
	 else
	 {
		 switch(format)
		 {
		   case 0:
				//The simplest way to display the time left.
				document.getElementById("countdown").innerHTML=Time_Left + ' giây';
				//document.all.countdown.innerHTML = Time_Left + ' giây';
				break;
		   case 1:
				//More datailed.
				days = Math.floor(Time_Left / (60 * 60 * 24));
				Time_Left %= (60 * 60 * 24);
				hours = Math.floor(Time_Left / (60 * 60));
				Time_Left %= (60 * 60);
				minutes = Math.floor(Time_Left / 60);
				Time_Left %= 60;
				seconds = Time_Left;
				
				dps = ''; hps = ''; mps = ''; sps = '';
				//ps is short for plural suffix.
				if(days == 1) 
					dps ='';
				if(hours == 1) 
					hps ='';
				if(minutes == 1) 
					mps ='';
				if(seconds == 1) 
					sps ='';
				
				if(hours < 10) 
					hours = '0' + hours;
				if(minutes < 10) 
					minutes = '0' + minutes;
				if(seconds < 10) 
					seconds = '0' + seconds;
				
				document.getElementById("countdown").innerHTML= '';	
				
				if(days)
				{
					document.getElementById("countdown").innerHTML= days + ' ngày' + dps + ' ';
					document.getElementById("countdown").innerHTML += hours + ' giờ' + hps + ' ';
					document.getElementById("countdown").innerHTML += minutes + ' phút' + mps + ' ';
					document.getElementById("countdown").innerHTML += seconds + ' giây' + sps;
				}	
				else
				{
					if(hours)
					{
						document.getElementById("countdown").innerHTML += hours + ' giờ' + hps + ' ';
						document.getElementById("countdown").innerHTML += minutes + ' phút' + mps + ' ';
						document.getElementById("countdown").innerHTML += seconds + ' giây' + sps;
					}
					else
					{
						if(minutes)
						{
							document.getElementById("countdown").innerHTML += minutes + ' phút' + mps + ' ';
							document.getElementById("countdown").innerHTML += seconds + ' giây' + sps;
						}
						else
						{
							document.getElementById("countdown").innerHTML += seconds + ' giây' + sps;
						}
					}
				}				
				
				break;
		   default: 
				document.getElementById("countdown").innerHTML = Time_Left + ' giây';
		 }
		 //Recursive call, keeps the clock ticking.
		 setTimeout("countdown(" + (TimeLeft-1) +","+format+ ")", 1000);
	 }
}
function countdown_clock(TimeLeft, format)
{
	// html_code = '<div id="countdown"></div>';
	// document.write(html_code);
	 countdown(TimeLeft, format);                
}

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
		if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
		for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
		if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function stdzSlashes(dm) {
	var len = dm.elements.length;
	var i = 0;
	for(i = 0; i < len; i++) {
		if( dm.elements[i].value ) {
			dm.elements[i].value = dm.elements[i].value.replace(RegExp("\'{1}" , "g"), "\\\'");
		}
	}
	return true;
}


function addSlashes( sText ) {
	if( sText) {
		return sText.replace(RegExp("\'{1}" , "g"), "\\\'");
	} else
	return sText;
}


function isNaturalNumber( sText ) {
	var re = /^[\d]+$/;
	return re.test( sText );
}


function isIntNumber( sText ) {
	if( sText.toString( ) == '-0' ) return false;

	var re = /^\-?[\d]+$/;
	return re.test( sText );

}


function isFloatNumber( sText ) {
	if( sText.toString( ) == '-0' ) return false;

	var re = /^\-?[\d]+$/;
	if( re.test( sText ) ) return true;
	re = /^\-?[\d]+\.[\d]+$/;
	return re.test( sText );
}


function isEmpty( sText ) {
	if( !sText ) return false;

	return true;
}


function isNumberFormat( sText, sFormat ) {
	var specCharPattern = /[\D]/;
	var specChar = sFormat.match( specCharPattern );
	var aNum = sFormat.split( specChar );

	var sCmd = "var re = /^";
	for( var iC = 0; iC < aNum.length; iC++ ) {
		if( iC != 0 )
		sCmd += "\\" + specChar;
		sCmd += "[0-9]{" + aNum[iC] + "}";
	}
	sCmd += "$/;";
	eval( sCmd );
	return re.test( sText );
}


// validates that the entry is formatted as an email address
function isEmail( sText ) {
	var str = sText;
	var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
	if (!str.match(re)) {
		return false;
	} else {
		return true;
	}
}

function isUsername( sText ) {
	var str = sText;
	var re = /^[a-zA-Z0-9_-]{6,20}$/;
	if (!str.match(re)) {
		return false;
	} else {
		return true;
	}
}


function isValidInput(  ) {
	var sText = "";
	var bEmptyAllowed = true;
	var bSpaceAllowed = true;

	switch( arguments.length ) {
		case 1:
		sText = arguments[0];
		break;
		case 2:
		sText = arguments[0];
		bEmptyAllowed = arguments[1];
		break;
		case 3:
		sText = arguments[0];
		bEmptyAllowed = arguments[1];
		bSpaceAllowed = arguments[2];
		break;
	}

	if( bEmptyAllowed ) {
		if( bSpaceAllowed )
		var re = /^[a-zA-Z0-9_\s]*$/;
		else
		var re = /^[a-zA-Z0-9_]*/;
	}
	else {
		if( bSpaceAllowed )
		var re = /^[a-zA-Z0-9_\s]+$/;
		else
		var re = /^[a-zA-Z0-9_]+$/;
	}

	return re.test( sText );

}


function printPage() { print(document); }


function getInput( p_sFormId, p_sInputName ) {
	var oForm = document.getElementById( p_sFormId );
	eval( "var vInputVal = oForm." + p_sRadioName + ".value;" );
	return vInputVal;
}


function getRadio( p_sFormId, p_sRadioName ) {
	var oForm = document.getElementById( p_sFormId );

	var checkedVal;
	eval( "var aRadio = oForm." + p_sRadioName + ";" );
	if( aRadio.length ) {
		for( var iC = 0; iC < aRadio.length; iC++ ) {
			if( aRadio[iC].checked ) {
				checkedVal = aRadio[iC].value;
				break;
			}
		}
	} else {
		if( aRadio.checked ) {
			checkedVal = aRadio.value;
		}
	}

	return checkedVal;
}


/*
*	Param:
*		p_sGName: multiple select box name(not including '[]')
*	Return:
*		option array (option within the multiple select box)
*		checked option number
*		unchecked option number
*		checked values array
*/
function getOptionGroup( p_sGName ) {
	var oSelect = document.getElementById( p_sGName + '[]' );
	var aInput = oSelect.getElementsByTagName( "option" );
	var aCheckOption = new Array( );
	var aCheckedValue = new Array( );
	var aTemp = p_sGName.split( "[]" );
	var sGName = aTemp[0];

	var iNum = 0;
	var iCheckedNum = 0;
	var iUncheckedNum = 0;
	for( var iC = 0; iC < aInput.length; iC++ ) {
		aCheckOption[iNum++] = aInput[iC];
		if( aInput[iC].selected == true ) {
			aCheckedValue[iCheckedNum] = aInput[iC].value;
			iCheckedNum ++;
		}
		else
		iUncheckedNum++;
	}

	return Array( aCheckOption, iCheckedNum, iUncheckedNum, aCheckedValue );
}


//-- Functions set controls checkbox groups interaction
/*
*	Call on 'checkall' checkbox
*	Param:
*		p_sGName: checkbox group name(including '[]')
*/
function checkAll( p_sGName ) {
	var aTemp2 = p_sGName.split( "[]" );
	var sGName = aTemp2[0];
	var oCheckAll = document.getElementById( sGName + "All" );

	var aTemp = getCheckGroup( p_sGName );
	var aCheckbox = aTemp[0];
	var iCheckedNum = aTemp[1];

	for( var iC = 0; iC < aCheckbox.length; iC++ ) {
		aCheckbox[iC].checked = oCheckAll.checked;
	}

}


/*
*	Call on each checkbox in group
*	Param:
*		p_sGName: checkbox group name(including '[]')
*		p_vValue: checkbox value
*/
function checkOne( p_sGName, p_vValue ) {
	var aTemp2 = p_sGName.split( "[]" );
	var sGName = aTemp2[0];
	var oCheckAll = document.getElementById( sGName + "All" );

	var aTemp = getCheckGroup( p_sGName );
	var aCheckbox = aTemp[0];
	var iCheckedNum = aTemp[1];

	if( iCheckedNum == aCheckbox.length )
	oCheckAll.checked = true;
	else
	oCheckAll.checked = false;
}


/*
*	Param:
*		p_sGName: checkbox group name(not including '[]')
*	Return:
*		checkbox array(checkboxes in the group)
*		checked checkbox number
*		unchecked checkbox number
*		checked values array
*/
function getCheckGroup( p_sGName ) {
	var aInput = document.getElementsByTagName( "input" );
	var aCheckbox = new Array( );
	var aCheckedValue = new Array( );
	var aTemp = p_sGName.split( "[]" );
	var sGName = aTemp[0];

	var iNum = 0;
	var iCheckedNum = 0;
	var iUncheckedNum = 0;
	for( var iC = 0; iC < aInput.length; iC++ ) {
		if( aInput[iC].type == "checkbox" && aInput[iC].name == sGName + "[]" ) {
			aCheckbox[iNum++] = aInput[iC];
			if( aInput[iC].checked == true ) {
				aCheckedValue[iCheckedNum] = aInput[iC].value;
				iCheckedNum ++;
			}
			else
			iUncheckedNum++;
		}
	}

	return Array( aCheckbox, iCheckedNum, iUncheckedNum, aCheckedValue );
}

function setCheckGroup( p_sGName, strID ) {
	var aInput = document.getElementsByTagName( "input" );
	var aTemp = p_sGName.split( "[]" );
	var sGName = aTemp[0];
	var arrID = strID.split( "," );
	
	for( var iC = 0; iC < aInput.length; iC++ ) {
		if( aInput[iC].type == "checkbox" && aInput[iC].name == sGName + "[]" &&  arrID.has(aInput[iC].value) == true ) {
			aInput[iC].checked = true;
		}
	}

}

Array.prototype.has=function(v,i){
	for (var j=0;j<this.length;j++){
	if (this[j]==v) return (!i ? true : j);
	}
	return false;
}

//-- End


function isValidDate(fieldVal)
{
	// Begin
	// Checks for the following valid date formats:
	// DD/MM/YYYY  DD-MM-YYYY
	// Also separates date into month, day, and year variables
	var datePat = /^(\d{1,2})(\/)(\d{1,2})\2(\d{4})$/;

	/*
	^^^^ Information about this string ^^^^
	Ignore first and last '/' it is code for RegExp
	Anything between () will be matched and remembered for later use

	^ matches first input
	$ matches last input
	\ means that the next char after the '\' has a special meaning
	\2 means same thing as second operation in this case its : (\/|-)
	d means digit, it matches a number from 0 to 9
	{n,m] = matches at least N and at most M occurences. N & M are assumed to be positive
	*/
	var matchArray = fieldVal.match(datePat); // is the format ok?
	if (matchArray == null)
	{
		errMsg = 'Hay nhap thong tin vao theo dang DD/MM/YYYY!!!'
		//alert(errMsg);
		isError = true
		return errMsg;
	}
	month = matchArray[3]; // parse date into variables
	day = matchArray[1];
	year = matchArray[4];
	if (month < 1 || month > 12)  // check month range
	{
		errMsg ='Thang phai nam giua 1 va 12!!!'
		//alert(errMsg);
		isError=true
		return errMsg;
	}
	if (day < 1 || day > 31)
	{
		errMsg ='Ngay phai nam giua 1 va 31'
		//alert(errMsg);
		isError=true
		return errMsg;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31)
	{
		errMsg ="Thang "+month+" khong co 31 ngay!"
		//alert(errMsg);
		isError=true
		return errMsg
	}
	if (month == 2)  // check for february 29th
	{
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			errMsg = "Thang 2 nam " + year + " khong co ngay thu " + day + " !!!";
			///alert(errMsg);
			isError=true
			return errMsg;
		}
	}
	return true;  // date is valid
}

function CheckValidUrl(strUrl){
	  var RegexUrl = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	  return RegexUrl.test(strUrl);
}

function loadPage(total_page,currentpage,divid)
{
	if(total_page>1)
	{
		for(i=1;i<=total_page;i++)
		{
			div_id = divid+i;
			dive_page_id = divid+"page_"+i;
			if(i==currentpage)
			{
				document.getElementById(div_id).style.display='inline';
				document.getElementById(dive_page_id).style.color='#FF0000';
				document.getElementById(dive_page_id).style.backgroundColor='#c0c0c0';
				document.getElementById(dive_page_id).style.fontWeight='bold';
			}
			else
			{
				document.getElementById(div_id).style.display='none';
				document.getElementById(dive_page_id).style.color='#cccccc';
				document.getElementById(dive_page_id).style.backgroundColor='#FFFFFF';
				document.getElementById(dive_page_id).style.fontWeight='normal';
			}
		}
    }
}
function checkLength(str)
{
	arr_str = str.split(" ");
	total = 0;
	for(i=0;i<arr_str.length;i++)
	{
		if(arr_str[i].length>10)
			total++;
	}

	if(total>0)
		return false;
	else
		return true;

}
function loadHTMLById(idDiv,str){
	$("#"+idDiv).html(str); 
}
function doLogout(){
	document.location.href = "index.php?sys_sOption=users&sys_sTask=logout";	
}
function jsRedir(sTab,sOption,sTask,sAct,sString){
	var url = makeURl(sTab,sOption,sTask,sAct,sString);
	window.location.href=url;
}
function makeURl(sTab,sOption,sTask,sAct,sString){
	var rTask = (sTask != '' && sTask != undefined )? '&sys_sTask='+sTask:'';
	var rAct = (sAct != '' && sAct != undefined )? '&sys_sAct='+sAct:'';
	var rString = (sString != '' && sString != undefined)? sString:'';
	var url = "index.php?sys_sTab="+sTab+"&sys_sOption="+sOption+rTask+rAct+rString;
	return url;
}

function check_is_valid_file(obj,type){
	var check = $("#"+obj).val();
	var dump  = check.split('/');
	var file_name = dump.pop();
	var tail = file_name.split('.');
	var str = '';
	var validFormat = '';
	tail = tail.pop();
	tail = tail.toLowerCase();
	if (type == "mp3"){
		str = 'mp3';
		validFormat = 'MP3';
	}else if(type == "flash"){
		str = 'swf';
		validFormat = 'SWF';
	}else{
		str = 'jpggifpngjpeg';
		validFormat = 'JPG hoặc GIF hoặc PNG hoặc JPEG';
	}
		
	if(str.match(tail) == null || check == ''){
		$("#"+obj).val("");
		alert('Bạn hãy chọn đúng định dạng file '+validFormat+'.\nFile bạn chọn có dịnh dạng ".'+tail+'"');
		return false;
	}
	return true;
}

function msg_error_upload(status){
	switch(status){
		case "1": var err = "Phải nhập địa chỉ server upload."; break;
		case "2": var err = "Định dạng file upload không đúng."; break;
		case "3": var err = "Dung lượng file upload phải nhỏ hơn hoặc bằng quy định."; break;
		case "4": var err = "Có lỗi xảy ra trong quá trình xử lý, Xin mời bạn thử lại."; break;
	}
	return err;
}

function getTextGroup( p_sGName,p_hGName ) {
	var aInput = document.getElementsByTagName( "input" );
	var aTextbox = new Array( );
	var aTextValue = new Array( );
	var aHiddenValue = new Array();
	
	var aTemp = p_sGName.split( "[]" );
	var sGName = aTemp[0];
	
	var hTemp = p_hGName.split( "[]" );
	var hGName = hTemp[0];
	
	
	var tNum = 0;
	var hNum = 0;
	for( var iC = 0; iC < aInput.length; iC++ ) {
		if( aInput[iC].type == "text" && aInput[iC].name == sGName + "[]" ) 
		{
			aTextbox[tNum] = aInput[iC];
			aTextValue[tNum] = aInput[iC].value;
			tNum ++;
		}
		
		if( aInput[iC].type == "hidden" && aInput[iC].name == hGName + "[]" ) 
		{
			aHiddenValue[hNum] = aInput[iC].value;
			hNum ++;
			
		}
		
	}
	
	return Array( aTextbox, tNum, aTextValue, aHiddenValue );
}

function sortItem(field){
	var curType = $('#curTypeSort').val();
	jsRedir(oRootEngine.sys_sTab,oRootEngine.sys_sOption,oRootEngine.sys_sTask,'','&field='+field+'&type='+curType);
}

function makeTitleSort(subject,field){
	var curType = $('#curTypeSort').val();
	var title = (curType == 'ASC')? 'sắp xếp theo chiều tăng':'sắp xếp theo chiều giảm';
	var str = '<a href="#null" onclick="sortItem(\''+field+'\');" title="'+title+'">'+subject+'</a>';
	document.write(str);
}

function loading(div,status){	
	if(status==1){		
		$('#'+div).html('&nbsp;<img src="'+oRootEngine.m_sFilePathLayout+'images/ajax-loader.gif" />');
	}else{
		$('#'+div).html('');
	}
}

function timchuyen(curDate){
	var ser_id = $('#ser_id').val();
	var start_id = $('#start_id').val();
	var end_id = $('#end_id').val();
	var redirect = $('#hdRedirect').val();
	var date1 = ($('#date1').val() != undefined)? $('#date1').val():'';
	var date2 = ($('#date2').val() != undefined)? $('#date2').val():'';
	var arrCompare1 = date_compare(date1, curDate);
	var arrCompare2 = date_compare(date2, date1);
		
	if(ser_id == 0){
		alert("Bạn phải chọn phương tiện");	
		$('#ser_id').focus();
		return;
	}
	if(start_id == 0){
		alert("Bạn phải chọn điểm xuất phát");	
		$('#start_id').focus();
		return;
	}
	if(end_id == 0){
		alert("Bạn phải chọn điểm đến");	
		$('#end_id').focus();
		return;
	}	
	if(date1 == '' || arrCompare1[1] < 1){
		alert("Ngày đi phải lớn hơn hoặc bằng ngày hiện tại");	
		$('#date1').focus();
		return;	
	}
	if(redirect == 2){
		if(date2 == '' || arrCompare2[1] < 1){
			alert("Ngày về phải lớn hơn ngày đi ít nhất 1 ngày");	
			$('#date2').focus();
			return;	
		}		
	}
		
	$.ajax({
	   	type: "POST",
	   	url: oRootEngine.linkAjaxFile+"?cmd=searchtrip",
	   	beforeSend: function(){ loading('tcloading',1) },
	   	data: ({ ser_id: ser_id, start_id: start_id, end_id: end_id, date1: date1, date2: date2, redirect: redirect }),
	   	success: function(data){
		 	window.location.href = data;
		}
	});	
}

function showRedirect(value){
	//alert(value);
	if(value == '1'){
		$("#date2").val("");
		$("#chieuve").hide();
	}else{
		$("#chieuve").show();
	}
	$("#hdRedirect").val(value);
}

function date_compare(date1, date2){
	var adate1 = String(date1).split("-");
	var adate2 = String(date2).split("-");
	var day1 	= parseInt(convertStringDate(adate1[0]));
	var month1 	= parseInt(convertStringDate(adate1[1]));
	var year1 	= parseInt(adate1[2]);
	var day2 	= parseInt(convertStringDate(adate2[0]));
	var month2 	= parseInt(convertStringDate(adate2[1]));
	var year2 	= parseInt(adate2[2]);
	
	var status = (year2 > year1) ? false : (month2 > month1) ? false : (day2 >= day1) ? false : true;
	var total_date = (year1 - year2) * 365;
	total_date += (month1 - month2) * 30 ;
	total_date += day1 - day2;
	var exten = (total_date >= 0 ) ? 1 : -1;
	total_date = total_date + exten;
	
	return Array(status, total_date);
}

function convertStringDate(str){
	var check = '';
	var strReturn = '';
	if(str != "" && str != undefined){
		check = str.substr(0,1);
		if(check == '0'){
			strReturn = str.substr(1,str.length);
		}else{
			strReturn = str;
		}
	}
	return strReturn;
}

function dangnhaptv(){
	var user = $("#txt_username").val();	
	var pass = $("#txt_password").val();	
	
	if(user == ""){
		alert("Bạn phải nhập tên đăng nhập!");	
		$("#txt_username").focus();
		return;
	}else if(pass == ""){
		alert("Bạn phải nhập mật khẩu!");	
		$("#txt_password").focus();
		return;
	}
	
	$.ajax({
	   type: "POST",
	   url: oRootEngine.linkAjaxFile+"?cmd=logintv",
	   beforeSend: function(){ loading('login',1) },
	   data: "&user="+user+"&pass="+pass,
	   success: function(data){
		 	if(data == "done"){
		 		window.location.href = oRootEngine.m_sAbsPath;
			}else{
				alert(data);
				$('#login').html('<img src="'+oRootEngine.m_sFilePathLayout+'images/icon-login.GIF" onclick="return dangnhaptv();">');
			}
	   }
	});
}

function dangnhapdl(){
	var user = $("#txt_username").val();	
	var pass = $("#txt_password").val();	
	
	if(user == ""){
		alert("Bạn phải nhập tên đăng nhập!");	
		$("#txt_username").focus();
		return;
	}else if(pass == ""){
		alert("Bạn phải nhập mật khẩu!");	
		$("#txt_password").focus();
		return;
	}
	
	$.ajax({
	   type: "POST",
	   url: oRootEngine.linkAjaxFile+"?cmd=logindl",
	   beforeSend: function(){ loading('logindl',1) },
	   data: "&user="+user+"&pass="+pass,
	   success: function(data){
		 	if(data == "done"){
		 		window.location.href = oRootEngine.m_sAbsPath;
			}else{
				alert(data);
				$('#logindl').html('<img src="'+oRootEngine.m_sFilePathLayout+'images/icon-login.GIF" onclick="return dangnhapdl();">');
			}
	   }
	});
}

function getLocation(idDiv,type){
	var ser_id = $('#ser_id').val(); 
	var start_id = $('#start_id').val(); 
	
	$('#end_id').html('<option value="0">Nơi đến</option>');
	$('#end_id').attr("disabled","disabled");
	
	$.ajax({
	   type: "POST",
	   url: oRootEngine.linkAjaxFile+"?cmd=get-location-option",
	   data: "type="+type+"&ser_id="+ser_id+"&start_id="+start_id,	   
	   success: function(data){
	   		$('#'+idDiv).html(data);
	   		if(type=='end')
	   			$('#end_id').attr("disabled","");
	   }
	 });
	
}

function getServiceDate(){
	var ser_id = $('#ser_id').val(); 
	$.ajax({
		type: "POST",
		url: oRootEngine.linkAjaxFile+"?cmd=getServiceDate",
		beforeSend: function(){ loading('tcloading',1) },
		data: {ser_id: ser_id},	 
		dataType: "json",  
		success: function(data1){
			loading('tcloading',0);
			$("#date1").datepicker("option", "minDate", data1.curdate);
			$("#date2").datepicker("option", "minDate", data1.nextdate);
		}
	});
}

function getSubstation(idDiv){
	var start_id = $('#start_id').val(); 
	var end_id = $('#end_id').val(); 
	
	$.ajax({
	   type: "POST",
	   url: oRootEngine.linkAjaxFile+"?cmd=getSubstation",
	   data: "&start_id="+start_id+"&end_id="+end_id,
	   success: function(data){
	   		$('#'+idDiv).html(data);
	   }
	 });
	
}

function getTime(idDiv){
	var start_id = $('#start_id').val(); 
	var end_id = $('#end_id').val(); 
	var substation_id = $('#substation_id').val();
	 
	$.ajax({
	   type: "POST",
	   url: oRootEngine.linkAjaxFile+"?cmd=getTime",
	   data: "&start_id="+start_id+"&end_id="+end_id+"&substation_id="+substation_id,
	   success: function(data){
	   		$('#'+idDiv).html(data);
	   }
	 });
}

function reswriteUrl(sOption,sTask,sQuery){
	var linkReturn = oRootEngine.m_sAbsPath+'index.php?sys_sOption='+sOption+'&sys_sTask='+sTask+sQuery;
	return linkReturn;
}

function module_url(section,sQuery){
	var linkReturn = oRootEngine.m_sAbsPath+section+'/module.php?'+sQuery;
	return linkReturn;
}

function refreshParent() {
	window.opener.location.href = window.opener.location.href;
	if (window.opener.progressWindow){
		window.opener.progressWindow.close();
	}
	window.close();
}

function check_codeDL(){
	var flag = $('#flag').val();
	var ticketCode = $('#ticketCode').val();
	var mobile = $('#mobile').val();
	if(ticketCode == '' && mobile == ''){
		alert('Vui lòng nhập mã vé hoặc số di động để tìm kiếm!');
		$('#ticketCode').focus();
		return;
	}else if(flag == 0 && $('#oID').val() > 0){
		$('#mobile').focus();
		return;
	}else{
		$('#searchTicket').submit();	
	}	
}

function check_codeTV(){	
	var ticketCode = $('#ticketCode').val();
	var mobile = $('#mobile').val();
	if(ticketCode == '' || mobile == ''){
		alert('Vui lòng nhập cả mã vé và số di động để tìm kiếm!');
		$('#ticketCode').focus();
		return;
	}else{
		$('#searchTicket').submit();	
	}	
}

function loadSuggest(){
	phone_json = {
		script: function () { return 'ajax.php?cmd=suggestPhone&input='+$('#mobile').val() },
		width: 350,
		detail:true,
		timeout: 10000,
		json: true,
		callback: function(order){					
			if(order.id > 0){
				$('#oID').val(order.id);	
				$('#ticketCode').val(order.code);	
				$('#flag').val(1);		
			}else{
				$('#oID').val(0);
				$('#ticketCode').val('');
				$('#flag').val(0);				
			}			
		}
	};
	phone_json = new bsn.AutoSuggest('mobile', phone_json);
}

function autoLogin(e,type){
	var keynum;
	
	if(window.event){
		keynum = e.keyCode;
	}else if(e.which){
		keynum = e.which;
	}

	if( keynum == 13){	
		if(type=='tv')   
       		dangnhaptv();
       	else
       		dangnhapdl();
	}	
}

function showAnswer(id){
	$('.answer').hide();
	$('#answer_'+id).show();
}

function checkChangePass(){
	var old_pass = $('#old_pass').val();
	var new_pass = $('#new_pass').val();
	var renew_pass = $('#renew_pass').val();
	if(old_pass == ''){
		alert('Vui lòng nhập mật khẩu cũ!');
		$('#old_pass').focus();
		return;
	}else if(new_pass == ''){
		alert('Vui lòng nhập mật khẩu mới!');
		$('#new_pass').focus();
		return;
	}else if(renew_pass == '' || renew_pass != new_pass){
		alert('Gõ lại mật khẩu mới không chính xác!');
		$('#renew_pass').focus();
		return;
	}	
	
	$("#frmChangePass").submit();
	return true;
}

function getComTrip(idDiv){
	var coID = $("#coID").val();
	$('#'+idDiv).attr("disabled","disabled");
	$.ajax({
	   type: "POST",
	   url: oRootEngine.linkAjaxFile+"?cmd=getComTrip",
	   data: "&coID="+coID,
	   success: function(data){
	   		$('#'+idDiv).html(data);
	   		$('#'+idDiv).attr("disabled","");
	   }
	 });
}

function summary(){
	var coID 		= $("#coID").val();
	var cotrID 		= $("#cotrID").val();
	var status 		= $("#status").val();
	var date1 		= $("#date1").val();
	var date2 		= $("#date2").val();	
	var arrCompare2 = date_compare(date2, date1);
	
	if(date2 != '' && (arrCompare2[1] < 1 || arrCompare2[1] > 31)){
		alert("Ngày kết thúc không hợp lệ!");	
		$('#date2').focus();
		return;	
	}
	
	var queryString = '';	
	if( coID > 0){ queryString += '&coID='+coID;}
	if( cotrID > 0){ queryString += '&cotrID='+cotrID;}
	if( status != 999){ queryString += '&status='+status;}
	if( date1 != ''){ queryString += '&date1='+date1;}
	if( date2 != ''){ queryString += '&date2='+date2;}
	
	window.location.href = reswriteUrl(oRootEngine.sys_sOption,oRootEngine.sys_sTask,queryString);

}

function StrToNum(num){
	var str='';
	for(var i=0; i < num.length; i++){
		if(num.charAt(i) !='.')
			str += num.charAt(i);
	}
	return str;	
}

function NumToStr(number){
    var res='';
	var len = number.length;
	
    if(len <= 3)
		return number;
	else{
		var pos = len%3;
		if(pos>0)
			res += number.substr(0, pos)+'.';
		for(var i=pos; i < len; i+=3){
			res += number.substr(i, 3);
			if(i < len-3)
				res += '.';
		}
	}
	return res;
}

function openMyModal(width,height)
{
    modalWindow.windowId = "myModal";
    modalWindow.width = width;
    modalWindow.height = height;
    modalWindow.open();
}

function closeMyModal(){
    modalWindow.close();
}

function viewJourney(strDiv,ticketID,cotrID,startID,stopID){
    var strTime = $('#'+strDiv+ticketID).val();
    if(strTime==null){
       alert('Hết chuyến!'); 
    }else{
        $.ajax({
            type: "POST",
            url: oRootEngine.linkAjaxFile+"?cmd=getJourney",
            data: {cotrID: cotrID, startID: startID, stopID: stopID, strTime: strTime},
            success: function(data){
                modalWindow.content = data;
                openMyModal(780,300);
            }
        });  
    }    
}
