// common.js
// Common functions for dynamic content
// Author: ullas@winradius.com
<!--

//Auto center window script
var win = null;
function NewWindow(mypage,myname,w,h,scroll,toolbar,menubar,location,status,directories,resizable){
	if ( h == 0 ) { h = screen.height; }
	if ( w == 0 ) { w = screen.width; }
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings =
	'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',toolbar='+toolbar+',menubar='+menubar+',location='+location+',status='+status+',directories='+directories+',resizable='+resizable+'';
	win = window.open(mypage,myname,settings);
	win.focus();
  return win;
}

//determine if the browser can handle the show/hide function  
var supported=(document.getElementById || document.all);

//set initial state of DOM objects to track whether items are to expanded or contracted by default - in ranges
if (supported) {
	var max = 101;
	//alert(document.cookie);
	var allcookies = document.cookie;
	var pos = allcookies.indexOf("shown=");
	if (pos != -1) {
		var start = pos + 6;
		var end = allcookies.indexOf(";",start);
		if (end == -1) end = allcookies.length;
		var value = allcookies.substring(start,end);
		value = unescape(value);
		var shown = value.split(",");
		for ( var i=1; i<=max; i++) {
			if ( shown[i] == "true") {
				shown[i] = true;
			} else {
				shown[i] = false;
			} 
		}
	} else {
		var shown = new Array();
		for (var i=1;i<=max;i++){
			if(i<=50) {
			shown[i] = false; 		
			}
			else {
				shown[i] = true; 
			}
		}
	}
}

// function to show or hide menu content
function showHide(i,documentroot) {
	if (!supported) {
		alert('This link does not work in your browser.');
		return;
	}
	// toggle the state of the menu
	shown[i] = (shown[i]) ? false : true;
	current = (shown[i]) ? 'none' : 'block';
	if(i==100) {
		curimage = (shown[i]) ? '/images/icons/white_expand_box.gif' : '/images/icons/white_collapse_box.gif';
	} else {
		curimage = (shown[i]) ? '/images/icons/toggle_02.gif' : '/images/icons/toggle_01.gif';
	}
	
	// swap the icon and the display style		
	if (document.getElementById) {
			document.getElementById('number'+i).style.display = current;
			document.images['toggle'+i].src = curimage;
	}
	else if (document.all){
		document.all['number'+i].style.display = current;
		document.images['toggle'+i].src = curimage;
	}
	//store the array in a cookie
	var cookieStr = escape(shown.join(","));
	document.cookie = "shown=" + cookieStr + "; path=" + documentroot; // shown  // 
}

// function to show or hide menu content
function showHideNoImage(i,documentroot) {
	if (!supported) {
		alert('This link does not work in your browser.');
		return;
	}
	// toggle the state of the menu
	shown[i] = (shown[i]) ? false : true;
	current = (shown[i]) ? 'none' : 'block';
	
	// swap the icon and the display style		
	if (document.getElementById) {
			document.getElementById('number'+i).style.display = current;
	}
	else if (document.all){
		document.all['number'+i].style.display = current;
	}
	//store the array in a cookie
	var cookieStr = escape(shown.join(","));
	document.cookie = "shown=" + cookieStr + "; path=" + documentroot; // shown  // 
}


function showHideToolbox(i,j,documentroot) {
	if (!supported) {
		alert('This link does not work in your browser.');
		return;
	}
	// toggle the state of the menu
	shown[i] = (shown[i]) ? false : true;
	current = (shown[i]) ? 'none' : 'block';
	if (i==100) {
		curimage = (shown[i]) ? '/images/icons/white_expand_box.gif' : '/images/icons/white_collapse_box.gif';
	} else {
		curimage = (shown[i]) ? '/images/icons/toggle_02.gif' : '/images/icons/toggle_01.gif';
	}
	
	// swap the icon and the display style		
	if (document.getElementById) {
			document.getElementById('number'+i).style.display = current;
			document.images['toggle'+i].src = curimage;
	}
	else if (document.all){
		document.all['number'+i].style.display = current;
		document.images['toggle'+i].src = curimage;
	}
	
	if ( shown[j] == false ) {
		shown[j] = true;
		if (document.getElementById) {
			document.getElementById('number'+j).style.display = 'none';
			document.images['toggle'+j].src = '/images/icons/toggle_02.gif';
		}
		else if (document.all){
			document.all['number'+j].style.display = 'none';
			document.images['toggle'+j].src = '/images/icons/toggle_02.gif';
		}
	}
	
	//store the array in a cookie
	var cookieStr = escape(shown.join(","));
	document.cookie = "shown=" + cookieStr + "; path=" + documentroot; // shown  // 
}

function writeMenu(id) {
	var str = "<div class=\"" + ((shown[id]) ? "menuClosed" : "menuOpen") + "\" id=\"number" + id + "\">";
	document.write(str);
}

function selectToggleImg(id) {
	var str = "<img src=\"/images/icons/" + ((shown[id]) ? "toggle_02.gif" : "toggle_01.gif") 
		+ "\" alt=\"Show/Hide Menu Category\" hspace=\"5\" vspace=\"2\" border=\"0\" "
		+ "id=\"toggle" + id + "\" name=\"toggle" + id + "\">";
	document.write(str);
}

function writeClosingDiv() {
	var str = "</div>";
	document.write(str);
}

function refreshParent() {
	if ( window.opener.location == 'http://int.nrahs.nsw.gov.au/' ) {
		window.opener.location = '/';
	}	
	//window.opener.location = window.opener.location;
}
// functions for image rollovers
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
// end image rollover functions

function echeck(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	
	if (str.indexOf(at)==-1){
		 return false;
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		 return false;
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
			return false;
	}
	 if (str.indexOf(at,(lat+1))!=-1){
			return false;
	 }
	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
			return false;
	 }
	 if (str.indexOf(dot,(lat+2))==-1){
			return false;
	 }
	 if (str.indexOf(" ")!=-1){
			return false;
	 }

	 return true;					
}

function showHideChildMenuItems(div, menuid, siteid) {
	var img;
	var visible = false;
	if ( document.all ) {
		img = eval('document.all.img_' + menuid);
		if ( document.all[div].style.display == 'none' ) {
			document.all[div].style.display = 'inline';
			img.src = '/images/controlpanel/folder_open.gif';
			visible = true;
		} else {
			document.all[div].style.display = 'none';
			img.src = '/images/controlpanel/folder_closed.gif';
		}	
	}
	else if ( document.getElementById ){
		if ( document.getElementById(div).style.display == 'none' ) {
			document.getElementById(div).style.display = 'inline';
			document.getElementById('img_' + menuid).src = '/images/controlpanel/folder_open.gif';
			visible = true;
		} else {
			document.getElementById(div).style.display = 'none';
			document.getElementById('img_' + menuid).src = '/images/controlpanel/folder_closed.gif';
		}
	}
	
	var thisCookie = "submenus_" + siteid + "=";
	
	var allcookies = document.cookie;
	var pos = allcookies.indexOf("submenus_" + siteid + "=");
	
	if (pos != -1) {
		var start = pos + thisCookie.length;
		var end = allcookies.indexOf(";",start);
		if (end == -1) end = allcookies.length;
		var value = allcookies.substring(start,end);
		value = unescape(value);
		var shown = value.split(",");
		var resultshown = new Array();
		var j = 0;
		var found = false;
		for ( var i=0; i<shown.length; i++) {
			if ( shown[i] == menuid ) {
				found = true;
				if ( visible ) {
					resultshown[j++] = shown[i];
				} 
			} else {
				resultshown[j++] = shown[i];
			}
		}
		if ( found == false ) {
			resultshown[j] = menuid;
		}
		var cookieStr = escape(resultshown.join(","));
	} else {
		var cookieStr = menuid;
	}

	//alert("submenus_" + siteid + "=" + cookieStr + ';');
	document.cookie = "submenus_" + siteid + "=" + cookieStr + ';'; 

}

// Get today's current date.
function getTodaysDate() {
	var now = new Date();
	
	// Array list of days.
	var days = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
	
	// Array list of months.
	var months = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
	
	// Calculate the number of the current day in the week.
	var date = ((now.getDate()<10) ? "0" : "")+ now.getDate();
	
	// Calculate four digit year.
	function fourdigits(number)	{
		return (number < 1000) ? number + 1900 : number;
									}
	
	// Join it all together
	today =  days[now.getDay()] + ", " + date + " " +
				  months[now.getMonth()] + " " 
				   + " " +
					(fourdigits(now.getYear())) ;
					//Print out date
					
	document.write("" +today+ "");
}

function writeMenuStyle(id) {
	var str = "<div class=\"" + ((shown[id]) ? "menuClosed" : "menuOpen") + "\" id=\"number" + id + "\" style=\"display:" + ((shown[id]) ? "none" : "block") + ";\">";
	document.write(str);
}
//-->

