/*********************************/
/***        GET EVENTS         ***/
/*********************************/

var eventArray = new Array();
var passportEventArray = new Array();
var verifyPassport = false;
var passportNumber = "";
var eventsAjaxComplete = false;

/** DEPRECATED **/
/*
function showEvents(regtypeId, confId, token, peopleId, passport) {
    
    if(passport != "null") {
        passportNumber = passport;
    }

    var thisDiv = getObjectById("eventsBlock");
    thisDiv.style.display="block";
    changeDivContent('eventsListBox', "<br/><b>Please Wait, Loading Events</b> <img src='images/loading.gif' width=18 height=18 align=ABSMIDDLE /><br/><br/>");

    var url="jsonEventList.jsp";
    var params="confid=" + confId;
        params+="&regtypeid=" + regtypeId;
        params+="&token=" + token;
        params+="&pid=" + peopleId;

    var eventAjax = new Ajax(url,params);
    eventAjax.post();
    eventAjax.callback = function() {
        eventArray = parseEvents(this.txt);
        setPassportArray(eventArray);
        displayEvents(eventArray, confId, token);
    }
}
*/

/** DEPRECATED **/
/*
function parseEvents(jsontext) {
    var myObj = eval('(' + jsontext + ')');
    return myObj.events;
}
*/

/** DEPRECATED **/
/*
function displayEvents(evtArray, confId, token) {

    var thisDiv = getObjectById("eventsBlock");
    var eventsHtml = "";
    var thisEvent;

    for(i=0; i<evtArray.length; i++) {

        thisEvent = evtArray[i];

        if(thisEvent.available>0 || thisEvent.registered>0) {
            eventsHtml += "<div class=listLine id=e" + thisEvent.id + " onMouseOver=hightlightDiv('e" + thisEvent.id + "',1); onMouseOut=hightlightDiv('e" + thisEvent.id + "',0);>";
            if(thisEvent.included=="Y") {
                eventsHtml += "<div class=listCell style=width:5%;>(incl)</div>";
            } else {
                eventsHtml += "<div class=listCell style=width:5%;><input type=checkbox name=EventID value=" + thisEvent.id + " onClick=checkConflicts(" + confId + ",'" + token + "',this);checkForPassport();";
                if(thisEvent.registered>0) {
                eventsHtml += " checked";
                }
                eventsHtml += "></div>";
            }
            eventsHtml += "<div class=listCell style=width:30%;>" + thisEvent.description + "</div>";
            eventsHtml += "<div class=listCell style=width:10%;>" + thisEvent.date + "</div>";
            eventsHtml += "<div class=listCell style=width:27%;>" + thisEvent.time + "</div>";
            eventsHtml += "<div class=listCell style=width:12%;>" + thisEvent.price + "</div>";
            if(thisEvent.allowmultiples=="Y") {
                eventsHtml += "<div class=listCell style=width:13%;><input type=text name=Qty" + thisEvent.id + " size=2 maxlength=3 onKeyUp=checkAvailability(" + thisEvent.id + ",this);></div>";
            } else {
                eventsHtml += "<div class=listCell style=width:13%;><input type=hidden name=Qty" + thisEvent.id + " value=1>1</div>";
            }
            eventsHtml += "</div>";

        } else {

            eventsHtml += "<div class=listLine id=e" + thisEvent.id + " onMouseOver=hightlightDiv('e" + thisEvent.id + "',1); onMouseOut=hightlightDiv('e" + thisEvent.id + "',0);>";
            eventsHtml += "<div class=listCell style=width:5%;><font style=color:red;>Full</font></div>";
            eventsHtml += "<div class=listCell style=width:30%;><font style=color:red;text-decoration:line-through;>" + thisEvent.description + "</font></div>";
            eventsHtml += "<div class=listCell style=width:10%;><font style=color:red;text-decoration:line-through;>" + thisEvent.date + "</font></div>";
            eventsHtml += "<div class=listCell style=width:27%;><font style=color:red;text-decoration:line-through;>" + thisEvent.time + "</font></div>";
            eventsHtml += "<div class=listCell style=width:12%;><font style=color:red;text-decoration:line-through;>" + thisEvent.price + "</font></div>";
            eventsHtml += "<div class=listCell style=width:13%;><font style=color:red;text-decoration:line-through;>1</font></div>";
            eventsHtml += "</div>";

        }
    }

    if(eventsHtml!="") {
        thisDiv.style.display="block";
    } else {
        thisDiv.style.display="none";
    }
    changeDivContent('eventsListBox', eventsHtml);
    eventsAjaxComplete = true;
    checkSelectedEvents(confId, token);
}
*/

/** DEPRECATED **/
/*
function setPassportArray(evtArray) {
    var thisEvent;
    for(i=0; i<evtArray.length; i++) {
        thisEvent = evtArray[i];
        if(thisEvent.eventtype=="TOURS") {
            passportEventArray.push(thisEvent.id);
        }
    }
}
*/


function checkSelectedEvents(confId, token) {
    if(document.eventsitemsForm.EventID) {
        if(isArray(document.eventsitemsForm.EventID)) {
             for(i=0; i<document.eventsitemsForm.EventID.length; i++) {
               if(document.eventsitemsForm.EventID[i].checked) {
                   checkConflicts(confId,token,document.eventsitemsForm.EventID[i]);
               }
            }
        } else {
            if(document.eventsitemsForm.EventID.checked) {
                checkConflicts(confId,token,document.eventsitemsForm.EventID[i]);
            }

        }
    }
    //checkForPassport();
}

/** DEPRECATED **/
/*
function checkForPassport() {
    showPassport(false);
    if(document.eventsitemsForm.EventID) {
        if(isArray(document.eventsitemsForm.EventID)) {
            for(i=0; i<document.eventsitemsForm.EventID.length; i++) {
                if(document.eventsitemsForm.EventID[i].checked) {
                    if(isPassportEvent(document.eventsitemsForm.EventID[i].value)) {
                        showPassport(true);
                        break;
                    }
                }
            }
        } else {
            if(document.eventsitemsForm.EventID.checked) {
                if(isPassportEvent(document.eventsitemsForm.EventId)) {
                    showPassport(true);
                }
            }
        }
    }
}
*/

/** DEPRECATED **/
/*
function isPassportEvent(eventId) {
    needsPassport = false;
    if(passportEventArray!=null) {
        for(z=0; z<passportEventArray.length; z++) {
            if(passportEventArray[z]==eventId) {
                needsPassport = true;
            }
        }
    }
    return needsPassport;
}
*/

function checkConflicts(confId, token, thisEvent) {
    conflictArray = null;

    var url="jsonEventConflicts.jsp";
    var params="confid=" + confId;
        params+="&eventid=" + thisEvent.value;
        params+="&token=" + token;

    var conflictAjax = new Ajax(url,params);
    conflictAjax.post();
    conflictAjax.callback = function() {
        handleConflicts(this.txt, thisEvent.checked);
    }
}

function handleConflicts(jsontext, shouldDisable) {
    if(jsontext){
       var myObj = eval('(' + jsontext + ')');
       if(myObj.events.length>0) {
            for(y=0;y<myObj.events.length;y++) {
                var conflictid = myObj.events[y].id;
                for(z=0;z<document.eventsitemsForm.EventID.length;z++) {
                    if(document.eventsitemsForm.EventID[z].value==conflictid) {
                    	document.eventsitemsForm.EventID[z].disabled=shouldDisable;
                    }
                }
            }
        }
    }
}


function checkAvailability(id, i) {
    for(x=0;x<eventArray.length;x++) {
        if(eventArray[x][6] == id) {
            if(i.value > eventArray[x][9]) {
               //alert("You've exceeded the available number of slots for the event " + eventArray[x][2]);
               //i.value = "";
               //i.focus();
            }
        }
    }
}

/*********************************/
/***       GET PASSPORT        ***/
/*********************************/
function showPassport(requiredEventIds) {
    var show = false;
    var ppHtml = "";
    var thisDiv = getObjectById("passportBlock");

    ppHtml += "<div style='width:100%; text-align:center;'>";
    ppHtml += "<font style=color:red><b>NOTE: A Passport Number Is Required For This Tour</font><br/>";
    ppHtml += "Passport Number&nbsp;&nbsp;";
    ppHtml += "<input type=text name=passportnumber value='" + passportNumber + "' size=25 maxlength=50><br/><br/>";
    ppHtml += "</div>";

    for(i=0;i<requiredEventIds.length;i++) {
        var obj = getCheckboxByValue(document.eventsitemsForm.EventID,requiredEventIds[i]);

        if(obj.checked) {
            show=true;
        }

    }

    if(show) {
        thisDiv.style.display='block';
        thisDiv.innerHTML = ppHtml;
        verifyPassport = true;
    } else {
        thisDiv.innerHTML = "";
        thisDiv.style.display='none';
        verifyPassport = false;
    }
    
}


function verifyEventsForm() {
    for(y=0; y<document.eventsitemsForm.length; y++) {
        if(document.eventsitemsForm.elements[y].name=='EventID') {
            if(document.eventsitemsForm.EventID.length!='undefined') {
                for(z=0; z<document.eventsitemsForm.EventID.length; z++) {
                    if(document.eventsitemsForm.EventID[z].checked) {
                        if(eval("document.eventsitemsForm.EventQty" + document.eventsitemsForm.EventID[z].value + ".value")=="") {
                            alert("Please Enter a Quantity of the Item you selected");
                            return false;
                        }
                    }
                }
            } else {
                if(document.eventsitemsForm.EventID.checked) {
                    if(eval("document.eventsitemsForm.EventQty" + document.eventsitemsForm.EventID.value + ".value")=="") {
                        alert("Please Enter a Quantity of the Item you selected");
                        return false;
                    }
                }
            }
            break;
        }
    }
    if(verifyPassport) {
        if(document.eventsitemsForm.passportnumber.value.length<1) {
            alert("You Must Supply a Passport Number For The Event You Selected");
            return false;
        }

    }
    return true;

}



