﻿ejungle.runtime.ajax = {}

ejungle.settings.ajax = {
    type: "POST",
    contentType: "application/json; charset=utf-8",
    data: $.arrayToString({}),
    dataType: "json",
    error: function(XMLHttpRequest, textStatus, errorThrown) {
        //console.log("XMLHttpRequest: " + XMLHttpRequest.statusText);
        //console.log("textStatus: " + textStatus);
        //console.log("errorThrown: " + errorThrown);
    },
    timeout: 5000
};

ejungle.runtime.ajax.run = function(settings) 
{
    settings		= $.extend(ejungle.settings.ajax, (settings || {}));
    settings.data	= $.arrayToString(settings.data);
//alert(settings.data);
    $.ajax(settings);

};

ejungle.runtime.ajax.loadSubjects = function(success) {
    var data = ejungle.runtime.controls.courseSearch.filter;
    data.subjectListType = ejungle.runtime.controls.courseSearch.subjectListType;

    var settings = {
        url: "/WebServices/FindCourse.asmx/FilterSubjects",
        success: success,
        data: data
    };
    ejungle.runtime.ajax.run(settings);
};

ejungle.runtime.ajax.loadProgramsAndCourses = function(subjectId, success) {
    var data = {};
    $.extend(data, ejungle.runtime.controls.courseSearch.filter, { subjectId: subjectId });
    var settings = {
        url: "/WebServices/FindCourse.asmx/LoadProgramsAndCourses",
        success: success,
        data: data
    };
    ejungle.runtime.ajax.run(settings);
};

ejungle.runtime.ajax.loadProgramCourseInfo = function(id, type, success) {
    var data = {};
    $.extend(data, ejungle.runtime.controls.courseSearch.filter, { pkId: id, pkType: type });
    //console.log(data);
    var settings = {
        url: "/WebServices/FindCourse.asmx/LoadProgramCourseInfo",
        success: success,
        data: data
    };
    ejungle.runtime.ajax.run(settings);
};

ejungle.runtime.ajax.loadSectionInfo = function(sectionId, isBeingApproved, success) {
    var settings = {
        url: "/WebServices/FindCourse.asmx/LoadSectionInfo",
        success: success,
        data: {
            sectionId: sectionId,
            isBeingApproved: isBeingApproved
        }
    };
    //console.log(settings);
    ejungle.runtime.ajax.run(settings);
};

ejungle.runtime.ajax.sendSocialEmail = function(name, email, friendName, friendEmail, customMessage, url, success) {
    var settings = {
        url: "/WebServices/FindCourse.asmx/SendSocialEmail",
        success: success,
        data: {
            name: name,
            email: email,
            friendName: friendName,
            friendEmail: friendEmail,
            customMessage: customMessage,
            url: url
        }
    };
    //console.log(settings);
    ejungle.runtime.ajax.run(settings);
};

ejungle.runtime.ajax.validateDiscountCode = function(sectionId, iNo, code, success) 
{	// iNo added as index number (for Express Registration)

    var settings = 
	{
        url: "/WebServices/FindCourse.asmx/ValidateDiscountCode",
        success: success,
        data: 
		{
            sectionId: sectionId,
			itemIndex: iNo,
            code: code
        }
    };
    //console.log(settings);
    ejungle.runtime.ajax.run(settings);
};

ejungle.runtime.ajax.validateApprovalCode = function(sectionId, code, success) 
{
    var settings = 
	{
        url: "/WebServices/FindCourse.asmx/ValidateApprovalCode",
        success: success,
        data: 
		{
            sectionId: sectionId,
            code: code
        }
    };
    //console.log(settings);
    ejungle.runtime.ajax.run(settings);
};


