
function AddFireFoxZHCSS(id,url){if(Ext.isGecko){var existing=document.getElementById(id);if(existing){existing.parentNode.removeChild(existing);}
var ss=document.createElement("link");ss.setAttribute("rel","stylesheet");ss.setAttribute("type","text/css");ss.setAttribute("id",id);ss.setAttribute("href",url);document.getElementsByTagName("head")[0].appendChild(ss);}}
function AddCSS(id,url){var existing=document.getElementById(id);if(existing){existing.parentNode.removeChild(existing);}
var ss=document.createElement("link");ss.setAttribute("rel","stylesheet");ss.setAttribute("type","text/css");ss.setAttribute("id",id);ss.setAttribute("href",url);document.getElementsByTagName("head")[0].appendChild(ss);}
function LoadJS(id,url){var existing=document.getElementById(id);if(existing){existing.parentNode.removeChild(existing);}
var ss=document.createElement("script");ss.setAttribute("type","text/javascript");ss.setAttribute("id",id);ss.setAttribute("src",url);document.getElementsByTagName("head")[0].appendChild(ss);}
function DoAJAX(url){var conn=Ext.lib.Ajax.getConnectionObject().conn;conn.open("GET",url,false);conn.send(null);if(conn.status=="200"){return conn.responseText;}
return"";}
function defaultDealWith(result,request){try{alert(result.responseText);}
catch(e){alert(e.message);}}
function DoAsynAJAXDefault(url){Ext.Ajax.request({method:'POST',url:url,success:defaultDealWith,failure:defaultDealWith});}
function DoAsynAJAX(url,successfun,failfun){Ext.Ajax.request({method:'POST',url:url,success:successfun,failure:failfun});}
function CheckRepeat(p_url,checktype,checkid,checkname){var url=p_url+"?cmd=ADDCHECKREPEAT&checkrepeattype="+checktype+"&checkrepeatid="+checkid+"&checkrepeatname="+checkname+"&rd="+Math.random();url=toUTF8(url);var conn=Ext.lib.Ajax.getConnectionObject().conn;conn.open("GET",url,false);conn.send(null);if(conn.status=="200"){if(conn.responseText!=""){alert(conn.responseText);return true;}
return false;}
return true;}
function setdisabled(objid,bvalue){GetObj(objid).disabled=bvalue;}
function setdisabledExt(objid,bvalue){if(bvalue){Ext.getCmp(objid).disable();}
else{Ext.getCmp(objid).enable();}}
function setreadonly(objid,bvalue){GetObj(objid).readOnly=bvalue;}
function ClearSelect(obj){while(obj.length>0){obj.remove(0);}}
function AddSelect(obj,value,text){var varItem=new Option(text,value);obj.options.add(varItem);}
function SetSelect(objid,value){var obj=GetObj(objid);for(var i=0;i<obj.length;i++){if(obj[i].value==value){obj[i].selected=true;break;}}}
function FillSelectByStore(objid,store,value,text){var obj=GetObj(objid);ClearSelect(obj);for(var i=0;i<store.getCount();i++){var rec=store.getAt(i);AddSelect(obj,rec.get(value),rec.get(text));}}
function SetValue(objid,value)
{GetObj(objid).value=value;}
function SetValueByStore(objid,store,index,value){GetObj(objid).value=store.getAt(index).get(value);}
function SetSelectValueByStore(objid,store,index,value){SetSelect(objid,store.getAt(index).get(value));}
String.prototype.trim=function(){return this.replace(/(^\s+)|\s+$/g,"");}
function clearChildNodes(node){while(node.hasChildNodes()){node.removeChild(node.lastChild);}}
function GetAsyn51Addr(RecID,ObjID,Lon,Lat,oLon,oLat,OrigID){return;var strURL="GetAddr.aspx?Cmd=GETADDR&rd="+Math.random()+"&RECID="+RecID+"&Lon="+Lon+"&Lat="+Lat+"&OBJID="+ObjID+"&ORIGID="+OrigID+"&data=http://ls.vip.51ditu.com/mosp/gc?pos="+oLon+","+oLat;return DoAsynAJAX(strURL,AsynAddrSuccess,AsynAddrFailure);}
function GetAsynGoAddr(RecID,ObjID,Lon,Lat,oLon,oLat,OrigID){return;var strURL="GetAddr.aspx?Cmd=GETGOADDR&rd="+Math.random()+"&RECID="+RecID+"&Lon="+Lon+"&Lat="+Lat+"&OBJID="+ObjID+"&ORIGID="+OrigID+"&data=http://maps.google.com/maps/geo?q="+oLat+","+oLon;return DoAsynAJAX(strURL,AsynAddrSuccess,AsynAddrFailure);}
function GetAsyn51AddrHi(RecID,ObjID,Lon,Lat,oLon,oLat,OrigID,ST,ET){return;var strURL="GetAddr.aspx?Cmd=GETADDR&rd="+Math.random()+"&ST="+ST+"&ET="+ET+"&RECID="+RecID+"&Lon="+Lon+"&Lat="+Lat+"&OBJID="+ObjID+"&ORIGID="+OrigID+"&data=http://ls.vip.51ditu.com/mosp/gc?pos="+oLon+","+oLat;return DoAsynAJAX(strURL,AsynAddrSuccess,AsynAddrFailure);}
function GetAsynGoAddrHi(RecID,ObjID,Lon,Lat,oLon,oLat,OrigID,ST,ET){return;var strURL="GetAddr.aspx?Cmd=GETGOADDR&rd="+Math.random()+"&ST="+ST+"&ET="+ET+"&RECID="+RecID+"&Lon="+Lon+"&Lat="+Lat+"&OBJID="+ObjID+"&ORIGID="+OrigID+"&data=http://maps.google.com/maps/geo?q="+oLat+","+oLon;return DoAsynAJAX(strURL,AsynAddrSuccess,AsynAddrFailure);}
function AsynAddrSuccess(result,request){try{var array=result.responseText.split("$");UpdateCarObjAddr(array[0],array[1]);}
catch(e){}}
function AsynAddrFailure(result,request){try{var array=result.responseText.split("$");UpdateCarObjAddr(array[0],array[1]);}
catch(e){}}
function FormatJSONDateToStr(str){str=str.replace("\/","new ");str=str.replace("\/",";");return formatDate(eval(str));}
function strToDate(str){if(!isTime(str))return null;var tt=Date.parse(str.replace(/-/g,"/"));if(isNaN(tt))return null;var d=new Date(tt);return d;}
function isTime(str)
{var re=/^(\d{1,4})(-|\/|\.)(\d{1,2})\2(\d{1,2}) *(\d{1,2}):(\d{1,2}):(\d{1,2})$/;var r=str.match(re);if(r==null)return false;var d=new Date(r[1],r[3]-1,r[4],r[5],r[6],r[7]);return(d.getFullYear()==r[1]&&d.getMonth()==r[3]-1&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);}
function formatDate(v){if(typeof v=='string')v=strToDate(v);if(v instanceof Date){var y=v.getFullYear();var m=v.getMonth()+1;m=m<10?'0'+m:m;var d=v.getDate();d=d<10?'0'+d:d;var h=v.getHours();h=h<10?'0'+h:h;var i=v.getMinutes();i=i<10?'0'+i:i;var s=v.getSeconds();s=s<10?'0'+s:s;return y+'-'+m+'-'+d+' '+h+':'+i+':'+s;}
return'';}
function formatOnlyDate(v){if(typeof v=='string')v=strToDate(v);if(v instanceof Date){var y=v.getFullYear();var m=v.getMonth()+1;m=m<10?'0'+m:m;var d=v.getDate();d=d<10?'0'+d:d;return y+'-'+m+'-'+d;}
return'';}
function addHourToDate(myDate,hour){return new Date(myDate.getTime()+hour*60*60*1000);}
function GetValue(id){try
{return Ext.get(id).dom.value;}
catch(e){alert("获取"+id+"值出错："+e.message);return"";}}
function GetSelectText(id){try
{return document.getElementById(id).options[document.getElementById(id).options.selectedIndex].text;}
catch(e){alert("获取"+id+"Text出错："+e.message);return"";}}
function GetObj(id){try{return Ext.get(id).dom;}
catch(e){alert("获取"+id+"对象出错："+e.message);return null;}}
function FillCustomerSelectByAJAX(strURL,selObjID)
{var conn=Ext.lib.Ajax.getConnectionObject().conn;conn.open("GET",strURL,false);conn.send(null);if(conn.status=="200"){var obj=document.getElementById(selObjID);var str=conn.responseText;ClearSelect(obj);var arraytmp=str.split("&&");for(var i=0;i<arraytmp.length;i++){if(arraytmp[i]=="")continue;var sel=arraytmp[i].split("$$");AddSelect(obj,sel[0],sel[1]);}
obj[0].selected=true;}}
function FillSelectByAJAX(strURL,selObjID,defaultValue)
{var conn=Ext.lib.Ajax.getConnectionObject().conn;conn.open("GET",strURL,false);conn.send(null);if(conn.status=="200"){var index=0;var obj=document.getElementById(selObjID);ClearSelect(obj);if(conn.responseText.length==0)return;var result=eval("("+conn.responseText+")");for(var i=0;i<result.totalCount;i++){AddSelect(obj,result.data[i].ID,result.data[i].NAME);if(result.data[i].ID==defaultValue)index=i;}
if(result.totalCount>0){obj[index].selected=true;}}}
function MyDICTURL(value,metaData,rec,rowIndex,columnIndex,ds){var CID=parseInt(rec.get("CustomerID"));if(CID<=0){return"<font color=#808080>"+value+"</font>";}
else{return"<a href='#' onclick='MyDBClick();'>"+value+"</a>";}}
function GetObjDataByAJAX(strURL)
{try
{var conn=Ext.lib.Ajax.getConnectionObject().conn;conn.open("GET",strURL,false);conn.send(null);if(conn.status=="200"){var result=eval("("+conn.responseText+")");return result;}
return null;}
catch(e)
{return null;}}
var SIM_ERRORINFO="请输入11位合法的SIM/UIM卡号！";function validatemobile(mobile)
{if(G_LANG==0){SIM_ERRORINFO="Please enter a 11 legitimate SIM card number!";}
if(G_LANG==1){if(mobile.length!=11){return false;}}
return true;if(mobile.length==0)
{return false;}
if(mobile.length!=11)
{return false;}
var myreg=/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(27[0-9]{1}))+\d{8})$/;if(!myreg.test(mobile))
{return false;}
return true;}
function Hashtable(){this._hash=new Object();this.add=function(key,value){if(typeof(key)!="undefined"){if(this.contains(key)==false){this._hash[key]=typeof(value)=="undefined"?null:value;return true;}else{return false;}}else{return false;}}
this.update=function(key,value){if(typeof(this._hash[key])!="undefined"){this._hash[key]=typeof(value)=="undefined"?null:value;}}
this.remove=function(key){delete this._hash[key];}
this.count=function(){var i=0;for(var k in this._hash){i++;}return i;}
this.items=function(key){return this._hash[key];}
this.contains=function(key){return typeof(this._hash[key])!="undefined";}
this.clear=function(){for(var k in this._hash){delete this._hash[k];}}}
function GetIconURL(GPSFlag,Speed,Direct,StateDesc){var isAlarm=getAlarmType(StateDesc);var isExact='';var isStop='';if(Number(GPSFlag)%2==0){isExact='1';}else{isExact='0';}
if(Speed=='0.00'||Speed=='0'||Speed==0||Speed==0.00){isStop='1';}else{isStop='0';}
var imgName=getImageName('',isAlarm,isExact,isStop,Direct);return imgName;}
function getImageName(objectType,isAlarm,isExact,isStop,dituDirect){var statusType='';var vehicleType='car';if(isAlarm=='1')
{statusType='Alarm';}else{if(isExact=='0')
{statusType='Nexact';}else{if(isStop=='1'){statusType='Stop';}else{statusType='Run';}}}
var RootIconURL="../images/Objects/";var iconURLNow=RootIconURL+vehicleType+statusType;var imageURl=getImageByDirect(dituDirect,iconURLNow);return imageURl;}
function getImageByDirect(dituDirect,iconURLNow){var iconURl='';if((dituDirect>=0&&dituDirect<=22)||(dituDirect>=338&&dituDirect<=360)){iconURl=iconURLNow+'0'+'.gif';}
else if(dituDirect>=23&&dituDirect<=67){iconURl=iconURLNow+'1'+'.gif';}
else if(dituDirect>=68&&dituDirect<=112){iconURl=iconURLNow+'2'+'.gif';}
else if(dituDirect>=113&&dituDirect<=157){iconURl=iconURLNow+'3'+'.gif';}
else if(dituDirect>=158&&dituDirect<=202){iconURl=iconURLNow+'4'+'.gif';}
else if(dituDirect>=203&&dituDirect<=247){iconURl=iconURLNow+'5'+'.gif';}
else if(dituDirect>=248&&dituDirect<=292){iconURl=iconURLNow+'6'+'.gif';}
else if(dituDirect>=293&&dituDirect<=337){iconURl=iconURLNow+'7'+'.gif';}
else{iconURl=iconURLNow+'0'+'.gif';}
return iconURl;}
function getAlarmType(StateDesc){StateDesc=StateDesc.toUpperCase();if(StateDesc.indexOf("警",0)>=0){return 1;}
else if(StateDesc.indexOf("SOS",0)>=0)
{return 1;}
else if(StateDesc.indexOf("WARNING",0)>=0)
{return 1;}
return 0;}
function AddGridCellToolTip(value,metaData,record,rowIndex,columnIndex,ds){metaData.attr='ext:qtip="'+value+'"';return value;}
function IsDigit(){return(((event.keyCode>=48)&&(event.keyCode<=57))||event.keyCode==46);}
function JSDateAdd(dt,dy){var a=new Date(dt);a=a.valueOf();a=a+dy*24*60*60*1000;a=new Date(a)
return a;}
function AnalyseStatus(p_nLang,strText,strStateDesc){var bAlarmFlag=false;var dwReportStatus=0;if(strText.length>11)
strText=strText.substring(0,11);if(strText.length<10){var pos=strStateDesc.indexOf("/");if(pos>0)
{if(p_nLang==0)
{return strStateDesc.substring(pos+1,strStateDesc.Length-pos-1);}
else
{return strStateDesc.substring(0,pos);}}
return strStateDesc;}
if(p_nLang==1)return strStateDesc
var szAlarmStatus=strText.split("");var strStatus="";if((szAlarmStatus[0]&0x01)==0x01){strStatus+=Data_BusFault;bAlarmFlag=true;}
if((szAlarmStatus[0]&0x02)==0x02){strStatus+=Data_GSMFault;bAlarmFlag=true;}
if((szAlarmStatus[0]&0x04)==0x04){strStatus+=Data_GPSFault;bAlarmFlag=true;}
if((szAlarmStatus[0]&0x08)==0x08){strStatus+=Data_LockCircuit;bAlarmFlag=true;}
if((szAlarmStatus[1]&0x01)==0x01){strStatus+=Data_ACCOpen;}
else{strStatus+=Data_ACCClose;}
if((szAlarmStatus[1]&0x02)==0x02){strStatus+=Data_Weight;dwReportStatus|=0x02;}
if((szAlarmStatus[1]&0x04)==0x04){strStatus+=Data_DoorOpen;}
if((szAlarmStatus[1]&0x08)==0x08){strStatus+=Data_LockState;}
if((szAlarmStatus[2]&0x01)==0x01){strStatus+=Data_SecretState;}
if((szAlarmStatus[2]&0x02)==0x02&&(szAlarmStatus[2]&0x04)==0x04){strStatus+=Data_AntennaUnknown;bAlarmFlag=true;}
else if((szAlarmStatus[2]&0x02)==0x02&&(szAlarmStatus[2]&0x04)==0x00){strStatus+=Data_AntennaShortCircuit;bAlarmFlag=true;}
else if((szAlarmStatus[2]&0x02)==0x00&&(szAlarmStatus[2]&0x04)==0x04){strStatus+=Data_AntennaDisconnect;bAlarmFlag=true;}
if((szAlarmStatus[3]&0x01)==0x01){strStatus+=Data_HighBeamOpen;}
if((szAlarmStatus[3]&0x02)==0x02){strStatus+=Data_RightOpen;}
if((szAlarmStatus[3]&0x04)==0x04){strStatus+=Data_LeftOpen;}
if((szAlarmStatus[3]&0x08)==0x08){strStatus+=Data_BrakeOpen;}
if((szAlarmStatus[4]&0x01)==0x01){strStatus+=Data_ReversingOpen;}
if((szAlarmStatus[4]&0x02)==0x02){strStatus+=Data_FrontFogOpen;}
if((szAlarmStatus[4]&0x04)==0x04){strStatus+=Data_DoorClose;}
if((szAlarmStatus[4]&0x08)==0x08){strStatus+=Data_NearLightOpen;}
if((szAlarmStatus[5]&0x01)==0x01){strStatus+=Data_EmergencyAlarm;bAlarmFlag=true;}
if((szAlarmStatus[5]&0x02)==0x02){strStatus+=Data_PiratesAlarm;bAlarmFlag=true;}
if((szAlarmStatus[5]&0x04)==0x04){strStatus+=Data_MainPowerAlarm;bAlarmFlag=true;}
if((szAlarmStatus[6]&0x01)==0x01){strStatus+=Data_EnterRangeAlarm;bAlarmFlag=true;}
if((szAlarmStatus[6]&0x02)==0x02){strStatus+=Data_OutRangAlarm;bAlarmFlag=true;}
if((szAlarmStatus[6]&0x04)==0x04){strStatus+=Data_OverSpeedAlarm;dwReportStatus|=0x01;bAlarmFlag=true;}
if((szAlarmStatus[6]&0x08)==0x08){strStatus+=Data_DeviationAlarm;bAlarmFlag=true;}
if((szAlarmStatus[7]&0x01)==0x01){strStatus+=Data_IllegalTimeAlarm;bAlarmFlag=true;}
if((szAlarmStatus[7]&0x02)==0x02){strStatus+=Data_LackParkingAlarm;bAlarmFlag=true;}
if((szAlarmStatus[7]&0x04)==0x04){strStatus+=Data_AcrossAlarm;bAlarmFlag=true;}
if((szAlarmStatus[7]&0x08)==0x08){strStatus+=Data_IllegalCarDoor;bAlarmFlag=true;}
if((szAlarmStatus[8]&0x01)==0x01){strStatus+=Data_Security;}
if((szAlarmStatus[8]&0x02)==0x02){strStatus+=Data_ShearLineAlarm;bAlarmFlag=true;}
if((szAlarmStatus[8]&0x04)==0x04){strStatus+=Data_BatteryLowAlarm;bAlarmFlag=true;}
if((szAlarmStatus[8]&0x08)==0x08){strStatus+=Data_PWdErrAlarm;bAlarmFlag=true;}
if((szAlarmStatus[9]&0x01)==0x01){strStatus+=Data_CutLineAlarm;bAlarmFlag=true;}
if((szAlarmStatus[9]&0x02)==0x02){strStatus+=Data_IllegalParkingAlarm;bAlarmFlag=true;}
if(szAlarmStatus.length>10){if((szAlarmStatus[10]&0x01)==0x01){strStatus+=Data_LowFuelAlarm;bAlarmFlag=true;}
if((szAlarmStatus[10]&0x02)==0x02){strStatus+=Data_OilRaiseAlarm;bAlarmFlag=true;}
if((szAlarmStatus[10]&0x04)==0x04){strStatus+=Data_OilDeclineAlarm;bAlarmFlag=true;}}
return strStatus;}
function NoSingleQuote(strtxt,strlab){if(strtxt.indexOf("'")>=0){if(0==G_LANG){alert(strlab+":Should not contain single quotation marks");return false;}
alert(strlab+"：不允许包含单引号");return false;}
return true;}
function method_closure(object,method,opt_argArray){return function(){return method.apply(object,opt_argArray);}}
function CheckFalseAllNode(node){node.eachChild(function(child){if(child.ui.checkbox){if(child.attributes.checked){child.ui.toggleCheck(false);child.attributes.checked=false;}
CheckFalseAllNode(child);}});}
