// JavaScript Document

// Ajax core function
function GetXmlHttpObject() {
	if (window.XMLHttpRequest)
// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	if (window.ActiveXObject)
// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	return null;
	}

// write parameters to the current open session
// sync Ajax
function sessionWrite(sessionParams) {
	var xmlhttpWrite = GetXmlHttpObject();
	if (xmlhttpWrite == null){
		alert ("Browser does not support HTTP Request");
		return;
		}
	var url = "phpscripts/sessionWrite.php";
	xmlhttpWrite.open("POST",url,false);
	xmlhttpWrite.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttpWrite.setRequestHeader("Content-length", sessionParams.length);
	xmlhttpWrite.setRequestHeader("Connection", "close");
	xmlhttpWrite.send(sessionParams);
	}

// get category name
// sync Ajax
function getCategory(idCategory) {
	xmlhttpCategory = GetXmlHttpObject();
	if (xmlhttpCategory == null) {
		alert ("Browser does not support HTTP Request");
		return;
		}
	var url = "phpscripts/getCategory.php";
	var params = "idCategory=" + idCategory;
	xmlhttpCategory.open("POST",url,false);
	xmlhttpCategory.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttpCategory.setRequestHeader("Content-length", params.length);
	xmlhttpCategory.setRequestHeader("Connection", "close");
	xmlhttpCategory.send(params);
	categoryName = xmlhttpCategory.responseText;	
	}

// get author name
// sync Ajax
function getAuthor(idAuthor) {
	xmlhttpAuthor = GetXmlHttpObject();
	if (xmlhttpAuthor == null) {
		alert ("Browser does not support HTTP Request");
		return;
		}
	var url = "phpscripts/getAuthor.php";
	var params = "idAuthor=" + idAuthor;
	xmlhttpAuthor.open("POST",url,false);
	xmlhttpAuthor.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttpAuthor.setRequestHeader("Content-length", params.length);
	xmlhttpAuthor.setRequestHeader("Connection", "close");
	xmlhttpAuthor.send(params);
	authorName = xmlhttpAuthor.responseText;	
	}

// view story
function viewStory(idStory, folderName) {
	var url = folderName + "s" + idStory + ".php";
	window.open(url, "_self");
	}
	
// search for stories with the supplied string
function searchStories() {
	var searchParams = document.getElementById('search_simple').value;
	if (searchParams.length > 0 && searchParams != "Find Stories...") {
		var params = "searchParams=" + searchParams;
		sessionWrite(params);
		var url = "search.php";
		window.open(url, "_self");
		}
	}

// get search results
function getSearchResults(searchParams) {
	document.getElementById("loading3").style.visibility = "visible";
	var xmlhttpGetSR = GetXmlHttpObject();
	if (xmlhttpGetSR == null){
		alert ("Browser does not support HTTP Request");
		return;
		}
	var url = "phpscripts/searchStoriesSimple.php";
	params = "";
	xmlhttpGetSR.open("POST",url,false);
	xmlhttpGetSR.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttpGetSR.setRequestHeader("Content-length", params.length);
	xmlhttpGetSR.setRequestHeader("Connection", "close");
	xmlhttpGetSR.send(params);
	document.getElementById("results_body").innerHTML = xmlhttpGetSR.responseText;
	document.getElementById("loading3").style.visibility = "hidden";
	displayFooter();
	}

// open map page
function map() {
	var url = "map.php";
	window.open(url, "_self");
	}

// return to page from which story read was triggered
function backToPage() {
	switch (backTo) {
		case 'zine':
			var url = "zine.php";
			window.open(url, "_self");
			break;
		case 'search':
			var url = "search.php?params=" + searchParams;
			window.open(url, "_self");
			break;
		case 'map':
			var url = "map.php";
			window.open(url, "_self");
			break;
		case 'dashboard':
			var url = "dashboard.php";
			window.open(url, "_self");
			break;
		default:
			var url = "zine.php";
			window.open(url, "_self");
			break;	
		}
	}
	
// return to zine
function backToZine() {
	var params = "currentPeriod=2&currentFlavour=0&idCategory=0&idAuthor=0";
	sessionWrite(params);
	var url = "zine.php";
	window.open(url, "_self");
	}
	
// sign in
function signin() {
	var params = "loginTo=dashboard";
	sessionWrite(params);
	var url = "signin.php";
	window.open(url, "_self");
	}
	
// sign up
function signup() {
	var params = "loginTo=dashboard";
	sessionWrite(params);
	var url = "signup.php";
	window.open(url, "_self");
	}

// forgot account details
function forgot() {
	var url = "forgot.php";
	window.open(url, "_self");
	}

// get userID
// sync Ajax
function getIdUser() {
	xmlhttpidUser = GetXmlHttpObject();
	if (xmlhttpidUser == null) {
		alert ("Browser does not support HTTP Request");
		return;
		}
	var url = "phpscripts/getIdUser.php";
	var params = "";
	xmlhttpidUser.open("POST",url,false);
	xmlhttpidUser.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttpidUser.setRequestHeader("Content-length", params.length);
	xmlhttpidUser.setRequestHeader("Connection", "close");
	xmlhttpidUser.send(params);
	idUser = xmlhttpidUser.responseText;	
	}

// call the story preview page
function previewStory(idStory, goPublish) {
	var params = "idStory=" + idStory + "&propFrom=preview";
	sessionWrite(params);
	var url = "preview.php?publish=" + goPublish;
	window.open(url, "_self");
	}

// call the story editor page for an un-published story
function editStory(idStory) {
	var params = "idStory=" + idStory + "&propFrom=editor";
	sessionWrite(params);
	var url = "editor.php";
	window.open(url, "_self");
	}

// call the story properties page for an un-published story
function propStory(idStory) {
	var params = "idStory=" + idStory;
	sessionWrite(params);
	var url = "propStory.php";
	window.open(url, "_self");
	}

// go to user dashboard
function dashboard() {
	if (loggedIn == 'yes') {
		var url = "dashboard.php";
		window.open(url, "_self");
		}
	else {
		var params = "loginTo=dashboard";
		sessionWrite(params);
		var url = "signin.php";
		window.open(url, "_self");
		}
	}

// feeback popup form
function feedback() {
	var fbX = (screen.width/2)-350;
	var fbY = (screen.height/2)-350;
	var loc = "left="+fbX+",top="+fbY;
	fbWindow = window.open("feedback/feedback.php","","scrollbars=no,resizable=no,width=480,height=500,"+loc);
	}

// open blogs page
function blogs() {
	window.open("blogs.php","_self");
	}

// open terms and conditions page
function terms() {
	window.open("terms.php","_self");
	}

// open rss page
function rss() {
	var url = "rss.php";
	window.open(url,"_self");
	}

// open terms and conditions page in separate window
function reqs() {
	window.open("reqs.php","_self");
	}

// sign off from user pages
function signoff2() {
	var params = "loggedIn=no&idUser=0";
	sessionWrite(params);
	var url = "zine.php";
	window.open(url, "_self");
	}

