var CLIENT_PLATFORM = "";
var CLIENT_BROWSER = "";
var CLIENT_BROWSER_VERSION = 0;

var DOC_WIDTH = 800;
var DOC_HEIGHT = 600;

var TODAY = new Date();


function initSessionConstants() {
	if (typeof window.innerWidth != "undefined") {
		DOC_WIDTH = window.innerWidth;
		DOC_HEIGHT = window.innerHeight;
	}
	else if (typeof document.documentElement.offsetWidth != "undefined") {
		DOC_WIDTH = document.documentElement.offsetWidth; 
		DOC_HEIGHT = document.documentElement.offsetHeight; 
	}
	else {
		DOC_WIDTH = document.body.offsetWidth; 
		DOC_HEIGHT = document.body.offsetHeight; 
	}
	
	CLIENT_BROWSER_VERSION = parseFloat(navigator.appVersion);
	
	if ((navigator.appVersion).toLowerCase().indexOf("mac") != -1)
		CLIENT_PLATFORM =  "mac";
	else if ((navigator.appVersion).toLowerCase().indexOf("win") != -1)
		CLIENT_PLATFORM =  "win";
	else 
		CLIENT_PLATFORM =  "other";

	var app = navigator.appVersion.toLowerCase();
	if ((app.indexOf("msie") != -1) || (app.indexOf("explorer") != -1)) 
		CLIENT_BROWSER = "ie";
	else if (app.indexOf("netscape") != -1) CLIENT_BROWSER = "netscape";
	else if (app.indexOf("safari") != -1) CLIENT_BROWSER = "safari";
	else if (app.indexOf("chimera") != -1) CLIENT_BROWSER = "chimera";
	else if (app.indexOf("mozilla") != -1) CLIENT_BROWSER = "mozilla";
	else CLIENT_BROWSER = "unknown";
}


function calcWidthOfWindow(pct) {	
	if ((CLIENT_PLATFORM != "mac") && (pct < 100))
		pct = pct + (0.08 * pct);
				
	var w = 640;
	w = screen.availWidth * (pct/100);
	
	return parseInt(w);
}


function calcHeightOfWindow(pct) {
	if ((CLIENT_PLATFORM != "mac") && (pct < 90))
		pct = pct + (0.05 * pct);
		
	var h = 480;
	h = screen.availHeight * (pct/100);
	
	if (CLIENT_BROWSER == "ie") 
		h = h - (0.06 * h);
	
	return parseInt(h);
}


function calcXpositionToCenter(window_width) {	
	var full_width = 640;
	var xpos = 0;
	
	full_width = calcWidthOfWindow(100);
	
	xpos = parseInt(
		((full_width - window_width) / 2) - 
		(0.01 * full_width));
		
	if (xpos < 0) xpos = 0;
	
	return parseInt(xpos);
}


function calcYpositionToCenter(window_height) {	
	var full_height = 480;
	var ypos = 0;
	
	full_height = calcHeightOfWindow(100);
	
	ypos = parseInt(
		((full_height - window_height) / 2) - 
		(0.015 * full_height));
		
	if (ypos < 0) ypos = 0;
	
	return parseInt(ypos);
}


function openCustom(name,uri,param,w,h,x,y,options) {
	var url = "";
	var settings = "'";
	var optionsArr = new Array();
	var x_call = "left";
	var y_call = "top";
	
	var scrollbars = 1;
	var menubar = 1;
	var locationbar = 1;
	var toolbar = 1;
	var statusbar = 1;
	var resizable = true;
	
	if (uri && (uri != "")) url=uri;
	else url = "http:\/\/www." + name + ".com\/";
	
	if (param && (param != "")) url += "?" + escape(param);
	
	if (options) {
		optionsArr = options.split(",");
		for (var i=0;i<optionsArr.length;i++) {
			if (optionsArr[i].indexOf("scroll") == -1) scrollbars = 0;
			if (optionsArr[i].indexOf("menu") == -1) menubar = 0;
			if (optionsArr[i].indexOf("location") == -1) locationbar = 0;
			if (optionsArr[i].indexOf("tool") == -1) toolbar = 0;
			if (optionsArr[i].indexOf("status") == -1) statusbar = 0;
			if (optionsArr[i].indexOf("resizable") == -1) resizable = false;
		}
	}
	
	if ((CLIENT_BROWSER == "netscape") && (CLIENT_BROWSER_VERSION < 6)) {
		x_call="screenX";
		y_call="screenY";
	}
	
	if (w) settings += "width=" + w;
	if (h) settings += ",height=" + h;
	if (x) settings += "," + x_call + "=" + x;
	if (y) settings += "," + y_call + "=" + y;
	if (scrollbars) settings += ",scrollbars";
	if (scrollbars) settings += ",menubar";
	if (scrollbars) settings += ",locationbar";
	if (scrollbars) settings += ",toolbar";
	if (scrollbars) settings += ",statusbar";
	if (scrollbars) settings += ",resizable";
	settings += "'";
	
	eval(
		"new_Xwin = " + 
			"window.open('" + url + "'," + 
				"'new_XwinX'," +
				settings + ")");
	
	new_Xwin.focus();
}


function openSmall(rel_url, ht, wt, centered) {
	var w = calcWidthOfWindow(wt);
	if (w < 550) w = 550;
	else if (w > 950) w = 950;
	
	var h = calcHeightOfWindow(ht);
	if (h < 500) h = 500;
	else if (h > 900) h = 900;
	
	var left = 50;
	var top = 50;
	if (centered) {
		left = calcXpositionToCenter(w);
		top = calcYpositionToCenter(h);
	}
		
	var win_name = "minor";
	temp_arr = ((rel_url.split(".php"))[0]).split("/");
	if (temp_arr.length > 0) 
		win_name = temp_arr[temp_arr.length-1];
	if (!rel_url || (rel_url == "")) 
		var rel_url="errors/404.html";
		
	var x_call = "left";
	var y_call = "top";
	if ((CLIENT_BROWSER == "netscape") && (CLIENT_BROWSER_VERSION < 6)) {
		x_call="screenX";
		y_call="screenY";
	}
	
	var settings = "";
	settings = 
		"'width=" + w + ",height=" + h + 
		"," + x_call + "=" + left + "," + y_call + "=" + top + 
		",menubar,locationbar,toolbar,statusbar,resizable'";
		
	eval(
		"w_"+win_name+" = " + 
			"window.open('" + rel_url + "'," + 
				"'xw_"+win_name+"'," +
				settings + ")");
	
	eval("w_"+win_name+".focus()");
}




function openDebug(show_this) {
	debug_win = window.open();
	debug_win.document.open();
	debug_win.document.write(show_this);
	debug_win.document.close();
}


function makeCurrentDateString() {	
	var this_date = "";
	
	this_date = 
		TODAY.getFullYear() + ".";
	
	if ((TODAY.getMonth()+1).length < 2)
		this_date += 
			"0" + (TODAY.getMonth()+1);
	else 
		this_date += 
			(TODAY.getMonth()+1);
	
	this_date += 
		"." + TODAY.getDate();
	
	return this_date;
}


function makeCurrentTimeString() {
	now = new Date();
	
	time = 
		now.getHours() + ":" + 
		now.getMinutes() + ":" + 
		now.getSeconds();
	
	return time;
}


function submitForm(my_form) {
	my_form.submit();
	
	/*var send_str = "";
	
	for (var i=0;i<my_form.elements.length;i++) 
	{
		send_str += 
			"name=" + my_form.elements[i].name + 
			"&value=" + my_form.elements[i].value + 
			"&";
	}
	alert(send_str);
	*/
}

var arrowOpen   = null;
var arrowClosed = null;

function swap(target) {
  if ((arrowOpen == null) || (arrowClosed == null)) return;
  if (!targets.exists(target)) {
    targets.add(target, "open");
  }
  if (targets.get(target) == "open") {
    hide(target);
  }
  else {
    show(target);
  }
}

function show(target) {
  var img = document.getElementById(target + '-img');
  img.src = arrowOpen;
  var content = document.getElementById(target + '-content');
  content.style.visibility = "visible";
  content.style.display = "block";
  targets.set(target, "open");
}

function hide(target) {
  var img = document.getElementById(target + '-img');
  img.src = arrowClosed;
  var content = document.getElementById(target + '-content');
  content.style.visibility = "hidden";
  content.style.display = "none";
  targets.set(target, "closed");
}
  

function loadErrorHandlerExternal(error) {
    
    ewin = window.open();
    try {
        ewin.document.write(error);
        ewin.dcoument.close();
        ewin.focus();
    }
    catch (e) {
        alert('There was an error, but your browser is blocking popup windows.' + 
              'Please disable this temporarily to view the error message.');
    }
        
}


