﻿var map = null;
var counter=0;
var pin;
var polyID=1;
var homeMap = null;
var pathMap = null;
var pageUser;
var pageDevice;
var rectPinID1;
var circlePinID1;
var clearCircleID;
var userAdd;
var DDCountryID;
var DDStateID;
var txtZipID;
var currGeofenceType;
var pathLocs = new Array;
var geofenceLocs = new Array;
var geofenceUserLocs = new Array;
var currDeviceStatus;
var geofenceCount=0;
var DDCityID;
var locID=1;
var locValue;
var logCount=0;
var allDaysCheck=true;
var daysSelected="1111111";
var trackCall=false;
var trackResponse = null;
var trackStartTime;
var trackEndTime;

function validate()
{
     return (
        IsValidDate(document.getElementById('txtSTime'),"Start Date") &&
        isitToday(document.getElementById('txtSTime'), "Start Date") &&
        IsValidDate(document.getElementById('txtEndTime'),"End Date") &&
        isitToday(document.getElementById('txtEndTime'), "End Date") &&

        CompareDates(document.getElementById('txtSTime'), document.getElementById('txtEndTime'), "Start Date", "End Date")
        )
 }
 function openwindow() 
 {
     window.open("http://server.iad.liveperson.net/hc/30057240/?cmd=file&file=visitorWantsToChat&site=30057240&byhref=1&imageUrl=http://server.iad.liveperson.net/hcp/Gallery/ChatButton-Gallery/English/General/1a", "chatwindow", "width=475,height=400,resizable=yes");
 }

function CallDeviceTrackMap(deviceID)
{
    var StartTime = document.getElementById('txtSTime').value;
    var EndTime = document.getElementById('txtEndTime').value;    
    if(validate())
    {
        deviceTrackMap(deviceID,StartTime,EndTime,"",1,0)
    }
}

function trackNextPrevious(option)
{
    var devID = document.getElementById('deviceReqID').value;
    deviceTrackMap(devID,trackStartTime,trackEndTime,option,document.getElementById('lblDispRecTo').innerHTML,document.getElementById('lblTOTAvaiValue').innerHTML)
}

function deviceTrackMap(deviceID,StartTime,EndTime,option,startIDX,totAvai)
{   
    if(pathMap == null)
    {
        pathMap = new VEMap('userMap');
        pathMap.LoadMap();
    }
    if (option == "")
        pathMap.DeleteAllPushpins();
    if (!trackCall)
    {
        trackCall = true;
        trackStartTime = StartTime;
        trackEndTime = EndTime;
        PageMethods.getDeviceLocation(deviceID,StartTime,EndTime,option,startIDX,totAvai,OnTrackSucceeded,OnTrackFailed);
    }
}

function getTimeZone()
{
     var timezone = 'PST';
     return timezone;
}

function setTrackInfo(infoOBJ)
{
    document.getElementById('lblTOTAvaiValue').innerHTML = infoOBJ.TotalRecord;
    
    document.getElementById('lblDispRecTo').innerHTML = infoOBJ.startIDX;
    document.getElementById('lblDispRecFrom').innerHTML = infoOBJ.endIDX;
    
    document.getElementById('lblDispTimeTo').innerHTML = infoOBJ.startTime;
    document.getElementById('lblDispTimeFrom').innerHTML = infoOBJ.endTime;
}

function OnTrackSucceeded(response)
{
    if(logCount == 0)
    {
        deleteAllTrackingMapShape();
        document.getElementById('msgDiv').style.display = "none";
    }
    setTrackInfo(response.dispInfo);
    trackResponse = response;
    locValue = response.locValue;
    
    if(response.locValue.length > 0)
    {
        if (response.locValue[logCount] != null)
        {
            if(logCount == 0)
                document.getElementById('loadTrack').style.display = "block";
            var x = response.locValue[logCount].latitude;
            var y = response.locValue[logCount].longitude;
            var ll = new VELatLong(x,y);
            pathMap.FindLocations(ll,locAdd);
        }
    }
    else if (response.locValue.length == 0)
    {
       showOkDiv('Information not available for selected search option.');
       document.getElementById('loadTrack').style.display = "none";
       trackCall = false;
    }
}

function UserAlreadyValidated() 
{
   var msgshow= "You have alreasy validated your E-Mail.";
    var hlpDiv = document.getElementById('settingSaved');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Welcome</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3"><tr><td align="center">' + msgshow + '</td></tr><tr><td align="center"><a href="" border="0"><img border="0" src="Images/ok_btn.gif" onclick="hideWelcomeScreen();return false;" /></a></td></tr></table>';
    hlpDiv.innerHTML = desc;
    hlpDiv.style.display = "block";
    document.getElementById('saveGeofenceDiv').style.display = "none";




}


function ShowOnFirstUserWelcome() 
{
   var msgshow= "To Begin the trial, please Click Add Cell Phone. Each new phone will be visible on the map within a few hours.";
    var hlpDiv = document.getElementById('settingSaved');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Welcome</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3"><tr><td align="center">' + msgshow + '</td></tr><tr><td align="center"><a href="" border="0"><img border="0" src="Images/ok_btn.gif" onclick="hideWelcomeScreen();return false;" /></a></td></tr></table>';
    hlpDiv.innerHTML = desc;
    hlpDiv.style.display = "block";
    document.getElementById('saveGeofenceDiv').style.display = "none";




}

function ShowOnATTUserWelcome() 
{
   var msgshow= "To Begin the trial, please Click Add Cell Phone. Each new phone will be visible on the map within a few hours.";
    var hlpDiv = document.getElementById('settingSaved');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Welcome to the at&t Apps Beta trial</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3"><tr><td align="center">' + msgshow + '</td></tr><tr><td align="center"><a href="" border="0"><img border="0" src="Images/ok_btn.gif" onclick="hideWelcomeScreen();return false;" /></a></td></tr></table>';
    hlpDiv.innerHTML = desc;
    hlpDiv.style.display = "block";
    document.getElementById('saveGeofenceDiv').style.display = "none";
}

function hideWelcomeScreen() 
{
    var hlpDiv = document.getElementById('settingSaved');
    hlpDiv.style.display = "none";
    


}
function locAdd(locations)
{
    var add = "";
    if (locations)
    {
        add = locations[0].Name;
    }
    
    if (locValue[logCount])
    {
        var deviceDesc = "<table width='90%'><tr><td align='left'>Location Time :"+locValue[logCount].positionTime.toLocaleString()+"</td></tr><tr><td>Location Address :"+ add +"</td></tr></table>";
        var location = new VEPushpin(locID++, new VELatLong(locValue[logCount].latitude, locValue[logCount].longitude), 'Images/mobile.gif', '', deviceDesc);
        VEPushpin.ShowDetailOnMouseOver = false;
        VEPushpin.OnMouseOverCallback = function(x, y, title, details)
        {
            var hlpDiv = document.getElementById('helpDiv');
            hlpDiv.style.pixelLeft=x-10;
            hlpDiv.style.pixelTop=y-140;
            hlpDiv.innerHTML='<table width="150" border="0" cellspacing="0" cellpadding="0"><tr><td><img src="Images/note_bottom_btpointer_top.gif" border="0" usemap="#Map6" /></td></tr><tr><td class="notemiddle_track">'+details+'</td></tr><tr><td><img src="Images/note_bottom_btpointer.gif" /></td></tr></table>';
            hlpDiv.style.display = "block";
        }
        
        pathMap.AddPushpin(location);
        var x = new VELatLong(locValue[logCount].latitude, locValue[logCount].longitude);
        pathLocs.push(x);
        logCount++;
        if (logCount == locValue.length)
        {
            if (pathLocs.length > 0)
            {
                pathMap.SetMapView(pathLocs);
            }
            document.getElementById('loadTrack').style.display = "none";
            logCount = 0;
            trackCall = false;
        }
        else
        {
            OnTrackSucceeded(trackResponse);
        }
    }
}

function hideTrackHelp()
{
    var hlpDiv = document.getElementById('helpDiv');
    hlpDiv.style.display = "none";
}

function OnTrackFailed(response,obj)
{
    alert('unable to load, please try again.');
    trackCall = false;
}

function setDDID(country,state,city,zip)
{
    DDCountryID = country;
    DDStateID = state;
    DDCityID = city;
    txtZipID = zip;
}

function GetMap(userAddress,deviceID,userID,addText,deviceStatus,zipcode,otherCity)
{
    currDeviceStatus = deviceStatus;
    userAdd = userAddress;
    pageUser = userID;
    pageDevice = deviceID;
    document.getElementById("txtAdderss").value = addText;
    document.getElementById(txtZipID).value = zipcode;
    document.getElementById('txtOtherCity').value = otherCity;
    //OnCityChange(document.getElementById(DDCityID));
    map = new VEMap('myMap');
    map.LoadMap();
    //map.SetMapStyle(VEMapStyle.Aerial);
    PageMethods.loadAllMobile(pageUser,OnMobileMapSucceeded,OnMobileMapFailed);
    PageMethods.AddAllGiofence(deviceID,OnGeofenceSucceeded,OnGeofenceFailed);
}

function OnMobileMapSucceeded(response,obj)
{
    for(var i=0; i<response.length;i++)
    {
        if (response[i] != null)
        {
            var x = response[i].currLat;
            var y = response[i].currLog;
            
            var ll = map.PixelToLatLong(new VEPixel(x,y));
            var deviceDesc = "<table width='100%'><tr><td align='left'>Cell Phone Name :"+response[i].deviceName+"</td></tr>";
            deviceDesc = deviceDesc + "<tr><td align='left'>Cell Phone Number :"+ response[i].countryCode + response[i].mobileNumber +"</td></tr><tr><td>Location Accuracy :"+ response[i].Accuracy + " meters</td></tr></table>";
            var mobile = new VEPushpin(polyID++, new VELatLong(x, y), 'Images/mobile.gif', '', deviceDesc);
            map.AddPushpin(mobile);
            var x = new VELatLong(x, y);
            geofenceLocs.push(x);
        }
    }
    if (geofenceLocs.length > 0)
        map.SetMapView(geofenceLocs);
}

//when webservice fails
function OnMobileMapFailed(error)
{
}

function UserHomeMap(userCode,DeviceID) {
    
    pageUser = userCode;
    
    homeMap = new VEMap('userMap');
  
    homeMap.LoadMap();
    //homeMap.SetMapStyle(VEMapStyle.Aerial);
    if (DeviceID == null)
    {
        PageMethods.loadAllMobile(userCode,OnMobileSucceeded,OnMobileFailed);
        PageMethods.loadAllGeofence(userCode,OnUserGeofenceSucceeded,OnUserGeofenceFailed);
    }
    else if (DeviceID != "" && DeviceID != null)
    {
        PageMethods.loadMobile(DeviceID,OnMobileSucceeded,OnMobileFailed);
        PageMethods.loadGeofence(DeviceID,OnUserGeofenceSucceeded,OnUserGeofenceFailed);
    }
}

function OnUserGeofenceSucceeded(response,obj)
{
    for(var i=0; i<response.length;i++)
    {
        if (response[i] != null)
            PageMethods.loadDeviceGiofence(response[i],OnUserDeviceSucceeded,OnUserDeviceFailed);
    }
}

//when webservice fails
function OnUserGeofenceFailed(error)
{
}

function OnMobileSucceeded(response,obj)
{
    for(var i=0; i<response.length;i++)
    {
        if (response[i] != null)
            addMobile(response[i]);
    }
    if (geofenceUserLocs.length > 0)
        homeMap.SetMapView(geofenceUserLocs);
}

//when webservice fails
function OnMobileFailed(error)
{
}

function OnUserDeviceSucceeded(response)
{
    addUsergeofence(response);
}

function OnUserDeviceFailed(error)
{
}


function addUsergeofence(response)
{
    for(var i=0; i<response.length;i++)
    {
        if (response[i] != null)
            drawUserShape(response[i]);
    }
    if (geofenceUserLocs.length > 0)
        homeMap.SetMapView(geofenceUserLocs);
}

function getDayName(pos)
{
    if (pos == 0)
        return "Sunday";
    else if (pos == 1)
        return "Monday";
    else if (pos == 2)
        return "Tuesday";
    else if (pos == 3)
        return "Wednesday";
    else if (pos == 4)
        return "Thursday";
    else if (pos == 5)
        return "Friday";
    else if (pos == 6)
        return "Saturday";
}
//edit by asif
function drawUserShape(geoOBJ)
{
    var shapeSetting = geoOBJ.geoDetail;
  
    var blockLevelDesc = "Block All";
    if (shapeSetting.BlockPreferenceID == 1)
        blockLevelDesc = "Block All";
    else if (shapeSetting.BlockPreferenceID == 2)
        blockLevelDesc = "Block Phone";
    else if (shapeSetting.BlockPreferenceID == 3)
        blockLevelDesc = "None";
        
        
        
    var sendNotification = shapeSetting.sendNotification ? "Yes" : "No";
    var daysSel = "";
    if (shapeSetting.daysSelected == "1111111")
        daysSel = "All";
    else
    {
        for(var count=0; count < shapeSetting.daysSelected.length; count++)
        {
            if(shapeSetting.daysSelected.charAt(count) == '1')
            {
                if (daysSel != "")
                    daysSel = daysSel + " , " + getDayName(count);
                else
                    daysSel = getDayName(count);
            }
        }
    }
    
    if (shapeSetting.TypeID == 0) // Draw Circle
    {
        if (shapeSetting.IsActive == true)
        {
            homeMap.AddPolyline(DrawCircle(shapeSetting.CenterLat,shapeSetting.CenterLog,shapeSetting.Radius,new VEColor(255,0,0,1),2));
        }
        else if (shapeSetting.IsActive == false)
        {
            homeMap.AddPolyline(DrawCircle(shapeSetting.CenterLat,shapeSetting.CenterLog,shapeSetting.Radius,new VEColor(255,255,255,1),2));
        }
        var tempID = polyID - 1;
        var newPoint = new VELatLong(shapeSetting.CenterLat, shapeSetting.CenterLog);
        var desc = "<table border='0'><tr><td align='left'>Geofence Name : " + shapeSetting.GeofenceName + "</td></tr><tr><td>Device Name: "+ geoOBJ.DeviceName +"</td></tr><tr><td>Block Preference Level: "+ blockLevelDesc +"</td></tr><tr><td>Start Time: "+ shapeSetting.sTime +" </td></tr><tr><td>End Time: " + shapeSetting.eTime + "</td></tr><tr><td>Active Days : "+ daysSel +"</td></tr><tr><td>Send Notification :"+ sendNotification +"</td></tr>";
        desc = desc + "<tr><td align='center'><u>Geofence Action</u></td></tr>";
        desc = desc + "<tr><td align='left'><a href='javascript:confirmGeofenceDelete("+shapeSetting.ID+","+tempID+","+shapeSetting.TypeID+","+polyID+",1)'>Delete Geofence</a></td></tr>";
        //desc = desc + "<tr><td align='left'><a href='javascript:updateGeofence2(" + shapeSetting.ID + "," + tempID + "," + shapeSetting.TypeID + "," + polyID + "," + shapeSetting.DeviceID + ",1)'>Update Geofence</a></td></tr></table>";

        desc = desc + "<tr><td align='left'><a href=javascript:updateGeofence2(" + shapeSetting.ID + ",'" + shapeSetting.GeofenceName + "'," + tempID + "," + shapeSetting.TypeID + "," + polyID + "," + shapeSetting.DeviceID + ","+ shapeSetting.BlockPreferenceID+","+ shapeSetting.sendNotification+",'"+  shapeSetting.daysSelected+"')>Update Geofence</a></td></tr></table>";
       
        
        if (shapeSetting.IsActive == true)
        {
            desc = desc + "<tr><td align='left'><a href='javascript:PageMethods.geofenceStatus("+shapeSetting.ID+","+pageUser+","+tempID+","+shapeSetting.TypeID+","+polyID+",false,OnGeofenceStatusSucceeded,OnGeofenceStatusFailed)'>Disable Geofence</a></td></tr></table>";
        }
        else if (shapeSetting.IsActive == false)
        {
            desc = desc + "<tr><td align='left'><a href='javascript:PageMethods.geofenceStatus("+shapeSetting.ID+","+pageUser+","+tempID+","+shapeSetting.TypeID+","+polyID+",true,OnGeofenceStatusSucceeded,OnGeofenceStatusFailed)'>Enable Geofence</a></td></tr></table>";
        }
        
        setUserPolyDescription(newPoint,desc);
        //homeMap.IncludePointInView(newPoint);
        geofenceUserLocs.push(newPoint);
    }
    else if (shapeSetting.TypeID == 1) // Draw Rectangle
    {
        var points = [
        new VELatLong(shapeSetting.X1Lat,shapeSetting.X1Log),
        new VELatLong(shapeSetting.X2Lat,shapeSetting.X2Log),
        new VELatLong(shapeSetting.X3Lat,shapeSetting.X3Log),
        new VELatLong(shapeSetting.X4Lat,shapeSetting.X4Log),
        new VELatLong(shapeSetting.X1Lat,shapeSetting.X1Log)
        ];

        var outlineColor = new VEColor(255,0,0,1);
        if (shapeSetting.IsActive == false)
        {
            outlineColor = new VEColor(255,255,255,1);
        }
        var fillColor = new VEColor(0,0,0,0);
        var outlineWidth = 2;
        var poly = new VEPolygon(polyID++, points, fillColor, outlineColor, outlineWidth)
        homeMap.AddPolygon(poly);
        var tempID = polyID - 1;
        var geoname = shapeSetting.GeofenceName;
        var newPoint = new VELatLong(shapeSetting.X1Lat,shapeSetting.X1Log);
        var desc = "<table border='0'><tr><td align='left'>Geofence Name : " + shapeSetting.GeofenceName + "</td></tr><tr><td>Device Name: "+ geoOBJ.DeviceName +"</td></tr><tr><td>Block Preference Level: "+ blockLevelDesc +"</td></tr><tr><td>Start Time: "+ shapeSetting.sTime +" </td></tr> <tr><td>End Time: " + shapeSetting.eTime + "</td></tr><tr><td>Active Days : "+ daysSel +"</td></tr><tr><td>Send Notification : "+ sendNotification +"</td></tr>";
        desc = desc + "<tr><td align='center'><u>Geofence Action</u></td></tr>";
        desc = desc + "<tr><td align='left'><a href='javascript:confirmGeofenceDelete("+shapeSetting.ID+","+tempID+","+shapeSetting.TypeID+","+polyID+","+ shapeSetting.BlockPreferenceID+")'>Delete Geofence</a></td></tr>";

        
        desc = desc + "<tr><td align='left'><a href=javascript:updateGeofence2(" + shapeSetting.ID + ",'" + geoname + "'," + tempID + "," + shapeSetting.TypeID + "," + polyID + "," + shapeSetting.DeviceID + ","+ shapeSetting.BlockPreferenceID+","+ shapeSetting.sendNotification+",'"+ shapeSetting.daysSelected+"')>Update Geofence</a></td></tr></table>";
        
        
        //desc = desc + "<tr><td align='left'><a href='javascript:updateGeofence2(" + shapeSetting.ID +  tempID + "," + shapeSetting.TypeID + "," + polyID + "," + shapeSetting.DeviceID + ",1)'>Update Geofence</a></td></tr></table>";
        if (shapeSetting.IsActive == true)
        {
            desc = desc + "<tr><td align='left'><a href='javascript:PageMethods.geofenceStatus("+shapeSetting.ID+","+pageUser+","+tempID+","+shapeSetting.TypeID+","+polyID+",false,OnGeofenceStatusSucceeded,OnGeofenceStatusFailed)'>Disable Geofence</a></td></tr></table>";
        }
        else if (shapeSetting.IsActive == false)
        {
            desc = desc + "<tr><td align='left'><a href='javascript:PageMethods.geofenceStatus("+shapeSetting.ID+","+pageUser+","+tempID+","+shapeSetting.TypeID+","+polyID+",true,OnGeofenceStatusSucceeded,OnGeofenceStatusFailed)'>Enable Geofence</a></td></tr></table>";
            }
        setUserPolyDescription(newPoint,desc);
        //homeMap.IncludePointInView(newPoint);
        geofenceUserLocs.push(newPoint);
        geofenceUserLocs.push(new VELatLong(shapeSetting.X3Lat,shapeSetting.X3Log));
    }
   
    
}

function OnGeofenceStatusSucceeded(response)
{
    location.href=location.href;
}

function OnGeofenceStatusFailed(response)
{
}
function setUserPolyDescription(ll, description)
{
    var pin = new VEPushpin(polyID++, ll, '', '', description);
    homeMap.AddPushpin(pin);
}

function addMobile(deviceCurrLoc)
{
    var x = deviceCurrLoc.currLat;
    var y = deviceCurrLoc.currLog;
    
    var ll = homeMap.PixelToLatLong(new VEPixel(x,y));
    //mobile = new VEShape(VEShapeType.Pushpin,new VELatLong(x, y));
    //mobile.SetCustomIcon("<div class='pinStyle1'></div>"); 
    //mobile.SetDescription(name);
    //homeMap.AddShape(mobile);
    var deviceDesc = "<table width='100%'><tr><td align='left'>Cell Phone Name :"+deviceCurrLoc.deviceName+"</td></tr>";
    deviceDesc = deviceDesc + "<tr><td align='left'>Cell Phone Number :"+ deviceCurrLoc.countryCode + deviceCurrLoc.mobileNumber +"</td></tr>";
    
    if (deviceCurrLoc.status == "A")
    {
        deviceDesc = deviceDesc + "<tr><td align='left'>Cell Phone Status : Active</td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='center'><u>Cell Phone Action</u></td></tr>";
        //deviceDesc = deviceDesc + "<tr><td align='left'><a href='javascript:PageMethods.avticateDevice("+deviceCurrLoc.countryCode + deviceCurrLoc.mobileNumber+","+deviceCurrLoc.DeviceID+","+pageUser+",OnActivateDeviceSucceeded,OnActivateDeviceFailed)'>Activate</a></td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'><a href='deviceSettingPage.aspx?DeviceID="+deviceCurrLoc.DeviceID+"'>Driving Prefrences</a></td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'><a href='deviceGeofence.aspx?DeviceID="+deviceCurrLoc.DeviceID+"'>Geofence Setting</a></td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'><a href='WhiteList.aspx?DeviceID="+deviceCurrLoc.DeviceID+"&Device="+deviceCurrLoc.deviceName+"'>Safe List</a></td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'><a href='advSetting.aspx?DeviceID="+deviceCurrLoc.DeviceID+"'>Advanced Settings</a></td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'><a href='downloadApp.aspx?DeviceID="+deviceCurrLoc.DeviceID+"'>Download Application</a></td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'><a href='javascript:delDevice("+deviceCurrLoc.DeviceID+","+pageUser+")'>Delete</a></td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'><a href='javascript:sendValidationCode("+deviceCurrLoc.DeviceID+")'>Re-Send Validation Code</a></td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'><a href='deviceTracking.aspx?DeviceID="+deviceCurrLoc.DeviceID+"'>Device Tracking</a></td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'>Cell Phone Battery Level : "+deviceCurrLoc.batteryLevel+"%</td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'>Last Location Updated At : "+deviceCurrLoc.updationTime.toLocaleString()+"</td></tr>";
        deviceDesc = deviceDesc + "<tr><td>Location Accuracy :"+ deviceCurrLoc.Accuracy + " meters</td></tr></table>";
        
    }
    else if (deviceCurrLoc.status == "P")
    {
        deviceDesc = deviceDesc + "<tr><td align='left'>Cell Phone Status : Processing</td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='center'><u>Cell Phone Action</u></td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'><a href='addDevice.aspx?DeviceID="+deviceCurrLoc.DeviceID+"'>Validate</a></td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'><a href='javascript:sendValidationCode("+deviceCurrLoc.DeviceID+")'>Re-Send Validation Code</a></td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'>Cell Phone Battery Level : "+deviceCurrLoc.batteryLevel+"%</td></tr>";
        deviceDesc = deviceDesc + "<tr><td align='left'>Last Location Updated At : "+deviceCurrLoc.updationTime.toLocaleString()+"</td></tr>";
        deviceDesc = deviceDesc + "<tr><td>Location Accuracy :"+ deviceCurrLoc.Accuracy + " meters</td></tr></table>";
    }
    else if (deviceCurrLoc.status == "D")
    {
        deviceDesc = deviceDesc + "<tr><td align='left'>Cell Phone Status : Disable</td></tr></table>";
        //deviceDesc = deviceDesc + "<tr><td align='center'><u>Cell Phone Action</u></td></tr>";
        //deviceDesc = deviceDesc + "<tr><td align='left'><a href='javascript:PageMethods.avticateDevice("+deviceCurrLoc.countryCode + deviceCurrLoc.mobileNumber+","+deviceCurrLoc.DeviceID+","+pageUser+",OnActivateDeviceSucceeded,OnActivateDeviceFailed)'>Activate</a></td></tr>";
        //deviceDesc = deviceDesc + "<tr><td align='left'><a href='javascript:sendValidationCode("+deviceCurrLoc.DeviceID+")'>Re-Send Validation Code</a></td></tr>";
        //deviceDesc = deviceDesc + "<tr><td align='left'>Last Location Updated At : "+deviceCurrLoc.updationTime.toLocaleString()+"</td></tr></table>";
    }
    
    var mobile = new VEPushpin(polyID++, new VELatLong(x, y), 'Images/mobile.gif', '', deviceDesc);
    homeMap.AddPushpin(mobile);
    var x = new VELatLong(x, y);
    //homeMap.IncludePointInView(x);
    geofenceUserLocs.push(x);
}

function OnDeleteDeviceSucceeded(response)
{
    if (response)
        location.href=location.href;
    else
    {
        document.getElementById('processReq').style.display = "none";
        var helpTXT = "Unable to Process your request, Please Try After some Time.";
        sendSMSMsg(helpTXT);
    }
}

function OnDeleteDeviceFailed(response)
{
    document.getElementById('processReq').style.display = "none";
    var helpTXT = "Unable to Process your request, Please Try After some Time.";
    sendSMSMsg(helpTXT);
}

function OnActivateDeviceSucceeded(response)
{
    document.getElementById('yesNoMsgDiv').innerHTML = "";
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Geofence Validation Code</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + "<tr style='background:white;'><td class='regibox_bdr'><table width='100%' border='0' align='center' cellpadding='5' cellspacing='3'><tr><td align='center'>Validation Code has send on your Cell Phone.</td></tr><tr><td align='center'><a href=''><img src='Images/ok_btn.gif' onclick='noDeleteGeofence();return false;' /></a></td></tr></table>";
    
    document.getElementById('yesNoMsgDiv').innerHTML = desc;
    document.getElementById('yesNoMsgDiv').style.display = "block";
    deleteAllUserMapShape();
    PageMethods.loadAllMobile(pageUser,OnMobileSucceeded,OnMobileFailed);
    PageMethods.loadAllGeofence(pageUser,OnUserGeofenceSucceeded,OnUserGeofenceFailed);
}

//when webservice fails
function OnActivateDeviceFailed(error)
{
}

//function add push pin on the map
function AddPin(ll)
{ 
    //pin = new VEShape(VEShapeType.Pushpin,ll);
    var description;
    //check which type of geofence selected
    if(counter==0)
    {
        document.aspnetForm.lat1.value = ll.Latitude;
        document.aspnetForm.long1.value = ll.Longitude;
    }
    else
    {
        document.aspnetForm.lat3.value = ll.Latitude;
        document.aspnetForm.long3.value = ll.Longitude;
    }
    if(document.getElementById("ddlGeofenceType").value==0)
    {
        if(counter==0)
        {
            description='Choose the LOWER RIGHT CORNER of the geofence RECTANGLE.';
            //document.getElementById("showInfo").innerHTML = 'Choose second point of the rectangle.&nbsp;<input type="button" name="btnCancelRect" id="btnCancelRect" value="Cancel" onclick="clearRectangle('+polyID+');"/>';
            //pin.SetDescription(description); 
            //map.AddShape(pin);
            rectPinID1 = polyID;
            pin = new VEPushpin(polyID++, ll, '', '', description);
            map.AddPushpin(pin);
            map.DetachEvent("onmousedown",MouseHandler);
            showOkDiv('Choose the LOWER RIGHT CORNER of the geofence RECTANGLE.');
        }
        else
        {
            drawRectangle();
            tempRectID = polyID - 1;
            //document.getElementById("showInfo").innerHTML="";
            //document.getElementById("showInfo").innerHTML="<table><tr><td>Enter Geofence Name :</td><td><input type='input' MAXLENGTH=250 name='geoName' id='geoName' /></td></tr><tr><td align='center'>Click to Save Settings <input type='button' name='saveUpper' id='saveUpper' value='Save' onclick='SaveData(1,0);'></td><td align='center'><input type='button' name='btnUpperCancelRect' id='btnUpperCancelRect' value='Cancel' onclick='clearRectangle("+rectPinID1+","+polyID+","+tempRectID+");'/></td></tr></table>";
            //description='<table><tr><td>Enter Geofence Label :</td><td><input type="input" MAXLENGTH=250 name="geoNameDiv" id="geoNameDiv" /></td></tr><tr><td align="center"><input type="button" name="save" id="save" value="Save" onclick="SaveData(1);"></td><td align="center"><input type="button" name="btnCancelRect" id="btnCancelRect" value="Cancel" onclick="clearRectangle('+rectPinID1+','+polyID+','+tempRectID+');"/></td></tr></table>';
            description='';
            //pin.SetDescription(description);
            //map.AddShape(pin);
            showSaveDiv(rectPinID1,polyID,tempRectID);
            pin = new VEPushpin(polyID++, ll, '', '', description);
            map.AddPushpin(pin);
            map.DetachEvent("onmousedown",MouseHandler);
        }
    }
    // code for draw circle
    if(document.getElementById("ddlGeofenceType").value==1)
    {
        if(counter==0)
        {
            document.aspnetForm.lat1.value = ll.Latitude;
            document.aspnetForm.long1.value = ll.Longitude;
            var tempCircleID = polyID + 1;
            //document.getElementById("showInfo").innerHTML="<table><tr><td align='center'>Take mouse on Pin, to Enter radius of Circle</td><td><input type='button' name='btnCancelCircle' value='cancel' onclick='clearCircle("+polyID+","+tempCircleID+");'/></td></tr></table>";
            //description='<html><head></head><body><table><tr><td align="center">Enter Radius (meters)</td><td><input type="text" id="radius" name="radius"/></td><tr><td align="center" colspan="2"><input type="button" name="btnSubmit" value="View" onclick="clearViewCircle();CreateCircle();"/></td></tr><tr><td>Enter geofence Name:</td><td><input type="input" MAXLENGTH=250 name="geoName" id="geoName" /></td></tr><tr><td align="center"><input type="button" name="btnSave" value="Save" onclick="SaveData(0);"/></td><td align="center"><input type="button" name="btnCancel" value="cancel" onclick="clearViewCircle();clearCircle('+polyID+','+clearCircleID+');"/></td></tr></table></body></html> ';
            //description='<html><head></head><body><table><tr><td align="center">Enter Radius (meters)</td><td><input type="text" id="radius" name="radius"/></td><tr><td align="center" colspan="2"><input type="button" name="btnSubmit" value="View" onclick="clearViewCircle('+tempCircleID+');CreateCircle();"/></td></tr><tr><td>Enter geofence Name:</td><td><input type="input" MAXLENGTH=250 name="geoNameDiv" id="geoNameDiv" /></td></tr><tr><td align="center" colspan="2"><input type="button" name="btnSave" value="Save" onclick="SaveData(0);"/></td></tr></table></body></html>';
            //pin.SetDescription(description); 
            //map.AddShape(pin);
            //description='<table><tr><td>Enter Geofence Label :</td><td><input type="input" MAXLENGTH=250 name="geoNameDiv" id="geoNameDiv" /></td></tr><tr><td align="center"><input type="button" name="save" id="save" value="Save" onclick="SaveData(0);"></td><td align="center"><input type="button" name="btnCancelRect" id="btnCancelRect" value="Cancel" onclick="clearViewCircle('+tempCircleID+');CreateCircle();"/></td></tr></table>';
            description='';
            circlePinID1 = polyID;
            pin = new VEPushpin(polyID++, ll, '', '', description);
            map.AddPushpin(pin);
            map.DetachEvent("onmousedown",MouseHandler);
            showOkDiv('use the cursor to choose the outside edge / radius of the geocence circle.');
        }
        else
        {
            var tempPinID = polyID - 1;
            var circlePinID = polyID;
            CreateCircle();
            map.DetachEvent("onmousedown",MouseHandler);
            showCircleSaveDiv(tempPinID,circlePinID);
        }
    }
    counter=counter+1;
}

function clearViewCircle()
{
    try
    {
        map.DeletePolyline(clearCircleID);
    }
    catch(e)
    {
    }
}
function clearCircle(pinID1,polyID)
{
    try
    {
        counter=0;
        pin = null;
        document.getElementById('saveGeofenceDiv').style.display = "none";
        document.getElementById('selectGeofenceDiv').style.display = "block";
        map.DeletePushpin(pinID1);
        //document.getElementById("showInfo").innerHTML="choose circle center<br />OR<br />Move to Geofence Point, In order to Delete that Geofence.";
        map.DeletePolyline(polyID);
    }
    catch(e)
    {
    }
}
function clearRectangleDevice(pinID1, pinID2, polyID) {

    if (counter == 1) {
        counter = 0;
        pin = null;
       // map.DeletePushpin(pinID1);
        //document.getElementById("showInfo").innerHTML="Choose first point of Rectangle / Square<br />OR<br />Move to Geofence Point, In order to Delete that Geofence.";
    }
    else {

        counter = 0;
        pin = null;


        //map = new VEMap('myMap');
        //map.LoadMap();
        //map.SetMapStyle(VEMapStyle.Aerial);
        //PageMethods.loadAllMobile(pageUser, OnMobileMapSucceeded, OnMobileMapFailed);
        //PageMethods.AddAllGiofence(deviceID, OnGeofenceSucceeded, OnGeofenceFailed);


       //map.DeletePushpin(pinID1);
       
        //map.DeletePushpin(pinID2);
        //map.DeletePolygon(polyID);
        //document.getElementById("showInfo").innerHTML="Choose first point of Rectangle / Square<br />OR<br />Move to Geofence Point, In order to Delete that Geofence.";
    }

    document.getElementById("saveGeofenceDiv").style.display = "none";
  
    window.location.reload(true );

    //document.getElementById('selectGeofenceDiv').style.display = "block";
  
    //showOkDiv('Choose first point of Rectangle / Square');
    //map.AttachEvent("onmousedown",MouseHandler);
}
function clearRectangle(pinID1,pinID2,polyID)
{
    if(counter==1)
    {
        counter=0;
        pin = null;
        //map.DeletePushpin(pinID1);
        //document.getElementById("showInfo").innerHTML="Choose first point of Rectangle / Square<br />OR<br />Move to Geofence Point, In order to Delete that Geofence.";
    }
    else
    {
       
        counter=0;
        pin = null;

        //map.DeletePushpin(pinID1);
      
        //map.DeletePushpin(pinID2);
        //map.DeletePolygon(polyID);
        //document.getElementById("showInfo").innerHTML="Choose first point of Rectangle / Square<br />OR<br />Move to Geofence Point, In order to Delete that Geofence.";
    }
    
    document.getElementById("saveGeofenceDiv").style.display = "none";
    //window.location.reload(true);
    //document.getElementById('selectGeofenceDiv').style.display = "block";
    //showOkDiv('Choose first point of Rectangle / Square');
    //map.AttachEvent("onmousedown",MouseHandler);
}

function clearPage(pinID1, pinID2, polyID) {
    window.location.href = "mydevices.aspx";
}

// handle the mouse event
function MouseHandler(e)
{
    if (e!=null)
    {
        if (e.leftMouseButton)
        {
            if (geofenceCount < 5)
            {
                if (map.GetMapStyle() == VEMapStyle.Birdseye)
                {
                    showChangeView("Please Change to Aerial or Road View for creating Geofence");   
                }
                else
                {
                    var x = e.mapX;
                    var y = e.mapY;
                    var ll = map.PixelToLatLong(new VEPixel(x,y));
                    if (counter < 2)
                        AddPin(ll);
                }   
            }
        }
    }
}

function showChangeView(helpText)
{
    var hlpDiv = document.getElementById('settingSaved');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Geofence Information</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3"><tr><td align="center">'+ helpText + '</td></tr><tr><td align="center"><a href="" border="0"><img border="0" src="Images/ok_btn.gif" onclick="hideChangeView();return false;" /></a></td></tr></table>';
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
    document.getElementById('saveGeofenceDiv').style.display = "none";
}

function hideChangeView()
{
    var hlpDiv = document.getElementById('settingSaved');
    hlpDiv.style.display = "none";
}

function DrawCircle(latin, lonin, radius,color, width)
{
    var locs = new Array();
    var R = 6371 * 1000;
    var lat = latin * Math.PI/180.0;
    var lon = lonin * Math.PI/180.0;
    var d = parseFloat(radius)/R;  // d = angular distance covered on earth's surface
    var locs = new Array();
    for (x = 0; x <= 360; x++)
    {
        var p2 = new VELatLong(0,0)           
        brng = x * Math.PI / 180; //rad
        p2.Latitude = Math.asin(Math.sin(lat)*Math.cos(d) + Math.cos(lat)*Math.sin(d)*Math.cos(brng));
        p2.Longitude = ((lon + Math.atan2(Math.sin(brng)*Math.sin(d)*Math.cos(lat), Math.cos(d)-Math.sin(lat)*Math.sin(p2.Latitude))) * 180) / Math.PI;
        p2.Latitude = (p2.Latitude * 180) / Math.PI;
        locs.push(p2);
    }
    var poly = new VEPolyline(polyID++, locs, color, width);
    return poly;
}

//create circle   
function CreateCircle()
{
    var lat1;
    var long1;
    var lat2;
    var long2;
    lat1=document.getElementById("lat1").value;
    lat2=document.getElementById("lat3").value;
    long1=document.getElementById("long1").value;
    long2=document.getElementById("long3").value;
    
    var point1 = new VELatLong(lat1,long1);
    var point2 = new VELatLong(lat2,long2);
    
    var radius = getDistance(point1,point2) * 1000;
    if(radius=="")
    {
        alert("enter circle radius in meters");
    }
    else if(isNaN(radius))
    {
        alert("radious must be integer");
    
    }
    else
    {
        var x1=document.getElementById('lat1').value;  
        var y1=document.getElementById('long1').value;
        //document.getElementById("showInfo").innerHTML="<table><tr><td align='center'></td><td align='center'>Point to circle center for Save this Geofence</td><td align='center'><input type='button' name='btnCancelCircle' value='cancel' onclick='clearCircle("+circlePinID1+","+polyID+");'/></td></tr></table>";
        clearCircleID = polyID;
        map.AddPolyline(DrawCircle(x1,y1,radius,new VEColor(255,0,0,1),2));
    } 
}

function getDistance(p1, p2) {      //return difference in KM
	p1.Latitude= latLonToRadians(p1.Latitude);
	p1.Longitude= latLonToRadians(p1.Longitude);
	
	p2.Latitude= latLonToRadians(p2.Latitude);
	p2.Longitude= latLonToRadians(p2.Longitude);
	var R = 6371; // earth's mean radius in km
	var dLat  = p2.Latitude- p1.Latitude;
	var dLong = p2.Longitude- p1.Longitude;
	var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
		Math.cos(p1.Latitude) * Math.cos(p2.Latitude) * Math.sin(dLong/2) * Math.sin(dLong/2);
	var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
	var disKm = R * c;
	return disKm;
}
//  convert lat/long in degrees to radians
function latLonToRadians(point) {
	return point * Math.PI / 180;	
}

//written by asif

 
function durationTime() {

    var ehr = parseFloat(document.getElementById('etimeh').value);
    var emm = parseFloat(document.getElementById('etimem').value);
    var shr = parseFloat(document.getElementById('stimeh').value);
    var smm = parseFloat(document.getElementById('stimem').value);
    var stf = document.getElementById('stf').value;
    var etf = document.getElementById('etf').value;
    var spanid = document.getElementById('duration');

    if (stf == 'AM') {
        if (shr == 12)
        {
            shr = 0;
        }
    }

    if (etf == 'AM') {
        if (ehr == 12) 
        {
            ehr = 0;
        }
    }

    if (stf == 'PM') {
        if (shr == 12)
        {
            shr = 0;
        }
    }


    if (etf == 'PM')
    {
        if (ehr == 12)
        {
            ehr = 0;
        }
    }

    if ((stf == etf)) {

        var cal = ((ehr * 60 + emm) - (shr * 60 + smm));

        if (cal < 0) {
             
            cal = cal + 1440;
            var hr = parseInt(cal / 60);
            var mm = parseInt(cal % 60);
            
            spanid.innerText = hr + ' Hours ' + mm + ' Minutes';
        }
        else {
            var hr = parseInt(cal / 60);
            var mm = parseInt(cal % 60);
            
            spanid.innerText = hr + ' Hours ' + mm + ' Minutes';
        }
    }

    if ((stf != etf)) {

        var cal = ((ehr * 60 + emm + 720) - (shr * 60 + smm));

        if (cal < 0) {
            
            cal = cal + 720;
            var hr = parseInt(cal / 60);
            var mm = parseInt(cal % 60);
            
            spanid.innerText = hr + ' Hours ' + mm + ' Minutes';
        }
        else {
            var hr = parseInt(cal / 60);
            var mm = parseInt(cal % 60);

            spanid.innerText = hr + ' Hours ' + mm + ' Minutes';
        } 

    }


    if ((stf == etf) && (ehr == shr) && (emm == smm)) {

        
        spanid.innerText ='24 Hours';
    }
}
    
   

//written by asif
function eCorrectTime()
{
     var ehr= document.getElementById('etimeh').value;
   
    
     if(ehr == '24')
     {
        document.getElementById('etimem').disabled = true;
     }
     else
     {
        document.getElementById('etimem').disabled = false;
     }
}
//written by asif
function sCorrectTime()
{
   
   var shr= document.getElementById('stimeh').value;
    
   if(shr == '24')
   {
    document.getElementById('stimem').disabled = true;
   }
   else
   {
    document.getElementById('stimem').disabled = false;
   }
    
}

function clickCheckAll()
{
    if (document.getElementById('checkAllDay').checked == true)
    {
        document.getElementById('checkMonday').checked = true;
        document.getElementById('checkTuesday').checked = true;
        document.getElementById('checkWednesday').checked = true;
        document.getElementById('checkThursday').checked = true;
        document.getElementById('checkFriday').checked = true;
        document.getElementById('checkSaturday').checked = true;
        document.getElementById('checkSunday').checked = true;
        removeAllTimeDrop();
        addAllTimeOption();
        setInitialTime();
        durationTime();
    }
    else
    {
        document.getElementById('checkMonday').checked = false;
        document.getElementById('checkTuesday').checked = false;
        document.getElementById('checkWednesday').checked = false;
        document.getElementById('checkThursday').checked = false;
        document.getElementById('checkFriday').checked = false;
        document.getElementById('checkSaturday').checked = false;
        document.getElementById('checkSunday').checked = false;
        setStartTimeDropDown();
        durationTime();
    }
}

function clickCheckDay()
{
    if (document.getElementById('checkMonday').checked == true && document.getElementById('checkTuesday').checked == true
        && document.getElementById('checkWednesday').checked == true && document.getElementById('checkThursday').checked == true
        && document.getElementById('checkFriday').checked == true && document.getElementById('checkSaturday').checked == true
        && document.getElementById('checkSunday').checked == true)
    {
        document.getElementById('checkAllDay').checked = true;
        removeAllTimeDrop();
        addAllTimeOption();
        setInitialTime();
        durationTime();
    }
    else
    {
        document.getElementById('checkAllDay').checked = false;
        setStartTimeDropDown();
        durationTime();
    }
}

function geofenceDayCheck()
{
    if (!(document.getElementById('checkMonday').checked == true && document.getElementById('checkTuesday').checked == true
        && document.getElementById('checkWednesday').checked == true && document.getElementById('checkThursday').checked == true
        && document.getElementById('checkFriday').checked == true && document.getElementById('checkSaturday').checked == true
        && document.getElementById('checkSunday').checked == true))
    {
        var ehr = parseFloat(document.getElementById('etimeh').value);
        var emm = parseFloat(document.getElementById('etimem').value);
        var shr = parseFloat(document.getElementById('stimeh').value);
        var smm = parseFloat(document.getElementById('stimem').value);
        var stf = document.getElementById('stf').value;
        var etf = document.getElementById('etf').value;
        
        if (stf == 'AM')
        {
            if (etf == 'AM')
            {
                if(shr <= ehr)
                {
                    if(shr == ehr)
                    {
                        if (smm >= emm)
                        {
                            if (!(ehr == 12 && emm == 00))
                                allDaysCheck = false;
                        }
                    }
                }
                else
                {
                    if(shr != 12)
                        allDaysCheck = false;
                }
            }
        }
        else if (stf == 'PM')
        {
            if (etf == 'AM')
            {
                if (!(ehr == 12 && emm == 00))
                    allDaysCheck = false;
            }
            else
            {
                if (ehr == 12)
                {
                    allDaysCheck = false;
                }
                else if(shr <= ehr || shr == 12)
                {
                    if(shr == ehr)
                    {
                        if (smm >= emm)
                        {
                            allDaysCheck = false;
                        }
                    }
                }
                else
                {
                    allDaysCheck = false;
                }
            }
        }
        
        daysSelected = "";
        if (document.getElementById('checkSunday').checked == true)
            daysSelected = daysSelected + "1";
        else
            daysSelected = daysSelected + "0";
        
        if (document.getElementById('checkMonday').checked == true)
            daysSelected = daysSelected + "1";
        else
            daysSelected = daysSelected + "0";
        
        if (document.getElementById('checkTuesday').checked == true)
            daysSelected = daysSelected + "1";
        else
            daysSelected = daysSelected + "0";
        
        if (document.getElementById('checkWednesday').checked == true)
            daysSelected = daysSelected + "1";
        else
            daysSelected = daysSelected + "0";
        
        if (document.getElementById('checkThursday').checked == true)
            daysSelected = daysSelected + "1";
        else
            daysSelected = daysSelected + "0";
        
        if (document.getElementById('checkFriday').checked == true)
            daysSelected = daysSelected + "1";
        else
            daysSelected = daysSelected + "0";
        
        if (document.getElementById('checkSaturday').checked == true)
            daysSelected = daysSelected + "1";
        else
            daysSelected = daysSelected + "0";
    }
    else
    {
        daysSelected = "1111111";
    }
}

//modified by asif

function UpdateData(geofenceID, polyID, typeID, pinID, DeviceID) 
{
geofenceDayCheck();
    if (allDaysCheck == false) {
        geofenceAlert("Multidays Geofence must in a day time range only.");
        allDaysCheck = true;
    }
    else {
        var x1 = 0;
        var x2 = 0;
        var x3 = 0;
        var x4 = 0;
        var y1 = 0;
        var y2 = 0;
        var y3 = 0;
        var y4 = 0;
        var centerLat = 0;
        var centerLong = 0;
        var circleRadius = 0;
        var devID = pageDevice;
        var userID = pageUser;
        var shr = 0;
        var smin = 0;
        var ehr = 0;
        var emin = 0;
        var blockLevel = document.getElementById('blockLevel')[document.getElementById('blockLevel').selectedIndex].value;
        var sendNotification = document.getElementById('checkNotification').checked;
        var shr = document.getElementById('stimeh').value;
        var smin = document.getElementById('stimem').value;
        var ehr = document.getElementById('etimeh').value;
        var emin = document.getElementById('etimem').value;
        var stf = document.getElementById('stf').value;
        var etf = document.getElementById('etf').value;
        

        if (stf == 'PM') 
        {
            if (shr != 12) 
            {
                shr = parseFloat(shr) + 12;
            }
        }

        if (etf == 'PM') {
            if (ehr != 12) {
                ehr = parseFloat(ehr) + 12;
            }
        }

        if (stf == 'AM') {
            if (shr == 12) {
                shr = '00';
            }
        }

        if (etf == 'AM') {
            if (ehr == 12) {
                ehr = '00';
            }
        }
        var sTime = shr + ':' + smin;
        var eTime = ehr + ':' + emin;



        if (typeID == 1)//for rectangle/square
        {
                         
            var geoValue = document.getElementById('geoName').value;
            var goeDivValue;
            try 
            {
                goeDivValue = document.getElementById('geoNameDiv').value;
            }
            catch (e) { 
            
            }
            if ((geoValue == "" || geoValue == null) && (goeDivValue == "" || goeDivValue == null)) {
              
            }
            else {
                if (checkGeofenceName(geoValue))
                 {
                    PageMethods.UpdateGiofencePoints(DeviceID, geoValue, blockLevel, sTime, eTime, daysSelected, sendNotification, geofenceID);
                    clearRectangleDevice(pinID, polyID, polyID);
                     
                     
                }
                else {
                    document.getElementById('geoName').value = "";
                    try {
                        document.getElementById('geoNameDiv').value = "";
                    }
                    catch (e) { }
                    geofenceAlert("Geofence Label can not contains these symbols : '<','>','|','~','&'");
                }
            }
        }
        if (typeID == 0)//for circle
        {
            var lat1;
            var long1;
            var lat2;
            var long2;
        
            var geoValue = document.getElementById('geoName').value;

                if (geoValue == "" || geoValue == null) 
                {
                    geofenceAlert("Enter Geofence Label");
                }
                else {
                    if (checkGeofenceName(geoValue)) 
                    {                 
                       
                       PageMethods.UpdateGiofencePoints(DeviceID, geoValue, blockLevel, sTime, eTime, daysSelected, sendNotification, geofenceID);
                       clearRectangleDevice(pinID, polyID, polyID);
                                          
                                          }
                    else
                     {
                        document.getElementById('geoName').value = "";
                        geofenceAlert("Geofence Label can not contains these symbols : '<','>','|','~','&'");
                    }
                
            }
        }
    }



















    













}
function SaveData(type)
{
    geofenceDayCheck();
    if (allDaysCheck == false)
    {
        geofenceAlert("Multidays Geofence must in a day time range only.");
        allDaysCheck = true;
    }
    else
    {
        var x1=0;
        var x2=0;
        var x3=0;
        var x4=0;
        var y1=0;
        var y2=0;
        var y3=0;
        var y4=0;
        var centerLat=0;
        var centerLong=0;
        var circleRadius=0;
        var devID = pageDevice;
        var userID = pageUser;
        var shr=0;
        var smin=0;
        var ehr=0;
        var emin=0;
        map.DetachEvent("onmousedown",MouseHandler);
        var blockLevel = document.getElementById('blockLevel')[document.getElementById('blockLevel').selectedIndex].value;
        var sendNotification = document.getElementById('checkNotification').checked;
        
        var shr= document.getElementById('stimeh').value;
        var smin= document.getElementById('stimem').value;
        var ehr= document.getElementById('etimeh').value;
        var emin= document.getElementById('etimem').value;
        var stf = document.getElementById('stf').value;
        var etf = document.getElementById('etf').value;    
        
        if(stf == 'PM')
        {
            if(shr != 12)
            {
                shr = parseFloat(shr) + 12;
            }
        }
        
        if(etf == 'PM')
        {
            if(ehr != 12)
            {
                ehr = parseFloat(ehr) + 12;
            }
        }
        
        if(stf == 'AM')
        {
            if(shr == 12)
            {   
                 shr = '00';
            }
        }
        
        if(etf == 'AM')
        {
            if(ehr == 12)
            {   
                 ehr = '00';
            }
        }
        var sTime = shr + ':' + smin;
        var eTime = ehr + ':' + emin;
        
        
        
        if(type==1)//for rectangle/square
        {
            var geoValue= document.getElementById('geoName').value;
            
            var goeDivValue;
            try
            {
                goeDivValue = document.getElementById('geoNameDiv').value;
            }
            catch(e) {}
            if ((geoValue == "" || geoValue == null) && (goeDivValue == "" || goeDivValue == null))
            {
                geofenceAlert("Enter Geofence Label");
            }
            else
            {
                if(checkGeofenceName(geoValue))
                {
                    x1=document.getElementById("lat1").value;;
                    x3=document.getElementById("lat3").value;
                    x2=x3;
                    x4=x1;
                    y1=document.getElementById("long1").value;;
                    y2=y1;
                    y3=document.getElementById("long3").value;
                    y4=y3;
                    PageMethods.SaveGiofencePoints(x1,x2,x3,x4,y1,y2,y3,y4,centerLat,centerLong,circleRadius,type,devID,userID,geoValue,currDeviceStatus,true,blockLevel,sTime,eTime,daysSelected,sendNotification,OnSucceeded,OnFailed);
                }
                else
                {
                    document.getElementById('geoName').value = "";
                    try
                    {
                        document.getElementById('geoNameDiv').value = "";
                    }
                    catch(e) {}
                    geofenceAlert("Geofence Label can not contains these symbols : '<','>','|','~','&'");
                }
            }
        }
        if(type==0)//for circle
        {
             var lat1;
             var long1;
             var lat2;
             var long2;
             
             lat1=document.getElementById("lat1").value;
             lat2=document.getElementById("lat3").value;
             long1=document.getElementById("long1").value;
             long2=document.getElementById("long3").value;
             
           
            
             var point1 = new VELatLong(lat1,long1);
             var point2 = new VELatLong(lat2,long2);
            
             circleRadius = getDistance(point1,point2) * 1000;
             if(circleRadius=="")
             {
                alert("enter circle radius in meters");
             }
             else if(isNaN(circleRadius))
             {
                alert("radious must be integer");
             }
             else
             {
                 var geoValue = document.getElementById('geoName').value;
                    
                 if (geoValue == "" || geoValue == null)
                 {
                    geofenceAlert("Enter Geofence Label");
                 }
                 else
                 {
                    if(checkGeofenceName(geoValue))
                    {
                        centerLat=document.getElementById('lat1').value;  
                        centerLong=document.getElementById('long1').value;
                        PageMethods.SaveGiofencePoints(x1,x2,x3,x4,y1,y2,y3,y4,centerLat,centerLong,circleRadius,type,devID,userID,geoValue,currDeviceStatus,true,blockLevel,sTime,eTime,daysSelected,sendNotification,OnSucceeded,OnFailed);
                    }
                    else
                    {
                        document.getElementById('geoName').value = "";
                        geofenceAlert("Geofence Label can not contains these symbols : '<','>','|','~','&'");
                    }
                 }
             }
        }
    }
}

function checkGeofenceName(geoName)
{
    var blockCher = new Array( '<','>','|','~','&' );
    for(var i =0;i<blockCher.length;i++)
    {
        if(geoName.indexOf(blockCher[i]) != -1)
            return false;
    }
    return true;
}

//function updatePins(response)
//{
//    if (response.TypeID == 0) //for Circle
//    {
//    }
//    else if (response.TypeID == 1) // for Rectangle
//    {
//    }
//}    
//if webservice succeed

function showSettingSaved(helpText)
{
    var hlpDiv = document.getElementById('settingSaved');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Geofence Information</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3"><tr><td align="center">'+ helpText + '</td></tr><tr><td align="center"><a href="" border="0"><img border="0" src="Images/ok_btn.gif" onclick="hideSettingSavedDiv();return false;" /></a></td></tr></table>';
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
    document.getElementById('saveGeofenceDiv').style.display = "none";
}

function hideSettingSavedDiv()
{
    var hlpDiv = document.getElementById('settingSaved');
    hlpDiv.style.display = "none";
    geofenceSaved();
}

function addGeofenceYes()
{
    //if (window.location.href.indexOf("DeviceID") == -1)
    //    location.href = window.location.href + "?DeviceID=" + pageDevice;
    //else
    //    location.href = window.location.href;
    document.getElementById('saveGeofenceDiv').style.display = "none";
    document.getElementById('yesNoMsgDiv').style.display = "none";
    document.getElementById('addressDiv').style.display = "block";
    clearGeofenceText();
    deleteAllMapShape();
    PageMethods.loadAllMobile(pageUser,OnMobileMapSucceeded,OnMobileMapFailed);
    PageMethods.AddAllGiofence(pageDevice,OnGeofenceSucceeded,OnGeofenceFailed);
}

function addGeofenceNo()
{
    document.getElementById('saveGeofenceDiv').style.display = "none";
    document.getElementById('yesNoMsgDiv').style.display = "none";
    deleteAllMapShape();
    PageMethods.AddAllGiofence(pageDevice, OnGeofenceSucceeded, OnGeofenceFailed);
  
    document.getElementById('moveNextDiv').style.display = "block";
}
function clearGeofenceText() {
   
    document.getElementById('txtAdderss').value = "";
    document.getElementById(DDCountryID).value = "Select Country";
    document.getElementById(DDStateID).value = "Select State";                        
    document.getElementById('txtOtherCity').value = "";
    document.getElementById(txtZipID).value = "";



}
function confirmGeofenceAdd(msgTXT)
{
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Add More Geofence</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + "<tr style='background:white;'><td class='regibox_bdr'><table width='100%' border='0' align='center' cellpadding='5' cellspacing='3'><tr><td align='center' colspan='2'>"+msgTXT+"</td></tr><tr><td align='center'><a href='' border='0'><img border='0' src='Images/yes_btn.gif' onclick='addGeofenceYes();return false;' /></a></td><td align='center'><a href='' border='0'><img border='0' id='noDivbtn' src='Images/no_btn.gif' onclick='addGeofenceNo();return false;' /></a></td></tr></table>";
    
    document.getElementById('yesNoMsgDiv').innerHTML = desc;
    document.getElementById('yesNoMsgDiv').style.display = "block";
    document.getElementById('saveGeofenceDiv').style.display = "none";
    document.getElementById('noDivbtn').focus();
}

function geofenceSaved()
{
    counter=0;
    clearCircleID=0;
    rectPinID1=0;
    circlePinID1=0;
    type=null;
    
    if(geofenceCount < 5)
    {
        confirmGeofenceAdd("Would you like to add another Geofence?")
    }
    else
    {
        document.getElementById('saveGeofenceDiv').style.display = "none";
        deleteAllMapShape();
        PageMethods.AddAllGiofence(pageDevice,OnGeofenceSucceeded,OnGeofenceFailed);
        document.getElementById('moveNextDiv').style.display = "block";
    }
}

function OnSucceeded(response)
{
   //var devID = document.getElementById("DeviceID").value;
    //document.getElementById("showInfo").innerHTML="Geofence settings saved sucessfully.";
    if (response.IsSaved)
    {
        geofenceCount++;
        showSettingSaved('Geofence settings saved sucessfully.');
    }
    else
    {
        geofenceAlert(response.ErrorMSG);
    }
}

//when webservice fails
function OnFailed(error)
{
   //document.getElementById("myMap").style.display="none";
   //document.getElementById("showInfo").innerHTML="Geofence settings not saved.Please try again";
   geofenceAlert("Geofence settings not saved.Please try again");
}

function geofenceAlert(helpText)
{
    document.getElementById('saveGeofenceDiv').style.display = "none";
    var hlpDiv = document.getElementById('msgDiv');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Geofence Information</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3"><tr><td align="center">'+ helpText + '</td></tr><tr><td align="center"><a href="" border="0"><img border="0" src="Images/ok_btn.gif" onclick="hideGeofenceAlert();return false;" /></a></td></tr></table>';
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
}

function hideGeofenceAlert()
{
    var hlpDiv = document.getElementById('msgDiv');
    hlpDiv.style.display = "none";
    document.getElementById('saveGeofenceDiv').style.display = "block";
}

function choosePoint()
{
    //document.getElementById("showInfo").style.display = 'block';
    if(currGeofenceType==0)
    {
        //document.getElementById("showInfo").innerHTML="Choose first point of Rectangle/ Square<br />OR<br />Move to Geofence Point, In order to Delete that Geofence.";
        showOkDiv('Choose the UPPER LEFT CORNER of the geofence RECTANGLE.');
    }
    if(currGeofenceType==1)
    {
        //document.getElementById("showInfo").innerHTML="choose circle center<br />OR<br />Move to Geofence Point, In order to Delete that Geofence.";
        showOkDiv('Choose the CENTER of the Geofence CIRCLE.');
    }
}

// function draw the rectangle on the map
function drawRectangle()
{
   var lat1;
   var lat2;
   var lat3;
   var lat4;
   var long1;
   var long2;
   var long3;
   var long4;
   lat1=document.getElementById("lat1").value;
   lat3=document.getElementById("lat3").value;
   lat2=lat3;
   lat4=lat1;
   long1=document.getElementById("long1").value;
   long3=document.getElementById("long3").value;
   long2=long1;
   long4=long3;
   var points = [
   new VELatLong(lat1,long1),
   new VELatLong(lat2,long2),
   new VELatLong(lat3,long3),
   new VELatLong(lat4,long4),
   new VELatLong(lat1,long1)
   ];

   var outlineColor = new VEColor(255,0,0,1);
   var fillColor = new VEColor(0,0,0,0);
   var outlineWidth = 2;
   //var id = 'Colorado';
   var poly = new VEPolygon(polyID++, points, fillColor, outlineColor, outlineWidth)
   map.AddPolygon(poly);
   map.SetMapView(points);
}

function drawShape(shapeSetting)
{
    if (shapeSetting.TypeID == 0) // Draw Circle
    {
        if (shapeSetting.IsActive == true)
        {
            map.AddPolyline(DrawCircle(shapeSetting.CenterLat,shapeSetting.CenterLog,shapeSetting.Radius,new VEColor(255,0,0,1),2));
        }
        else if (shapeSetting.IsActive == false)
        {
            map.AddPolyline(DrawCircle(shapeSetting.CenterLat,shapeSetting.CenterLog,shapeSetting.Radius,new VEColor(255,255,255,1),2));
        }
        var tempID = polyID - 1;
        var newPoint = new VELatLong(shapeSetting.CenterLat, shapeSetting.CenterLog);
        var desc = "<table border='0'><tr><td align='center'>Geofence Label : " + shapeSetting.GeofenceName + "</td></tr></table>";
        //desc = desc + "<tr><td align='center'><a href='javascript:confirmGeofenceDelete("+shapeSetting.ID+","+tempID+","+shapeSetting.TypeID+","+polyID+",0)'>Delete Geofence</a></td></tr>";
        //desc = desc + "<tr><td align='center'><a href='javascript:updateGeofence("+shapeSetting.ID+","+tempID+","+shapeSetting.TypeID+","+polyID+","+shapeSetting.DeviceID+",0)'>Update Geofence</a></td></tr></table>";
        setPolyDescription(newPoint,desc);
        geofenceLocs.push(newPoint);
    }
    else if (shapeSetting.TypeID == 1) // Draw Rectangle
    {
        var points = [
        new VELatLong(shapeSetting.X1Lat,shapeSetting.X1Log),
        new VELatLong(shapeSetting.X2Lat,shapeSetting.X2Log),
        new VELatLong(shapeSetting.X3Lat,shapeSetting.X3Log),
        new VELatLong(shapeSetting.X4Lat,shapeSetting.X4Log),
        new VELatLong(shapeSetting.X1Lat,shapeSetting.X1Log)
        ];

        var outlineColor = new VEColor(255,0,0,1);
        if (shapeSetting.IsActive == false)
        {
            outlineColor = new VEColor(255,255,255,1);
        }
        var fillColor = new VEColor(0,0,0,0);
        var outlineWidth = 2;
        var poly = new VEPolygon(polyID++, points, fillColor, outlineColor, outlineWidth)
        map.AddPolygon(poly);
        var tempID = polyID - 1;
        var newPoint = new VELatLong(shapeSetting.X1Lat,shapeSetting.X1Log);
        var desc = "<table border='0'><tr><td align='center'>Geofence Label : " + shapeSetting.GeofenceName + "</td></tr></table>";
        //desc = desc + "<tr><td align='center'><a href='javascript:confirmGeofenceDelete("+shapeSetting.ID+","+tempID+","+shapeSetting.TypeID+","+polyID+",0)'>Delete Geofence</a></td></tr>";
        //desc = desc + "<tr><td align='center'><a href='javascript:updateGeofence("+shapeSetting.ID+","+tempID+","+shapeSetting.TypeID+","+polyID+","+shapeSetting.DeviceID+",0)'>Update Geofence</a></td></tr></table>";
        setPolyDescription(newPoint,desc);
        geofenceLocs.push(newPoint);
        geofenceLocs.push(new VELatLong(shapeSetting.X3Lat,shapeSetting.X3Log));
    }
}

function deleteGeofence(geofenceID,polyID,typeID,pinID)
{
    PageMethods.DeleteGeofence(geofenceID,pageUser,polyID,typeID,pinID,OnDeleteSucceeded,OnDeleteFailed);
}

function deleteUserGeofence(geofenceID,polyID,typeID,pinID)
{
    PageMethods.DeleteGeofence(geofenceID,pageUser,polyID,typeID,pinID,OnDeleteUserSucceeded,OnDeleteUserFailed);
}

function confirmGeofenceDelete(geofenceID,polyID,typeID,pinID,pageID)
{
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Delete Geofence</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + "<tr style='background:white;'><td class='regibox_bdr'><table width='100%' border='0' align='center' cellpadding='5' cellspacing='3'><tr><td align='center' colspan='2'>Are you Sure ?</td></tr><tr><td align='center'><a href='' border='0'><img border='0' src='Images/yes_btn.gif' onclick='yesDeleteGeofence("+geofenceID+","+polyID+","+typeID+","+pinID+","+pageID+");return false;' /></a></td><td align='center'><a href='' border='0'><img border='0' id='noDivbtn' src='Images/no_btn.gif' onclick='noDeleteGeofence();return false;' /></a></td></tr></table>";
    
    document.getElementById('yesNoMsgDiv').innerHTML = desc;
    document.getElementById('yesNoMsgDiv').style.display = "block";
    document.getElementById('noDivbtn').focus();
}

function yesDeleteGeofence(geofenceID,polyID,typeID,pinID,pageID)
{
    if (pageID == 0)
    {
        deleteGeofence(geofenceID,polyID,typeID,pinID);
    }
    else if (pageID == 1)
    {
        deleteUserGeofence(geofenceID,polyID,typeID,pinID);
    }
    
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Geofence Delete Confirmation</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + "<tr style='background:white;'><td class='regibox_bdr'><table width='100%' border='0' align='center' cellpadding='5' cellspacing='3'><tr><td align='center'>Geofence Deleted.</td></tr><tr><td align='center'><a href='' border='0'><img border='0' src='Images/ok_btn.gif' onclick='noDeleteGeofence();return false;' /></a></td></tr></table>";
    document.getElementById('yesNoMsgDiv').innerHTML = "";
    document.getElementById('yesNoMsgDiv').innerHTML = desc;
    document.getElementById('yesNoMsgDiv').style.display = "block";
}

function updateGeofence1(geofenceID,polyID,typeID,pinID,DeviceID,pageID)
{
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Geofence Information</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + "<tr style='background:white;'><td class='regibox_bdr'><table width='100%' border='0' align='center' cellpadding='5' cellspacing='3'><tr><td align='center' colspan='2'>In order to update a Geofence, you need to delete it first and add new.</td></tr><tr><td colspan='2'>Would you like to continue and delete this geofence?</td></tr><tr><td align='center'><a href='' border='0'><img border='0' src='Images/yes_btn.gif' onclick='yesUpdateGeofence("+geofenceID+","+polyID+","+typeID+","+pinID+","+DeviceID+","+pageID+");return false;' /></a></td><td align='center'><a href='' border='0'><img border='0' id='noDivbtn' src='Images/no_btn.gif' onclick='noDeleteGeofence();return false;' /></a></td></tr></table>";
    
    document.getElementById('yesNoMsgDiv').innerHTML = desc;
    document.getElementById('yesNoMsgDiv').style.display = "block";
    document.getElementById('noDivbtn').focus();
}

function uncheckalldays() {

   document.getElementById('checkSunday').checked = false ;
   document.getElementById('checkMonday').checked = false;
   document.getElementById('checkTuesday').checked = false;
   document.getElementById('checkWednesday').checked = false;
   document.getElementById('checkThursday').checked = false;
   document.getElementById('checkFriday').checked = false;
   document.getElementById('checkSaturday').checked = false;
   document.getElementById('checkAllDay').checked = false;
 



}

function updateGeofence2(geofenceID, gn, polyID, typeID, pinID, DeviceID, pageID, sendNotification, days) 
{


   

    if (typeID == 1) {

        showUpdateDiv(geofenceID, polyID, typeID, pinID, polyID - 1, DeviceID);
        document.getElementById('geoName').value = gn;
        document.getElementById('blockLevel').value = pageID;
        document.getElementById('checkNotification').checked= sendNotification;
        
        
    }
    else {

//        showCircleUpdateDiv(geofenceID, polyID, typeID, pinID, DeviceID);
//        document.getElementById('geoName').value = gn;
//        document.getElementById('blockLevel').value = pageID;
        //        document.getElementById('checkNotification').checked = sendNotification;

        showUpdateDiv(geofenceID, polyID, typeID, pinID, polyID - 1, DeviceID);
        document.getElementById('geoName').value = gn;
        document.getElementById('blockLevel').value = pageID;
        document.getElementById('checkNotification').checked = sendNotification;


    }


  
    if (days == "1111111")
        document.getElementById('checkAllDay').checked = true;
    else
        document.getElementById('checkAllDay').checked = false;

      
    
    var obj;


    for (var count = 0; count < days.length; count++) 
    {

               if (days.charAt(count) == '1') 
              {
          
               
                if (getDayName(count) == "Sunday")
                    document.getElementById('checkSunday').checked = true;
                else if (getDayName(count) == "Monday")
                    document.getElementById('checkMonday').checked = true;
                else if (getDayName(count) == "Tuesday")
                    document.getElementById('checkTuesday').checked = true;
                else if (getDayName(count) == "Wednesday")
                    document.getElementById('checkWednesday').checked = true;
                else if (getDayName(count) == "Thrusday")
                    document.getElementById('checkThursday').checked = true;
                else if (getDayName(count) == "Friday")
                    document.getElementById('checkFriday').checked = true;
                else if (getDayName(count) == "Saturday")
                    document.getElementById('checkSaturday').checked = true;


                
               
              
                
            }
             else 
             {
                 if (getDayName(count) == "Sunday")
                     document.getElementById('checkSunday').checked = false ;
                 else if (getDayName(count) == "Monday")
                     document.getElementById('checkMonday').checked = false;
                 else if (getDayName(count) == "Tuesday")
                     document.getElementById('checkTuesday').checked = false;
                 else if (getDayName(count) == "Wednesday")
                     document.getElementById('checkWednesday').checked = false;
                 else if (getDayName(count) == "Thursday")
                     document.getElementById('checkThursday').checked = false;
                 else if (getDayName(count) == "Friday")
                     document.getElementById('checkFriday').checked = false;
                 else if (getDayName(count) == "Saturday")
                     document.getElementById('checkSaturday').checked = false;

                 

             }

             


         }
 
        
    
    
//  var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
// desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
//  desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
//   desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Geofence Information</div></td>"
//   desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
//   desc = desc + "<tr style='background:white;'><td class='regibox_bdr'><table width='100%' border='0' align='center' cellpadding='5' cellspacing='3'><tr><td align='center' colspan='2'>In order to update a Geofence, you need to delete it first and add new.</td></tr><tr><td colspan='2'>Would you like to continue and delete this geofence?</td></tr><tr><td align='center'><a href='' border='0'><img border='0' src='Images/yes_btn.gif' onclick='yesUpdateGeofence(" + geofenceID + "," + polyID + "," + typeID + "," + pinID + "," + DeviceID + "," + pageID + ");return false;' /></a></td><td align='center'><a href='' border='0'><img border='0' id='noDivbtn' src='Images/no_btn.gif' onclick='noDeleteGeofence();return false;' /></a></td></tr></table>";

//   document.getElementById('yesNoMsgDiv').innerHTML = desc;
//   document.getElementById('yesNoMsgDiv').style.display = "block";
//   document.getElementById('noDivbtn').focus();
    
}

function yesUpdateGeofence(geofenceID,polyID,typeID,pinID,DeviceID,pageID)
{
    if (pageID == 0)
    {
        deleteGeofence(geofenceID,polyID,typeID,pinID);
    }
    else if (pageID == 1)
    {
        deleteUserGeofence(geofenceID,polyID,typeID,pinID);
    }
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Geofence Delete Confirmation</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + "<tr style='background:white;'><td class='regibox_bdr'><table width='100%' border='0' align='center' cellpadding='5' cellspacing='3'><tr><td align='center'>Geofence Deleted.</td></tr><tr><td align='center'><a href='' border='0'><img border='0' src='Images/ok_btn.gif' onclick='moveAddGeofence("+DeviceID+");return false;' /></a></td></tr></table>";
    
    document.getElementById('yesNoMsgDiv').innerHTML = "";
    document.getElementById('yesNoMsgDiv').innerHTML = desc;
    document.getElementById('yesNoMsgDiv').style.display = "block";
}

function moveAddGeofence(DeviceID)
{
    location.href = "deviceGeofence.aspx?DeviceID=" + DeviceID;
}

function noDeleteGeofence()
{
    document.getElementById('yesNoMsgDiv').style.display = "none";
}

function OnDeleteUserSucceeded(response,obj)
{
    if (response[0] > 0)
    {
        if (response[1] == 0)
        {
            homeMap.DeletePolyline(response[0]);
            homeMap.DeletePushpin(response[2]);
        }
        else
        {
            homeMap.DeletePolygon(response[0]);
            homeMap.DeletePushpin(response[2]);
        }   
    }
}

function OnDeleteUserFailed(error)
{
}

function OnDeleteSucceeded(response,obj)
{
    if (response[0] > 0)
    {
        if (response[1] == 0)
        {
            map.DeletePolyline(response[0]);
            map.DeletePushpin(response[2]);
        }
        else
        {
            map.DeletePolygon(response[0]);
            map.DeletePushpin(response[2]);
        }   
    }
}

//when webservice fails
function OnDeleteFailed(error)
{
}

function setPolyDescription(ll, description)
{
    var pin = new VEPushpin(polyID++, ll, '', '', description);
    map.AddPushpin(pin);
}

function zoomToAdd(address)
{
    map.Find(null,    // what
              address, // where
              null,    // VEFindType (always VEFindType.Businesses)
              null,    // VEShapeLayer (base by default)
              null,    // start index for results (0 by default)
              null,    // max number of results (default is 10)
              null,    // show results? (default is true)
              null,    // create pushpin for what results? (ignored since what is null)
              null,    // use default disambiguation? (default is true)
              null,    // set best map view? (default is true)
              GeocodeCallback);  // call back function
}

function deleteAllTrackingMapShape()
{
    pathMap.DeleteAllPolygons();
    pathMap.DeleteAllPolylines();
    pathMap.DeleteAllPushpins();
}

function deleteAllUserMapShape()
{
    homeMap.DeleteAllPolygons();
    homeMap.DeleteAllPolylines();
    homeMap.DeleteAllPushpins();
}

function deleteAllMapShape()
{
    map.DeleteAllPolygons();
    map.DeleteAllPolylines();
    map.DeleteAllPushpins();
}

function OnGeofenceSucceeded(response,obj)
{
    for(var i=0; i<response.length;i++)
    {
        if (response[i] != null)
            drawShape(response[i]);
    }
    if (geofenceLocs.length > 0)
        map.SetMapView(geofenceLocs);
    geofenceCount = response.length;
    if (geofenceCount >= 5)
    {
        document.getElementById('addressDiv').style.display = "none";
        document.getElementById('moveNextDiv').style.display = "block";
        document.getElementById('moveNextDivMSG').innerHTML = "Geofence Maximum Limit Reached.";
    }
}

//when webservice fails
function OnGeofenceFailed(error)
{
}

function GeocodeCallback (shapeLayer, findResults, places, moreResults, errorMsg)
{
   // if there are no results, display any error message and return
   if(places == null)
   {
      alert( (errorMsg == null) ? "Your City not Found." : errorMsg );
      return;
   }

   var bestPlace = places[0];
   
   // Add pushpin to the *best* place
   var location = bestPlace.LatLong;
   map.SetCenterAndZoom(location,10);
   //var newShape = new VEShape(VEShapeType.Pushpin, location);
   
   //var desc = "Latitude: " + location.Latitude + "<br>Longitude:" + location.Longitude;
   //newShape.SetDescription(desc);
   //newShape.SetTitle(bestPlace.Name);
   //map.AddShape(newShape);
}

function setMapAddressGeofence() {
    var newAdd = "";
    var stateOBJ = document.getElementById(DDStateID);
    var countryOBJ = document.getElementById(DDCountryID);
    if (countryOBJ.options[countryOBJ.selectedIndex].text == "Select Country")
        alert('Please Select Country');
    else if (stateOBJ.options[stateOBJ.selectedIndex].text == "Select State")
        alert('Please Select State');
   else if (document.getElementById('txtOtherCity').value == "")
        alert('Please Enter City');
    else if (document.getElementById(txtZipID).value == "")
        alert('Please Enter Zip Code');
    else if (document.getElementById(txtZipID).value.length < 5)
        alert('Zip Code must be of 5 length');
    else if (!IsNumeric(document.getElementById(txtZipID).value))
        alert('Zip Code can only be numeric');
 
    else {
        newAdd = newAdd + document.getElementById('txtAdderss').value;
        newAdd = newAdd + "," + document.getElementById('txtOtherCity').value;
        newAdd = newAdd + "," + document.getElementById(txtZipID).value;
        newAdd = newAdd + "," + stateOBJ.options[stateOBJ.selectedIndex].text;
        newAdd = newAdd + "," + countryOBJ.options[countryOBJ.selectedIndex].text;

        map.Find(null,    // what
                  newAdd, // where
                  null,    // VEFindType (always VEFindType.Businesses)
                  null,    // VEShapeLayer (base by default)
                  null,    // start index for results (0 by default)
                  null,    // max number of results (default is 10)
                  null,    // show results? (default is true)
                  null,    // create pushpin for what results? (ignored since what is null)
                  false,    // use default disambiguation? (default is true)
                  null,    // set best map view? (default is true)
                  MoreResults);
        document.getElementById('addressDiv').style.display = "none";
        document.getElementById('findAddress').style.display = "block";
    }


}


function setMapAddress()
{
    var newAdd = "";
   var cityOBJ = document.getElementById(DDCityID);
    var stateOBJ = document.getElementById(DDStateID);
    var countryOBJ = document.getElementById(DDCountryID);
        
    if (countryOBJ.options[countryOBJ.selectedIndex].text == "Select Country")
        alert('Please Select Country');
    else if (stateOBJ.options[stateOBJ.selectedIndex].text == "Select State")
        alert('Please Select State');
    else if (cityOBJ.options[cityOBJ.selectedIndex].text == "Select City")
    alert('Please Select City');
   else if ((cityOBJ.options[cityOBJ.selectedIndex].text == "Other") && (document.getElementById('txtOtherCity').value == ""))
    //else if (document.getElementById('txtOtherCity').value == "")
        alert('Please Enter City');
    else if (document.getElementById(txtZipID).value == "")
        alert('Please Enter Zip Code');
    else if (document.getElementById(txtZipID).value.length < 5)
        alert('Zip Code must be of 5 length');
    else if (!IsNumeric(document.getElementById(txtZipID).value))
        alert('Zip Code can only be numeric');
//    else if (countryOBJ.options[countryOBJ.selectedIndex].text == "Select City")
//        alert('Please Select City');
    else
    {
        newAdd = newAdd + document.getElementById('txtAdderss').value;
        if (cityOBJ.options[cityOBJ.selectedIndex].text == "Other")
            newAdd = newAdd + "," + document.getElementById('txtOtherCity').value;
        else
            newAdd = newAdd + "," + cityOBJ.options[cityOBJ.selectedIndex].text;
            
        newAdd = newAdd + "," + document.getElementById(txtZipID).value;
        newAdd = newAdd + "," + stateOBJ.options[stateOBJ.selectedIndex].text;
        newAdd = newAdd + "," + countryOBJ.options[countryOBJ.selectedIndex].text;
        
        map.Find(null,    // what
                  newAdd, // where
                  null,    // VEFindType (always VEFindType.Businesses)
                  null,    // VEShapeLayer (base by default)
                  null,    // start index for results (0 by default)
                  null,    // max number of results (default is 10)
                  null,    // show results? (default is true)
                  null,    // create pushpin for what results? (ignored since what is null)
                  false,    // use default disambiguation? (default is true)
                  null,    // set best map view? (default is true)
                  MoreResults);
        document.getElementById('addressDiv').style.display = "none";
        document.getElementById('findAddress').style.display = "block";
    }

    
}

function IsNumeric(sText)
{
    var ValidChars = "0123456789";
    var IsNumber=true;
    var Char;
    
    for (i = 0; i < sText.length; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }
    return IsNumber;
}


function MoreResults(layer, resultsArray, places, hasMore, veErrorMessage)
{
    if(veErrorMessage != null && veErrorMessage != "")
    {
        document.getElementById('findAddress').style.display = "none";
        showAddressAgain("Address not found, please select Address again");
    }
    else
    {
        document.getElementById('findAddress').style.display = "none";
        hideAddressDiv();
    }
    map.SetZoomLevel(17);
}

function showAddressAgain(helpText)
{
    var hlpDiv = document.getElementById('settingSaved');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Geofence Information</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3"><tr><td align="center">'+ helpText + '</td></tr><tr><td align="center"><a href="" border="0"><img border="0" src="Images/ok_btn.gif" onclick="hideAddressAgainDiv();showAddressDiv();return false;" /></a></td></tr></table>';
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
}

function hideAddressAgainDiv()
{
    var hlpDiv = document.getElementById('settingSaved');
    hlpDiv.style.display = "none";
}

function hideAddressDiv()
{
    document.getElementById('addressDiv').style.display = "none";
    document.getElementById('selectGeofenceDiv').style.display = "block";
}

function closeAddressDiv() {
    if (counter == 1) {
        counter = 0;
        pin = null;
    }
    else {
        counter = 0;
        pin = null;
    }

    document.getElementById('addressDiv').style.display = "none";
}

function showAddressDiv()
{
    document.getElementById('selectGeofenceDiv').style.display = "none";
    document.getElementById('addressDiv').style.display = "block";
}

function setGeofence()
{
    var geofenceDD = document.getElementById('ddlGeofenceType');
    currGeofenceType = geofenceDD.options[geofenceDD.selectedIndex].value;
    document.getElementById('selectGeofenceDiv').style.display = "none";
    showStepMSG('Use the zoom buttons and the arrow keys on the left side of the map to center the geofence area.');
    //map.AttachEvent("onmousedown",MouseHandler);
}

function showStepMSG(helpText)
{
    var hlpDiv = document.getElementById('msgDiv');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Geofence Information</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3"><tr><td align="center">'+ helpText + '</td></tr><tr><td align="center"><a href="" border="0"><img border="0" src="Images/ok_btn.gif" onclick="hideStepMSG();return false;" /></a></td></tr></table>';
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
    //choosePoint();
}

function hideStepMSG()
{
    var hlpDiv = document.getElementById('msgDiv');
    hlpDiv.style.display = "none";
    choosePoint();
}

function OnCityChange(cityOBJ) {


    if (cityOBJ.options[cityOBJ.selectedIndex].text == "Other")
        document.getElementById('txtOtherCity').disabled = false;
    else {
        document.getElementById('txtOtherCity').disabled = "disabled";
        document.getElementById('txtOtherCity').value = "";
    }
}

function OnCityChangeAtGeofence(cityOBJ) {


//    if (cityOBJ.options[cityOBJ.selectedIndex].text == "Other")
//        document.getElementById('txtOtherCity').disabled = false;
//    else {
//        document.getElementById('txtOtherCity').disabled = "disabled";
//        document.getElementById('txtOtherCity').value = "";
//    }
}

//modified by asif

function showUpdateDiv(geofenceID, polyID, typeID, pinID, tempRectID,DeviceID) {
    var hlpDiv = document.getElementById('saveGeofenceDiv');
    //hlpDiv.style.pixelLeft=380;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Save Geofence</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + "<tr style='background:white;'><td class='regibox_bdr'>";
    desc = desc + "<table width='100%' border='0' align='center' cellpadding='5' cellspacing='3'><tr><td>Enter Geofence Label :</td><td cplspan='2'><input type='input' MAXLENGTH=25 name='geoName' id='geoName' /></td></tr><tr><td>Select Blocking Prefrence Level :</td>";
    desc = desc + "<td cplspan='2'><select id='blockLevel'><option value='1'>Block All (Phone, SMS, Browsing etc)</option><option value='2'>Block Phone (Phone & SMS)</option><option value='3'>None</option></select></td></tr>";
    desc = desc + "<tr><td colspan='2'>Select Geofence Active Days</td></tr>";
    desc = desc + "<tr><td colspan='2'><input type='checkbox' name='checkMonday' id='checkMonday' onclick='clickCheckDay();' checked /> Monday <input type='checkbox' name='checkTuesday' id='checkTuesday' onclick='clickCheckDay();' checked /> Tuesday <input type='checkbox' name='checkWednesday' id='checkWednesday' onclick='clickCheckDay();' checked /> Wednesday ";
    desc = desc + "<input type='checkbox' name='checkThursday' id='checkThursday' onclick='clickCheckDay();' checked /> Thursday <input type='checkbox' name='checkFriday' id='checkFriday' onclick='clickCheckDay();' checked /> Friday<br/><input type='checkbox' name='checkSaturday' id='checkSaturday' onclick='clickCheckDay();' checked /> Saturday <input type='checkbox' name='checkSunday' id='checkSunday' onclick='clickCheckDay();' checked /> Sunday <input type='checkbox' name='checkAllDay' id='checkAllDay' onclick='clickCheckAll();' checked /> Select All</td></tr>";
    desc = desc + "<tr><td></td><td align='left'><span id='text' style='font-size:10px'>Time Zone will be local Time Zone of your Mobile.</span></td></tr>";
    desc = desc + "<tr><td>Start Time :</td><td ALIGN='left'>Hours <select id='stimeh' onChange='setStartTimeDropDown();durationTime();return false;'>";
    desc = desc + "</select>  Min <select id='stimem' onChange='setStartTimeDropDown();durationTime();return false;'>";
    desc = desc + "</select>&nbsp;&nbsp;<select id='stf' onChange='setStartTimeDropDown();durationTime();return false;'></tr>";
    desc = desc + "<tr><td>End Time :</td><td ALIGN='left'>Hours <select id='etimeh' onChange='setEndTimeDropDown();durationTime();return false;'>";
    desc = desc + "</select>  Min <select id='etimem' onChange='durationTime();return false;'>";
    desc = desc + "</select>&nbsp;&nbsp;<select id='etf' onChange='setEndTimeDropDown();setEndHour();durationTime();return false;'></tr>";
    desc = desc + "<tr><td></td><td align='left'>Duration &nbsp;&nbsp;<span id='duration'>24 Hours.</span> </td></tr>";
    desc = desc + "<tr><td colspan='2'><input type='checkbox' name='checkNotification' id='checkNotification' checked /> Send Notification on Arrival / Non-Arrival at Expected Time</td></tr>";


    desc = desc + "<tr><td align='right'><a href='' border='0'><img border='0' src='Images/save_btn.gif' onclick='UpdateData(" + geofenceID + "," + polyID + "," + typeID + "," + pinID + "," + DeviceID + ");return false;' /></a></td><td align='center' colspan='2'><a href='' border='0'><img border='0' src='Images/cancel_btn.gif' onclick='clearPage();return false;' /></a></td></tr></table></td></tr></table>";

    //desc = desc + "<tr><td align='right'><a href='' border='0'><img border='0' src='Images/save_btn.gif' onclick='SaveData(1);return false;' /></a></td><td align='center' colspan='2'><a href='' border='0'><img border='0' src='Images/cancel_btn.gif' onclick='clearRectangle(" + pinID + "," + polyID + "," + tempRectID + ");return false;' /></a></td></tr></table></td></tr></table>";
    
    
    

    hlpDiv.innerHTML = desc;
    hlpDiv.style.display = "block";

    addAllTimeOption();
    setInitialTime();
    if (!document.getElementById('checkAllDay').checked)
        setStartTimeDropDown();
    durationTime();
}

function showCircleUpdateDiv(geofenceID, polyID, typeID, pinID,DeviceID) 
{
    var hlpDiv = document.getElementById('saveGeofenceDiv');
    //hlpDiv.style.pixelLeft=380;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Save Geofence</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + "<tr style='background:white;'><td class='regibox_bdr'><table width='100%' border='0' align='center' cellpadding='5' cellspacing='3'><tr><td>Enter Geofence Label :</td><td><input type='input' MAXLENGTH=25 name='geoName' id='geoName' /></td></tr><tr><td>Select Blocking Prefrence Level :</td><td><select id='blockLevel'><option value='1'>Block All (Phone, SMS, Browsing etc)</option><option value='2'>Block Phone (Phone & SMS)</option><option value='3'>None</option></select></td></tr>";
    desc = desc + "<tr><td colspan='2'>Select Geofence Active Days</td></tr>";
    desc = desc + "<tr><td colspan='2'><input type='checkbox' name='checkMonday' id='checkMonday' onclick='clickCheckDay();' checked /> Monday <input type='checkbox' name='checkTuesday' id='checkTuesday' onclick='clickCheckDay();' checked /> Tuesday <input type='checkbox' name='checkWednesday' id='checkWednesday' onclick='clickCheckDay();' checked /> Wednesday ";
    desc = desc + "<input type='checkbox' name='checkThursday' id='checkThursday' onclick='clickCheckDay();' checked /> Thursday <input type='checkbox' name='checkFriday' id='checkFriday' onclick='clickCheckDay();' checked /> Friday<br/><input type='checkbox' name='checkSaturday' id='checkSaturday' onclick='clickCheckDay();' checked /> Saturday <input type='checkbox' name='checkSunday' id='checkSunday' onclick='clickCheckDay();' checked /> Sunday <input type='checkbox' name='checkAllDay' id='checkAllDay' onclick='clickCheckAll();' checked /> Select All</td></tr>";
    desc = desc + "<tr><td></td><td align='left'><span id='text' style='font-size:10px'>Time Zone will be local Time Zone of your Mobile.</span></td></tr>";

    desc = desc + "<tr><td>Start Time :</td><td ALIGN='left'>Hours <select id='stimeh' onChange='setStartTimeDropDown();durationTime();return false;'>";
    desc = desc + "</select>  Min <select id='stimem' onChange='setStartTimeDropDown();durationTime();return false;'>";
    desc = desc + "</select>&nbsp;&nbsp;<select id='stf' onChange='setStartTimeDropDown();durationTime();return false;'></tr>";
    desc = desc + "<tr><td>End Time :</td><td ALIGN='left'>Hours <select id='etimeh' onChange='setEndTimeDropDown();durationTime();return false;'>";
    desc = desc + "</select>  Min <select id='etimem' onChange='durationTime();return false;'>";
    desc = desc + "</select>&nbsp;&nbsp;<select id='etf' onChange='setEndTimeDropDown();setEndHour();durationTime();return false;'></tr>";
    desc = desc + "<tr><td></td><td align='left'>Duration &nbsp;&nbsp;<span id='duration'>24 Hours.</span> </td></tr>";
    desc = desc + "<tr><td colspan='2'><input type='checkbox' name='checkNotification' id='checkNotification' checked /> Send Notification on Arrival / Non-Arrival at Expected Time</td></tr>";
    desc = desc + "<tr><td align='right'><a href='' border='0'><img border='0' src='Images/save_btn.gif' onclick='UpdateData(" + geofenceID + "," + polyID + "," + typeID + "," + pinID + ");return false;' /></a></td><td align='center'><a href='' border='0'><img border='0' src='Images/cancel_btn.gif' onclick='clearPage();return false;' /></a></td></tr></table></td></tr></table>";


    hlpDiv.innerHTML = desc;
    hlpDiv.style.display = "block";
    addAllTimeOption();
    setInitialTime();
    if (!document.getElementById('checkAllDay').checked)
        setStartTimeDropDown();
    durationTime();
}

function showSaveDiv(rectPinID1,polyID,tempRectID)
{
    var hlpDiv = document.getElementById('saveGeofenceDiv');
    //hlpDiv.style.pixelLeft=380;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Save Geofence</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + "<tr style='background:white;'><td class='regibox_bdr'>";
    desc = desc + "<table width='100%' border='0' align='center' cellpadding='5' cellspacing='3'><tr><td>Enter Geofence Label :</td><td cplspan='2'><input type='input' MAXLENGTH=25 name='geoName' id='geoName' /></td></tr><tr><td>Select Blocking Prefrence Level :</td>";
    desc = desc + "<td cplspan='2'><select id='blockLevel'><option value='1'>Block All (Phone, SMS, Browsing etc)</option><option value='2'>Block Phone (Phone & SMS)</option><option value='3'>None</option></select></td></tr>";    
    desc = desc + "<tr><td colspan='2'>Select Geofence Active Days</td></tr>";
    desc = desc + "<tr><td colspan='2'><input type='checkbox' name='checkMonday' id='checkMonday' onclick='clickCheckDay();' checked /> Monday <input type='checkbox' name='checkTuesday' id='checkTuesday' onclick='clickCheckDay();' checked /> Tuesday <input type='checkbox' name='checkWednesday' id='checkWednesday' onclick='clickCheckDay();' checked /> Wednesday ";
    desc = desc + "<input type='checkbox' name='checkThursday' id='checkThursday' onclick='clickCheckDay();' checked /> Thursday <input type='checkbox' name='checkFriday' id='checkFriday' onclick='clickCheckDay();' checked /> Friday<br/><input type='checkbox' name='checkSaturday' id='checkSaturday' onclick='clickCheckDay();' checked /> Saturday <input type='checkbox' name='checkSunday' id='checkSunday' onclick='clickCheckDay();' checked /> Sunday <input type='checkbox' name='checkAllDay' id='checkAllDay' onclick='clickCheckAll();' checked /> Select All</td></tr>";
    desc = desc + "<tr><td></td><td align='left'><span id='text' style='font-size:10px'>Time Zone will be local Time Zone of your Mobile.</span></td></tr>";
    desc = desc + "<tr><td>Start Time :</td><td ALIGN='left'>Hours <select id='stimeh' onChange='setStartTimeDropDown();durationTime();return false;'>";
    desc = desc + "</select>  Min <select id='stimem' onChange='setStartTimeDropDown();durationTime();return false;'>";
    desc = desc + "</select>&nbsp;&nbsp;<select id='stf' onChange='setStartTimeDropDown();durationTime();return false;'></tr>";
    desc = desc + "<tr><td>End Time :</td><td ALIGN='left'>Hours <select id='etimeh' onChange='setEndTimeDropDown();durationTime();return false;'>";
    desc = desc + "</select>  Min <select id='etimem' onChange='durationTime();return false;'>";
    desc = desc + "</select>&nbsp;&nbsp;<select id='etf' onChange='setEndTimeDropDown();setEndHour();durationTime();return false;'></tr>";
    desc = desc + "<tr><td></td><td align='left'>Duration &nbsp;&nbsp;<span id='duration'>24 Hours.</span> </td></tr>";
    desc = desc + "<tr><td colspan='2'><input type='checkbox' name='checkNotification' id='checkNotification' checked /> Send Notification on Arrival / Non-Arrival at Expected Time</td></tr>";
    
    desc = desc + "<tr><td align='right'><a href='' border='0'><img border='0' src='Images/save_btn.gif' onclick='SaveData(1);return false;' /></a></td><td align='center' colspan='2'><a href='' border='0'><img border='0' src='Images/cancel_btn.gif' onclick='clearPage();return false;' /></a></td></tr></table></td></tr></table>";
    
    hlpDiv.innerHTML = desc;
    hlpDiv.style.display = "block";

    uncheckalldays();
    addAllTimeOption();
    setInitialTime();
    if (!document.getElementById('checkAllDay').checked)
        setStartTimeDropDown();
    durationTime();
    
    
    
}
//modified by asif
function showCircleSaveDiv(PinID1,polyID)
{
    var hlpDiv = document.getElementById('saveGeofenceDiv');
    //hlpDiv.style.pixelLeft=380;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Save Geofence</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + "<tr style='background:white;'><td class='regibox_bdr'><table width='100%' border='0' align='center' cellpadding='5' cellspacing='3'><tr><td>Enter Geofence Label :</td><td><input type='input' MAXLENGTH=25 name='geoName' id='geoName' /></td></tr><tr><td>Select Blocking Prefrence Level :</td><td><select id='blockLevel'><option value='1'>Block All (Phone, SMS, Browsing etc)</option><option value='2'>Block Phone (Phone & SMS)</option><option value='3'>None</option></select></td></tr>";
    desc = desc + "<tr><td colspan='2'>Select Geofence Active Days</td></tr>";
    desc = desc + "<tr><td colspan='2'><input type='checkbox' name='checkMonday' id='checkMonday' onclick='clickCheckDay();' checked /> Monday <input type='checkbox' name='checkTuesday' id='checkTuesday' onclick='clickCheckDay();' checked /> Tuesday <input type='checkbox' name='checkWednesday' id='checkWednesday' onclick='clickCheckDay();' checked /> Wednesday ";
    desc = desc + "<input type='checkbox' name='checkThursday' id='checkThursday' onclick='clickCheckDay();' checked /> Thursday <input type='checkbox' name='checkFriday' id='checkFriday' onclick='clickCheckDay();' checked /> Friday<br/><input type='checkbox' name='checkSaturday' id='checkSaturday' onclick='clickCheckDay();' checked /> Saturday <input type='checkbox' name='checkSunday' id='checkSunday' onclick='clickCheckDay();' checked /> Sunday <input type='checkbox' name='checkAllDay' id='checkAllDay' onclick='clickCheckAll();' checked /> Select All</td></tr>";
    desc = desc + "<tr><td></td><td align='left'><span id='text' style='font-size:10px'>Time Zone will be local Time Zone of your Mobile.</span></td></tr>";

    desc = desc + "<tr><td>Start Time :</td><td ALIGN='left'>Hours <select id='stimeh' onChange='setStartTimeDropDown();durationTime();return false;'>";
    desc = desc + "</select>  Min <select id='stimem' onChange='setStartTimeDropDown();durationTime();return false;'>";
    desc = desc + "</select>&nbsp;&nbsp;<select id='stf' onChange='setStartTimeDropDown();durationTime();return false;'></tr>";
    desc = desc + "<tr><td>End Time :</td><td ALIGN='left'>Hours <select id='etimeh' onChange='setEndTimeDropDown();durationTime();return false;'>";
    desc = desc + "</select>  Min <select id='etimem' onChange='durationTime();return false;'>";
    desc = desc + "</select>&nbsp;&nbsp;<select id='etf' onChange='setEndTimeDropDown();setEndHour();durationTime();return false;'></tr>";
    desc = desc + "<tr><td></td><td align='left'>Duration &nbsp;&nbsp;<span id='duration'>24 Hours.</span> </td></tr>";
    desc = desc + "<tr><td colspan='2'><input type='checkbox' name='checkNotification' id='checkNotification' checked /> Send Notification on Arrival / Non-Arrival at Expected Time</td></tr>";
    desc = desc + "<tr><td align='right'><a href='' border='0'><img border='0' src='Images/save_btn.gif' onclick='SaveData(0);return false;' /></a></td><td align='center'><a href='' border='0'><img border='0' src='Images/cancel_btn.gif' onclick='clearPage();return false;' /></a></td></tr></table></td></tr></table>";
    
    
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
    uncheckalldays();
    addAllTimeOption();
    setInitialTime();
    if (!document.getElementById('checkAllDay').checked)
        setStartTimeDropDown();
    durationTime();
}

function setInitialTime()
{
    document.getElementById('stimeh').selectedIndex=11;
    document.getElementById('stimem').selectedIndex=0;
    document.getElementById('stf').selectedIndex=0;    
    
    document.getElementById('etimeh').selectedIndex=11;
    document.getElementById('etimem').selectedIndex=0;
    document.getElementById('etf').selectedIndex=0;
}

function addAllTimeOption()
{
    var shrEle = document.getElementById('stimeh');
    addHour(shrEle);
    var smmEle = document.getElementById('stimem');
    addMin(smmEle);
    var stfEle = document.getElementById('stf');
    addFormate(stfEle);
    
    var ehrEle = document.getElementById('etimeh');
    addHour(ehrEle);
    var emmEle = document.getElementById('etimem');
    addMin(emmEle);
    var etfEle = document.getElementById('etf');
    addFormate(etfEle);
}

function addFormate(optionElement)
{
    var elOptNew = document.createElement('option');
    elOptNew.text = "AM";
    elOptNew.value = "AM";
    
    optionElement.options.add(elOptNew);
        
    elOptNew = document.createElement('option');
    elOptNew.text = "PM";
    elOptNew.value = "PM";
    
    optionElement.options.add(elOptNew);
}

function addMin(optionElement)
{
    for(var optionI=0;optionI<=45;optionI=optionI+15)
    {
        var elOptNew = document.createElement('option');
        if (optionI == 0)
        {
            elOptNew.text = '00';
            elOptNew.value = '00';
        }
        else
        {
            elOptNew.text = optionI;
            elOptNew.value = optionI;
        }
        optionElement.options.add(elOptNew);
    }
}

function addHour(optionElement)
{
    for(var optionI=1;optionI<=12;optionI++)
    {
        var elOptNew = document.createElement('option');
        if (optionI < 10)
        {
            elOptNew.text = '0' + optionI;
            elOptNew.value = '0' + optionI;
        }
        else
        {
            elOptNew.text = optionI;
            elOptNew.value = optionI;
        }
        optionElement.options.add(elOptNew);
    }
}

function removeAllTimeDrop()
{
    document.getElementById('stimeh').options.length=0;
    document.getElementById('stimem').options.length=0;
    document.getElementById('stf').options.length=0;    
    
    document.getElementById('etimeh').options.length=0;
    document.getElementById('etimem').options.length=0;
    document.getElementById('etf').options.length=0;
}

function setHourDrop(start,end,equal)
{
    var shr = parseFloat(document.getElementById(start).value);
    document.getElementById(end).options.length=0;
    var startIDX;
    if (equal)
    {
        startIDX = shr;
    }
    else
    {
        startIDX = shr + 1;
        if (startIDX > 12)
        {
            startIDX = 1;
        }
    }
    
    for(var stI=startIDX;stI<=12;stI++)
    {
        var elOptNew = document.createElement('option');
        if (stI < 10)
        {
            elOptNew.text = '0' + stI;
            elOptNew.value = '0' + stI;
        }
        else
        {
            elOptNew.text = stI;
            elOptNew.value = stI;
        }
        
        document.getElementById('etimeh').options.add(elOptNew);
    }
}

function setMinDrop(start,end,equal)
{
    var smm = parseFloat(document.getElementById(start).value);
    document.getElementById(end).options.length=0;
    var startIDX;
    var addMin = true;
    if (equal)
    {
        startIDX = smm;
    }
    else
    {
        startIDX = smm + 15;
        
        if(startIDX > 45)
        {
            setHourDrop('stimeh','etimeh',false);
            startIDX = 0;
            
            var ehr = parseFloat(document.getElementById('etimeh').value);
            var emm = parseFloat(document.getElementById('etimem').value);
            var shr = parseFloat(document.getElementById('stimeh').value);
            smm = parseFloat(document.getElementById('stimem').value);
            var stf = document.getElementById('stf').value;
            var etf = document.getElementById('etf').value;
        
            if (ehr == 12)
            {
                if (stf == 'PM' && etf == 'PM')
                {
                    document.getElementById('etf').options.length=0;
                    document.getElementById('etimem').options.length=0;
                    var elOptNew = document.createElement('option');
                    elOptNew.text = 'AM';
                    elOptNew.value = 'AM';
                    document.getElementById('etf').options.add(elOptNew);
                    
                    document.getElementById('etimem').options.length=0;
                    elOptNew = null;
                    elOptNew = document.createElement('option');
                    elOptNew.text = '00';
                    elOptNew.value = '00';
                    document.getElementById('etimem').options.add(elOptNew);
                    addMin = false;
                }
            }
        }
    }
    
    if (addMin == true)
    {
        for(var stI=startIDX;stI<=45;stI=stI+15)
        {
            var elOptNew = document.createElement('option');
            if (stI == 0)
            {
                elOptNew.text = '00';
                elOptNew.value = '00';
            }
            else
            {
                elOptNew.text = stI;
                elOptNew.value = stI;
            }
            
            document.getElementById(end).options.add(elOptNew);
        }
    }
}

function setStartTimeDropDown()
{
    if (!document.getElementById('checkAllDay').checked)
    {
        var ehr = parseFloat(document.getElementById('etimeh').value);
        var emm = parseFloat(document.getElementById('etimem').value);
        var shr = parseFloat(document.getElementById('stimeh').value);
        var smm = parseFloat(document.getElementById('stimem').value);
        var stf = document.getElementById('stf').value;
        var etf = document.getElementById('etf').value;
        
        if (stf == 'AM')
        {
            document.getElementById('etf').options.length=0;
            addFormate(document.getElementById('etf'));
            //if (etf == 'AM')
            //{
                if (shr == 12)
                {
                    document.getElementById('etimeh').options.length=0;
                    addHour(document.getElementById('etimeh'));
                }
                else
                    setHourDrop('stimeh','etimeh',true);
                setMinDrop('stimem','etimem',false);
            //}
            if (shr == 12 && smm == 0 && stf == 'AM')
            {
                setMinDrop('stimem','etimem',true);
            }
            
            if (shr == 11 && smm == 45 && stf == 'AM')
            {
                document.getElementById('etimem').options.length=0;
                var elOptNew = document.createElement('option');
                elOptNew.text = '00';
                elOptNew.value = '00';
                document.getElementById('etimem').options.add(elOptNew);
            }
        }
        else if (stf == 'PM')
        {
            document.getElementById('etf').options.length=0;
            var elOptNew = document.createElement('option');
            elOptNew.text = 'PM';
            elOptNew.value = 'PM';
            document.getElementById('etf').options.add(elOptNew);
            
            if (shr == 12)
            {
                document.getElementById('etimeh').options.length=0;
                addHour(document.getElementById('etimeh'));
            }
            else
                setHourDrop('stimeh','etimeh',true);
            setMinDrop('stimem','etimem',false);
        }
    }
}

function setEndHour()
{
    var stf = document.getElementById('stf').value;
    var etf = document.getElementById('etf').value;
    
    if (etf == 'PM' && stf == 'AM')
    {
        document.getElementById('etimeh').options.length=0;
        addHour(document.getElementById('etimeh'));
    }
    else
    {
        setStartTimeDropDown();
    }
}

function setEndTimeDropDown()
{
    if (!document.getElementById('checkAllDay').checked)
    {
        var ehr = parseFloat(document.getElementById('etimeh').value);
        var emm = parseFloat(document.getElementById('etimem').value);
        var shr = parseFloat(document.getElementById('stimeh').value);
        var smm = parseFloat(document.getElementById('stimem').value);
        var stf = document.getElementById('stf').value;
        var etf = document.getElementById('etf').value;
        
        if (shr == ehr)
        {
            if (stf == etf)
                setMinDrop('stimem','etimem',false);
            else
            {
                document.getElementById('etimem').options.length=0;
                addMin(document.getElementById('etimem'));
            }
        }
        else if (shr < ehr || shr == 12)
        {
            if (etf == 'AM')
            {
                if (ehr == 12)
                {
                    document.getElementById('etimem').options.length=0;
                    var elOptNew = document.createElement('option');
                    elOptNew.text = '00';
                    elOptNew.value = '00';
                    document.getElementById('etimem').options.add(elOptNew);
                }
                else
                {
                    document.getElementById('etimem').options.length=0;
                    addMin(document.getElementById('etimem'));
                }
            }
            else
            {
                document.getElementById('etimem').options.length=0;
                addMin(document.getElementById('etimem'));
            }
                //setMinDrop('stimem','etimem',true);
        }
        
        if (ehr == 12 && stf == 'PM')
        {
            document.getElementById('etf').options.length=0;
            var elOptNew = document.createElement('option');
            elOptNew.text = 'AM';
            elOptNew.value = 'AM';
            document.getElementById('etf').options.add(elOptNew);
            
            document.getElementById('etimem').options.length=0;
            var elOptNew = document.createElement('option');
            elOptNew.text = '00';
            elOptNew.value = '00';
            document.getElementById('etimem').options.add(elOptNew);
        }
        else if (ehr != 12 && stf == 'PM')
        {
            document.getElementById('etf').options.length=0;
            var elOptNew = document.createElement('option');
            elOptNew.text = 'PM';
            elOptNew.value = 'PM';
            document.getElementById('etf').options.add(elOptNew);
        }
        
        if (ehr == 12 && etf == 'AM' & shr == 12 && stf == 'AM' && smm == 0 && emm == 0)
        {
            setMinDrop('stimem','etimem',true);
        }
    }
}

function hideOkDiv()
{
    var hlpDiv = document.getElementById('msgDiv');
    hlpDiv.style.display = "none";
    if(map!=null)
    map.AttachEvent("onmousedown",MouseHandler);
}

function showOkDiv(helpText)
{
    var hlpDiv = document.getElementById('msgDiv');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Geofence Information</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3"><tr><td align="center">'+ helpText + '</td></tr><tr><td align="center"><a href="" border="0"><img border="0" src="Images/ok_btn.gif" onclick="hideOkDiv();return false;" /></a></td></tr></table>';
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
}

function sendValidationCode(deviceID)
{
    PageMethods.reSendValidation(deviceID,pageUser,OnsendValidationSucceeded,OnsendValidationFailed);
}

function OnsendValidationSucceeded(response)
{
    if (response)
    {
        var helpTXT = "A text message with a Cell Phone Validation Code has been sent to your mobile Phone.";
        sendSMSMsg(helpTXT);
    }
    else
    {
        var helpTXT = "Unable to Process your request,Please Try Again.";
        sendSMSMsg(helpTXT);
    }
}

function OnsendValidationFailed()
{
    var helpTXT = "Unable to Process your request,Please Try Again.";
    sendSMSMsg(helpTXT);
}

function executeCommand(commandID)
{
    if (commandID == "driving")
        PageMethods.loadAllGeofence(pageUser,OnDrivingCommandSucceeded,OnCommandFailed);
    else if (commandID == "geofence")
        PageMethods.loadAllGeofence(pageUser,OnGeofenceCommandSucceeded,OnCommandFailed);
    else if (commandID == "safeList")
        PageMethods.loadAllGeofence(pageUser,OnSafeListCommandSucceeded,OnCommandFailed);
    else if (commandID == "advSett")
        PageMethods.loadAllGeofence(pageUser,OnAdvSettCommandSucceeded,OnCommandFailed);
    else if (commandID == "downloadApp")
        PageMethods.loadAllGeofence(pageUser,OnDownloadAppCommandSucceeded,OnCommandFailed);
    else if (commandID == "deleteDevice")
        PageMethods.loadAllGeofence(pageUser,OnDeleteCommandSucceeded,OnCommandFailed);
    else if (commandID == "sendCode")
        PageMethods.loadAllGeofence(pageUser,OnSendCodeCommandSucceeded,OnCommandFailed);
}

function OnDrivingCommandSucceeded(response)
{
    var hlpDiv = document.getElementById('deviceDiv');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Select Cell Phone</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3">';
    
    for(var i=0; i<response.length;i++)
    {
        if (response[i] != null)
        {
            desc = desc + '<tr><td align="center"><a href="deviceSettingPage.aspx?DeviceID='+response[i].DeviceID+'">'+response[i].DeviceName+'</a></td></tr>';
        }
    }
    if (response.length == 0)
        desc = desc + '<tr><td align="center">No Cell Phone to Select</td></tr>';
    desc = desc + '<tr><td align="center"><a href="" border="0"><img border="0" src="Images/close_btn.gif" onclick="closeCommand();return false;" /></a></td></tr>';
    desc = desc + '</table>';
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
}

function OnGeofenceCommandSucceeded(response)
{
    var hlpDiv = document.getElementById('deviceDiv');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Select Cell Phone</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3">';
    
    for(var i=0; i<response.length;i++)
    {
        if (response[i] != null)
        {
            desc = desc + '<tr><td align="center"><a href="deviceGeofence.aspx?DeviceID='+response[i].DeviceID+'">'+response[i].DeviceName+'</a></td></tr>';
        }
    }
    if (response.length == 0)
        desc = desc + '<tr><td align="center">No Cell Phone to Select</td></tr>';
    desc = desc + '<tr><td align="center"><a href="" border="0"><img border="0" src="Images/close_btn.gif" onclick="closeCommand();return false;" /></a></td></tr>';
    desc = desc + '</table>';
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
}

function OnSafeListCommandSucceeded(response)
{
    var hlpDiv = document.getElementById('deviceDiv');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Select Cell Phone</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3">';
    
    for(var i=0; i<response.length;i++)
    {
        if (response[i] != null)
        {
            desc = desc + '<tr><td align="center"><a href="WhiteList.aspx?DeviceID='+response[i].DeviceID+'&Device='+response[i].DeviceName+'">'+response[i].DeviceName+'</a></td></tr>';
        }
    }
    if (response.length == 0)
        desc = desc + '<tr><td align="center">No Cell Phone to Select</td></tr>';
    desc = desc + '<tr><td align="center"><a href="" border="0"><img border="0" src="Images/close_btn.gif" onclick="closeCommand();return false;" /></a></td></tr>';
    desc = desc + '</table>';
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
}

function OnAdvSettCommandSucceeded(response)
{
    var hlpDiv = document.getElementById('deviceDiv');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Select Cell Phone</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3">';
    
    for(var i=0; i<response.length;i++)
    {
        if (response[i] != null)
        {
            desc = desc + '<tr><td align="center"><a href="advSetting.aspx?DeviceID='+response[i].DeviceID+'">'+response[i].DeviceName+'</a></td></tr>';
        }
    }
    if (response.length == 0)
        desc = desc + '<tr><td align="center">No Cell Phone to Select</td></tr>';
    desc = desc + '<tr><td align="center"><a href="" border="0"><img border="0" src="Images/close_btn.gif" onclick="closeCommand();return false;" /></a></td></tr>';
    desc = desc + '</table>';
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
}

function OnDownloadAppCommandSucceeded(response)
{
    var hlpDiv = document.getElementById('deviceDiv');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Select Cell Phone</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3">';
    
    for(var i=0; i<response.length;i++)
    {
        if (response[i] != null)
        {
            desc = desc + '<tr><td align="center"><a href="downloadApp.aspx?DeviceID='+response[i].DeviceID+'">'+response[i].DeviceName+'</a></td></tr>';
        }
    }
    if (response.length == 0)
        desc = desc + '<tr><td align="center">No Cell Phone to Select</td></tr>';
    desc = desc + '<tr><td align="center"><a href="" border="0"><img border="0" src="Images/close_btn.gif" onclick="closeCommand();return false;" /></a></td></tr>';
    desc = desc + '</table>';
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
}

function OnDeleteCommandSucceeded(response)
{
    var hlpDiv = document.getElementById('deviceDiv');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Select Cell Phone</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3">';
    
    for(var i=0; i<response.length;i++)
    {
        if (response[i] != null)
        {
            //desc = desc + '<tr><td align="center"><a href="javascript:PageMethods.deleteDevice('+response[i].DeviceID+','+pageUser+',OnDeleteDeviceSucceeded,OnDeleteDeviceFailed)">'+response[i].DeviceName+'</a></td></tr>';
            desc = desc + '<tr><td align="center"><a href="javascript:delDevice('+response[i].DeviceID+','+pageUser+')">'+response[i].DeviceName+'</a></td></tr>';
        }
    }
    if (response.length == 0)
        desc = desc + '<tr><td align="center">No Cell Phone to Select</td></tr>';
    desc = desc + '<tr><td align="center"><a href="" border="0"><img border="0" src="Images/close_btn.gif" onclick="closeCommand();return false;" /></a></td></tr>';
    desc = desc + '</table>';
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
}

function OnSendCodeCommandSucceeded(response)
{
    var hlpDiv = document.getElementById('deviceDiv');
    //hlpDiv.style.pixelLeft=400;
    //hlpDiv.style.pixelTop=280;
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Select Cell Phone</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + '<tr style="background:white;"><td class="regibox_bdr"><table width="100%" border="0" align="center" cellpadding="5" cellspacing="3">';
    
    for(var i=0; i<response.length;i++)
    {
        if (response[i] != null)
        {
            desc = desc + '<tr><td align="center"><a href="javascript:closeCommand();sendValidationCode('+response[i].DeviceID+')">'+response[i].DeviceName+'</a></td></tr>';
        }
    }
    if (response.length == 0)
        desc = desc + '<tr><td align="center">No Cell Phone to Select</td></tr>';
    desc = desc + '<tr><td align="center"><a href="" border="0"><img border="0" src="Images/close_btn.gif" onclick="closeCommand();return false;" /></a></td></tr>';
    desc = desc + '</table>';
    hlpDiv.innerHTML= desc;
    hlpDiv.style.display = "block";
}

function OnCommandFailed(response)
{
    
}

function closeCommand()
{
    try
    {
        var hlpDiv = document.getElementById('deviceDiv');
        hlpDiv.style.display = "none";
    }
    catch(e)
    {
    }
}

function delDevice(deviceID,userID)
{
    closeCommand();
    var desc = "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left'>";
    desc = desc + "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"
    desc = desc + "<td width='1'><img src='Images/regi_left1_plain.gif' width='16' height='40' /></td>"
    desc = desc + "<td valign='top' class='bx_middlebg regibox_txt'><div class='regibox_txt' style='margin-top:7px;'>Delete Device</div></td>"
    desc = desc + "<td width='1' ><img src='Images/regi_right_plain.gif' width='15' height='40' /></td></tr></table></td></tr>"
    desc = desc + "<tr style='background:white;'><td class='regibox_bdr'><table width='100%' border='0' align='center' cellpadding='5' cellspacing='3'><tr><td align='center' colspan='2'>Are you Sure ?</td></tr><tr><td align='center'><a href='' border='0'><img border='0' src='Images/yes_btn.gif' onclick='showDelProcessing();PageMethods.deleteDevice("+deviceID+","+userID+",OnDeleteDeviceSucceeded,OnDeleteDeviceFailed);return false;' /></a></td><td align='center'><a href='#' border='0'><img border='0' id='noDivbtn' src='Images/no_btn.gif' onclick='noDeleteGeofence();return false;' /></a></td></tr></table>";
    
    document.getElementById('yesNoMsgDiv').innerHTML = desc;
    document.getElementById('yesNoMsgDiv').style.display = "block";
    document.getElementById('noDivbtn').focus();   
}

function showDelProcessing()
{
    document.getElementById('yesNoMsgDiv').style.display = "none";
    document.getElementById('processReq').style.display = "block";
}

function sendURL(deviceID,userID)
{
    PageMethods.SendDownloadURL(deviceID,userID,URLSuccess,URLFail);
}

function URLSuccess(response)
{
    if (response.status == true)
    {
        var helpTXT = " A text message with  a link to Download the TXTBlocker™ application has been sent to your mobile Phone.<br/><br/>";
        helpTXT = helpTXT + "To install the application follow these important steps:<br/>";
        helpTXT = helpTXT + "1) Find the text message that was just sent to your mobile phone.<br/>";
        helpTXT = helpTXT + "2) Click on the link in the text message.<br/>";
        
        if (response.OSID == 2)
        {
            helpTXT = helpTXT + "3) On the Download Confirmation Screen choose Save.<br/>";
            helpTXT = helpTXT + "4) On the Save Screen choose the default location and choose Save.<br/>";
            helpTXT = helpTXT + "5) The installation process will autostart.<br/>";
            helpTXT = helpTXT + "6) Choose Done on the Installation Screen.<br/>";
            helpTXT = helpTXT + "7) Hold down the Power Button until the phone turns off.<br/>";
            helpTXT = helpTXT + "8) After the phone has powered down, hold down the power button again to restart the phone.<br/>";
            helpTXT = helpTXT + "9) After restart, the TXTBlocker™ Confirmation screen will appear.  Enter the Text Message Activation Code you recieved earlier.<br/><br/>";
            helpTXT = helpTXT + "Tip -- to enter numbers into the phone, hold down the FN key -- its below the letter A.<br/>";
        }
        else if (response.OSID == 4)
        {
            helpTXT = helpTXT + "3) clicking the download link it will open a screen that will provide you option.<br/>i) Set Application Permissions<br/>ii) Download or Cancel<br/>";
            helpTXT = helpTXT + "4) In case if you set permissions here, then application will not ask you for permission at run time. Otherwise, application will ask for permissions at run time.<br/>";
            helpTXT = helpTXT + "5) When clicking on download button, if you set application Permissions, then a Screen will be displayed with View option to see all the permissions. Otherwise it wont display this screen.<br/>";
            helpTXT = helpTXT + "6) Then, application will be start downloading and installs at the same instance.<br/>";
            helpTXT = helpTXT + "7) Then it displays a screen for successfull installation with two options : OK and RUN [for start running the application].<br/>";
        }
        sendSMSMsg(helpTXT);
    }
    else
    {
        sendSMSMsg('Unable to Process your request,Please Try Again.');
    }
}

function URLFail(response)
{
    sendSMSMsg('Unable to Process your request,Please Try Again.');
}