function expandEnrollTab(templateId){
	var enrollProgramTabPanelDummyBtn = $$('input.showEnrollProgramTabPanelGroupDummyBtnCSS'+templateId)[0];
	enrollProgramTabPanelDummyBtn.click();
}

function hideEnrollTab(templateId){
	var enrollProgramTabPanelDummyBtn = $$('input.hideEnrollProgramTabPanelGroupDummyBtnCSS'+templateId)[0];
	enrollProgramTabPanelDummyBtn.click();
}

function checkZipcodeData(obj){ //this function is copied from userlocation.xhtml. Need to refactor
	var selectedValue = obj.value;
	var indexOfNumber = selectedValue.search(/\d/);
	if(indexOfNumber > -1){
		return false;
	}
}

// *****Added from enroll_main.jhtml******
// Show modal loading panel with id='advanced_filters_progress_indicator'
function showAdvancedFilterLoader() {
	showOpaqueDiv();
}

// Hide modal loading panel with default id='advanced_filters_progress_indicator'
function hideAdvancedFilterLoader() {
	hideOpaqueDiv();
}

function showOpaqueDiv() {
	Element.clonePosition($('opaqueDiv'), $$('.mainToFade')[0]);
	$('opaqueDiv').setStyle({ display: 'block'});
}

function hideOpaqueDiv() {
	$('opaqueDiv').setStyle({ display: 'none'});
}

function __add(element) {
	if (element == undefined || element == null) {
    	return;
 	}
    this.push(element);
}

function __remove(element) {
	if (element == undefined || element == null) {
    	return;
	}

	if (this.length == 0) {
    	return;
	}

	for (i = this.length - 1; i>=0; i--) {
    	if (this[i] == element) {
    		this.splice(i, 1);
        	return;
    	}
	}
}

function __contains(element) {
	if (element == undefined || element == null) {
    	return;
 	}

 	if (this.length == 0) {
    	return;
 	}

    for (i = this.length - 1; i>=0; i--) {
    	if (this[i] == element) {
    		return true;
     	}
 	}

    return false;
}

function __clear() {
 	this.length = 0;
}

function __addUnique(element) {
 	if (element == undefined || element == null) {
    	return;
 	}

    if (!this.contains(element)) {
    	this.push(element);
 	}
}

Array.prototype.add = __add;
Array.prototype.remove = __remove;
Array.prototype.contains = __contains;
Array.prototype.clear = __clear;
Array.prototype.addUnique = __addUnique;

var expandablePanelIds = new Array();
var selectedClassIds = new Array();
var selectedClasses = new Array();
var baseUrl = '/_dynamic/enrollment/kaplan_course_schedule.jhtml';

function setExpandedId(id) {
    document.getElementById('searchForm:expanded_product_id').value=id;

//    for (i = expandablePanelIds.length - 1; i >= 0; i--) {
//        if (id != expandablePanelIds) {
//            document.getElementById('searchForm:toggle_' + id);
//        }
//    }
}

function clearExpandedId() {
    document.getElementById('searchForm:expanded_product_id').value=null;
}

function selectClassId(element, classId) {
	if (element.checked) {
		selectedClassIds.addUnique(classId);
		selectedClasses.addUnique(element);
	} else {
		selectedClassIds.remove(classId);
		selectedClasses.remove(element);
	}
}

function clearSelectedClasses() {
	selectedClassIds.clear();

	for (i=0; i < selectedClasses.length; i++) {
		selectedClasses[i].checked = false;
	}
}

function printSelectedClasses(programName) {
	if (selectedClassIds.length != 0) {
		var fullUrl = baseUrl + '?product=' + programName;

		for (i = 0; i < selectedClassIds.length; i++) {
			fullUrl += ('&classId=' + selectedClassIds[i]);
		}

		window.location.href = fullUrl;
		if ($$('ie'))
			window.event.returnValue = false;
	}
}

function refreshSearchResultPage(zipCode){
    var url = "/enroll/#{kaptest.shared.enroll.manage_program_search.classSearchResults.criteria.program}/";
    url = url+zipCode;
    window.location.href = url;
}

// ******End of Added from enroll_main.jhtml******
