﻿function ProcessClassClick(row) {
    row = document.getElementById(row);
    if (row.id != '') {
    toggleLayer('classprocessingimage2');
    rows = row.parentNode.childNodes;
    var shading = "odd";
	for ( var i=0; i < rows.length; i++) {
	    if (shading == "odd") { rows[i].className = "TableRow"; shading = "even";
	    } else { rows[i].className = "AlternateTableRow"; shading = "odd";}
	}
	row.className = 'TableRowSelect';
	SitecoreWebsite.SOLI_Interior_Class_Sublayout.GetClassInfo(row.id, processEvent);
	}
}
     
function LoadEventClassInfo(EventID) { if (EventID != '') { toggleLayer('classprocessingimage2'); showRegister(); }}

function processEvent(res) {
    toggleLayer('classprocessingimage2');
    if (res.error != null) {
        document.getElementById('ErrorMessage').innerHTML = "<hr/>Your request was not processed for the following reason:<li>" + res.error.Message + "</li>";
        return;
    } else {
        if (res.value != null) {                       
            var EventInfo = res.value;        

            if (typeof(EventInfo) == "object") {
                try{
                    if ( ie6 ){ document.styleSheets[0].disabled = true; document.styleSheets[0].disabled = false; }
                } catch(e){}
                
                document.getElementById("RowId").value = "";
                document.getElementById('EventTitle').innerHTML = "";
                document.getElementById('EventDateTime').innerHTML = "";
                document.getElementById('EventLocation').innerHTML = "";
                document.getElementById('EventVenue').innerHTML = "";
                document.getElementById('EventRegistrationFees').innerHTML = "";
                document.getElementById('EventInstructors').innerHTML = "";
                document.getElementById('EventPrice').innerHTML = "";
                document.getElementById('EventDrivingInstructions').innerHTML = "";
                document.getElementById('EventComments').innerHTML = "";
                document.getElementById('EventTitle').innerHTML = EventInfo.Title; 
                document.getElementById('EventDateTime').innerHTML = EventInfo.DateTime; 
                document.getElementById('EventLocation').innerHTML = EventInfo.Location; 
                document.getElementById('EventVenue').innerHTML = EventInfo.Venue; 
                document.getElementById('EventRegistrationFees').innerHTML = EventInfo.RegistrationFees; 
                document.getElementById('EventInstructors').innerHTML = EventInfo.Instructors; 
                document.getElementById('EventPrice').innerHTML = "<table><tr><td style='width:110px;'>Member:</td><td>" + EventInfo.MemberFee + "</td></tr><tr><td  style='width:110px;'>Non Member:</td><td>" + EventInfo.NonMemberFee + "</td></tr></table>"; 
                document.getElementById('EventDrivingInstructions').innerHTML = EventInfo.DrivingInstructions; 
                document.getElementById('EventComments').innerHTML = EventInfo.Comments; 

                if (EventInfo.Status == "Executing") {
                    document.getElementById("RowId").value = EventInfo.RowId;
                    if (document.getElementById('EventDate') != null)
                        document.getElementById('EventDate').value = EventInfo.StartDate;

                    var selects = document.getElementsByTagName('select');

                    for ( var i=0; i < selects.length; i++) {
                        if (selects[i].id.indexOf('Price') > 0) {
                            selects[i].options.length = 0;
                            selects[i].options[0] = new Option('','');
                            selects[i].options[1] = new Option(EventInfo.MemberFee + ' - Member'  ,'Member');
                            selects[i].options[2] = new Option(EventInfo.NonMemberFee + ' - Non Member'  ,'NonMember');
                        }
                    }
                }
                //this references a function from the soli interior class sublayout
                showCenter(window.center({width:500,height:450}))
            }
        } else { document.getElementById('ErrorMessage').innerHTML = "Test, There was an error processing this request."; }
    }
}

function processRegEvent(res) {
    toggleLayer('classprocessingimage2');
    if (res.error != null) {
        document.getElementById('ErrorMessage').innerHTML = "<hr/>Your request was not processed for the following reason:<li>" + res.error.Message + "</li>";
        return;
    } else {
        if (res.value != null) {                       
            var EventInfo = res.value;        

            if (typeof(EventInfo) == "object") {
                try{
                    if ( ie6 ){ 
                        document.styleSheets[0].disabled = true;
                        document.styleSheets[0].disabled = false;
                    }
                } catch(e){}

                if (EventInfo.Status == "Executing") {
                    document.getElementById("RowId").value = EventInfo.RowId;
                    document.getElementById('RegisterTitle').innerHTML = "" + EventInfo.Title + "";
                    document.getElementById('RegisterDate').innerHTML = EventInfo.StartDate + " - " + EventInfo.EndDate;                                 

                    if (document.getElementById('EventDate') != null)
                        document.getElementById('EventDate').value = EventInfo.StartDate;

                    var selects = document.getElementsByTagName('select');

                    for ( var i=0; i < selects.length; i++) {
                        if (selects[i].id.indexOf('Price') > 0) {
                            selects[i].options.length = 0;
                            selects[i].options[0] = new Option('','');
                            selects[i].options[1] = new Option(EventInfo.MemberFee + ' - Member'  ,'Member');
                            selects[i].options[2] = new Option(EventInfo.NonMemberFee + ' - Non Member'  ,'NonMember');
                        }
                    }
                }
    
                toggleLayer('classprocessingimage2');
                var elem = document.getElementById('RegisterTab');
                show(elem,'Register');

                if (document.getElementById('PromoInfo') != null) {
                    if ((EventInfo.EventType == "Open Symposium") || (EventInfo.EventType == "Conference") || (EventInfo.EventType == "Open Seminar")) {                            
                        document.getElementById('PromoInfo').style.display = "none";                            
                        document.getElementById('PromoInfo').getElementsByTagName("input")[0].value = "";
                    } else {                                                    
                        document.getElementById('PromoInfo').style.display = "";
                    }       
                }               
            }
        }
    }
}

function showRegisterForMember(EventID) {
var sc_itemid;
var hmm;
hmm = "";
document.getElementById('RowId').value = EventID;
document.getElementById('FormBody').submit();

if (EventID==undefined) { EventID = document.getElementById('RowId').value; }
sc_itemid = document.getElementById('sc_itemid').value;
hmm = SitecoreWebsite.SOLI_Interior_Class_Sublayout.RegisterForAClass(EventID, sc_itemid);
processErrorMessage(hmm);
}

function showRegisterForGuest(EventID) {
document.getElementById('RowId').value = EventID;
document.getElementById('FormBody').submit();

if (EventID==undefined) { EventID = document.getElementById('RowId').value; }   
document.getElementById('FormBody').submit();
}

function processRegistration() {
var result = "";
if (document.getElementById("RowId").value == '') { alert('You must first select an event in which to register.');            
} else { result = document.getElementById("RowId").value;
    SitecoreWebsite.SOLI_Interior_Class_Sublayout.RegisterUser(result, processErrorMessage);
}
}

function processErrorMessage(res) {
if (res.error != null) {
    document.getElementById('ErrorMsg').innerHTML = "<hr/>Your request was not processed for the following reason:<li>" + res.error.Message + "</li>";
    return;
} else {
    if (res.value != null) {               
        if (res.value.indexOf("Add To Cart") > -1) {window.location = "/MyLyrasis/Shopping Cart.aspx";} 
        else {document.getElementById('ErrorMsg').innerHTML = res.value;}
        try{
            if ( ie6 ){ document.styleSheets[0].disabled = true; document.styleSheets[0].disabled = false;
            }
        } catch(e){}
    } else { document.getElementById('ErrorMsg').innerHTML = ""; document.getElementById('ErrorMsg').innerHTML = res.value;
    }
}
}

function HideRow() {
var inputs = document.getElementsByTagName('input');
for ( var i=0; i < inputs.length; i++) {
    if (inputs[i].name.indexOf('txtFirstName') > -1) {inputs[i].value = '';}
    if (inputs[i].name.indexOf('txtLastName') > -1) {inputs[i].value = ''}
    if (inputs[i].name.indexOf('txtTelephone') > -1) {inputs[i].value = '';}
    if (inputs[i].name.indexOf('txtEmail') > -1) {inputs[i].value = '';}
    if (inputs[i].name.indexOf('txtFirstName') > -1) {inputs[i].value = ''}
}
var elem = document.getElementById('AddUserRow');
elem.style.display = "none";
document.getElementById('ErrorMessage2').innerHTML = "";
try{ if ( ie6 ) { document.styleSheets[0].disabled = true;document.styleSheets[0].disabled = false;}} catch(e){}
}

function ShowRow() {
var elem = document.getElementById('AddUserRow');
try {elem.style.display="table-cell";} catch(err) {elem.style.display="block";}
try{
if ( ie6 ){ document.styleSheets[0].disabled = true; document.styleSheets[0].disabled = false;}} catch(e){}    
}

//function AddUser() {
//var Msg = ""; //validateInput();
//if (Msg == "") {
//    document.getElementById('ErrorMsg').innerHTML = "";
//     //display processing logo
//    toggleLayer('classprocessingimage');
//    var frm  = document.forms['FormBody'];   
//    var numElements = frm.elements.length;
//    var result = "";
//    for (var i=0; i < numElements; i++) {
//        var theElement = frm.elements[i];
//        var elementName = theElement.name;
//        var elementType = theElement.type;
//        var elementValue = theElement.value;
//        if ("text" == theElement.type || "textarea" == theElement.type) { result = result + elementName + '=' + elementValue + '|';
//        } else if ("checkbox" == theElement.type || "radio" == theElement.type) {
//                if (theElement.checked) { result = result + elementName + '=' + elementValue + '|'; }
//        } else if ("hidden" == theElement.type && elementName != '__VIEWSTATE') { result = result + elementName + '=' + elementValue + '|';
//        } else if ("select-one" == theElement.type) { result = result + elementName + '=' + elementValue + '|';                    
//        } else if ("select-multiple" == theElement.type) {
//            result = result + elementName + '=';
//            var len = theElement.options.length;
//            for (var x=0; x < len; x++) {
//                if (theElement.options[x].selected) { result = result + theElement.options[x].value + ','; }
//            } 
//            if (result.charAt(result.length) == ",") { result = result.substr(0,result.length-1); }                   
//            result = result + '|';
//        }
//    }     
//    //call ajax function on server after gather values to send.    
//    SitecoreWebsite.SOLI_Interior_Class_Sublayout.AddUser(result, processAddUserMessage);
//} else {
//    document.getElementById('ErrorMsg').innerHTML = "The following errors were found:<br/><br/>" + Msg;
//    try{if ( ie6 ){ document.styleSheets[0].disabled = true; document.styleSheets[0].disabled = false;}} catch(e){}
//}
//}

function processAddUserMessage(res) {        
    toggleLayer('classprocessingimage');
    if (res.error != null) {            
        document.getElementById('ErrorMsg').innerHTML = "<hr/>Your request was not processed for the following reason:<li>" + res.error.Message + "</li>";
        return;
    } else {
        if (res.value != null) {                       
            var NewUserInfo = res.value; 
            if (typeof(NewUserInfo) == "object") {
                var message  = NewUserInfo.Message;
                if (message == "Success") {
                    var FirstName = NewUserInfo.FirstName;
                    var LastName = NewUserInfo.LastName;
                    var UserId = NewUserInfo.UserId;
                    var selects = document.getElementsByTagName('select');
                    
                    for ( var i=0; i < selects.length; i++) {
                        var control = selects[i];
                        if (control.name.indexOf('Attendees') > -1) {
                            control.options[control.length] = new Option(LastName + ", " + FirstName, UserId);
                            control.selectedIndex = control.length-1;
                        }
                    }
                    HideRow();
                } else {
                    HideRow();
                    document.getElementById('ErrorMsg').innerHTML = "<hr/>Your request was not processed for the following reason:<li>" + message + "</li>";              
                }
            }
        }
    }         
}

//function validateInput() {
//    var Msg = "";
//    var inputs = document.getElementsByTagName('input');
//    for ( var i=0; i < inputs.length; i++) {
//        var control = inputs[i];
//        if (control.name.indexOf('txtFirstName') > -1) {
//            if (control.value == "") {Msg = Msg + "<li> First Name is required</li>"}
//            if (control.value.length > 50) {Msg = Msg + "<li> First Name may only be 50 characters</li>";}    
//        }
//        if (control.name.indexOf('txtLastName') > -1) {
//            if (control.value == "") {Msg = Msg + "<li> Last Name is required</li>";}
//            if (control.value.length > 50) {Msg = Msg + "<li> Last Name may only be 50 characters</li>";}    
//        }
//       if (control.name.indexOf('txtTelephone') > -1) {
//            if (control.value == "") {Msg = Msg + "<li> Telephone is required</li>";}
//            if (control.value.length > 20) Msg = Msg + "<li> Telephone may only be 20 characters</li>";}    
//        }
//       if (control.name.indexOf('txtEmail') > -1) {
//            if (control.value == "") {Msg = Msg + "<li> Email Address is required</li>";}    
//            if (control.value.length > 100) {Msg = Msg + "<li> Email Address may only be 100 characters</li>";}    
//        }
//    }    
//    if (Msg != "") {return Msg;}
//    else {return "";}
//}

function HasSelectedClass() {   
   if (document.getElementById("RowId").value == "")   
        alert("You must first select an event before registration.  Please see the 'Schedule' tab.");
}
