$(document).ready(function() {
	setUpContactLinks();	


	// Switch buttons from "Log In | Register" to "Close Panel" on click
	$("#toggle a").click(function () {
		$("#toggle a").toggle();
	});	
	/*	
	$("a#movieButton").fancybox( {
		hideOnContentClick : false,
		overlayOpacity : .9,
		overlayColor : "#333"
	});
	*/
	
	//Slider startup
	// Expand Panel
	$("#open").click(function(){
		$("div#panel").slideDown("slow");
	
	});	
	
	// Collapse Panel
	$("#close").click(function(){
		$("div#panel").slideUp("slow");	
	});	
});

function toggleSlider() {
	if ($("#close").is(":visible"))
		$("div#panel").slideUp("slow");
	else
		$("div#panel").slideDown("slow");
	$("#toggle a").toggle();		
}

function setUpContactLinks() {
	$('a.contactLink').each(function() {
		var relInfo = $(this).attr("title");
		$(this).attr('href', 'contact.php?i=' + relInfo).fancybox( {
			hideOnContentClick : false,
			overlayOpacity : .7,
			overlayColor : "#333"
		})
	});
}

function useLoadingBar(ele) {
	$(ele).html( $("#loading").html() ).addClass('loadingActive');
}


function getBooks() {
	$("#bookResults").remove();
	var CRNs = $("#CRNs").val();
	if (CRNs == "") {
		alert("You need to enter your CRNs first!");
		return;
	}
	data = "CRNs=" + CRNs;
	
	$.ajax({
		beforeSend : function() {
			useLoadingBar("#textbookoutput");
		},
		type: "POST",
		dataType: 'json',
		url: "AJAX/books.php",
		data: data,
		success: function(msg) {
			$("#textbookoutput").html("").removeClass('loadingActive');
			$("#bookTemplate").render(msg).appendTo("#textbookWrapper");
			setupExternalLinks();
			setUpContactLinks();
		},
		error: function(msg) {
			
		}
	});

}






function toggleClass(classID, inputtedValue, action, element) {
	
	data = "classID=" + classID + "&inputtedValue=" + inputtedValue + "&action=" + action;
	$.ajax({
		url: "AJAX/class.php",
		type: "POST",
		data: data,
		dataType: 'json',
		success: function(data) {
			if (data.error) {
				alert(data.errorMessage);
			}
			else {
				$(element).parent().html( data.newLink );			
			}
		},
		error: function(msg) {
			
		}
	});
	return false;
}

function setupExternalLinks() {
	$("a.externalLink").click(
		function() { 
			window.open($(this).attr('href')); return false; 
		}
	)
}




/***************** SLIDE FUNCTIONS ***********************/
var registerStep = 1;

function submitRegister() {
	var allValid = true;
	$("#registerForm .required").each(function() {
		if ($(this).val() == "") {
			allValid = false;
			$(this).addClass("notEntered").change(function() { $(this).removeClass("notEntered") } );
		}
	});

	if (allValid) {
		if (registerStep == 1)	registerUser1();
		else registerUser2();
	}
}

function registerUser1() {
	formID = $("#registerID").val();
	username = $("#signup").val();
	email = $("#email").val();
	pwd = $("#registerpassword").val();

	data = "formID=" + formID + "&username=" + username + "&email=" + email + "&password=" + pwd;

	$.ajax({
		beforeSend : function() {
			useLoadingBar("#registerFormOuter");
		},
		dataType: "json",
		type: "POST",
		url: "AJAX/register.php",
		data: data,
		success: function(data) {
			$("#registerFormOuter").html(data.frameOutput);
		},
		error: function(msg) {
			
		}
	});
}


function registerUser2() {
	formID = $("#finalRegisterID").val();
	pwd = $("#passwordConfirm").val();
	($("#nonrobotCheck").is(':checked')) ? nonRobot = "Not Robot" : nonRobot = "";

	data = "formID=" + formID + "&robotCheck=" + nonRobot + "&confirmpassword=" + pwd;

	$.ajax({
		beforeSend : function() {
			useLoadingBar("#registerFormOuter");
		},
		dataType: "json",
		type: "POST",
		url: "AJAX/register.php",
		data: data,
		success: function(data) {
			if (data.error)
				$("#registerFormOuter").html(data.frameOutput);			
			else
				$("#forms").html(data.frameOutput);
		},
		error: function(data) {
			
		}
	});
	return false;
}


function loginUser() {
	formID = $("#loginFormID").val();
	username = $("#logUser").val();
	pwd = $("#logPwd").val();
	rmbmbr = $("#rememberme").val();

	data = "formID=" + formID + "&username=" + username + "&remember=" + rmbmbr + "&password=" + pwd;

	$.ajax({
		beforeSend : function() {
			useLoadingBar("#loginForm");
		},
		dataType: "json",
		type: "POST",
		url: "AJAX/login.php",
		data: data,
		success: function(data){
			if (data.loginSuccessful) {
				$("#forms").html(data.outputFrame);
				$("#open").text("My Info | Logout");
				$("#usernameTab").text("Hello " + data.username + "!");
				if (data.hasCRNs) {
					$("#CRNs").val(data.CRNs);
					getBooks();
				}
			}
			else {
				$("#loginFormWrapper").html(data.leftFrame);
			}
		},
		error: function(msg) {
			
		}
	});
}


function updateFormKey(newKey) {
	$(".formKeyInput").each(function() {
		$(this).val(newKey);
	});
}


function logOutUser() {
	$.ajax({
		url: "AJAX/logout.php",
		dataType: "json",
		success: function(data) {
			$("#forms").html(data.frameOutput);
		},
		error: function(data) {
			
		}
	});
}

