function getVal(pObj) {
	t = pObj;
	var rs = new Array()
	switch(t.type) {
		case "text" :
		case "textarea" :
		case "password" :
		case "hidden" :
			return t.value;
		case "select-one" :
			var i = t.selectedIndex;
			if (i == -1)   return '';
			return t.options[i].value
//			return (t.options[i].value == '') ? t.options[i].text : t.options[i].value;
		case "select-multiple" :
			for(i = 0; i < t.options.length; i++)	if(t.options[i].selected)	rs[rs.length] = (t.options[i].value == '') ? t.options[i].text : t.options[i].value;
			return rs;
		case "radio" :
		case "checkbox" :
			if (t.checked) { return t.value; } else { return ''; }
		default :
			if(t[0].type == "radio") {
				for (i = 0; i < t.length; i++)	if (t[i].checked) return t[i].value;
				return '';
			}
			else if(t[0].type == "checkbox") {
				for(i = 0; i < t.length; i++)	if(t[i].checked)	rs[rs.length] = t[i].value;
				return rs;
			}
	}
	return '';
}

function SHARD_getVar(pName)	{ var t; eval('t = document.' + SHARD_FormName + '.' + pName); return t; }
function SHARD_getVal(pName)	{
	var t = SHARD_getVar(pName)
	if (!t) { alert('You are trying to access var "' + pName + '" which seems to be non existent'); return false; }
	return getVal(t);
}

function SHARD_setVal(pName, pVal) {
	var t = SHARD_getVar(pName)
	t.value=pVal
	// ::TODO:: Set value for all types of single-value input types
}

function DIV_getStyle(tID) {
	if(document.getElementById)	return document.getElementById(tID).style;
	else if(document.all)		return document.all[tID].style;
	else if(document.layers)	return document.layers[tID];
	return false;
}

function DIV_show(pID) {
	var t		= DIV_getStyle(pID)
	t.display	= ''
	return		true
}

function DIV_hide(pID) {
	var t		= DIV_getStyle(pID)
	t.display	= 'none'
	return		true
}

function DIV_isHidden(pID) {
	var t		= DIV_getStyle(pID)
	if (t.display == 'none')	return true
	return false
}

var SHARD_DIV_Stack = new Array();

function DIV_isVisible(pName) {
	for (var i=0; i < SHARD_DIV_Stack.length; i++)	if ( pName == SHARD_DIV_Stack[i][0] && eval(SHARD_DIV_Stack[i][1]) )	return true;
	return false;
}

function SHARD_registerDIV(pName, pRule) {
	SHARD_DIV_Stack[SHARD_DIV_Stack.length] = new Array(pName, pRule)
}

function SHARD_RefreshDIV() {
	for (var i=0; i < SHARD_DIV_Stack.length; i++) {
		if ( eval(SHARD_DIV_Stack[i][1]) )	DIV_show(SHARD_DIV_Stack[i][0]);
		else								DIV_hide(SHARD_DIV_Stack[i][0]);
	}
}

function getScrollX() {
  var scrOfX = 0
  if( typeof( window.pageYOffset ) == 'number' ) {
    scrOfX = window.pageXOffset
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    scrOfX = document.documentElement.scrollLeft;
  }
  return scrOfX;
}


function getScrollY() {
  var scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    scrOfY = window.pageYOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    scrOfY = document.body.scrollTop;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    scrOfY = document.documentElement.scrollTop;
  }
  return scrOfY;
}

function SHARD_Popup(pName, pURL, pX, pY, pWidth, pHeight, pExtra) {

	if ( pExtra.length > 0 ) pExtra = ',' + pExtra;
	window.open(pURL, pName,'left=' + pX + ',top=' + pY + ',width=' + pWidth + ',height=' + pHeight + pExtra);
}

function setCookie(name, value, expires, path, domain, secure) {
document.cookie= name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

function getCookie(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1){
	    begin = dc.indexOf(prefix);
	    if (begin != 0) return null;
	}
	else begin += 2;

	var end = document.cookie.indexOf(";", begin);
	if (end == -1) end = dc.length;

	return unescape(dc.substring(begin + prefix.length, end));
}
/*
var SHARD_IFrame_Stack = new Array();

function SHARD_registerIFrame(pID) {
	SHARD_IFrame_Stack[SHARD_DIV_Stack.length] = pID;
}

function autosizeIFrames() {
	var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
	var FFextraHeight=getFFVersion>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers

	var dyniframe=new Array()

	for (i=0; i<SHARD_IFrame_Stack.length; i++){

		if (document.getElementById){ //begin resizing iframe procedure
			dyniframe[dyniframe.length] = document.getElementById(SHARD_IFrame_Stack[i]);
			if (dyniframe[i] && !window.opera){
				dyniframe[i].style.display="block"
				if (dyniframe[i].contentDocument && dyniframe[i].contentDocument.body.offsetHeight) //ns6 syntax
					dyniframe[i].height = dyniframe[i].contentDocument.body.offsetHeight+FFextraHeight;
				else if (dyniframe[i].Document && dyniframe[i].Document.body.scrollHeight) //ie5+ syntax
					dyniframe[i].height = dyniframe[i].Document.body.scrollHeight;

				alert(dyniframe[i].height);
			}
		}
	}
}

if (window.addEventListener)
	window.addEventListener("load", autosizeIFrames, false)
else if (window.attachEvent)
	window.attachEvent("onload", autosizeIFrames)

*/