function showSubmenu(id) {
	if ($('submenu_' + id).style.display == "none") {
		// Get the left and top position of the main menu
		var leftPos = getPageOffsetLeft($(id));
		var topPos = getPageOffsetTop($(id)) + 36;
		// Set the left and top position of the sub menu
		$('submenu_' + id).style.left = leftPos + 'px';
		$('submenu_' + id).style.top = topPos + 'px';
		// Show it
		$('submenu_' + id).style.display = 'block';
	}
	$(id).addClassName(id + 'Hover');
}
function hideSubmenu(id) {
	$('submenu_' + id).style.display = 'none';
	$(id).removeClassName(id + 'Hover');
}
function showPopup(id) {
	$(id).style.display = 'block';
}
function hidePopup(id) {
	$(id).style.display = 'none';
}
function getPageOffsetTop (el) {
	var ot=el.offsetTop;
	while((el=el.offsetParent) != null) { ot += el.offsetTop; }
	return ot;
}
function getPageOffsetLeft (el) {
	var ot=el.offsetLeft;
	while((el=el.offsetParent) != null) { ot += el.offsetLeft; }
	return ot;
}
function switchTab(prefix, id, module) {
	var url = prefix + "/colleges/ajax_"+module+"/" + id;
	var pars = '';
	var target = document.getElementById('tab_content');
	var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});			

	if (module == 'grades') {
		$('tab_grades').className = 'selected';
		$('tab_about').className = '';
		$('tab_photos').className = '';
		$('tab_apply').className = '';
	} else if (module == 'about') {
		if ($('tab_grades') != null)
			$('tab_grades').className = '';
		$('tab_about').className = 'selected';
		$('tab_photos').className = '';
		$('tab_apply').className = '';
	} else if (module == 'apply') {
		if ($('tab_grades') != null)
			$('tab_grades').className = '';
		$('tab_about').className = '';
		$('tab_apply').className = 'selected';
		$('tab_photos').className = '';
	} else {
		if ($('tab_grades') != null)
			$('tab_grades').className = '';
		$('tab_about').className = '';
		$('tab_photos').className = 'selected';
		$('tab_apply').className = '';
	}
	
	return false;
}
function switchHomeTab(id) {
	if (id == 't1') {
		$('t1').style.display = 'block';
		$('t2').style.display = 'none';
		$('mt-t1').addClassName('mt-tab-active');
		$('mt-t2').removeClassName('mt-tab-active');
	} else {
		$('t1').style.display = 'none';
		$('t2').style.display = 'block';
		$('mt-t1').removeClassName('mt-tab-active');
		$('mt-t2').addClassName('mt-tab-active');
	}
}
function switchUserTab(prefix, module) {
	var url = prefix + "/users/ajax_"+module;
	var pars = '';
	var target = document.getElementById('tab_content');
	var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars, evalScripts: true});			

	if (module == 'edit_info') {
		$('tab_info').className = 'selected';
		$('tab_education').className = '';
	} else if (module == 'edit_education') {
		$('tab_info').className = '';
		$('tab_education').className = 'selected';
	} else {
		$('tab_info').className = 'selected';
		$('tab_education').className = '';
	}
	return false;
}
function checkFilled()
{
	if($('UserCollege').value == '')
		return false;
	else
		return true;
}

function clearCollege()
{
	$('UserCollege').value = '';
	return false;
}

function doConfirm(url,text,context,urlenc) {
	if (confirm(text)) {
		window.location = url;
		return true;
	}
	return false;
}

function viewFlag(item) {
	document.getElementById(item).style.display='';
	document.getElementById(item+'_confirm').style.display='none';
}

function doAjaxRequest(varElement, varDiv, varPage) {
	var target = document.getElementById(varDiv);
	var url = varPage;
	var pars = '';
	var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});  
	
	//return true;
	return 'loading ...';
}
function addDeptRegister() {
	return 'data[User][UserDept]=' + $('UserDept').value + '&data[College][name]=' + $('UserCollege').value;
}
function addDeptConfirm() {
	return 'data[User][UserDept]=' + $('UserDept').value + '&data[College][name]=' + $('Col').value;
}
function addDeptParams(inputField)
{
	var deptNameToken = inputField.value;
	var courseAbv = $('Course/abv').value;
	var profFullname = $('Prof/fullname').value;
	var newQuery = 'data[Department][name]='+deptNameToken;
	
	if(courseAbv != '')
		newQuery += '&data[Course][abv]='+courseAbv;
	if(profFullname != '')
		newQuery += '&data[Prof][fullname]='+profFullname;
	
	return newQuery;
}
function addCourseParams(inputField)
{
	var courseAbvToken = inputField.value;
	var departmentName = $('Department/name').value;
	var profName = $('Prof/fullname').value;
	var courseName = $('CourseName').value;
	var newQuery = 'data[Course][abv]='+courseAbvToken;
	
	if(departmentName != '')
		newQuery += '&data[Department][name]='+departmentName;
	if(profName != '')
		newQuery += '&data[Prof][fullname]='+profName;
	if(courseName != '')
		newQuery += '&data[Course][name]='+courseName;
	
	return newQuery;
}
function addProfParams(inputField)
{
	var profFullnameToken = inputField.value;
	var departmentName = $('Department/name').value;
	var courseAbv = $('Course/abv').value;
	var courseName = $('CourseName').value;
	var newQuery = 'data[Prof][fullname]='+profFullnameToken;
	
	if(departmentName != '')
		newQuery += '&data[Department][name]='+departmentName;
	if(courseAbv != '')
		newQuery += '&data[Course][abv]='+courseAbv;
	if(courseName != '')
		newQuery += '&data[Course][name]='+courseName;
	
	return newQuery;
}
function updateCourseName(element, selectedElement)
{
	$('CourseName').value = selectedElement.readAttribute('name');
}
function addHSCourseParams(inputField)
{
	var courseNameToken = inputField.value;
	var departmentId = $('CourseDepartmentId').value;
	var profName = $('Prof/fullname').value;
	var newQuery = 'data[Course][name]='+courseNameToken;
	
	if(departmentId != '')
		newQuery += '&data[Department][id]='+departmentId;
	if(profName != '')
		newQuery += '&data[Prof][fullname]='+profName;
	
	return newQuery;
}
function addHSProfParams(inputField)
{
	var profFullnameToken = inputField.value;
	var departmentId = $('CourseDepartmentId').value;
	var courseName = $('Course/name').value;
	var newQuery = 'data[Prof][fullname]='+profFullnameToken;
	
	if(departmentId != '')
		newQuery += '&data[Department][id]='+departmentId;
	if(courseName != '')
		newQuery += '&data[Course][name]='+courseName;
	
	return newQuery;
}
function updateHSCourseAbvField(element, selectedElement)
{
	$('CourseAbv').value = selectedElement.readAttribute('abv');
}
function updateHSDepartmentIdField(element, selectedElement)
{
	$('CourseDepartmentId').value = selectedElement.readAttribute('dept_id');
}
function updateHSFields(element, selectedElement)
{
	/*updateHSCourseAbvField(element, selectedElement);*/
	/*updateHSDepartmentIdField(element, selectedElement);*/
}

function updateDeptList(element, selectedElement)
{
	if ($('UserCollege').value != "")
		doAjaxRequest(null, 'UserDepartment-Select', '/departments/ajaxdepartments/' + $('UserCollege').value);
}
function checkSections(el)
{
	if(el.getValue() == '0')
	{
		$('UserCollegeYear').disabled = true;
		$('UserCollege').disabled = true;
		$('UserDept').disabled = true;
	}
	else
	{
		$('UserCollegeYear').disabled = false;
		$('UserCollege').disabled = false;
		$('UserDept').disabled = false;
	}
}
function cancelNewPost(id)
{	
	$(id).replace();
}
function addSearchParams(inputField)
{
	var searchValue = inputField.value;
	var searchType = $('type').value;
	var newQuery = 'data[Search][search]='+searchValue;
	if(searchType != '')
		newQuery += '&data[Search][type]='+searchType;
	else
		newQuery += '&data[Search][type]=0';
	
	return newQuery;
}
function updateProfName()
{
	$('prof-name').replace('<div id="prof-name" style="display: inline;">'+$('ProfFullname').value+'</div>');
}
function toggleUpload(id, value) {
	if (value.checked)
	{
		document.getElementById(id).disabled = false;
		document.getElementById(id).setAttribute('class','');
	}
	else
	{
		document.getElementById(id).disabled = true;
		document.getElementById(id).setAttribute('class','disabled');
	}
}
function newSchedule(){	
	var subobj = document.getElementById('new');
	subobj.style.display=(subobj.style.display!="block")? "block" : "none";	
}

function check() {
	var from_hour = document.getElementById('CalendarTime-other-start-hour').value;
	var to_hour = document.getElementById('CalendarTime-other-end-hour').value;
	var from_min = document.getElementById('CalendarTime-other-start-min').value;
	var to_min = document.getElementById('CalendarTime-other-end-min').value;
	if(document.getElementById('CalendarActivity'))
	{
		var content = document.getElementById('CalendarActivity').value;
	}
	else
	{
		// set it to something so the validation check passes
		var content = 'empty';
	}
	
	// check for a selected other time
	var checked = false;
	var counter = 1;
		
	while(document.getElementById('CalendarTime-other-'+counter) && checked != true) {
		if(document.getElementById('CalendarTime-other-'+counter).checked)
			checked = true;
		counter++;
	}

	if (checked == true && (parseInt(to_hour) < parseInt(from_hour) || (parseInt(to_hour) == parseInt(from_hour) && parseInt(to_min) <= parseInt(from_min)))) {
		alert('Invalid start and end time');
		return false;
	}

	if (content == '') {
		alert('Activity cannot be empty');
		return false;
	}

	return true;
}

function delSchedule(url, id, section) {
	if (confirm("Are you sure you want to delete this schedule?"))
	{
		if(section)
			url = url + '/' + section;
			
		//window.location = url;
		parent.location = url;
		return true;
	}
	return false;
}
function cancelDiscussion() {
	$('hidden-topic').innerHTML = '';
}
function updateQuestions(college_id) {
	doAjaxRequest(null, 'questions', '/questions/summary/' + college_id);
}
function updateQuestion(question_id) {
	/*doAjaxRequest(null, 'main-content', '/questions/view/' + question_id);*/
	new Ajax.Updater('ajax-content', '/questions/view/' + question_id, {method: 'get', evalScripts: true});  
	
	return true;
}
function toggleExpand(id, action) {
	if ($('expandLink_'+id).innerHTML == '[+] Expand')
	{
		$('expandLink_'+id).innerHTML = "[-] Reduce";
		$('expand_'+id).innerHTML = doAjaxRequest(null, 'expand_'+id, action + '/' + id + '/1');
	}
	else
	{
		$('expandLink_'+id).innerHTML = "[+] Expand";
		$('expand_'+id).innerHTML = '';
	}
}

function toggleAnswer(id, action) {
	if ($('expandLink_'+id).innerHTML == '[+] Answer')
	{
		$('expandLink_'+id).innerHTML = "[-] Answer";		
		//$('hidden-answer-'+id).innerHTML = doAjaxRequest(null, 'hidden-answer-'+id, action + '/' + id);
		$('hidden-answer-'+id).innerHTML = new Ajax.Updater('hidden-answer-'+id, action + '/' + id, {method: 'get', parameters: '', evalScripts: true});  
	}
	else
	{
		$('expandLink_'+id).innerHTML = "[+] Answer";
		$('hidden-answer-'+id).innerHTML = '';
	}
}

function refreshMenu()
{
	doAjaxRequest(null, 'submenu_campus', '/colleges/submenu');
	doAjaxRequest(null, 'submenu_courses', '/courses/submenu');
	doAjaxRequest(null, 'submenu_schedule', '/calendars/submenu');
	doAjaxRequest(null, 'submenu_people', '/users/submenu');
	if ($('add_course_tab') != null)
		doAjaxRequest(null, 'add_course_tab', '/users/ajax_add_course_tab');
}
function updateInvite(who, what) {
	$('invite-legend').innerHTML = who + " Mail";
	$('invite-email').innerHTML = what;
	$('import' + who).checked = true;
}
function submitItInvite(theForm) {
	if ($('UsersAccount').value == "") {
		alert("Please enter your user id");
		$('UsersAccount').focus();
		return false;
	}
	if ($('UsersPassword').value == "") {
		alert("Please enter your password");
		$('UsersPassword').focus();
		return false;
	}
	
	return true;
}
function selectEmails(chk) {
	chk = document.getElementsByName(chk);
	if (chk.length > 1) {
		for (var x = 0; x < chk.length; x++) {
			chk[x].checked = $('selectAll').checked;
		}
	} else {
		chk.checked = $('selectAll').checked;
	}
}
function submitItList(theForm) {
	var isChecked = false;
	chk = document.getElementsByName('emails[]');
	if (chk.length > 1) {
		for (var x = 0; x < chk.length; x++) {
			if (chk[x].checked) {
				isChecked = true;
				break;
			}
		}
	} else {
		if (chk.checked)
			isChecked = true;
	}
	
	if (!isChecked) {
		alert("Please select at least one email address to import");
		return false;
	}
	return true;
}
function RemoveMessage(id) {
	if (confirm('Are you sure you wish to delete this message?')) {
		// Call ajax function to delete message
		doAjaxRequest(null, 'placeholder', '/messages/deletemessage/' + id);
		
		// Get the parent object
		var obj = $('message-' + id).parentNode;
		// Remove the object
		obj.removeChild($('message-' + id));
	}
}
function RemoveThread(id) {
	return confirm('Are you sure you wish to delete this messsage?  All associated messages will also be deleted.');
}
function updateProspectiveAdded(id) {
	$('college-' + id).innerHTML = 'added';
}
function showButton(textbox) {
	if (textbox.value.length > 0)
		$('link-email').style.display = 'block';
	else
		$('link-email').style.display = 'none';
}
function confirmLinkAccounts() {
	return confirm('Merge Accounts? It\'s a great idea. This cannot be undone, would you like to proceed?');
}
function confirmUnlink(type) {
	return confirm('Are you sure you wish to unassociate your ' + type + ' from your profile? By proceeding you will no longer be able to login with this information.');
}