// JavaScript Document

sfFocus = function() {
	var sfEls = document.getElementsByTagName("INPUT");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onfocus=function() {
			this.className+=" sffocus";
		}
		sfEls[i].onblur=function() {
			this.className=this.className.replace(new RegExp(" sffocus\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfFocus);

// On form - to go from step 1 to step 2
function showStep2() {
	var step1 = document.getElementById("step1");
	var step2 = document.getElementById("step2");
	var header = document.getElementById("form_header");
	var program = document.getElementById("program");
	
	if (program.value == "-1" || program.value == "0") {
		alert("Please choose a program.");
	} else {
		step1.style.display = "none";
		step2.style.display = "block";
		header.style.backgroundPosition = "top left";
	}
	
	return false;
}

animatedcollapse.addDiv('step2', 'fade=1,height=auto')
animatedcollapse.init()

function checkOptGroups(programs)
{
	var elements = programs.childNodes;
	for (i = 0; i < elements.length; i++) 
	{
		var loop = true;
		while (loop && i < elements.length && elements[i].tagName == 'OPTGROUP')
		{
			var oChildren = elements[i].getElementsByTagName('option');
			if (oChildren.length == 0)
				programs.removeChild(programs.childNodes[i]);
			else
				loop = false;
		}
	}
}
animatedcollapse.addDiv('default', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p1', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p2', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p3', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p4', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p5', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p6', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p7', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p8', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p9', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p10', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p11', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p12', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p13', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p14', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p15', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p16', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p17', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p18', 'fade=1,height=auto,group=programs')
animatedcollapse.init() 
animatedcollapse.addDiv('p19', 'fade=1,height=auto,group=programs')
animatedcollapse.init()
animatedcollapse.addDiv('p20', 'fade=1,height=auto,group=programs')
animatedcollapse.init()

$(document).ready(function() {
	
	// sort campuses to remedy Chrome bug that sorts by value
	function sortCampuses()
	{
		var $dd = $('#campusid');
		// save the selected value
		var selectedVal = $dd.val();

		// get the options and loop through them
		var $options = $('option', $dd);
		var arrVals = [];
		$options.each(function(){
			// push each option value and text into an array
			arrVals.push({
				val: $(this).val(),
				text: $(this).text()
			});
		});

		// sort the array by the value (change val to text to sort by text instead)
		arrVals.sort(function(a, b){
			if (a.val != '' && a.val != '-1')
			{
				if(a.text > b.text)
					return 1;
				else if (a.text == b.text)
					return 0;
				else
					return -1;
			}
		});

		// loop through the sorted array and set the text/values to the options
		for (var i = 0, l = arrVals.length; i < l; i++)
			$($options[i]).val(arrVals[i].val).text(arrVals[i].text);

		// set the selected value back
		$dd.val(selectedVal);
	}

	
	// Limit campuses by state
	$("#state").change(function() {
		InitDropDowns('campusid', 'program');
		var oCampus = document.getElementById('campusid');
		var iRecCnt;
			for(iRecCnt = oCampus.options.length-1;iRecCnt>=0;iRecCnt--) {
				//Debug
				//alert(parseInt(oCampus.options[iRecCnt].value));
				//alert(oCampus.options[iRecCnt].value);
				//alert(oCampus.options[iRecCnt].text);
				switch(parseInt(oCampus.options[iRecCnt].value)) {
					case 19071: oCampus.options[iRecCnt].text ='IN - Rockport';break;
					case 19070: oCampus.options[iRecCnt].text ='KY - Albany';break;
					case 19: oCampus.options[iRecCnt].text ='KY - Bellevue';break;
					case 22: oCampus.options[iRecCnt].text ='KY - Bowling Green';break;
					case 19073: oCampus.options[iRecCnt].text ='KY - Clinton';break;
					case 24: oCampus.options[iRecCnt].text ='KY - Hopkinsville';break;
					case 18669: oCampus.options[iRecCnt].text ='Online';break;
					case 18: oCampus.options[iRecCnt].text ='KY - Louisville Fern Valley';break;
					case 19064: oCampus.options[iRecCnt].text ='KY - Louisville Westport';break;
					case 19896: oCampus.options[iRecCnt].text ='KY - Madisonville';break;
					case 20: oCampus.options[iRecCnt].text ='KY - Owensboro';break;
					case 21: oCampus.options[iRecCnt].text ='KY - Paducah';break;
					case 27: oCampus.options[iRecCnt].text ='KY - Paducah Technical';break;
					case 19074: oCampus.options[iRecCnt].text ='KY - Russellville';break;
					case 19072: oCampus.options[iRecCnt].text ='KY - Scottsville';break;
					case 18956: oCampus.options[iRecCnt].text ='OH - Chillicothe';break;
					case 18955: oCampus.options[iRecCnt].text ='OH - Jackson';break;
					case 18954: oCampus.options[iRecCnt].text ='OH - Lancaster';break;
					case 18953: oCampus.options[iRecCnt].text ='OH - New Boston';break;
					<!--8.2011 modifiedRT# 63238-->
					case 23: oCampus.options[iRecCnt].text ='TN - Clarksville';break;
					case 25: oCampus.options[iRecCnt].text ='TN - Murfreesboro';break;
					case 26: oCampus.options[iRecCnt].text ='TN - Nashville';break;
					default:break;
				}
			}
			sortCampuses();
		if (
			$(this).val() != 'KY' &&
			$(this).val() != 'IN' &&
			$(this).val() != 'OH' &&
			$(this).val() != 'TN'
		)
		{
			$("#campusid option:contains('Bellevue')").remove();
			$("#campusid option:contains('Bowling Green')").remove();
			$("#campusid option:contains('Chillicothe')").remove();
			$("#campusid option:contains('Jackson')").remove();
			$("#campusid option:contains('Lancaster')").remove();
			$("#campusid option:contains('Louisville Westport')").remove();
			$("#campusid option:contains('Louisville Fern Valley')").remove();
			$("#campusid option:contains('New Boston')").remove();
			$("#campusid option:contains('Owensboro')").remove();
			$("#campusid option:contains('Paducah')").remove();
			$("#campusid option:contains('Madisonville')").remove();
			$("#campusid option:contains('Albany')").remove();
			$("#campusid option:contains('Clinton')").remove();
			$("#campusid option:contains('Russellville')").remove();
			$("#campusid option:contains('Scottsville')").remove();
			$("#campusid option:contains('Rockport')").remove();
		}
		$("#campusid").removeAttr("disabled");
	});
});
