// JavaScript for Westlands Website

var pageTime;
var searchString;
var lastSearchString;

//ajax functions for in page content loading and data POSTing

function dynLoad(url, containerid){
	var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} 
		catch (e){
		try{
			page_request = new ActiveXObject("Microsoft.XMLHTTP")
		}
		catch (e){}
		}
	}
	else
	return false
		page_request.onreadystatechange=function(){
		loadpage(page_request, containerid)
	}
	page_request.open('GET', url, true)
	//fix for IE caching
	page_request.setRequestHeader("If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT");
	page_request.send(null)
}

function loadpage(page_request, containerid){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById(containerid).innerHTML=page_request.responseText;
}

function loadobjs(){
	if (!document.getElementById)
		return
	for (i=0; i<arguments.length; i++){
		var file=arguments[i]
		var fileref=""
		if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
		if (file.indexOf(".js")!=-1){ //If object is a js file
			fileref=document.createElement('script')
			fileref.setAttribute("type","text/javascript");
			fileref.setAttribute("src", file);
		} else if (file.indexOf(".css")!=-1){ //If object is a css file
			fileref=document.createElement("link")
			fileref.setAttribute("rel", "stylesheet");
			fileref.setAttribute("type", "text/css");
			fileref.setAttribute("href", file);
		}
	}
		if (fileref!=""){
			document.getElementsByTagName("head").item(0).appendChild(fileref)
			loadedobjects+=file+" " //Remember this object as being already added to page
		}
	}
}


function makePOSTRequest(url, parameters) {
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
	 http_request = new XMLHttpRequest();
	 if (http_request.overrideMimeType) {
		http_request.overrideMimeType('text/xml');
	 }
  } else if (window.ActiveXObject) { // IE
	 try {
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
		try {
		   http_request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	 }
  }
  if (!http_request) {
	 alert('Cannot create XMLHTTP instance');
	 return false;
  }
  
  http_request.onreadystatechange = alertContents;
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);
}

function alertContents() {
  if (http_request.readyState == 4) {
	 if (http_request.status == 200) {
		//alert(http_request.responseText);
		result = http_request.responseText;
		//remove the comment on the next line to just return debug info
		document.getElementById('page_content').innerHTML = result;
			//ajaxpage('test2.htm', 'layoutContent');
	 } else {
		alert('There was a problem with the request.');
	 }
  }
}

//functions associated with in page functions such as menu, search and calendar

function toggleClamShellMenu(objectID) {
	var object = document.getElementById(objectID);
	if (object.style.display =='block')  object.style.display='none';
	else object.style.display='block';
	
	return;
}

function fireSuggest(obj) {
	clearTimeout(pageTime); // Clears any previously-scheduled submission
    pageTime = setTimeout("suggest(this.parentNode)",500);
}

function clearSuggest() {
	clearTimeout(pageTime);
}

function clearBox() {
	document.getElementById("qf").value = '';
}

function suggest(obj) {
	var qf = encodeURI( document.getElementById("qf").value );
	qfLength = qf.length;
	if (qfLength<2) {
		
	} else {
		//if (lastSearchString==qf) {
			//do nothing - the query has not changed
		//} else {
			dynLoad('../scripts/stubs.php?cmd=search&qf=' + qf, 'menu_links');
			lastSearchString = qf;
		//}
	}
}

function postCalEvent(obj) {
      var poststr = "ti=" + encodeURI( document.getElementById("ti").value ) +
	  				"&dc=" + encodeURI( document.getElementById("dc").value ) +
					"&t=" + encodeURI( document.getElementById("t").value ) +
					"&ty=" + encodeURI( document.getElementById("ty").value ) +
					"&y=" + encodeURI( document.getElementById("y").value ) +
					"&m=" + encodeURI( document.getElementById("m").value ) +
					"&d=" + encodeURI( document.getElementById("d").value ) +
                    "&action=add_dataset";
      makePOSTRequest('func/add_event.php', poststr);
	  setTimeout('dynLoad(\'../scripts/stubs.php?cmd=added_evt\',\'page_content\');',500);
 }
 
function postMoveFile(obj) {
      var poststr = "id=" + encodeURI( document.getElementById("id").value ) +
	  				"&ct=" + encodeURI( document.getElementById("ct").value );
      makePOSTRequest('func/move_file.php', poststr);
}

function postMoveGallery(obj) {
      var poststr = "id=" + encodeURI( document.getElementById("id").value ) +
	  				"&ct=" + encodeURI( document.getElementById("ct").value );
      makePOSTRequest('func/move_gallery.php', poststr);
}
 
function removeCalEvt(id) {
	var go = confirm("This action will remove this event - are you sure you want to continue?");
	 if (go == true) {
	   dynLoad('func/delete_event.php?id=' + id, 'evt');
	 }	
}

function removeNews(id) {
	var go = confirm("This action will remove this new item - are you sure you want to continue?");
	 if (go == true) {
	   dynLoad('func/delete_news.php?id=' + id, 'page_content');
	 }
}

function removeSearch(id) {
	var go = confirm("This action will remove this search term and keywords - are you sure you want to continue?");
	 if (go == true) {
	   dynLoad('func/delete_search_term.php?id=' + id, 'page_content');
	 }
}

function removeGallery(id) {
	var go = confirm("This action will remove this gallery of images - are you sure you want to continue?");
	 if (go == true) {
	   dynLoad('func/delete_gallery.php?id=' + id, 'page_content');
	 }	
}

function removeFile(id) {
	var go = confirm("This action will remove this download from the site - are you sure you want to continue?");
	 if (go == true) {
	   dynLoad('func/delete_file.php?id=' + id, 'page_content');
	 }	
}

function switchFont(display) {
	var newfont = new getObj('wrapper');
	newfont.style.fontFamily = display;
	createCookie("fontFamily", display, 7);
}

function switchFontSize(display) {
	var newsize = new getObj('wrapper');
	newsize.style.fontSize = display;
	createCookie("fontSize", display, 7);
}

function switchBanner(display) {
	if (display==1) {
		var newbanner = new getObj('banner_small');
		newbanner.style.backgroundImage = 'url(../images/banner_small_a.jpg)';
		createCookie("backgroundImage", display, 7);
	} else if (display==2) {
		var newbanner = new getObj('banner_small');
		newbanner.style.backgroundImage = 'url(../images/banner_small_b.jpg)';
		createCookie("backgroundImage", display, 7);
	} else if (display==3) {
		var newbanner = new getObj('banner_small');
		newbanner.style.backgroundImage = 'url(../images/banner_small_c.jpg)';
		createCookie("backgroundImage", display, 7);
	} else if (display==4) {
		var newbanner = new getObj('banner_small');
		newbanner.style.backgroundImage = 'url(../images/banner_small_d.jpg)';
		createCookie("backgroundImage", display, 7);
	} else if (display==5) {
		var newbanner = new getObj('banner_small');
		newbanner.style.backgroundImage = 'url(../images/banner_small_e.jpg)';
		createCookie("backgroundImage", display, 7);
	}
	
}

function resetStyles() {
	switchFontSize('12px');
	switchFont('Arial');
	switchBanner(1);
}

function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function ssPrefs() {
	//var cookie = readCookie("fontFamily");
	//switchFont(cookie);
	var cookie = readCookie("fontSize");
	switchFontSize(cookie);
	//var cookie = readCookie("backgroundImage");
	//switchBanner(cookie);
	//var title = cookie ? cookie : getPreferredStyleSheet();
	
	//alert(cookie);	
}