// Default JavaScript functions
// Chris Petersen 1997-2005

// Browser version functions:

function getBrowserMajorVersion() {
  var sVersion = navigator.appVersion;
  if (sVersion.indexOf(".") != -1) sVersion.substring(0, sVersion.indexOf("."));
  if (sVersion.indexOf(" ") != -1) sVersion.substring(0, sVersion.indexOf(" "));
  return Number(sVersion);
}

function getBrowserVersionString() {
  var sVersion = navigator.appVersion;
  if (sVersion.indexOf(" ") != -1) sVersion.substring(0, sVersion.indexOf(" "));
  return sVersion.toSource();
}

function getBroswerType() {
  if (navigator.userAgent.indexOf("Mozilla/") != -1) {
    if (navigator.userAgent.indexOf("MSIE") != -1) return "Internet Explorer"
    else return "Navigator";
  } else return navigator.appName;
}    


// Date functions:

function getLocalToGMTDate( dDate ) {
  dLocalDate = dDate;
  nOffset = dLocalDate.getHours() + (dDate.getTimezoneOffset()/60);
  dLocalDate.setHours(nOffset);
  return (dLocalDate);
}

function getGMTToLocalDate( dDate ) {
  dGMTDate = dDate;
  dGMTDate.setHours(dGMTDate.getHours() - (dDate.getTimezoneOffset()/60));
  return (dGMTDate);
}

function getTimeDateString( dDate ) {
  dGMTDate = getLocalToGMTDate( dDate );
  sDate = dGMTDate.getYear() + '-';
  if (String(dGMTDate.getMonth() + 1).length==1) sDate = sDate + '0' + (dGMTDate.getMonth() + 1) + '-'
  else sDate = sDate + (dGMTDate.getMonth() + 1) + '-';
  if (String(dGMTDate.getHours()).length==1) sDate = sDate + '0' + dGMTDate.getDate() + ' '
  else sDate = sDate + dGMTDate.getDate() + ' ';
  if (String(dGMTDate.getHours()).length==1) sDate = sDate + '0' + dGMTDate.getHours() + ':'
  else sDate = sDate + dGMTDate.getHours() + ':';
  if (String(dGMTDate.getMinutes()).length==1) sDate = sDate + '0' + dGMTDate.getMinutes() + ':'
  else sDate = sDate + dGMTDate.getMinutes() + ':';
  if (String(dGMTDate.getSeconds()).length==1) sDate = sDate + '0' + dGMTDate.getSeconds()
  else sDate = sDate + dGMTDate.getSeconds();
  return sDate;
}

// Other functions:

function windowShake( oWindow, nMagn, nCount ) {
  for (var nC = 0; nC < nCount; nC++) {
    if (navigator.userAgent.indexOf("MSIE") != -1) {
      oWindow.moveBy(0, nMagn);
      oWindow.moveBy(nMagn, 0);
      oWindow.moveBy(0, -nMagn);
      oWindow.moveBy(-nMagn, 0);
    } else {
      oWindow.screenX = oWindow.screenX + nMagn;
      oWindow.screenY = oWindow.screenY + nMagn;
      oWindow.screenX = oWindow.screenX - nMagn;
      oWindow.screenY = oWindow.screenY - nMagn;
    }
  }
}


function windowOpenerOpen(sHref) { // function for windowOpener class
  var sOptions = "width=" + this.width;
  sOptions = sOptions + ",height=" + this.height;
  if (this.resizable) sOptions = sOptions + ",resizable=yes"
  else sOptions = sOptions + ",resizable=false";
  if (this.scrollbars) sOptions = sOptions + ",scrollbars=yes"
  else sOptions = sOptions + ",scrollbars=false";
  if (this.status) sOptions = sOptions + ",status=yes"
  else sOptions = sOptions + ",status=false";
  if (this.menubar) sOptions = sOptions + ",menubar=yes"
  else sOptions = sOptions + ",menubar=false";
  if (this.location) sOptions = sOptions + ",location=yes"
  else sOptions = sOptions + ",location=false";
  if (this.toolbar) sOptions = sOptions + ",toolbar=yes"
  else sOptions = sOptions + ",toolbar=false";
  if (this.directories) sOptions = sOptions + ",directories=yes"
  else sOptions = sOptions + ",directories=false";

  var newWindow = window.open(sHref,this.name,sOptions);
  if (newWindow.opener==undefined) newWindow.opener = window;
  newWindow.focus();
  this.window = newWindow;
}

function windowOpenerClose() { // function for windowOpener class
  this.window.close();
}

function windowOpener(sName) {
  this.name = sName;

  this.width = 600;
  this.height = 400;
  this.resizable = true;
  this.scrollbars = true;

  this.status = true;
  this.menubar = true;
  this.location = true;
  this.toolbar = true;
  this.directories = false;

  this.open = windowOpenerOpen;
  this.close = windowOpenerClose;
}

function ReplaceQueryStringField( sQueryString, sFieldName, sFieldValue ) {
	sURL = String( sQueryString );
	nFieldStartIndex = sURL.indexOf( "?" + sFieldName + "=" );
	if (nFieldStartIndex == -1) nFieldStartIndex = sURL.indexOf( "&" + sFieldName + "=" );
	if (nFieldStartIndex != -1) {
		if ( nFieldStartIndex > 0 ) {
			sURLLeft = sURL.slice( 0, nFieldStartIndex + 1 );
		} else {
			sURLLeft = "";
		}
		nFieldEndIndex = sURL.indexOf( "&", nFieldStartIndex + 1 );
		if (nFieldEndIndex == -1) nFieldEndIndex = sURL.indexOf( "#", nFieldStartIndex + 1 );
		if (nFieldEndIndex != -1) {
			sURLRight = sURL.slice( nFieldEndIndex );
		} else {
			sURLRight = "";
		}
		return sURLLeft + sFieldName + "=" + sFieldValue + sURLRight;
	} else {
		nFieldEndIndex = sURL.indexOf( "#" );
		if (nFieldEndIndex != -1) {
			sURLLeft = sURL.slice( 0, nFieldEndIndex );
			sURLRight = sURL.slice( nFieldEndIndex );
		} else {
			sURLLeft = sURL;
			sURLRight = "";
		}
		if (sURL.indexOf( "?" ) != -1) {
			return sURLLeft + "&" + sFieldName + "=" + sFieldValue + sURLRight;
		} else {
			return sURLLeft + "?" + sFieldName + "=" + sFieldValue + sURLRight;
		}
	}
}

// site functions

/*
function switchDisplayMode( objClick, sObjDisplay ) {
	if (document.childNodes) {
		objDisplay = document.getElementById(sObjDisplay);
		if (objClick.className == "categoryoff") {
			objClick.className = "categoryon";
			objDisplay.style.display = "block";
		} else {
			objClick.className = "categoryoff";
			objDisplay.style.display = "none";
		}
	}
	return false;
}
*/

function switchSitePanelComponentMode( sObjComponent ) {
	if (document.childNodes) {
		objTitle = document.getElementById( sObjComponent + "title" );
		objContent = document.getElementById( sObjComponent + "content" );
		if (objTitle.className == "titleoff") {
			objTitle.className = "titleon";
			objContent.className = "contenton";
		} else {
			objTitle.className = "titleoff";
			objContent.className = "contentoff";
		}
	}
	return false;
}

function setSitePanelComponentMode( sObjComponent, sMode ) {
	if (document.childNodes) {
		obj = document.getElementById( sObjComponent );
		objTitle = document.getElementById( sObjComponent + "title" );
		objContent = document.getElementById( sObjComponent + "content" );
		if ( sMode == "hide" ) {
			obj.className = "sitepanelcomponentoff";
		} else if (sMode == "on") {
			obj.className = "sitepanelcomponent";
			objTitle.className = "titleon";
			objContent.className = "contenton";
		} else if (sMode == "off") {
			obj.className = "sitepanelcomponent";
			objTitle.className = "titleoff";
			objContent.className = "contentoff";
		}
	}
	return false;
}

function showSiteOptionsGroup( sObjGroup ) {
	if (document.childNodes) {
		if ( document.getElementById( (sObjGroup + "title") ).className == "categoryon" ) {
			bShowGroup = false;
		} else {
			bShowGroup = true;
		}
		document.getElementById("siteoptionsgroupcookietitle").className = "categoryoff";
		document.getElementById("siteoptionsgroupcookiecontent").style.display = "none";
		document.getElementById("siteoptionsgroupspaneltitle").className = "categoryoff";
		document.getElementById("siteoptionsgroupspanelcontent").style.display = "none";
		document.getElementById("siteoptionsgroupppaneltitle").className = "categoryoff";
		document.getElementById("siteoptionsgroupppanelcontent").style.display = "none";
		document.getElementById("siteoptionsgroupstyletitle").className = "categoryoff";
		document.getElementById("siteoptionsgroupstylecontent").style.display = "none";
		if (bShowGroup) {
			if ( sObjGroup == "siteoptionsgroupcookie" ) {
				document.getElementById("siteoptionsgroupcookietitle").className = "categoryon";
				document.getElementById("siteoptionsgroupcookiecontent").style.display = "block";
			} else if ( sObjGroup == "siteoptionsgroupppanel" ) {
				document.getElementById("siteoptionsgroupppaneltitle").className = "categoryon";
				document.getElementById("siteoptionsgroupppanelcontent").style.display = "block";
			} else if ( sObjGroup == "siteoptionsgroupspanel" ) {
				document.getElementById("siteoptionsgroupspaneltitle").className = "categoryon";
				document.getElementById("siteoptionsgroupspanelcontent").style.display = "block";
			} else if ( sObjGroup == "siteoptionsgroupstyle" ) {
				document.getElementById("siteoptionsgroupstyletitle").className = "categoryon";
				document.getElementById("siteoptionsgroupstylecontent").style.display = "block";
			}
		}
	}
	return false;
}

function siteoptionsEnableCookies( bState ) {
	if (document.childNodes) {
		objClick = document.getElementById( "usecookies" );
		objDisplay = document.getElementById( "cookietimedisplay" );
		if (bState) {
			objDisplay.style.display = "block";
		} else {
			objDisplay.style.display = "none";
		}
	}
}

function addBookmark( sURL, sTitle ) {
	if (window.external) {
		window.external.AddFavorite( sURL, sTitle );
	} else {
		window.alert("Please press Ctrl+D to bookmark this page.");
	}
	return false;
}

function searchWeb() {
	oForm = document.forms["frmWebSearch"];

	oQryTxt = oForm.websearchText;
	sQryTxt = oQryTxt.value;
	oQrySite = oForm.websearchSite.options[oForm.websearchSite.selectedIndex];
	sQrySite = oQrySite.value;
	if (document.getElementById) {
		if ( ( sQrySite == "Altavista" ) || ( sQrySite == "Google" ) || ( sQrySite == "Yahoo" ) || ( sQrySite == "NineMSN" ) ) {
			bQryUseSite = oForm.websearchUseSite.checked;
			if (bQryUseSite) {
				sQrySiteURL = oForm.websearchSiteURL.value;
				if (sQrySiteURL!="") {
					if (sQryTxt=="") sQryTxt = "site:" + sQrySiteURL
					else sQryTxt += " site:" + sQrySiteURL;
				}
			}
		}
	}
	if ( sQryTxt == "" ) {
		oQryTxt.value = "Enter text here";
		alert( "Please enter a query to search for." );
		oQryTxt.select();
		oQryTxt.focus();
	} else {
		sURL = "";
		if ( sQrySite == "peetoAltavista" ) {
			sURL = "http://www.altavista.com/web/results?q=site:peeto.net+" + escape( sQryTxt );
		} else if ( sQrySite == "peetoGoogle" ) {
			sURL = "http://www.google.com/cse?cx=010920489482479984310%3A1ouq1s5ojhq&ie=UTF-8&q=" + escape( sQryTxt ) + "&sa=Search";
		} else if ( sQrySite == "Altavista" ) {
			sURL = "http://www.altavista.com/web/results?q=" + escape( sQryTxt );
		} else if ( sQrySite == "Google" ) {
			sURL = "http://www.google.com/search?client=google&q=" + escape( sQryTxt );
		} else if ( sQrySite == "Yahoo" ) {
			sURL = "http://au.search.yahoo.com/search/aunz?p=" + escape( sQryTxt );
		} else if ( sQrySite == "MWDictionary" ) {
			sURL = "http://www.m-w.com/cgi-bin/dictionary?book=Dictionary&va=" + escape( sQryTxt );
		} else if ( sQrySite == "MWThesaurus" ) {
			sURL = "http://www.m-w.com/cgi-bin/thesaurus?book=Thesaurus&va=" + escape( sQryTxt );
		} else if ( sQrySite == "wikipedia" ) {
			sURL = "http://en.wikipedia.org/wiki/Special:Search?search=" + escape( sQryTxt );
		} else if ( sQrySite == "WebWombat" ) {
			sURL = "http://www.webwombat.com.au/aus?ix=" + escape( sQryTxt );
		} else if ( sQrySite == "NineMSN" ) {
			sURL = "http://search.ninemsn.com.au/results.aspx?q=" + escape( sQryTxt );
		} else {
			alert( "Select a valid web search engine" );
			oQrySite.focus();
		}
		if ( sURL != "" ) document.location.href = sURL;
	}
	return false;
}

function searchSelectSite() {
	oForm = document.forms["frmWebSearch"];

	var sVersion = navigator.appVersion;
	if (sVersion.indexOf("MSIE") != -1) isMSIE = true
	else isMSIE = false;

	sQrySite = oForm.websearchSite.options[oForm.websearchSite.selectedIndex].value;

	if (document.getElementById) {
		if ( ( sQrySite == "Altavista" ) || ( sQrySite == "Google" ) || ( sQrySite == "Yahoo" ) || ( sQrySite == "NineMSN" ) ) {
			if (isMSIE) document.getElementById("idwebsearchUIUseSite").style.display = "block"
			else document.getElementById("idwebsearchUIUseSite").style.display = "table-cell";
			
			bQryUseSite = oForm.websearchUseSite.checked;
			if (bQryUseSite) {
				if (isMSIE) document.getElementById("idwebsearchUISiteURL").style.display = "block"
				else document.getElementById("idwebsearchUISiteURL").style.display = "table-row";
			} else {
				document.getElementById("idwebsearchUISiteURL").style.display = "none";
			}
		} else {
			document.getElementById("idwebsearchUIUseSite").style.display = "none";
			document.getElementById("idwebsearchUISiteURL").style.display = "none";
		}
	}
}

