//*****************************************************************************
//* Javascript: Asb.js
//* Dec 2007
//* By S.Schofield
//*****************************************************************************

var IncidentSymbolID; //keep track of added incident symbol
var FormAccessDisplay; //Flag to check what information should be displayed
var size_timer = false;

function initializePage()
{
    if ($('MainContainer') != null) //check if visible
    {
        checkSymbolLoaded();
        checkFormAccess();
        displayAdditionalForm($('ctl00_Content_DropDownAsbType').value);
        displayVehMessage($('ctl00_Content_rbVehTaxed'), $('VehTaxed'));
        displayVehMessage($('ctl00_Content_rbVehObstruction'), $('VehObstruction'));
        displayFlyTippingNoItems($('ctl00_Content_DropDownFlyTippingType').value);
        setStatusEvents();

        //Add img alt attribute to third party spinner control
        var imgUp = $('ctl00$Content$timeDogFoulSelect_imgUp');
        var imgDn = $('ctl00$Content$timeDogFoulSelect_imgDown');
        imgUp.setAttribute('alt','SpinnerUp');
        imgDn.setAttribute('alt','SpinnerDn');

    }
}

function checkSymbolLoaded() //Checks if Symbol has already been added to the Map.
{
    //closes symbol layer to cleanup from previous recorded incident, not when viewing record
    if ($("ctl00_Content_formAccess") != null)
    {
        var fA = $("ctl00_Content_formAccess").value;
        if (fA != "" && fA != null) {
            if (fA == "W") {
                ctl00_Content_MappingControl1.closeTable("symbol_drawing", true)
            }
        }    
    }
    if ($("ctl00_Content_symIDExist") != null)
    {
        var sID = $("ctl00_Content_symIDExist").value;
        if (sID != "" && sID != null)
            window.IncidentSymbolID = sID;
    }
}

function OnResizeBrowser() {
    //IE6 fix to reposition MapControl below toolbar on browser resize
    if (size_timer) return;
    size_timer = true;
    self.setTimeout("resetSizeTimer()", 1000);
    setMapControlPosition();    
}

function setMapControlPosition()
{
    var mapCtrl = $("ctl00_Content_MappingControl1");
    if (mapCtrl != undefined)
    {
        $("ctl00_Content_MappingControl1").style.position = "static";
        $("ctl00_Content_MappingControl1").style.position = "absolute";
        setTimeout("ctl00_Content_MappingControl1._updatePosition()", 500);
    }
}

function resetSizeTimer() {
    size_timer = false;
}


window.onresize = OnResizeBrowser;


//function overrideMapControlStyle()
//{
//    try
//    {
//        $("ctl00_Content_MappingControl1").style.position = "static";
//    }
//    catch (e)
//    {
//        window.setTimeout("overrideMapControlStyle();", 300);
//        return;
//    }
//}

function checkFormAccess()
{
    if ($("ctl00_Content_formAccess") != null)
    {
        var fA = $("ctl00_Content_formAccess").value;
        if (fA != "" && fA != null)
        {
            FormAccessDisplay = fA;
            //Turn of Information messages not required
            if (fA == "R")
            {
                $("txtStreetName").disabled = "disabled";
                $("txtTown").disabled = "disabled";
                $("BtnStreetFind").disabled = "disabled";
                $("Instructions").style.display = "none";
                $("AsbDetails").style.display = "block";
                var inf1 = $$("div#MapLocationContent p"); //get p element
                if (inf1 != null)
                {
                    inf1[0].style.display = "none";

                }
                $("MapInstruc").style.display = "none";
                //Set Height on all textArea elements with no scrolling for Read Only
                var textAreaArray = $$("div#MainContainer textarea")
                var taActualHeight;
                if (textAreaArray != null && textAreaArray.length > 0)
                {
                    for (j = 0; j < textAreaArray.length; j++)
                    {
                        if (textAreaArray[j].id != 'ctl00_Content_tbPhotoNotes')
                        {
                            taActualHeight = textAreaArray[j].scrollHeight;
                            if (taActualHeight != 0)
                            {
                                textAreaArray[j].style.height = taActualHeight + "px";
                            }
                        }
                    }
                }
                $("dogFoulTimeSelectCont").style.display = "none";
                $("dogFoulTimeButtonCont").style.display = "none";
            }
        }
        else
        {
            FormAccessDisplay = "";
        }
    }
}

function navigatePage(buttonClicked)
{
    //Find out which Page is currently displayed
    var oDiv = null;
    if ($("Instructions").style.display == "block") oDiv = $("Instructions");
    else if ($("AsbDetails").style.display == "block") oDiv = $("AsbDetails");
    else if ($("UserDetails").style.display == "block") oDiv = $("UserDetails");

    if (buttonClicked.id == "btnNext" || buttonClicked.id == "btnNextBottom")
    {
        if (oDiv.id == "Instructions")
        {
            oDiv.style.display = "none";
            $("AsbDetails").style.display = "block";
            $("UserDetails").style.display = "none";
            $("btnBack").disabled = "";
            $("btnNext").disabled = "";
            $("btnBackBottom").disabled = "";
            $("btnNextBottom").disabled = "";

            RefreshMap(true);
        }
        else if (oDiv.id == "AsbDetails")
        {
            var v = false;
            if (FormAccessDisplay == 'R')
            {
                v = true;
            }
            else
            {
                v = ValidateAsbDetails();
            }

            if (v == true)
            {
                //Do CallBack to store Incident details.
                callbackStoreIncidentInfo();
                oDiv.style.display = "none";
                $("Instructions").style.display = "none";
                $("UserDetails").style.display = "block";
                $("btnNext").disabled = "disabled";
                $("btnBack").disabled = "";
                $("btnNextBottom").disabled = "disabled";
                $("btnBackBottom").disabled = "";
            }
        }
        else if (oDiv.id == "UserDetails")
        {
            oDiv.style.display = "block";
            $("Instructions").style.display = "none";
            $("AsbDetails").style.display = "none";
        }
    }
    else if (buttonClicked.id == "btnBack" || buttonClicked.id == "btnBackBottom")
    {
        if (oDiv.id == "Instructions")
        {
            oDiv.style.display = "block";
            $("AsbDetails").style.display = "none";
            $("UserDetails").style.display = "none";
        }
        else if (oDiv.id == "AsbDetails")
        {
            oDiv.style.display = "none";
            $("Instructions").style.display = "block";
            $("UserDetails").style.display = "none";
            $("btnBack").disabled = "disabled";
            $("btnNext").disabled = "";
            $("btnBackBottom").disabled = "disabled";
            $("btnNextBottom").disabled = "";

        }
        else if (oDiv.id == "UserDetails")
        {
            oDiv.style.display = "none";
            if (FormAccessDisplay == "R")
            {
                $("Instructions").style.display = "none";
            }
            $("AsbDetails").style.display = "block";
            $("btnNext").disabled = "";
            $("btnNextBottom").disabled = "";
            if (FormAccessDisplay == "W")
            {
                $("btnBack").disabled = "";
                $("btnBackBottom").disabled = "";
            }
            else
            {
                $("btnBack").disabled = "disabled";
                $("btnBackBottom").disabled = "disabled";
            }
        }
    }
}

function FindAddressMap(street, town)
{
    ctl00_Content_plcStreetsPopup.hide();

    if (street == null || street.length < 2)
    {
        alert("You must enter a full or partial street name.\n(Minimum of two characters.)");
        $('txtStreetName').focus();
        return;
    }

    var result = StreetCare.Ajax.Asb.GetMatchingStreets(street, town);
    if (result.error != null)
    {
        alert(result.error.Message);
        return;
    }

    ctl00_Content_repStreetsPopup.dataSource = eval(result.value);

    if (ctl00_Content_repStreetsPopup.dataSource == null || ctl00_Content_repStreetsPopup.dataSource.length == 0)
    {
        alert("Street: " + street + " not found!");
    }
    else if (ctl00_Content_repStreetsPopup.dataSource != null && ctl00_Content_repStreetsPopup.dataSource.length == 1)
    {
        var _street = ctl00_Content_repStreetsPopup.dataSource[0];
        ShowStreetOnMap(_street.StreetName, _street.TownName, _street.Easting, _street.Northing);
    }
    else
    {
        var _size = ctl00_Content_repStreetsPopup.dataSource.length;
        if (_size > 8) _size = 8;

        ctl00_Content_repStreetsPopup.control.style.height = Core.Utility.toSize(_size * 18);
        ctl00_Content_repStreetsPopup.dataBind();
        ctl00_Content_plcStreetsPopup.show();
    }

    //IE6 fix to reposition MapControl below popup
    $("ctl00_Content_MappingControl1").style.position = "static";


}

function ShowStreetOnMap(street, town, easting, northing)
{
    //IE6 fix set MapControl position back to absolute
    $("ctl00_Content_MappingControl1").style.position = "absolute";

    $('txtStreetName').value = "";
    $('ctl00_Content_tbStreet').value = street;
    $('ctl00_Content_tbStreet').disabled = "";
    $('txtTown').value = "";
    $('ctl00_Content_tbTown').value = town;
    $('ctl00_Content_tbTown').disabled = "";
    
    ctl00_Content_plcStreetsPopup.hide();
    ctl00_Content_MappingControl1.zoomUnit(500, Mapping.DistanceUnit.Meter);
    AddIncidentSymbol(easting, northing);
    ctl00_Content_MappingControl1.centerMap(new Mapping.DoublePoint(easting, northing), true);

}

function AddIncidentSymbol(easting, northing)
{
    if (window.IncidentSymbolID != undefined)
    {
        ctl00_Content_MappingControl1.removeSymbol(window.IncidentSymbolID);    
    }
    var PointScr = ctl00_Content_MappingControl1.convertMapToScreenCoordinates(new Mapping.DoublePoint(easting, northing));
    window.IncidentSymbolID = ctl00_Content_MappingControl1.drawBitmapSymbol(PointScr, "ASB-32.bmp", 24); 
}

function HighlightListItem(item, selected)
{
    if (item.className.contains(" selected"))
        item.className = item.className.replace(" selected", "");

    item.className = item.className + (selected ? " selected" : "");
}

function ValidateAsbDetails()
{
    //var d = $("ctl00_Content_WebDateChooser1_input").value;
    var d = ctl00_Content_calIncidentDate.getSelectedDate();
    var s = $("ctl00_Content_tbStreet").value;
    var tn = $("ctl00_Content_tbTown").value;
    var ty = $("ctl00_Content_DropDownAsbType").value;
    var td = $("ctl00_Content_tbDescription").value
    var valMsg = ""

    if (d == null)
        valMsg = "Enter Date!\n";
    if (s.length == 0)
        valMsg += "Enter Street Name!\n";
    if (tn.length == 0)
        valMsg += "Enter Town Name!\n";
    if (ty == "")
        valMsg += "Enter Type!\n";
    if (ty == "Other" && td.length == 0)
        valMsg += "Enter Description!\n";
    if (!IncidentSymbolID)
        valMsg += "Mark Incident Location on Map!\n";
    //if (ty == "Abandoned Vehicle" && td.length == 0)
    //    valMsg = valMsg + "Description must be entered for Abanded Vehicle!\n";

    //Check each ASB type selected
    switch ($('ctl00_Content_DropDownAsbType').value)
    {
        case 'Graffiti':
            var gOwner = $('ctl00_Content_DropDownGraffitiType').value;
            var gLocation = $('ctl00_Content_tbGraffitiLocation').value;
            var gHeight = $('ctl00_Content_DropDownGraffitiHeight').value;
            var gCoverage = $('ctl00_Content_tbGraffitiCoverage').value;
            var gSurface = $('ctl00_Content_tbGraffitiSurfaceType').value;

            if (gOwner.length == 0)
                valMsg += "Enter Graffiti Property Owner!\n";
            if (gLocation.length == 0)
                valMsg += "Enter Graffiti Location!\n";
            if (gHeight.length == 0)
                valMsg += "Enter Graffiti Height!\n";
            if (gCoverage.length == 0)
                valMsg += "Enter Graffiti Coverage!\n";
            if (isNaN(gCoverage) == true)
                valMsg += "Numbers only allowed for Graffiti Coverage!\n";
            if (gSurface.length == 0)
                valMsg += "Enter Graffiti Surface Type!\n";
            break;
        case 'Abandoned Vehicle':
            var vMake = $('ctl00_Content_tbVehMake').value;
            var vModel = $('ctl00_Content_tbVehModel').value;
            var vReg = $('ctl00_Content_tbVehReg').value;

            if (vMake.length == 0)
                valMsg += "Enter Vehicle Make!\n";
            if (vModel.length == 0)
                valMsg += "Enter Vehicle Model!\n";
            if (vReg.length == 0)
                valMsg += "Enter Vehicle Registration!\n";
            break;
        case 'Fly-Posting':
            var fpOwner = $('ctl00_Content_DropDownPropertyOwnerfp').value;
            if (fpOwner.length == 0)
                valMsg += "Enter Fly-Posting Property Owner!\n";
            break;
        case 'Fly-Tipping':
            var ftOwner = $('ctl00_Content_DropDownPropertyOwnerft').value;
            var ftType = $('ctl00_Content_DropDownFlyTippingType').value;
            var ftQuant = $('ctl00_Content_tbFlyTipQuantity').value;
            if (ftOwner == '')
                valMsg += "Enter Fly-Tipping Property Owner!\n";
            if (ftType.length == 0)
                valMsg += "Enter Fly-Tipping Type!\n";
            if (ftType != 'Commercial waste' && ftType.length != 0)
            {
                if (ftQuant.length == 0)
                    valMsg += "Enter Fly-Tipping Quantity of items!\n";
                if (isNaN(ftQuant) == true)
                    valMsg += "Numbers only allowed for Fly-Tipping Quantity e.g '4'\n";
                else
                {
                    if (ftQuant < 1)
                        valMsg += "Fly-Tipping Quantity must be greater than 0!\n";
                }
            }
            break;
        case 'Dog Fouling':
            //Check if days have been selected
            var daysSelected = false;
            for (var i = 0; i < 7; i++)
            {
                if ($('ctl00_Content_cbDogFoulDays_' + i).checked)
                {
                    daysSelected = true;
                    break;
                }
            }
            if (daysSelected == false)
                valMsg += "Select days during the week of Dog Fouling!\n";
            //Check that times have been added    
            var timeList = $("ctl00_Content_lbDogFoulTimes");
            if (timeList.length < 1)
            {
                valMsg += "Enter the times during the day Dog Fouling occurs!\n";
            }
            var dfDogDescript = $('ctl00_Content_tbDogDescription').value;
            if (dfDogDescript.length == 0)
            {
                valMsg += "Enter the description of the dog";
            }
            break;
    }

    if (valMsg.length > 0)
    {
        alert(valMsg);
        return false;
    }
    else
        return true;
}

function callbackStoreIncidentInfo()
{
    if ($("ctl00_Content_formAccess").value == "R")
    {
        return;
    }
    var callbackResult = null;
    var err = null;
    var date = null;
    var asbDataArray = Array();


    if (typeof (ctl00_Content_calIncidentDate) != "undefined") //Check to see if exists
    {
        date = ctl00_Content_calIncidentDate.getSelectedDate();
        date = Web.UI.Calendar.dateToString(date);
    }
    else
    {
        date = $('ctl00_Content_tbDate').value;
    }

    if (!IncidentSymbolID)
        return
    else
    {
        var IncidentSymbol = ctl00_Content_MappingControl1.getSymbol(window.IncidentSymbolID); //Get IncidentSymbol Object
    }

    var officersAdviceText = "";
    if ($("ctl00_Content_tbOfficersAdvice") != null)    
        officersAdviceText = $("ctl00_Content_tbOfficersAdvice").value;
    callbackResult = StreetCare.Ajax.Asb.StoreIncidentInfo(ctl00_Content_MappingControl1.key, Math.ceil(IncidentSymbol.centroid.X), Math.ceil(IncidentSymbol.centroid.Y), date, $("ctl00_Content_tbStreet").value,
                            $("ctl00_Content_tbTown").value, $("ctl00_Content_DropDownAsbType").value, $("ctl00_Content_tbDescription").value, officersAdviceText);
    if (callbackResult.value == null || callbackResult.value == false)
    {
        err = callbackResult.error.Message
        if (err != null) alert("Error function 'callbackStoreIncidentInfo':" + err.Message + "\nStack Trace:" + err.Stack);
    }
    else
    {
        //Check which service has been selected
        switch ($('ctl00_Content_DropDownAsbType').value)
        {
            case 'Graffiti':
                var units = null;
                var access = null;
                var offensive = null;
                var radiosArray = new Array(2);

                //Units
                radiosArray[0] = $('ctl00_Content_rbGraffitiUnits' + '_0'); //First Radio button option ie 'Metres'
                radiosArray[1] = $('ctl00_Content_rbGraffitiUnits' + '_1'); //First Radio button option ie 'Feet'
                switch (true)
                {
                    case radiosArray[0].checked:
                        units = 'Metres';
                        break;
                    case radiosArray[1].checked:
                        units = 'Feet';
                        break;
                }

                //Access
                radiosArray = $$("#ctl00_Content_rbGraffitiAccess input[type=radio]");
                for (var i = 0; i < radiosArray.length; i++)
                {
                    if (radiosArray[i].checked)
                    {
                        access = radiosArray[i].value;
                        break;
                    }
                }

                //Offensive
                radiosArray = $$("#ctl00_Content_rbGraffitiOffensive input[type=radio]");
                for (var i = 0; i < radiosArray.length; i++)
                {
                    if (radiosArray[i].checked)
                    {
                        offensive = radiosArray[i].value;
                        break;
                    }
                }

                var oTxtAdvice = $('ctl00_Content_tbGraffitiAdvice');
                var txtAdvice = '';
                if (oTxtAdvice != null)
                    txtAdvice = oTxtAdvice.value;
                asbDataArray[asbDataArray.length] = { MeasuredUnits: units, GraffitiType: $('ctl00_Content_DropDownGraffitiType').value,
                    Location: $('ctl00_Content_tbGraffitiLocation').value,
                    GrafHeight: $('ctl00_Content_DropDownGraffitiHeight').value,
                    Accessproblems: access,
                    GrafCoverage: $('ctl00_Content_tbGraffitiCoverage').value,
                    SurfaceType: $('ctl00_Content_tbGraffitiSurfaceType').value,
                    Offensive: offensive,
                    Advice: txtAdvice,
                    __type: 'AsbLibrary.clsIncidentStructure+GraffitiStructure'
                };

                callbackResult = StreetCare.Ajax.Asb.StoreIncidentASBType(asbDataArray[0]);
                if (callbackResult.value == null || callbackResult.value == false)
                {
                    err = callbackResult.error
                    if (err != null) { alert("Error function 'StoreIncidentGraffitiInfo':" + err.Message + "\nStack Trace:" + err.Stack); }
                }
                break;
            case 'Abandoned Vehicle':
                var taxed = null;
                var obstruction = null;
                var radiosArray;

                //Taxed
                radiosArray = $$("#ctl00_Content_rbVehTaxed input[type=radio]");
                for (var i = 0; i < radiosArray.length; i++)
                {
                    if (radiosArray[i].checked)
                    {
                        taxed = radiosArray[i].value;
                        break;
                    }
                }
                //Obstruction
                radiosArray = $$("#ctl00_Content_rbVehObstruction input[type=radio]");
                for (var i = 0; i < radiosArray.length; i++)
                {
                    if (radiosArray[i].checked)
                    {
                        obstruction = radiosArray[i].value;
                        break;
                    }
                }

                asbDataArray[asbDataArray.length] = { Make: $('ctl00_Content_tbVehMake').value,
                    Model: $('ctl00_Content_tbVehModel').value,
                    Registration: $('ctl00_Content_tbVehReg').value,
                    Taxed: taxed,
                    Obstruction: obstruction,
                    __type: 'AsbLibrary.clsIncidentStructure+AbandonedVehicleStructure'
                };

                callbackResult = StreetCare.Ajax.Asb.StoreIncidentASBType(asbDataArray[0]).value;
                if (callbackResult.value == null || callbackResult.value == false)
                {
                    err = callbackResult.error;
                    if (err != null) { alert("Error function 'StoreIncidentAbandonedVehInfo':" + err.Message + "\nStack Trace:" + err.Stack); }
                }
                break;
            case 'Fly-Posting':
                //asbDataArray[asbDataArray.length] = {Field:'AsbType', value:'Fly-Posting'};
                asbDataArray[asbDataArray.length] = { PropertyOwner: $('ctl00_Content_DropDownPropertyOwnerfp').value, __type: 'AsbLibrary.clsIncidentStructure+FlyPostingStructure' };
                callbackResult = StreetCare.Ajax.Asb.StoreIncidentASBType(asbDataArray[0]).value;
                break;
            case 'Fly-Tipping':
                asbDataArray[asbDataArray.length] = { PropertyOwner: $('ctl00_Content_DropDownPropertyOwnerft').value,
                    Type: $('ctl00_Content_DropDownFlyTippingType').value,
                    Quantity: $('ctl00_Content_tbFlyTipQuantity').value,
                    __type: 'AsbLibrary.clsIncidentStructure+FlyTippingStructure'
                };

                callbackResult = StreetCare.Ajax.Asb.StoreIncidentASBType(asbDataArray[0]);
                if (callbackResult.value == null || callbackResult.value == false)
                {
                    err = callbackResult.error;
                    if (err != null) { alert("Error function 'StoreIncidentAbandonedFlyTippingInfo':" + err.Message + "\nStack Trace:" + err.Stack); }
                }
                break;
            case 'Dog Fouling':
                var daysArray = new Array(7);
                var timeArray = new Array();

                for (var i = 0; i < daysArray.length; i++)
                {
                    if ($('ctl00_Content_cbDogFoulDays_' + i).checked)
                        daysArray[i] = true;
                    else
                        daysArray[i] = false;
                }


                var timeList = $("ctl00_Content_lbDogFoulTimes");
                if (timeList.length > 0)
                {
                    for (var i = 0; i < timeList.length; i++)
                    {
                        timeArray[timeArray.length] = timeList.options[i].value;
                    }
                }
                else
                    timeArray = null;

                asbDataArray[asbDataArray.length] = { DescriptDog: $('ctl00_Content_tbDogDescription').value,
                    DescriptOffender: $('ctl00_Content_tbOffenderDescription').value,
                    VehicleRegNo: $('ctl00_Content_tbVehicleRegNo').value,
                    Monday: daysArray[0],
                    Tuesday: daysArray[1],
                    Wednesday: daysArray[2],
                    Thursday: daysArray[3],
                    Friday: daysArray[4],
                    Saturday: daysArray[5],
                    Sunday: daysArray[6],
                    TimeCollection: timeArray,
                    __type: 'AsbLibrary.clsIncidentStructure+DogFoulingStructure'
                };

                callbackResult = StreetCare.Ajax.Asb.StoreIncidentASBType(asbDataArray[0]);
                if (callbackResult.value == null || callbackResult.value == false)
                {
                    err = callbackResult.error;
                    if (err != null) { alert("Error function 'StoreIncidentDogFoulingInfo':" + err.Message + "\nStack Trace:" + err.Stack); }
                }
                break;
        
        }
    }
}

function test()
{
    var o = { PropertyOwner: "Council", __type: 'AsbLibrary.clsIncidentStructure+FlyPostingStructure' };
    var callbackResult = StreetCare.Ajax.Asb.StoreIncidentASBType(o);



    alert(AjaxPro.toJSON(callbackResult).replace("\\r\\n", "\n").replace("\\\\r\\\\n", "\n"));
}


/////////New Toolbar Button Methods for creating an Incident based on existing DrawSymbol
if ($("ctl00_Content_MappingToolbar1_DrawSymbolButton") != null) //Checks to see if Button has been Added to Toolbar
{
    Tools.ToolBox.get("DrawSymbol").ondraw = function(id)
    {
        window.IncidentSymbolID = id;
        var mx = this.map.mouseX(); //Screen Coord relative in Map Control
        var my = this.map.mouseY();
        var XYMap = ctl00_Content_MappingControl1.convertScreenToMapCoordinates(new Core.Type.IntegerPoint(mx, my)); //Convert Screen to MapCoordinates

        updateStreetLocation(XYMap.X, XYMap.Y);
    }
    Tools.ToolBox.get("DrawSymbol").onpredraw = function()
    {
        if (window.IncidentSymbolID)
            this.map.removeSymbol(IncidentSymbolID, false);
    }
    function IncidentButtonSelected()
    {
        Tools.ToolBox.use("DrawSymbol", this.toolbar.target);
        this.toolbar.target.drawingSettings.bitmapName = "ASB-32.bmp";
        this.toolbar.target.drawingSettings.symbol = Mapping.SymbolType.Bitmap;
        this.toolbar.target.drawingSettings.size = 24;
        Mapping.Toolbar.Buttons.Utility._updateSplitMenuImage(this);
        this.toolbar.target.showInformation("To Add an incident Click on Map at the desired location.", "IncidentID");

        return true;
    }
    function IncidentButtonDeselected(Button)
    {
        if (Tools.ToolBox.current)
        {
            Tools.ToolBox.current.stop();
            this.toolbar.target.hideInformation("IncidentID");
        }
        Mapping.Toolbar.Buttons.Utility._selectParent(this);
        return true;
    }
    ctl00_Content_MappingToolbar1_DrawSymbolButton.onselect = IncidentButtonSelected;
    ctl00_Content_MappingToolbar1_DrawSymbolButton.ondeselect = IncidentButtonDeselected;
}


/////////////////////////////////////////////////////////////////////////////////////////

function RefreshMap(cache)
{
    if (cache == true)
        ctl00_Content_MappingControl1.refresh(true);
    else
        ctl00_Content_MappingControl1.refresh(false);
}

function displayAdditionalForm(selectedAsbType)
{
    var divGraf = $('graffitiInfo');
    var divAbVe = $('abandVehInfo');
    var divFlyPost = $('flyPostingInfo');
    var divFlyTipp = $('flyTippingInfo');
    var divDogFoul = $('dogFoulingInfo');

    if (divGraf != null && divAbVe != null && divFlyPost != null && divFlyTipp != null && divDogFoul != null)
    {
        if (selectedAsbType == 'Fly-Tipping')
        {
            divFlyTipp.style.display = 'block';
            divFlyPost.style.display = 'none';
            divGraf.style.display = 'none';
            divAbVe.style.display = 'none';
            divDogFoul.style.display = 'none';                        
        }
        else if (selectedAsbType == 'Fly-Posting')
        {
            divFlyTipp.style.display = 'none';
            divFlyPost.style.display = 'block';
            divGraf.style.display = 'none';
            divAbVe.style.display = 'none';
            divDogFoul.style.display = 'none';                        
        }
        else if (selectedAsbType == 'Graffiti')
        {
            divFlyTipp.style.display = 'none';
            divFlyPost.style.display = 'none';
            divGraf.style.display = 'block';
            divAbVe.style.display = 'none';
            divDogFoul.style.display = 'none';                        
        }
        else if (selectedAsbType == 'Abandoned Vehicle')
        {
            divFlyTipp.style.display = 'none';
            divFlyPost.style.display = 'none';
            divGraf.style.display = 'none';
            divAbVe.style.display = 'block';
            divDogFoul.style.display = 'none';                        
        }
        else if (selectedAsbType == 'Dog Fouling')
        {
            divFlyTipp.style.display = 'none';
            divFlyPost.style.display = 'none';
            divGraf.style.display = 'none';
            divAbVe.style.display = 'none';
            divDogFoul.style.display = 'block';
        }
        else
        {
            divFlyTipp.style.display = 'none';
            divFlyPost.style.display = 'none';
            divGraf.style.display = 'none';
            divAbVe.style.display = 'none';
            divDogFoul.style.display = 'none';            
        }
    }
}

function displayVehMessage(rbObj, messageObj)
{
    var radios = $(rbObj.id + '_0'); //First Radio button option ie 'Yes'
    if (radios.checked)
    {
        messageObj.style.display = 'block';
    }
    else
    {
        messageObj.style.display = 'none';
    }
}

function displayFlyTippingNoItems(itemType)
{
    var divQuant = $('displayFlyTipQuantity');
    if (divQuant != null)
    {
        if (itemType == 'Commercial waste' || itemType == '')
        {
            divQuant.style.display = 'none';
            $('ctl00_Content_tbFlyTipQuantity').value = '';
        }
        else
            divQuant.style.display = 'block'
    }
}


function addDogFoulingTime()
{
    var timerHour = $("ctl00$Content$timeDogFoulSelect_txtHour").value; 
    var timerMinute = $("ctl00$Content$timeDogFoulSelect_txtMinute").value;
    var timerAmPm = $("ctl00$Content$timeDogFoulSelect_txtAmPm").value;
    var timerValue = timerHour + ":" + timerMinute + ":00" + timerAmPm; 
  //Check that value is in hh:mm:ss:tt format
  var re = new RegExp("^((([0]?[1-9]|1[0-2])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?))$");
  if (timerValue.match(re))
  {
      var opt = document.createElement("option");
      opt.text = timerValue;
      opt.value = timerValue;
      $("ctl00_Content_lbDogFoulTimes").options.add(opt);
  }
   else
  {
      alert(optionValue + "is not a valid time. Must be in hh:mm:00:am/pm");
  }
}

function removeDogFoulingTime()
{
    //get current selected time
    var timeList = $("ctl00_Content_lbDogFoulTimes");
    var selIndex = timeList.selectedIndex;

    for (var i = 0; i < timeList.length; i++)
    {
        if (timeList.options[i].selected)
        {
            timeList.options[i]=null;
        }

    }
    
    if (timeList.length > 0)
    {
        timeList.selectedIndex = selIndex == 0 ? 0 : selIndex - 1;
    }
   
    if (timeList.length == 0)
    {
        $("btnTimeRemove").disabled ="disabled";
    }
}


function updateStreetLocation(mapX, mapY)
{
    //get Street Name where user clicks
    var callbackResult = null;
    var err = null;
    var timer = new Core.Timer(250);
    document.body.style.cursor = "wait";
    ctl00_Content_MappingControl1.image.style.cursor = "wait";
    ctl00_Content_MappingControl1._cursor = "wait";

    timer.ontimer = function()
    {
        callbackResult = StreetCare.Ajax.Asb.FindStreetNameAtPoint(ctl00_Content_MappingControl1.key, mapX, mapY);
        if (callbackResult.value == null || callbackResult.value == false)
        {
            err = callbackResult.error;
            if (err != null) alert("Error function 'StreetCare.Ajax.Asb.findStreetNameAtPoint': " + err.Message + "\nStack Trace: " + err.Stack);
        }
        else
        {
            var streetNameField = $('ctl00_Content_tbStreet');
            streetNameField.style.backgroundColor = "#F5DEB3";
            streetNameField.disabled = "";
            $('ctl00_Content_tbTown').disabled = "";
            if (callbackResult.value == 'none')
                streetNameField.value = '';
            else
                streetNameField.value = callbackResult.value; //Update Street Input Box

        }
        document.body.style.cursor = "auto";
        ctl00_Content_MappingControl1.image.style.cursor = "crosshair";
        ctl00_Content_MappingControl1._cursor = "crosshair";

    }
    timer.start();

}

function StreetNameInputReset(oStreetName)
{
    oStreetName.style.backgroundColor = 'transparent';
}

function setStatusEvents()
{
    //Add onclick function for FormStatus update button
    if ($('frStatusChange') != undefined && $('frStatusChange') != null)
    {
        var statusIframe = $('frStatusChange'); //Find Iframe
        var statusContentDoc = statusIframe.contentWindow.document;
        var StatusUpdateButton = statusContentDoc.getElementById('btnUpdate'); // get update button
        var StatusText = statusContentDoc.getElementById('cboStatus').value;
        StatusUpdateButton.onclick = function()
        {
            var statusValue = $('frStatusChange').contentWindow.document.getElementById('cboStatus').value;
            checkStatusUpdate(statusValue);
        }
    }
}

function checkStatusUpdate(statusUpdateValue)
{
    //Check for 5,6 or 21 to  Delete
    var callbackResult = null;
    var err = null;
    callbackResult = StreetCare.Ajax.Asb.UpdateStatusChange(statusUpdateValue);
    if (callbackResult.value == null || callbackResult.value == false)
    {
        err = callbackResult.error;
        if (err != null) alert("Error function 'StreetCare.Ajax.Asb.UpdateStatusChange': " + err.Message + "\nStack Trace: " + err.Stack);
    }
}


function getPhotoInfo()
{
    var PhotoInfoArray = new Array(3);
    var radiosArray = new Array(2);
    var beforePhoto = null;

    //Photo Selection
    radiosArray[0] = $('ctl00_Content_rbPhoto' + '_0'); //Before
    radiosArray[1] = $('ctl00_Content_rbPhoto' + '_1'); //After
    if (radiosArray[0].checked) { beforePhoto = true; }
    else { beforePhoto = false; }

    PhotoInfoArray[0] = beforePhoto;
    PhotoInfoArray[1] = $('ctl00_Content_tbPhotoTitle').value;
    PhotoInfoArray[2] = $('ctl00_Content_tbPhotoNotes').value;

    return PhotoInfoArray;
}

function viewAsbHistory()
{
    var locPath = window.location.pathname;
    var newPath = locPath.substr(0, locPath.lastIndexOf('/') + 1) + "asbhistory.aspx";
    var newURL = window.location.protocol + "//" + window.location.host + newPath;
    window.location = newURL;
}

function reportIncident()
{
    setTimeout("$('btnNext').click()", 500);
}

function viewPrivacyPolicy()
{
    var winFeatures = "fullscreen=no, toolbar=no, location=no, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=1024, height=768";
    winObj = window.open("http://www.torbay.gov.uk/privacy.htm", "_blank", winFeatures, "");
    if (window.focus) { winObj.focus() }

}






