protected void gvIntersectionSamples_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            //string lang = ;
            if (gvIntersectionSamples.SelectedValue != null)
            {
                lblFeedback.Text         = "";
                lblDistressFeedback.Text = "";

                pnlSurvey.Visible          = true;
                pnlDistressDetails.Visible = false;

                bool sampleHasSurveys = new DistressSurvey().IntersectionSampleHasSurveys(int.Parse(gvIntersectionSamples.SelectedValue.ToString()));
                bool sampleAreaReady  = IntersectionSamples.IntersectionSampleReadyForDistressEntry(int.Parse(gvIntersectionSamples.SelectedValue.ToString()));

                if (sampleAreaReady)
                {
                    if (sampleHasSurveys)
                    {
                        lbtnAddDistress.Visible = false;
                        radNewSurvey.Checked    = false;
                        radOldSurvey.Checked    = true;
                        radOldSurvey_CheckedChanged(sender, e);
                    }
                    else
                    {
                        lbtnAddDistress.Visible = false;
                        radOldSurvey.Checked    = false;
                        radNewSurvey.Checked    = true;
                        radNewSurvey_CheckedChanged(sender, e);
                    }
                }
                else
                {
                    pnlSurvey.Visible = false;
                    lblFeedback.Text  = Feedback.NonReadySample();
                }
            }
            else
            {
                pnlSurvey.Visible = false;
            }
        }
        catch (Exception ex)
        {
            lblFeedback.Text = ex.Message;
        }
    }
    protected void btnShowReport_Click(object sender, EventArgs e)
    {
        try
        {
            lblFeedback.Text = "";
            if (string.IsNullOrEmpty(ddlMainStreets.SelectedValue) || ddlMainStreets.SelectedValue == "0")
            {
                throw new Exception(Feedback.NoMainStreetSelected());
            }


            if (radLaneSamples.Checked)
            {
                DataTable dt = new LaneSample().AdvancedSearch(int.Parse(ddlMainStreets.SelectedValue));
                if (dt.Rows.Count > 0)
                {
                    Session.Add("type", "radLaneSamples");
                    Session.Add("ReportData", dt);
                    string url = "ViewSamplesInfoReport.aspx";
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
                }
                else
                {
                    lblFeedback.Text = Feedback.NoData();
                }
            }
            else if (radIntersectSamples.Checked)
            {
                DataTable dt = new IntersectionSamples().AdvancedSearch(int.Parse(ddlMainStreets.SelectedValue));
                if (dt.Rows.Count > 0)
                {
                    Session.Add("type", "radIntersectSamples");
                    Session.Add("ReportData", dt);
                    string url = "ViewSamplesInfoReport.aspx";
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
                }
                else
                {
                    lblFeedback.Text = Feedback.NoData();
                }
            }
        }
        catch (Exception ex)
        {
            lblFeedback.Text = ex.Message;
        }
    }
    protected void btnShowReport_Click(object sender, EventArgs e)
    {
        try
        {
            lblFeedback.Text = "";

            string    formType = radDetailsForm.Checked ? "Details" : (radSurveyForm.Checked ? "Survey" : "Map");
            DataTable dt       = new DataTable();

            if ((radSection.Checked || radIntersects.Checked) && (ddlMainStreets.SelectedValue == "0" || string.IsNullOrEmpty(ddlMainStreets.SelectedValue)))
            {
                throw new Exception(Feedback.NoMainStreetSelected());
            }
            else if (radRegions.Checked && (ddlRegions.SelectedValue == "0" || string.IsNullOrEmpty(ddlRegions.SelectedValue)))
            {
                throw new Exception(Feedback.NoRegionSelected());
            }


            if (radSection.Checked)
            {
                if (radSurveyForm.Checked)
                {
                    dt = new LaneSample().AdvancedSearch(int.Parse(ddlMainStreets.SelectedValue));
                }
                else if (radDetailsForm.Checked)
                {
                    dt = new MainStreetSection().GetMainStSectionsFullInfo(int.Parse(ddlMainStreets.SelectedValue));
                }
                else if (radSectionMap.Checked)
                {
                    dt = new MainStreetSection().GetMainStreetSections(int.Parse(ddlMainStreets.SelectedValue));
                }

                if (dt.Rows.Count > 0)
                {
                    Session.Add("ReportData", dt);
                    Session.Add("option", "radSection");
                    Session.Add("type", formType);
                    string url = "ViewSurveyingFormsReport.aspx";
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
                }
                else
                {
                    lblFeedback.Text = Feedback.NoData();
                }
            }
            else if (radIntersects.Checked)
            {
                if (radSurveyForm.Checked)
                {
                    dt = new IntersectionSamples().GetIntersectionSamplesByMainStreet(int.Parse(ddlMainStreets.SelectedValue));
                }
                else if (radDetailsForm.Checked)
                {
                    dt = new Intersection().GetMainStIntersectionsFullInfo(int.Parse(ddlMainStreets.SelectedValue));
                }


                if (dt.Rows.Count > 0)
                {
                    Session.Add("ReportData", dt);
                    Session.Add("option", "radIntersects");
                    Session.Add("type", formType);
                    string url = "ViewSurveyingFormsReport.aspx";
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
                }
                else
                {
                    lblFeedback.Text = Feedback.NoData();
                }
            }
            else if (radRegions.Checked)
            {
                dt = new SecondaryStreets().GetRegionSecondaryStreetsFullInfoNEW(int.Parse(ddlRegions.SelectedValue));
                if (dt.Rows.Count > 0)
                {
                    Session.Add("ReportData", dt);
                    Session.Add("option", "radRegions");
                    Session.Add("type", formType);
                    string url = "ViewSurveyingFormsReport.aspx";
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
                }
                else
                {
                    lblFeedback.Text = Feedback.NoData();
                }
            }
        }
        catch (Exception ex)
        {
            lblFeedback.Text = ex.Message;
        }
    }
    protected void btnShowReport_Click(object sender, EventArgs e)
    {
        try
        {
            lblFeedback.Text = "";

            if (radByMainLanes.Checked)
            {
                if (ddlMainStreets.SelectedValue == "0" || string.IsNullOrEmpty(ddlMainStreets.SelectedValue))
                {
                    throw new Exception(Feedback.NoMainStreetSelected());
                }

                DataTable dt = new MainStreetSection().GetAllSectionsReport(false, false, true, int.Parse(ddlMainStreets.SelectedValue), false, 0);
                if (dt.Rows.Count > 0)
                {
                    Session.Add("ReportData", dt);
                    Session.Add("option", "radByMainLanes");
                    string url = "ViewMonitoringRoundsReport.aspx";
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
                }
                else
                {
                    lblFeedback.Text = Feedback.NoData();
                }
            }
            else if (radByIntersections.Checked)
            {
                if (ddlMainStreets.SelectedValue == "0" || string.IsNullOrEmpty(ddlMainStreets.SelectedValue))
                {
                    throw new Exception(Feedback.NoMainStreetSelected());
                }

                DataTable dt = new IntersectionSamples().GetIntersectionSamplesByMainStreet(int.Parse(ddlMainStreets.SelectedValue));
                if (dt.Rows.Count > 0)
                {
                    Session.Add("ReportData", dt);
                    Session.Add("option", "radByIntersections");
                    string url = "ViewMonitoringRoundsReport.aspx";
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
                }
                else
                {
                    lblFeedback.Text = Feedback.NoData();
                }
            }
            else if (radByRegionNo.Checked)
            {
                if (ddlRegions.SelectedValue == "0" || string.IsNullOrEmpty(ddlRegions.SelectedValue))
                {
                    throw new Exception(Feedback.NoRegionSelected());
                }

                DataTable dt = new SecondaryStreets().Search(int.Parse(ddlRegions.SelectedValue), "", "", "");
                if (dt.Rows.Count > 0)
                {
                    Session.Add("ReportData", dt);
                    Session.Add("option", "radByRegionNo");
                    string url = "ViewMonitoringRoundsReport.aspx";
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
                }
                else
                {
                    lblFeedback.Text = Feedback.NoData();
                }
            }
            else if (radByRegionName.Checked)
            {
                if (ddlRegionNames.SelectedValue == "0" || string.IsNullOrEmpty(ddlRegionNames.SelectedValue))
                {
                    throw new Exception(Feedback.NoRegionNameSelected());
                }

                DataTable dt = new SecondaryStreets().Search(0, ddlRegionNames.SelectedValue, "", "");
                if (dt.Rows.Count > 0)
                {
                    Session.Add("ReportData", dt);
                    Session.Add("option", "radByRegionName");
                    string url = "ViewMonitoringRoundsReport.aspx";
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
                }
                else
                {
                    lblFeedback.Text = Feedback.NoData();
                }
            }
            else if (radByRegionsAreaName.Checked)
            {
                if (ddlDistrict.SelectedValue == "0" || string.IsNullOrEmpty(ddlDistrict.SelectedValue))
                {
                    throw new Exception(Feedback.NoRegionsAreaNameSelected());
                }

                DataTable dt = new SecondaryStreets().Search(0, "", ddlDistrict.SelectedValue, "");
                if (dt.Rows.Count > 0)
                {
                    Session.Add("ReportData", dt);
                    Session.Add("option", "radByRegionsAreaName");
                    string url = "ViewMonitoringRoundsReport.aspx";
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
                }
                else
                {
                    lblFeedback.Text = Feedback.NoData();
                }
            }
            else if (radByMunicName.Checked)
            {
                if (ddlMunic.SelectedValue == "0" || string.IsNullOrEmpty(ddlMunic.SelectedValue))
                {
                    throw new Exception(Feedback.NoMuniciplaitySelected());
                }

                DataTable dt = new SecondaryStreets().Search(0, "", "", ddlMunic.SelectedValue);
                if (dt.Rows.Count > 0)
                {
                    Session.Add("ReportData", dt);
                    Session.Add("option", "radByMunicName");
                    string url = "ViewMonitoringRoundsReport.aspx";
                    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
                }
                else
                {
                    lblFeedback.Text = Feedback.NoData();
                }
            }
        }
        catch (Exception ex)
        {
            lblFeedback.Text = ex.Message;
        }
    }
    protected void btnSaveDistress_Click(object sender, EventArgs e)
    {
        try
        {
            lblFeedback.Text         = "";
            lblDistressFeedback.Text = "";

            if (!bool.Parse(Session["canEdit"].ToString()))
            {
                throw new Exception(Feedback.NoPermissions());
            }


            //string lang = ;

            //string imageFileName = "";
            if (radlOldSurveys.SelectedValue == "")
            {
                throw new Exception(Feedback.NoSurveyDateNum());
            }
            else if (gvIntersectionSamples.SelectedValue == null)
            {
                throw new Exception(Feedback.NoIntersectSampleSelected());
            }
            else if (ddlDistresses.SelectedValue == "-1")
            {
                throw new Exception(Feedback.NoDistressSelected());
            }
            else if (rntxtArea.Value == null)
            {
                throw new Exception("الرجاء إدخال مساحة العيب");
            }
            else if (int.Parse(ddlDistresses.SelectedValue) > 0 && ddlDistressSeverity.SelectedValue == "N")
            {
                throw new Exception(Feedback.NoDistressSeveritySelected());
            }


            // saving the distress
            string user        = Session["UserName"].ToString();
            string intersectNo = ((Label)frvIntersectInfo.FindControl("INTER_NOLabel")).Text;
            double?sampleArea  = IntersectionSamples.GetIntersectionSampleArea(int.Parse(gvIntersectionSamples.SelectedValue.ToString()));

            int userID    = int.Parse(Session["UserID"].ToString());
            int surveyNum = int.Parse(lblSurveyNo.Text);
            int sampleID  = int.Parse(gvIntersectionSamples.SelectedValue.ToString());
            //decimal.Parse(gvIntersectionSamples.Rows[gvIntersectionSamples.SelectedIndex].Cells[2].Text);

            bool saved = new DistressEntry().InsertIntersectionDistress(sampleID, lblSurveyDate.Text, surveyNum, ddlDistresses.SelectedItem.Text,
                                                                        ddlDistressSeverity.SelectedValue[0], rntxtArea.Value, sampleArea, intersectNo, txtDistressNotes.Text, user,
                                                                        int.Parse(ddlMainStreetIntersection.SelectedValue), userID, int.Parse(ddlMainStreets.SelectedValue));

            if (saved)
            {
                btnCancelDistress_Click(sender, e);
                lblDistressFeedback.Text = Feedback.InsertSuccessfull();
                gvIntersectDistresses.DataBind();
            }
            else
            {
                lblDistressFeedback.Text = Feedback.InsertException();
            }
        }
        catch (Exception ex)
        {
            lblDistressFeedback.Text = ex.Message;
        }
        finally
        {
            Session["PhotoChanged"] = false;
        }
    }