﻿var xmlhttp;
var text;

function ShowBookingExtras(id) {
    xmlhttp = CreateXMLHttpObject();
    var coursenameBox = document.getElementById(id);
    var course = coursenameBox[coursenameBox.selectedIndex].value;
    
    var coursename;
    var date;
    var type;
    var NoOfDays = 0;
    var CourseNumber;
    var TravelBy;
    var cprice = 0;
    
    //alert("[" + course.length + "] '" + course + "'");
    
    if (course.length > 0)
    {
        var detailArray = new Array();
        detailArray = course.split("@");
        
        if (detailArray.length > 0)
        {
            //element.value = coursename + "@" + date + "@" + type + "@" + NoOfDays + "@" +CourseNumber + "@" + TravelBy;
            coursename = detailArray[0];
            date = detailArray[1];
            type = detailArray[2];
            NoOfDays = detailArray[3];
            CourseNumber = detailArray[4];
            TravelBy = detailArray[5];
            cprice = detailArray[6];
        }    
    
//    var tmp = "";
//    for (var i = 0; i < detailArray.length; ++i)
//        tmp += "[" + i + "] " + detailArray[i] + "\n";
//        
//    alert(tmp);

        //set coursename into hidden form
        document.getElementById("selectedCoursename").value = coursename;

        var courseString = "";
        courseString += "<span class=\"courseInfoDetail\">Date:" + date + "</span>";
        courseString += "<span class=\"courseInfoDetail\">Course Type:" + type + "</span>";
        courseString += "<span class=\"courseInfoDetail\">Course Length:" + NoOfDays + "</span>";
        courseString += "<span class=\"courseInfoDetail\">Course Number:" + CourseNumber + "</span>";
        courseString += "<span class=\"courseInfoDetail\">Transportation:" + TravelBy + "</span>";
        UpdatingBookingDetails("courseDetail", courseString);
        UpdatingBookingDetails("course", course);
        UpdatingBookingDetails("cprice", cprice);        
        UpdatingBookingDetails("rebate", 0); 
        
        //document.getElementById("extraprice").innerHTML = "0";
        selectedArticles = "";
        UpdatingBookingDetails("extraprice", "0");
        //UpdatingBookingDetails("extras", selectedArticles);
        setCookie("extras", selectedArticles);
        UpdatingTotalPrice(0);

        if (xmlhttp == null) {
            return;
        }

        var url = "BookingExtras.aspx";
        if (coursename != "" && coursename != null) {
            url += "?coursename=" + coursename;
            url += "&price=" + cprice;
        }
        
        xmlhttp.onreadystatechange = AjaxStatusChange;
        xmlhttp.open("GET", url, true);
        xmlhttp.send(null);
        
        var articleString = "<h6>Booking Extras</h6>";
        articleString += "<p>Loading available booking extras...</p>";
        articleString += "<div id=\"submitButton\"><input type=\"submit\" name=\"SubmitButton\" value=\"Continue\" onclick=\"submitForm('info.aspx')\" /></div><div class=\"clearDiv\"></div>";
        document.getElementById("bookingExtras").innerHTML = articleString;
    }
    else
    {   
        document.getElementById("bookingExtras").innerHTML = "<h6>Booking Extras</h6>";
        UpdatingBookingDetails("extraprice", 0);
        UpdatingBookingDetails("cprice", 0);
        UpdatingBookingDetails("rebate", 0); 
        UpdatingTotalPrice(0);
    }    
}

function CreateXMLHttpObject() {
    if (window.XMLHttpRequest) {
        //code for IE7+, Firefox, Chrome, Opera, Safari
        return new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
    else {
        alert("Your browser doesn't support XMLHTTP.");
    }
    return null;
}

function AjaxStatusChange() 
{
    if (xmlhttp.readyState == 4) 
    {
        // 4 - The request is complete        
        if (xmlhttp.status == 200) 
        {
            //200 = OK
            var xmlDoc = xmlhttp.responseXML;
            var articles = xmlDoc.getElementsByTagName("article");
            var rebate = xmlDoc.getElementsByTagName("rebate");
            var rebateprice = 0;
            
            //if (rebate != "undefined" && rebate != null && rebate != "")
            //{
            //rebateprice = rebate[0].firstChild.nodeValue;
            //document.getElementById("rebate").innerHTML = rebateprice;
            //}
            
            cookiedExtras = getCookie("extras");
            cookiedExtrasArray = cookiedExtras.split("|");
            cookiedExtrasCodes = cookiedExtrasArray[0];
            cookiedExtrasCodesArray = cookiedExtrasCodes.split(";");
            var articleData = new Array();
            var articleString = "<h6>" + loadText + "</h6>";
            articleString += "<table width='310' style='margin:0px 0px 0px 5px'>";
            articleString += "<tr><td colspan='2'><p id='extrasTitle'>Extra</p></td><td align='right'><p>Price</p></td></tr>";            
            
            for (var i = 0; i < articles.length; i++) 
            {
                var articleLength = articles[i].childNodes.length;
                var details2 = "";
                var details = "";
                var title = "";
                var price = "";
                var language2 = "";
                var title = "";
                var articlename = "";
                var articlecode = "";
                var fixedprice = 0;
                var pricetype = 1;
                var rangedprice = 0;
                var coursecode = "";
                
                if (articles[i].getElementsByTagName("articlecode")[0].firstChild != null)
                     articlecode = articles[i].getElementsByTagName("articlecode")[0].firstChild.nodeValue;
                
                if (articles[i].getElementsByTagName("articlename")[0].firstChild != null)
                     articlename = articles[i].getElementsByTagName("articlename")[0].firstChild.nodeValue;
                
                if (articles[i].getElementsByTagName("fixedprice")[0].firstChild != null)     
                     fixedprice = articles[i].getElementsByTagName("fixedprice")[0].firstChild.nodeValue;
                if (articles[i].getElementsByTagName("pricetype")[0].firstChild != null)     
                     pricetype = articles[i].getElementsByTagName("pricetype")[0].firstChild.nodeValue;
                
                if (articles[i].getElementsByTagName("language2")[0].firstChild != null)
                    language2 = articles[i].getElementsByTagName("language2")[0].firstChild.nodeValue;
                
                if (articles[i].getElementsByTagName("title")[0].firstChild != null)
                    {
                     title = articles[i].getElementsByTagName("title")[0].firstChild.nodeValue;
                     title = decodeURIComponent(title.replace(/\+/g, " "));
                    }

                if (articles[i].getElementsByTagName("details")[0].firstChild != null)
                {
                    details = articles[i].getElementsByTagName("details")[0].firstChild.nodeValue;
                    details = decodeURIComponent(details.replace(/\+/g, " "));
                }
                if (articles[i].getElementsByTagName("details2")[0].firstChild != null)
                {
                    details2 = articles[i].getElementsByTagName("details2")[0].firstChild.nodeValue;
                    details2 = decodeURIComponent(details2.replace(/\+/g, " "));
                }
                
                if (articles[i].getElementsByTagName("rangedprice")[0].firstChild != null)
                    rangedprice = articles[i].getElementsByTagName("rangedprice")[0].firstChild.nodeValue;
                if (articles[i].getElementsByTagName("coursecode")[0].firstChild != null)
                    coursecode = articles[i].getElementsByTagName("coursecode")[0].firstChild.nodeValue;

                if (pricetype < 3)
                    price = fixedprice;
                else
                    price = rangedprice;

                if (articles[i].getElementsByTagName("rebate")[0].firstChild != null)
                    rebateprice = articles[i].getElementsByTagName("rebate")[0].firstChild.nodeValue;
                
                for (var j = 0; j <= cookiedExtrasCodesArray.length; j++) 
                {                    
                    if (articlecode == cookiedExtrasCodesArray[j]) 
                    {
                        checkMe = "checked";
                        break;
                    } else {
                        checkMe = "";
                    }
                }
                articleString += "<tr valign='top'><td><input id='" + articlecode + "_id' type='checkbox' value='" + articlecode + "@" + price + "@" + title + "' onclick='AddExtras(this.id)' class='bookingExtraTickBox' " + checkMe + " /></td>";
                articleString += "<td><p>" + unescape(title) + "<p></td>";
                articleString += "<td align='right'><p>" + price + "<p></td>";
                articleString += "</tr>";
            }
            articleString += "</table>";
            articleString += "<div id=\"submitButton\"><input type=\"submit\" name=\"SubmitButton\" value=\"Continue\" onclick=\"submitForm('info.aspx')\" /></div><div class=\"clearDiv\"></div>";
            
            document.getElementById("bookingExtras").innerHTML = articleString;
            document.getElementById("rebate").innerHTML = rebateprice;            
            
            AddExtras();
        }
        else 
        {
            var articleString = "<h6>" + loadText + "</h6>";
            articleString += "<p>Error - Loading available booking extras...</p>";
            articleString += "<div id=\"submitButton\"><input type=\"submit\" name=\"SubmitButton\" value=\"Continue\" onclick=\"submitForm('info.aspx')\" /></div><div class=\"clearDiv\"></div>";
            
            document.getElementById("bookingExtras").innerHTML = articleString;                  
        }
    } 
    else 
    {
        var articleString = "<h6>" + loadText + "</h6>";
        articleString += "<p>Loading available booking extras...</p>";
        articleString += "<div id=\"submitButton\"><input type=\"submit\" name=\"SubmitButton\" value=\"Continue\" onclick=\"submitForm('info.aspx')\" /></div><div class=\"clearDiv\"></div>";
        
        document.getElementById("bookingExtras").innerHTML = articleString;    
    }
}
