var vehTrackPanelName="dvVehTrackPanel";
var vehTracePanelName="dvVehHistoryPanel";
var vehInfoPanelName="dvVehInfo";
var vehTrackURL="track.php";
var vehTraceURL="history.php";
var vehInfoURL="info.php";
var bTraceWinMax=false;
var bTrackWinMax=false;
var bMapPanelWinMax=false;
var autoRefresh=false;
var curVehID='';
var refreshTimer=10000;
var cTimeOut;
var reloadTimeOut;

function ajaxObject(mode)
{
	var xmlHttp;
	try{
  		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
		if(mode){
			if (xmlHttp.overrideMimeType) 
            	xmlHttp.overrideMimeType('text/xml');         			
		}
		
  	}catch(e){
  		// Internet Explorer
  		try{
    		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    	}catch(e){
    		try{
      			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      		}catch(e){
      			alert("Your browser does not support AJAX!");
      			return false;
      		}
    	}
  	}
	return xmlHttp;
}

function loadData(showMode,intTimer) {
	
	var objKeywordBox=document.getElementById("txtKeyword");
	var strKeyword="";
	if(objKeywordBox){
		strKeyword=objKeywordBox.value;		
	}
	if(objHDBox)
		exisitngVeh=objHDBox.value;
			
	var vehNum="";
	var chkMode='track';
	
	
	var exisitngVeh="";
	
	if(showMode=="all" || showMode=="load")
		vehNum="all";
	else{
		var objChkAll=document.getElementById("chkLocAll");
		var bChkAll=false;	
		if(objChkAll)
			bChkAll=objChkAll.checked;	
			
		var objCheckList=document.getElementsByName('chkTrack');	
		for(i=0;i<objCheckList.length;i++){
			if(!objCheckList[i].checked){
				objChkAll.checked=false;
				bChkAll=false;
			}	
		}		
				
		if(showMode!=1 && bChkAll==true)
			vehNum='all';
		else{
			objChkAll.checked=false;			
			var objHDBox=document.getElementById("hdVehNumPg");
			if(objHDBox)
				exisitngVeh=objHDBox.value;
		
			vehNum=getIDFromCheckList(exisitngVeh,'chkTrack'); // from functions.js
		}
		
		var objChkTraceAll=document.getElementById("chkTraceAll");
		if(vehNum=="" || objChkTraceAll.checked){
			chkMode='trace';		
			
			var objTraceList=document.getElementsByName('chkTrace');				
			for(i=0;i<objTraceList.length;i++){
				if(!objTraceList[i].checked){
					objChkTraceAll.checked=false;	
							
				}	
			}	
			
			if(objChkTraceAll.checked){
				vehNum='all';
				
			}else{
				var objHDBox=document.getElementById("hdVehNumPgTrace");
				if(objHDBox)
					exisitngVeh=objHDBox.value;			
				if(exisitngVeh=='all')
					exisitngVeh='';
				vehNum=getIDFromCheckList(exisitngVeh,'chkTrace'); // from functions.js
				
				if(vehNum!="")
					chkMode='trace';				
			}//if(objChkTraceAll.checked			
		}//if(vehNum=="")
		
	}
	
	
	if(chkMode=='track')
		showTrackIcons(vehNum,strKeyword);	
	else{		
		showTraceIcons(vehNum);
	}
	
	if(showMode=="reload"){
    		ajaxTrackPage(1);   		    		
			//showTrace();
    }
    if(showMode=="load" || showMode=="reload"){ //|| showMode=="mapswap"    		    						
    		//reloadTimeOut=setTimeout('loadData("reload");', refreshTimer);  //disable reload for navfzone
    		//updateCDPanel(refreshTimer);
    }
	
}

function showTrack(aMode,inputTimer){
	var url=vehTrackURL;	
	var param_str ='';
	
	var objWinIcon=document.getElementById("winIconTrack");
	if(bTrackWinMax){
		if(aMode==1){
			bTrackWinMax=false;
			objWinIcon.src="images/header_max_trans.png";	
			document.getElementById(vehTrackPanelName).innerHTML = "";
			return;	
		}
	}
	else{
		bTrackWinMax=true;
		objWinIcon.src="images/header_min_trans.png";
	}	
	if(curJSCompanyID!='')
		param_str += '&company='+ curJSCompanyID;
	if(curJSTimeZone!='')
		param_str += '&timezone='+ curJSTimeZone;
		
	xmlHttp = ajaxObject();
	if(xmlHttp){				
		xmlHttp.onreadystatechange=function(){
			if(xmlHttp.readyState == 4){
				response = xmlHttp.responseText;
				document.getElementById(vehTrackPanelName).innerHTML = response;				
			}else{
				document.getElementById(vehTrackPanelName).innerHTML = '<span class="dvTooltip"><font color="red">Loading...</font></span>';
			}
		};
		xmlHttp.open('POST', url, true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    xmlHttp.setRequestHeader("Content-length", param_str.length);
	    xmlHttp.setRequestHeader("Connection", "close");
	    xmlHttp.send(param_str);
	}	
	
}

function showTrace(aMode){
	
	var url=vehTraceURL;
	var vehNum="";	
	var param_str='';
	var objVehCheckList=document.getElementsByName("chkTrace");
	var objWinIcon=document.getElementById("winIconTrace");
	
	if(bTraceWinMax){
		if(aMode==1){
			bTraceWinMax=false;
			objWinIcon.src="images/header_max_trans.png";
			document.getElementById(vehTracePanelName).innerHTML = "";
			return;	
		}
	}
	else{
		bTraceWinMax=true;
		objWinIcon.src="images/header_min_trans.png";
	}
	
	var objHDBox=document.getElementById("hdVehNumPgTrace");
	if(objHDBox)
		exisitngVeh=objHDBox.value;
	if(exisitngVeh=='all')
		exisitngVeh='';
								
	vehNum=getIDFromCheckList(exisitngVeh,'chkTrace');  //from functions.js
	vehNum=procDeliStr(vehNum);
	
	
	if(vehNum==""){
		document.getElementById(vehTracePanelName).innerHTML="";		
	}
	else{
	
		param_str = 'veh='+ vehNum;
		if(curJSCompanyID!='')
			param_str += '&company='+ curJSCompanyID;
		if(curJSTimeZone!='')
			param_str += '&timezone='+ curJSTimeZone;
		
		var strStartDate=document.getElementById("txtLogStartDate").value;
		var strStartTime=document.getElementById("selLogStartTime").value;
		var strEndDate=document.getElementById("txtLogStopDate").value;
		var strEndTime=document.getElementById("selLogStopTime").value;	
	
		param_str +=  '&startDate='+ strStartDate + '&startTime='+ strStartTime + '&endDate='+ strEndDate + '&endTime='+ strEndTime;
		
		//window.open(url+"?"+param_str);
		xmlHttp = ajaxObject();
		if(xmlHttp){	
						
			xmlHttp.onreadystatechange=function(){				
				if(xmlHttp.readyState == 4){
					response = xmlHttp.responseText;
					document.getElementById(vehTracePanelName).innerHTML = response;
					
				}else{
					document.getElementById(vehTracePanelName).innerHTML = '<span class="dvTooltip"><font color="red">Loading...</font></span>';
				}
			};
			xmlHttp.open('POST', url, true);
			xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    	xmlHttp.setRequestHeader("Content-length", param_str.length);
	    	xmlHttp.setRequestHeader("Connection", "close");
	    	xmlHttp.send(param_str);
		}	
	}
	
	//loadData('resetTimer');  //to show up icons on map
	loadData();
}


function showTrackIcons(vehList,iKeyword){   //get json from track_json.php to load icons on the map
	showLoader();
	var src = "track_json.php?veh=" + vehList;
	if(curJSCompanyID!='')
		src += '&company='+ curJSCompanyID;		
	if(curJSTimeZone!='')
		src += '&timezone='+ curJSTimeZone;
	if(iKeyword!='')
		src += '&keyword='+ iKeyword;
	
    var script = document.createElement("script");	
    var head = document.getElementsByTagName("head")[0];
    script.src = src;	
    script.type="text/javascript";    
    head.appendChild(script);
    
    
    
    script.onreadystatechange = function () {
		
	     if (this.readyState != 'loaded' && this.readyState != 'complete') {
	     	hideLoader();	 
	     	return; 
	     }
	     this.onreadystatechange = null; 	     
	         	    
		 	
    }    
    script.onload = function () {       	
        hideLoader();
    }
    var objVehCheckList=document.getElementsByName("chkTrace");
    var objWinIcon=document.getElementById("winIconTrace");
    if(bTraceWinMax){
    	bTraceWinMax=false;
    	objWinIcon.src="images/header_max_trans.png";
    	document.getElementById(vehTracePanelName).innerHTML = "";		
	}
}
 
function showTraceIcons(vehList) { //get json from history_json.php to load icons on the map
	showLoader();
	var vehNum="";	
	vehNum=procDeliStr(vehList);
	
	var src = "history_json.php?veh=" + vehNum;
	if(curJSCompanyID!='')
		src += '&company='+ curJSCompanyID;
	if(curJSTimeZone!='')
		src += '&timezone='+ curJSTimeZone;
		
	
	var strStartDate=document.getElementById("txtLogStartDate").value;
	var strStartTime=document.getElementById("selLogStartTime").value;
	var strEndDate=document.getElementById("txtLogStopDate").value;
	var strEndTime=document.getElementById("selLogStopTime").value;	
	
	src +=  '&startDate='+ strStartDate + '&startTime='+ strStartTime + '&endDate='+ strEndDate + '&endTime='+ strEndTime;
	
    var script = document.createElement("script");	
    var head = document.getElementsByTagName("head")[0];
    script.src = src;	
    script.type="text/javascript";    
    head.appendChild(script);
    
    script.onreadystatechange = function () {
		
	     if (this.readyState != 'loaded' && this.readyState != 'complete') 
	     	return; 
	     this.onreadystatechange = null; 	     
	     hideLoader();	     	    
		 	
    }    
    script.onload = function () {      	  
        hideLoader();
    }
}
/*
function showTrackIconsSearch(skeyword){   //get json from track_json.php to load icons on the map with keyword search instead of veh list

	var src = "track_json.php?keyword=" + skeyword;
	if(curJSCompanyID!='')
		src += '&company='+ curJSCompanyID;		
	if(curJSTimeZone!='')
		src += '&timezone='+ curJSTimeZone;
		
    var script = document.createElement("script");	
    var head = document.getElementsByTagName("head")[0];
    script.src = src;	
    script.type="text/javascript";    
    head.appendChild(script);
    
    script.onreadystatechange = function () {
		
	     if (this.readyState != 'loaded' && this.readyState != 'complete') 
	     	return; 
	     this.onreadystatechange = null; 	     
	     //hideLoader();	     	    
		 	
    }    
    script.onload = function () {       	
        //hideLoader();
    }
    var objVehCheckList=document.getElementsByName("chkTrace");
    var objWinIcon=document.getElementById("winIconTrace");
    if(bTraceWinMax){
    	bTraceWinMax=false;
    	objWinIcon.src="images/header_max_trans.png";
    	document.getElementById(vehTracePanelName).innerHTML = "";		
	}
}*/

function showVehInfo(vehID,mode){
	showLoader();
	var url=vehInfoURL;
	var vehNum=vehID;		
	if(vehID=='')
		vehNum=curVehID;
	param_str = 'veh='+ vehNum + '&mode='+ mode;	
	if(curJSTimeZone!='')
		param_str += '&timezone='+ curJSTimeZone;
	curVehID=vehNum;
	xmlHttp = ajaxObject();
	if(xmlHttp){				
		xmlHttp.onreadystatechange=function(){
			if(xmlHttp.readyState == 4){
				response = xmlHttp.responseText;
				document.getElementById(vehInfoPanelName).innerHTML = response;
				hideLoader();
			}else{
				document.getElementById(vehInfoPanelName).innerHTML = '<span class="dvTooltip"><font color="red">Loading...</font></span>';
			}
		};
		xmlHttp.open('POST', url, true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    xmlHttp.setRequestHeader("Content-length", param_str.length);
	    xmlHttp.setRequestHeader("Connection", "close");
	    xmlHttp.send(param_str);
	}
	var objWinIcon=document.getElementById("winIconInfo");
	objWinIcon.src="images/header_min_trans.png";
	document.getElementById(vehInfoPanelName).style.display="";
}

function searchCustomer(){
	var url="track.php";	
	
	var strKeyword=document.getElementById("txtKeyword").value;
	
	var param_str = 'keyword='+ strKeyword ;
	if(curJSCompanyID!='')
		param_str += '&company='+ curJSCompanyID;
	if(curJSTimeZone!='')
		param_str += '&timezone='+ curJSTimeZone;
	
	
	xmlHttp = ajaxObject();
	if(xmlHttp){				
		xmlHttp.onreadystatechange=function(){
			if(xmlHttp.readyState == 4){
				response = xmlHttp.responseText;
				document.getElementById(vehTrackPanelName).innerHTML = response;				
				showTrackIcons('all',strKeyword);		
			}else{
				document.getElementById(vehTrackPanelName).innerHTML = '<span class="dvTooltip"><font color="red">Loading...</font></span>';
			}
		};
		xmlHttp.open('POST', url, true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    xmlHttp.setRequestHeader("Content-length", param_str.length);
	    xmlHttp.setRequestHeader("Connection", "close");
	    xmlHttp.send(param_str);
	}	
}
function resetCustomer(){
	var url="track.php";	
	
	document.getElementById("txtKeyword").value="";
	
	var param_str ='' ;
	if(curJSCompanyID!='')
		param_str += '&company='+ curJSCompanyID;
	if(curJSTimeZone!='')
		param_str += '&timezone='+ curJSTimeZone;
	
	
	xmlHttp = ajaxObject();
	if(xmlHttp){				
		xmlHttp.onreadystatechange=function(){
			if(xmlHttp.readyState == 4){
				response = xmlHttp.responseText;
				document.getElementById(vehTrackPanelName).innerHTML = response;				
				showTrackIcons('all','');		
			}else{
				document.getElementById(vehTrackPanelName).innerHTML = '<span class="dvTooltip"><font color="red">Loading...</font></span>';
			}
		};
		xmlHttp.open('POST', url, true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    xmlHttp.setRequestHeader("Content-length", param_str.length);
	    xmlHttp.setRequestHeader("Connection", "close");
	    xmlHttp.send(param_str);
	}	
}

function poll(){
	var objPollList=document.getElementsByName("chkPoll");
	var vehNum="";
	for(i=0;i<objPollList.length;i++){
		if(objPollList[i].checked){
			if(vehNum=="")
				vehNum=objPollList[i].value;
			else
				vehNum=vehNum + "," + objPollList[i].value;
		}
	}
	var src='poll.php?veh='+ vehNum;
	window.open(src,"pollWindow","status=no,sizable=no,width=400,height=200,menubar=no,toolbars=no,scrollbar=no,directories=no,addressbar=no");
}

function doHTTPPost(vehNum){
	var url="poll_curl.php?veh="+vehNum;
		
	xmlHttp = ajaxObject(true);
	if(xmlHttp){				
		xmlHttp.onreadystatechange=function(){
			if(xmlHttp.readyState == 4){
				//response = xmlHttp.responseText;				
				var xmldoc = xmlHttp.responseXML.documentElement;	
				if(xmldoc){
					if(xmldoc.getElementsByTagName('returnMsg')[0])
						var txt=xmldoc.getElementsByTagName('returnMsg')[0].childNodes[0].nodeValue;
					else
						var txt=xmlHttp.responseText;				
					document.getElementById("dvPollPanel").innerHTML = txt;
				}	
				else{	
					var response = xmlHttp.responseText;				
					document.getElementById("dvPollPanel").innerHTML = response;
				}
			}else{
				document.getElementById("dvPollPanel").innerHTML = '<font color="red">Polling...</font>';
			}
		};
		xmlHttp.open('GET', url, true);
		//xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    //xmlHttp.setRequestHeader("Content-length", param_str.length);
	    xmlHttp.setRequestHeader("Connection", "close");
	    xmlHttp.send(null);
	}
}


function showTraceFilter(){

	var vehNum="";	
	var objChkAll=document.getElementById("chkTraceAll");	
	if(objChkAll.checked){
		vehNum='all';		
	}
	else{
		var objHDBox=document.getElementById("hdVehNumPgTrace");
		if(objHDBox)
			exisitngVeh=objHDBox.value;			
		if(exisitngVeh=='all')
			exisitngVeh='';
		vehNum=getIDFromCheckList(exisitngVeh,'chkTrace'); // from functions.js
				
	}
	
	vehNum=procDeliStr(vehNum);
	
	var url=vehTraceURL;
	
	var strStartDate=document.getElementById("txtLogStartDate").value;	
	var strEndDate=document.getElementById("txtLogStopDate").value;
	var strStartTime=document.getElementById("selLogStartTime").value;
	var strEndTime=document.getElementById("selLogStopTime").value; 
	
	param_str = 'veh='+ vehNum + '&startDate='+ strStartDate + '&startTime='+ strStartTime + '&endDate='+ strEndDate + '&endTime='+ strEndTime;
	if(curJSCompanyID!='')
		param_str += '&company='+ curJSCompanyID;
	if(curJSTimeZone!='')
		param_str += '&timezone='+ curJSTimeZone;	
	
	
	xmlHttp = ajaxObject();
	if(xmlHttp){				
		xmlHttp.onreadystatechange=function(){
			if(xmlHttp.readyState == 4){
				response = xmlHttp.responseText;
				document.getElementById(vehTracePanelName).innerHTML = response;
			}else{
				document.getElementById(vehTracePanelName).innerHTML = '<span class="dvTooltip"><p><font color="red">Loading...</font></p></span>';
			}
		};
		xmlHttp.open('POST', url, true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    xmlHttp.setRequestHeader("Content-length", param_str.length);
	    xmlHttp.setRequestHeader("Connection", "close");
	    xmlHttp.send(param_str);
	}	
	
	var src = "history_json.php?" + param_str;	
	
	var script = document.createElement("script");	
    var head = document.getElementsByTagName("head")[0];
    script.src = src;	
    script.type="text/javascript";    
    head.appendChild(script);
    
    script.onreadystatechange = function () {
		
	     if (this.readyState != 'loaded' && this.readyState != 'complete') 
	     	return; 
	     this.onreadystatechange = null;
    }    
    script.onload = function () {      	  
        
    }	
}


function ajaxTrackPage(page){
		var url = vehTrackURL;
		var checkMode="";	
		var trackVeh="";
		var traceVeh="";
		var vehNum="";
				
		if(!page) page = 1;
		
		param_search_str = 'page='+encodeURI(page);
		if(curJSCompanyID!='')
			param_search_str += '&company='+ curJSCompanyID;
		if(curJSTimeZone!='')
			param_search_str += '&timezone='+ curJSTimeZone;
		
		var objHDBox=document.getElementById("hdVehNumPg");
		if(objHDBox.value!="")
			trackVeh=objHDBox.value;
					
		var objHDTraceBox=document.getElementById("hdVehNumPgTrace");
		if(objHDTraceBox.value!="")
			traceVeh=objHDTraceBox.value;						
	
		
		var strVehTrackList=getIDFromCheckList(trackVeh,'chkTrack'); // from checkboxes to comma delimited string - functions.js
		
		if(strVehTrackList!=""){
			checkMode="track";
			vehNum=strVehTrackList;			
		}		
				
		var strVehTraceList=getIDFromCheckList(traceVeh,'chkTrace'); // from checkboxes to comma delimited string - functions.js
		if(strVehTraceList!=""){
			checkMode="trace";
			vehNum=strVehTraceList;			
		}		
		/*
		if(trackVeh!="" && checkMode!="trace"){  //combining with other page check values (if any)
			vehNum=trackVeh+","+vehNum;
			checkMode="track";
		}*/
		
			/*
		if(traceVeh!="" && checkMode!="track"){ //combining with other page check values (if any)
			vehNum=traceVeh+","+vehNum;
			checkMode="trace";
		}*/
		
		var objChkAll=document.getElementById("chkLocAll");
		var objTraceAll=document.getElementById("chkTraceAll");		
		
		vehNum=procDeliStr(vehNum);
		
		if(objChkAll.checked){
			vehNum='all';
			checkMode='track';
		}
		if(objTraceAll.checked){
			vehNum='all';
			checkMode='trace';
		}
		
		if(vehNum!='')
			param_search_str += '&veh='+ vehNum;
	
		param_search_str += '&mode='+ checkMode;
		
		
		var objCheckAllBox=document.getElementById("chkLocAll");
		if(objCheckAllBox.checked)
			param_search_str += '&trackCheckAll=yes';
		else
			param_search_str += '&trackCheckAll=no';
			
		var objCheckAllBox=document.getElementById("chkTraceAll");
		if(objCheckAllBox.checked)
			param_search_str += '&traceCheckAll=yes';
		else
			param_search_str += '&traceCheckAll=no';
			
		var strKeywrod=document.getElementById("txtKeyword").value;
		if(strKeywrod!=""){
			param_search_str += '&keyword=' + strKeywrod;
			checkMode="";
			
		}
			
		//if(checkMode=="track")
			//showTrackIcons(vehNum,strKeywrod);
		
		xmlHttp = ajaxObject();
			if(xmlHttp){				
				xmlHttp.onreadystatechange=function(){					
					if(xmlHttp.readyState == 4){
						response = xmlHttp.responseText;
						document.getElementById(vehTrackPanelName).innerHTML = response;
						
					}else{						
						document.getElementById(vehTrackPanelName).innerHTML = '<span class="dvTooltip"><font color="red">Loading...</font></span>';
					}
				};
				xmlHttp.open('POST', url, true);
	     		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	     		xmlHttp.setRequestHeader("Content-length", param_search_str.length);
	      		xmlHttp.setRequestHeader("Connection", "close");
	      		xmlHttp.send(param_search_str);
			}
}

function ajaxTracePage(page,vehID,sDate,eDate,sTime,eTime){
		var url = vehTraceURL;
		if(!page) page = 1;
		param_search_str = 'page='+encodeURI(page) + '&veh='+vehID + '&startDate='+sDate + '&endDate='+eDate + '&startTime='+sTime + '&endTime='+eTime;
		if(curJSCompanyID!='')
			param_search_str += '&company='+ curJSCompanyID;
		if(curJSTimeZone!='')
			param_search_str += '&timezone='+ curJSTimeZone;
			
		xmlHttp = ajaxObject();
			if(xmlHttp){				
				xmlHttp.onreadystatechange=function(){					
					if(xmlHttp.readyState == 4){
						response = xmlHttp.responseText;
						document.getElementById(vehTracePanelName).innerHTML = response;
					}else{						
						document.getElementById(vehTracePanelName).innerHTML = '<span class="dvTooltip"><font color="red">Loading...</font></span>';
					}
				};
				xmlHttp.open('POST', url, true);
	     		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	     		xmlHttp.setRequestHeader("Content-length", param_search_str.length);
	      		xmlHttp.setRequestHeader("Connection", "close");
	      		xmlHttp.send(param_search_str);
			}
}
