if(typeof DAL == "undefined") DAL={};
DAL_class = function() {};
Object.extend(DAL_class.prototype, Object.extend(new AjaxPro.AjaxClass(), {
	GetVehicleIDBySession: function(sessionID) {
		return this.invoke("GetVehicleIDBySession", {"sessionID":sessionID}, this.GetVehicleIDBySession.getArguments().slice(1));
	},
	GetVehicleIDByAccount: function(accountID) {
		return this.invoke("GetVehicleIDByAccount", {"accountID":accountID}, this.GetVehicleIDByAccount.getArguments().slice(1));
	},
	GetAdvRouteNames: function(sessionID) {
		return this.invoke("GetAdvRouteNames", {"sessionID":sessionID}, this.GetAdvRouteNames.getArguments().slice(1));
	},
	GetAdvRoute: function(routeID) {
		return this.invoke("GetAdvRoute", {"routeID":routeID}, this.GetAdvRoute.getArguments().slice(1));
	},
	GetAdvRouteDetail: function(routeID) {
		return this.invoke("GetAdvRouteDetail", {"routeID":routeID}, this.GetAdvRouteDetail.getArguments().slice(1));
	},
	GetAdvRouteAllDetail: function(sessionID) {
		return this.invoke("GetAdvRouteAllDetail", {"sessionID":sessionID}, this.GetAdvRouteAllDetail.getArguments().slice(1));
	},
	GetAdvRouteVehicles: function(alertID) {
		return this.invoke("GetAdvRouteVehicles", {"alertID":alertID}, this.GetAdvRouteVehicles.getArguments().slice(1));
	},
	DeleteAdvRoute: function(routeID) {
		return this.invoke("DeleteAdvRoute", {"routeID":routeID}, this.DeleteAdvRoute.getArguments().slice(1));
	},
	SaveAdvRoute: function(sessionID, sRouteID, routeName, radius, color, points) {
		return this.invoke("SaveAdvRoute", {"sessionID":sessionID, "sRouteID":sRouteID, "routeName":routeName, "radius":radius, "color":color, "points":points}, this.SaveAdvRoute.getArguments().slice(6));
	},
	SaveAlert: function(bbl, SMSEnabled, EMAILEnabled, phone, email, sms, SMSNumber, SMSCarrier, type, account_name, speed_threshold, name, vehicle_id, Lo_Hour, Lo_Minute, Hi_Hour, Hi_Minute, Enter_Zone, Exit_Zone, Ign_On, Ign_Off, RouteID, vehicleList, Radius, enabled) {
		return this.invoke("SaveAlert", {"bbl":bbl, "SMSEnabled":SMSEnabled, "EMAILEnabled":EMAILEnabled, "phone":phone, "email":email, "sms":sms, "SMSNumber":SMSNumber, "SMSCarrier":SMSCarrier, "type":type, "account_name":account_name, "speed_threshold":speed_threshold, "name":name, "vehicle_id":vehicle_id, "Lo_Hour":Lo_Hour, "Lo_Minute":Lo_Minute, "Hi_Hour":Hi_Hour, "Hi_Minute":Hi_Minute, "Enter_Zone":Enter_Zone, "Exit_Zone":Exit_Zone, "Ign_On":Ign_On, "Ign_Off":Ign_Off, "RouteID":RouteID, "vehicleList":vehicleList, "Radius":Radius, "enabled":enabled}, this.SaveAlert.getArguments().slice(25));
	},
	GetAlertList: function(account_name) {
		return this.invoke("GetAlertList", {"account_name":account_name}, this.GetAlertList.getArguments().slice(1));
	},
	DeviceCommandRequest_Insert: function(sessionID, serial, commandTypeID) {
		return this.invoke("DeviceCommandRequest_Insert", {"sessionID":sessionID, "serial":serial, "commandTypeID":commandTypeID}, this.DeviceCommandRequest_Insert.getArguments().slice(3));
	},
	EmailRequest_Insert: function(sessionID, ToAddress, subject, body) {
		return this.invoke("EmailRequest_Insert", {"sessionID":sessionID, "ToAddress":ToAddress, "subject":subject, "body":body}, this.EmailRequest_Insert.getArguments().slice(4));
	},
	GetFMVehicles: function(account_name) {
		return this.invoke("GetFMVehicles", {"account_name":account_name}, this.GetFMVehicles.getArguments().slice(1));
	},
	GetDeviceMaintenance: function(Serial) {
		return this.invoke("GetDeviceMaintenance", {"Serial":Serial}, this.GetDeviceMaintenance.getArguments().slice(1));
	},
	SaveDeviceMaintenance: function(Serial, InitMiles, CurrMiles, InitHours, CurrHours) {
		return this.invoke("SaveDeviceMaintenance", {"Serial":Serial, "InitMiles":InitMiles, "CurrMiles":CurrMiles, "InitHours":InitHours, "CurrHours":CurrHours}, this.SaveDeviceMaintenance.getArguments().slice(5));
	},
	GetAlertDetail: function(account_name, device) {
		return this.invoke("GetAlertDetail", {"account_name":account_name, "device":device}, this.GetAlertDetail.getArguments().slice(2));
	},
	SaveFMAlert: function(alertID, EMAILEnabled, email, SMSEnabled, sms, SMSNumber, SMSCarrier, type, account_name, name, serial, alertValue, lastMainVal, lastMainDate, warnValue, unit, enabled, status) {
		return this.invoke("SaveFMAlert", {"alertID":alertID, "EMAILEnabled":EMAILEnabled, "email":email, "SMSEnabled":SMSEnabled, "sms":sms, "SMSNumber":SMSNumber, "SMSCarrier":SMSCarrier, "type":type, "account_name":account_name, "name":name, "serial":serial, "alertValue":alertValue, "lastMainVal":lastMainVal, "lastMainDate":lastMainDate, "warnValue":warnValue, "unit":unit, "enabled":enabled, "status":status}, this.SaveFMAlert.getArguments().slice(18));
	},
	DeleteFMAlert: function(alertID) {
		return this.invoke("DeleteFMAlert", {"alertID":alertID}, this.DeleteFMAlert.getArguments().slice(1));
	},
	DeviceMaintenanceLogin: function(account_name, password) {
		return this.invoke("DeviceMaintenanceLogin", {"account_name":account_name, "password":password}, this.DeviceMaintenanceLogin.getArguments().slice(2));
	},
	DeviceMaintenanceUpdatePassword: function(account_name, password) {
		return this.invoke("DeviceMaintenanceUpdatePassword", {"account_name":account_name, "password":password}, this.DeviceMaintenanceUpdatePassword.getArguments().slice(2));
	},
	GeofenceReport: function(sessionID, units, geoFences, startTime, endTime, sGMTOffSet, sort) {
		return this.invoke("GeofenceReport", {"sessionID":sessionID, "units":units, "geoFences":geoFences, "startTime":startTime, "endTime":endTime, "sGMTOffSet":sGMTOffSet, "sort":sort}, this.GeofenceReport.getArguments().slice(7));
	},
	ReportRequest_Insert: function(sessionID, reportTypeID, eMail, startDate, endDate, timeZoneID, metric, secondsOrSpeed, deviceID) {
		return this.invoke("ReportRequest_Insert", {"sessionID":sessionID, "reportTypeID":reportTypeID, "eMail":eMail, "startDate":startDate, "endDate":endDate, "timeZoneID":timeZoneID, "metric":metric, "secondsOrSpeed":secondsOrSpeed, "deviceID":deviceID}, this.ReportRequest_Insert.getArguments().slice(9));
	},
	TimeZone_SelectAll: function() {
		return this.invoke("TimeZone_SelectAll", {}, this.TimeZone_SelectAll.getArguments().slice(0));
	},
	AddAddressGroup: function(sessionId, addressGroupName) {
		return this.invoke("AddAddressGroup", {"sessionId":sessionId, "addressGroupName":addressGroupName}, this.AddAddressGroup.getArguments().slice(2));
	},
	SaveAddressGroup: function(sessionId, addressGroupId, addressGroupName) {
		return this.invoke("SaveAddressGroup", {"sessionId":sessionId, "addressGroupId":addressGroupId, "addressGroupName":addressGroupName}, this.SaveAddressGroup.getArguments().slice(3));
	},
	GetAddressGroups: function(sessionId) {
		return this.invoke("GetAddressGroups", {"sessionId":sessionId}, this.GetAddressGroups.getArguments().slice(1));
	},
	GetAddressPage: function(sessionId, lastMaximumId, addressGroup) {
		return this.invoke("GetAddressPage", {"sessionId":sessionId, "lastMaximumId":lastMaximumId, "addressGroup":addressGroup}, this.GetAddressPage.getArguments().slice(3));
	},
	GetValidWeatherTimes: function(type, init, userName, tileCount, Looping) {
		return this.invoke("GetValidWeatherTimes", {"type":type, "init":init, "userName":userName, "tileCount":tileCount, "Looping":Looping}, this.GetValidWeatherTimes.getArguments().slice(5));
	},
	url: '/ajaxpro/DAL,App_Code.ggketctv.ashx'
}));
DAL = new DAL_class();


