$(function() {

	$.ajaxSetup( {
		cache : false
	});

	var cache = {
		// If url is '' (no fragment), display this div's content.
		'' : $('.cbox')
	};

	$(window).bind(
			'hashchange',
			function(e) {

				// Get the hash (fragment) as a string, with any leading #
				// removed. Note that
				// in jQuery 1.4, you should use e.fragment instead of
				// $.param.fragment().
				var pagelink = $.param.fragment();

				// alert(pagelink);
				var pagetitle = "Teacherlinx :: Home";

				if (pagelink == "") {
					pagelink = "/home";
					url = "pages/home.php";
					
				} else {
					var page = pagelink.split("/");
					// alert(page[4]);
					
					//console.debug(page);

					switch (page[1]) {
					case "topic":
						if (!page[4]) {
							url = "pages/topic-detail.php?topicID=" + page[2];
						} else {
							if(page[5])
							{
								url = "pages/topic-detail.php?topicID=" + page[2] + "&lessontype=" + page[4] + "&orderby=" + page[5];
							}
							else
							{
								url = "pages/topic-detail.php?topicID=" + page[2] + "&lessontype=" + page[4];
							}
						}
						pagetitle = "Teacherlinx :: " + urldecode(page[3]);
						break;
					case "lesson":
						url = "pages/lesson-detail.php?lessonid=" + page[2];
						pagetitle = "Teacherlinx :: " + urldecode(page[3]);
						break;
					case "Register":
						url = "pages/register.php";
						break;
					case "regsuccess":
						url = "pages/register-success.php";
						break;
					case "regstep2":
						url = "pages/register-success-step2.php";
						break;
					case "login":
						url = "pages/login.php";
						break;
					case "search":
						url = "pages/search.php?q="+page[2];
						break;
					case "forgot":
						url = "pages/forgotpwd.php";
						break;
					case "grade":
						url = "pages/searchgrade.php?q="+page[2];
						break;
					case "contact":
						url = "pages/contact.php";
						break;
					case "privacy":
						url = "pages/privacy.php";
						break;					
					case "terms":
						url = "pages/terms.php";
						break;					
					case "inbox":
						if (!page[2]) {
							url = "pages/inbox.php";
						} else {
							switch(page[2])
							{
								case "new":
									if(page[3])
									{
										if(page[3] == "u")
											url = "pages/newmessage.php?uid="+page[4];
										else
											url = "pages/newmessage.php?id="+page[3];
									}
									else
										url = "pages/newmessage.php";
									break;
								case "view":
									url = "pages/viewmessage.php?id="+page[3];
									break;
								case "sent":
									url = "pages/sentitems.php";
									break;
								default:
									url = "pages/inbox.php";
									break;
							}
						}
						break;
					case "topcontributors":
						url = "pages/contributors.php";
						break;					
					case "profile":
						if (!page[2]) {
							url = "pages/profile.php";
						} else {
							switch(page[3])
							{
								case "lessons":
									url = "pages/viewprofile.php?profileid=" + page[2] + "&showlist=" + page[4];
									break;
								case "followers":
									url = "pages/viewfollowers.php?profileid=" + page[2] ;
									break;
								default:
									url = "pages/viewprofile.php?profileid=" + page[2];
									break;
							}
						}
						break;
					case "account":
						if (!page[2]) {
							url = "pages/profile.php";
						} else {
							switch(page[2])
							{
								case "lessons":
									url = "pages/profile.php?showlist=" + page[3];
									break;
								case "edit":
									url = "pages/editprofile.php";
									break;
								case "changepwd":
									url = "pages/changepwd.php";
									break;
								default:
									url = "pages/profile.php";
									break;
							}
						}
						break;
					case "invites":
						url = "pages/invites.php";
						break;
						
					}
				}
				//

				// alert(url);

				if (cache[url]) {
					cache[url].show();

				} else {

					// alert("here");
					// Show "loading" content while AJAX content loads.
					$('.cbox').loadingreplace();
					//$(document).attr("title", pagetitle);

					$.get(url, function(data) {
						
						var fetchdata = $(data);
						pagetitle = fetchdata.find("h1.pagetitle").html();
						$(document).attr("title",  "Teacherlinx :: " + pagetitle);
						$(".cbox").html(data);
						_gaq.push(['_trackPageview', pagelink]);
					});

				}
			})

	// Since the event is only triggered when the hash changes, we need to
	// trigger
	// the event now, to handle the hash the page may have loaded with.
	$(window).trigger('hashchange');

	// app.run("#/");

	$(".signin").click(function(e) {
		e.preventDefault();
		$("input.hURL").val(window.location.href);
			
		$(".loginFrame").toggle();
		$(".signin").toggleClass("signin-open");
	});
	

});

