var wAtt;

function checkForm() {
    var AlertMsg_1 = "Please select at least one (1) site to continue.";
    var AlertMsg_2 = "Please select at most five (5) site to continue.";
    var count = 0;

    // check the first radio button encountered
    for (var j = 0; j < document.forms[0].length; j++) {
        if (document.forms[0][j].type == "checkbox") {
            if (document.forms[0][j].checked) {
                count += 1;
            }
        }
    }
    if (count == 0) {
        alert(AlertMsg_1);
        return false;
    }
    if (count > 5) {
        alert(AlertMsg_2);
        return false;
    }
}

function showAttributesWindow(sid, sname, sWindowType) {
    var str = "";
    var sname2 = escape(sname);

    if (sWindowType == "ATTR") // Attribute
    {
        str = "showAttributes.aspx?siteId=" + sid;
        str += "&";
        str += "siteName=" + sname2;
        wAtt = window.open(str, 'attwindow', 'width=500,height=400,resizable=yes,scrollbars');
    }

    if (sWindowType == "LOOP") // Loops
    {
        str = "showLoop.aspx?loopId=" + sid;
        str += "&";
        str += "loopName=" + sname2;
        wAtt = window.open(str, 'attwindow', 'width=500,height=400,resizable=yes,scrollbars');
    }

    if (sWindowType == "PARK") // Loops
    {
        str = "showParkDetail.aspx?pkId=" + sid;
        str += "&";
        str += "pkName=" + sname2;
        wAtt = window.open(str, 'attwindow', 'width=500,height=400,resizable=yes,scrollbars');
    }

    if (sWindowType == "GENAVAIL") // General Availability
    {
        window.name = 'topWindow';
        str = "GeneralAvailabilityCalendar.aspx?campId=" + sid;
        str += "&";
        str += "arrivalDate=" + sname2;
        wAtt = window.open(str, 'attwindow', 'width=750,height=400,resizable=yes,scrollbars');
    }
    //alert(str);
}

function closeAttributesWindow() {
    try {
        wAtt.close();
    }
    catch (e) { }
}

function ParkSelected() {
    if (document.all.ListProp.selectedIndex == 0) {
        alert("Please select a property type.");
        document.all.ListProp.focus();
        return false;
    }
}

function isCheckBoxSelected(arrElemIDs, maxElemCounts, msg, maxSelectedAllowed) {
    //debugger;
    if (maxSelectedAllowed != null) {
        return isCheckBoxSelected1(arrElemIDs, maxElemCounts, msg, maxSelectedAllowed)
    }
    else {
        return isCheckBoxSelected2(arrElemIDs, maxElemCounts, msg)
    }
}

function isCheckBoxSelected1(arrElemIDs, maxElemCounts, msg, maxSelectedAllowed) {
    var numRows = -1;
    var sArrelem = new String();
    var SelectedVal = -1;
    var AlertMsg = msg;
    var selectedCount = 0;

    var tempElemArr = arrElemIDs.split("|");
    var tempElemMaxCnt = maxElemCounts.split("|");
    var Elemslist = (tempElemArr.length);

    for (var i = 0; i < Elemslist; i++) {
        var elemID = tempElemArr[i];
        var numMaxCnt = parseInt(tempElemMaxCnt[i]);

        for (var j = 0; j < numMaxCnt; j++) {
            var objElem = eval("document.all." + elemID + "_" + j);
            if (objElem.checked) {
                SelectedVal = j;
                selectedCount = selectedCount + 1;
            }
        }
    }
    if (SelectedVal == -1) {
        alert(AlertMsg);
        return false;
    }
    else {
        if (maxSelectedAllowed >= selectedCount) {
            return true;
        }
        else {
            alert("At most " + maxSelectedAllowed + " Parks can be selected.");
            return false;
        }
    }
}

function isCheckBoxSelected2(arrElemIDs, maxElemCounts, msg) {
    var numRows = -1;
    var sArrelem = new String();
    var SelectedVal = -1;
    var AlertMsg = msg;

    var tempElemArr = arrElemIDs.split("|");
    var tempElemMaxCnt = maxElemCounts.split("|");
    var Elemslist = (tempElemArr.length);

    for (var i = 0; i < Elemslist; i++) {
        var elemID = tempElemArr[i];
        var numMaxCnt = parseInt(tempElemMaxCnt[i]);

        for (var j = 0; j < numMaxCnt; j++) {
            var objElem = eval("document.all." + elemID + "_" + j);
            if (typeof (objElem) != 'undefined') {
                if (objElem.checked) {
                    SelectedVal = j;
                }
            }
        }
    }
    if (SelectedVal == -1) {
        alert(AlertMsg);
        return false;
    }
    else {
        return true;
    }
}

function checkSearchCriteria(blnFlag) { 
    if ((typeof (blnFlag) == 'undefined') || (blnFlag)) {
        if (typeof (document.forms[0]._ctl0_ContentPlaceHolder1_btnPlsWait) != 'undefined') {
            document.forms[0]._ctl0_ContentPlaceHolder1_btnPlsWait.style.display = 'inline';
            document.forms[0]._ctl0_ContentPlaceHolder1_btnNext.style.display = 'none';
        } 
        return true;
    }
    else {
        document.forms[0]._ctl0_ContentPlaceHolder1_btnPlsWait.style.display = 'none';
        document.forms[0]._ctl0_ContentPlaceHolder1_btnNext.style.display = 'inline';
        return false;
    }
}

function flipAdd2Cart(blnFlag) {
    var btnTopName, btnPlsWaitTopName;
    var btnName, btnPlsWaitName;
    if (typeof (document.forms[0]._ctl0_ContentPlaceHolder1_btnAddSites) != 'undefined' && typeof (document.forms[0]._ctl0_ContentPlaceHolder1_btnAddSitesTop) != 'undefined') {
        btnName = document.forms[0]._ctl0_ContentPlaceHolder1_btnAddSites;
        btnTopName = document.forms[0]._ctl0_ContentPlaceHolder1_btnAddSitesTop;
        btnPlsWaitName = document.forms[0]._ctl0_ContentPlaceHolder1_btnPlsWait;
        btnPlsWaitTopName = document.forms[0]._ctl0_ContentPlaceHolder1_btnPlsWaitTop;
    }
    else {
        btnName = document.forms[0]._ctl0_ContentPlaceHolder1_btnAddSiteStandard;
        btnTopName = document.forms[0]._ctl0_ContentPlaceHolder1_btnAddSiteStandardTop;
        btnPlsWaitName = document.forms[0]._ctl0_ContentPlaceHolder1_btnPlsWait2;
        btnPlsWaitTopName = document.forms[0]._ctl0_ContentPlaceHolder1_btnPlsWait2Top;
    }

    if ((typeof (blnFlag) == 'undefined') || (blnFlag)) {
        btnName.style.display = 'none';
        btnTopName.style.display = 'none';
        btnPlsWaitName.style.display = 'inline';
        btnPlsWaitTopName.style.display = 'inline';
        return;
    }
    else {
        btnPlsWaitName.style.display = 'none';
        btnPlsWaitTopName.style.display = 'none';
        btnName.style.display = 'inline';
        btnTopName.style.display = 'inline';
        return false;
    }
}

function flipWW(blnFlag) {
    if ((typeof (blnFlag) == 'undefined') || (blnFlag)) {
        document.forms[0].btnPlsWait.style.display = 'block';
        document.forms[0].btnSubmit.style.display = 'none';
        return;
    }
    else {
        document.forms[0].btnPlsWait.style.display = 'none';
        document.forms[0].btnSubmit.style.display = 'block';
        return false;
    }
}

function isWWPassEmpty() {
    var AlertMsg = "Please enter a valid rafting season pass number.";
    var countNotNull = 0;
    // check the first radio button encountered
    for (var j = 0; j < document.forms[0].length; j++) {
        if (document.forms[0][j].type == "text") {
            var val = trim(document.forms[0][j].value);
            if (val != "") {
                countNotNull = countNotNull + 1;
            }
        }
    }
    if (countNotNull > 0) {
        return true;
    }
    else {
        alert(AlertMsg);
        return false;
    }
}

function trim(s) {
    var theString = s;
    var NewString = theString.replace(/^\s+/, "");
    var NewestString = NewString.replace(/\s+$/, "");
    return NewestString;
}

function fnShowMeError() {
    try {
        if (document.getElementById("lblErrorMessage") != null) {
            if (typeof (document.getElementById("lblErrorMessage")) != 'undefined') {
                if (document.getElementById("lblErrorMessage").innerHTML != '') {
                    var sError = new String();
                    sError = document.getElementById("lblErrorMessage").innerHTML;
                    sError = sError.replace('</font></b>', '');
                    sError = sError.substring(sError.lastIndexOf('>') + 1);

                    if (sError != '') {
                        alert(sError);
                    }
                }
            }
        }
    }
    catch (e) {
        alert(e);
    }
}

function CallUpdateForCriteria(vParkID, vCampAreaID, vPropertyType) {
    var tempMonth = document.forms[0]._ctl0_ContentPlaceHolder1_DropDownFromMonth[document.forms[0]._ctl0_ContentPlaceHolder1_DropDownFromMonth.selectedIndex].value;
    var tempDay = document.forms[0]._ctl0_ContentPlaceHolder1_DropDownFromDay[document.forms[0]._ctl0_ContentPlaceHolder1_DropDownFromDay.selectedIndex].value;
    var tempYear = document.forms[0]._ctl0_ContentPlaceHolder1_DropDownFromYear[document.forms[0]._ctl0_ContentPlaceHolder1_DropDownFromYear.selectedIndex].value;
    var tempNumNights = document.forms[0]._ctl0_ContentPlaceHolder1_ddlNight[document.forms[0]._ctl0_ContentPlaceHolder1_ddlNight.selectedIndex].value;


    var vArrivalDate = tempMonth + "/" + tempDay + "/" + tempYear;
    var vNights = tempNumNights;

    if (basicCheckDates(document.forms[0], true) == false) {
        FocusOnTagOfType('select', 0);
        return false;
    }
    else {
        var str = "_updateForCriteria.aspx?PK_ID=" + vParkID + "&CA_ID=" + vCampAreaID + "&PROP_TYPE=" + vPropertyType + "&ARRIVAL_DT=" + vArrivalDate + "&NIGHTS=" + vNights;
        location.replace(str);
        return true;
    }
}

var mapLeft = 2;
var mapTop = 22;

function MapOnLoad() {
    var agt = navigator.userAgent.toLowerCase();
    if (agt.indexOf("firefox") != -1) {
        if (document.layers) {
            mapLeft = parseFloat(getRealLeft(document.mapimg));
            mapTop = parseFloat(getRealTop(document.mapimg));
        }
        else {
            mapLeft = parseFloat(getRealLeft(document.images['mapimg']));
            mapTop = parseFloat(getRealTop(document.images['mapimg']));
        }
    }
    PlotAllSites();
}

function ShowSiteDetails(index) {
    document.forms[0].s.value = sites[index].id;
    document.forms[0].sn.value = sites[index].name;
    document.forms[0].t.value = sites[index].typeId;
    document.forms[0].c.value = sites[index].campId;
    document.forms[0].sat.value = sites[index].siteAssignmentType;
    document.forms[0].astat.value = sites[index].availabilityFlag;
    document.forms[0].adts.value = sites[index].datesAvailable;
    document.forms[0].mavl.value = sites[index].maxAvailable;

    str = "SiteDetail.aspx?s=" + sites[index].id;
    str += "&sn=" + sites[index].name;
    str += "&c=" + sites[index].campId;
    str += "&sat=" + sites[index].siteAssignmentType;
    str += "&astat=" + sites[index].availabilityFlag;
    str += "&adts=" + sites[index].datesAvailable;
    str += "&mavl=" + sites[index].maxAvailable;

    if (sites[index].siteAssignmentType == 'C') {
        //url = "SiteDetail.aspx";
    }
    else {
        //url = "SiteDetail.aspx";
    }
    //sitedetailWin = window.open("", "sitedetail", "WIDTH=500,HEIGHT=450,scrollbars=yes,toolbars=no");
    window.open(str, "sitedetail", "WIDTH=500,HEIGHT=450,scrollbars=yes,toolbars=no");
    //	document.form2.action = url;
    //	document.form2.target = "sitedetail";
    //	document.form2.submit();
}

function PlotAllSites() {
    for (var i = 0; i < sites.length; i++) {
        x = sites[i].x;
        y = sites[i].y;
        x += mapLeft;
        y += mapTop;
        id = sites[i].id;

        //alert(document.all);
        if (document.all) {
            elem = document.all["s" + id];
            elem.style.left = x;
            elem.style.top = y;
            elem.style.visibility = "visible";
        }
        else if (document.getElementById && !document.all) {
            elem = document.getElementById("s" + id);
            elem.style.left = x;
            elem.style.top = y;
            elem.style.visibility = "visible";
        }
        else if (document.layers) {
            document.layers[i].moveTo(x, y);
            document.layers[i].visibility = "visible";
        }
        else {
            elem = document.all["s" + id];
            elem.style.left = x;
            elem.style.top = y;
            elem.style.visibility = "visible";
        }
    }
}

function getRealLeft(el) {
    if (document.layers) {
        xPos = el.x;
    }
    else {
        xPos = el.offsetLeft;
        tempEl = el.offsetParent;
        while (tempEl != null) {
            xPos += tempEl.offsetLeft;
            tempEl = tempEl.offsetParent;
        }
    }
    return xPos;
}

function getRealTop(el) {
    if (document.layers) {
        yPos = el.y;
    }
    else {
        yPos = el.offsetTop;
        tempEl = el.offsetParent;
        while (tempEl != null) {
            yPos += tempEl.offsetTop;
            tempEl = tempEl.offsetParent;
        }
        return yPos;
    }
    return yPos;
}

function showdailyrate(sid, sName) {
    //debugger;
    closeAttributesWindow();
    wAtt = window.open("NightlyRateDetails.aspx?siteId=" + sid + "&siteName=" + sName, "Nightlyrate", "WIDTH=400,HEIGHT=400,menubar=no,toolbar=no,scrollbars=yes");
}

function showallratesSpec() {
    //debugger;
    var siteList = getSelectedSiteIds();
    if (siteList != "") {
        showdailymultirate(siteList);
    }
}

function getSelectedSiteIds() {
    //debugger;
    var AlertMsg_1 = "Please select at least one (1) site to continue.";
    var AlertMsg_2 = "Please select at most five (5) site to continue.";
    var count = 0;
    var checkbox_counter = 0;
    var siteIdList = new String();

    // check the first radio button encountered
    for (var j = 0; j < document.forms[0].length; j++) {
        if (document.forms[0][j].type == "checkbox") {
            if (document.forms[0][j].checked) {
                count += 1;
                if (siteIdList != "") {
                    siteIdList += "," + document.forms[0].siteId[checkbox_counter].value + "|" + document.forms[0].siteName[checkbox_counter].value;
                }
                else {
                    siteIdList += document.forms[0].siteId[checkbox_counter].value + "|" + document.forms[0].siteName[checkbox_counter].value;
                }
            }
            checkbox_counter += 1;
        }
    }
    if (count == 0) {
        alert(AlertMsg_1);
        siteIdList = "";
    }
    if (count > 5) {
        alert(AlertMsg_2);
        siteIdList = "";
    }

    return siteIdList;
}

function showdailymultirate(siteList) {
    closeAttributesWindow();
    wAtt = window.open("MultiNightlyRateDetails.aspx?sites=" + siteList, "Nightlyrate", "WIDTH=450,HEIGHT=300,menubar=no,toolbar=no,scrollbars=yes");
    if ((wAtt == null) || (wAtt == undefined) || (wAtt == 'undefined')) {
        alert("Pop-up blocker is active. To view this page, kindly turn off your pop-up blocker.");
    }
}

function showallratesStd() {
    var siteList = getSelectedSiteTypeIds();
    if (siteList != "") {
        showdailymultirate(siteList);
    }
}

function getSelectedSiteTypeIds() {
    //debugger;
    var AlertMsg_1 = "Please select at least one (1) site to continue.";
    var AlertMsg_2 = "Please select at most five (5) site to continue.";
    var count = 0;
    var ddl_counter = 0;
    var siteIdList = new String();

    // check the first radio button encountered
    for (var j = 0; j < document.forms[0].length; j++) {
        if (document.forms[0][j].type == "select-one") {
            var optionVal = parseInt(document.forms[0][j].options[document.forms[0][j].options.selectedIndex].value);

            if (optionVal != 0) {
                count += optionVal;
                for (var i = 1; i <= optionVal; i++) {
                    if (siteIdList != "") {
                        siteIdList += "," + document.forms[0].siteTypeId[ddl_counter].value + "|" + document.forms[0].siteName[ddl_counter].value;
                    }
                    else {
                        siteIdList += document.forms[0].siteTypeId[ddl_counter].value + "|" + document.forms[0].siteName[ddl_counter].value;
                    }
                }
            }
            ddl_counter += 1;
        }
    }
    if (count == 0) {
        alert(AlertMsg_1);
        siteIdList = "";
    }
    if (count > 5) {
        alert(AlertMsg_2);
        siteIdList = "";
    }

    return siteIdList;
}

function isListBoxSelected(arrElemIDs, maxElemCounts, msg, maxSelectedAllowed) {
    var numRows = -1;
    var sArrelem = new String();
    var SelectedVal = -1;
    var AlertMsg = msg;
    var selectedCount = 0;

    var tempElemArr = arrElemIDs.split("|");
    var tempElemMaxCnt = maxElemCounts.split("|");
    var Elemslist = (tempElemArr.length);

    for (var i = 0; i < maxElemCounts; i++) {
        if (document.forms[0]._ctl0_ContentPlaceHolder1_lstPark[i].selected) {
            selectedCount = selectedCount + 1;
        }
    }
    if (selectedCount == 0) {
        alert(AlertMsg);
        return false;
    }
    else {
        if (maxSelectedAllowed >= selectedCount) {
            return true;
        }
        else {
            alert("At most " + maxSelectedAllowed + " Parks can be selected.");
            return false;
        }
    }
}

function ReserveSite(index) {
    //    document.forms[0].s.value = sites[index].id;
    //    document.forms[0].sn.value = sites[index].name;
    //    document.forms[0].t.value = sites[index].typeId;
    //    document.forms[0].c.value = sites[index].campId;
    //    document.forms[0].sat.value = sites[index].siteAssignmentType;
    //    document.forms[0].astat.value = sites[index].availabilityFlag;
    //    document.forms[0].adts.value = sites[index].datesAvailable;
    //    document.forms[0].mavl.value = sites[index].maxAvailable;

    //    str = "SearchCriteria.aspx?s=" + sites[index].id;
    //    str += "&sn=" + sites[index].name;
    //    str += "&c=" + sites[index].campId;
    //    str += "&sat=" + sites[index].siteAssignmentType;
    //    str += "&astat=" + sites[index].availabilityFlag;
    //    str += "&adts=" + sites[index].datesAvailable;
    //    str += "&mavl=" + sites[index].maxAvailable;


    //    if (sites[index].siteAssignmentType == 'C') {
    //        //url = "SiteDetail.aspx";
    //    }
    //    else {
    //        //url = "SiteDetail.aspx";
    //    }
    //sitedetailWin = window.open("", "sitedetail", "WIDTH=500,HEIGHT=450,scrollbars=yes,toolbars=no");
    window.open("SearchCriteria.aspx", "sitedetail", "WIDTH=500,HEIGHT=450,scrollbars=yes,toolbars=no");
    //	document.form2.action = url;
    //	document.form2.target = "sitedetail";
    //	document.form2.submit();
}
