﻿// -- GENERAL PURPOSE -- //

function gs_getElement(zObjectName) {
	return document.getElementById(zObjectName);
}

function gs_checkNumeric(zValue, zMin, zMax) {
	if ( isNaN(zValue) == true ) { return false; }
	zValue = zValue - 0;
	if ( zMin > -1 && zValue < zMin ) { return false; }
	if ( zMax > -1 && zValue > zMax ) { return false; }
	return true;
}

function gs_trim(str) {
	return str.replace(/^\s+|\s+$/g, '');
}

function gs_openDialogue(zURL) {
	document.getElementsByTagName('body')[0].style.cursor = 'wait';
	var zMessage;
	myxmlhttp = CreateXmlHttpReq(resultHandler);
	XmlHttpGET(myxmlhttp, zURL);
	zMessage = myxmlhttp.responseText;
	document.getElementsByTagName('body')[0].style.cursor = 'default';
	return gs_trim(zMessage);
}

function gs_urlFix(zText) {
	return escape(zText).replace('+', '%2b');
}

function gs_formatNumber(zNumberEx, zPlaces) {
	if ( isNaN(zNumberEx) == true ) { return ''; }
	if ( zPlaces == 'undefined' ) { zPlaces = 0; }
	var zNumber = new String(zNumberEx);
	var zNew = '';
	var i = 0;
	var zDec = '';
	var zCount = 0;
	var zStart = zNumber.length - 1;
	var zChar = '';
	var zDot = zNumber.indexOf('.');
	if ( zDot != -1 ) {
		zDec = zNumber.substring(zDot + 1, zNumber.length);
		if ( zDec.length > zPlaces ) {
			zDec = zDec.substring(0, zPlaces);
		}
		zNew = '.' + zDec;
		zStart = zDot - 1;
	}
	for ( i = zStart; i >= 0; i-=1 ) {
		zChar = zNumber.substring(i, i + 1);
		zCount = zCount + 1;
		if ( zCount > 3 ) {
			zNew = zChar + ',' + zNew;
			zCount = 1;
		}
		else {
			zNew = zChar + zNew;
		}
	}
	return zNew;
}

function gs_checkEMail(zEMail) {
	zEMail = gs_trim(zEMail);
	if ( zEMail == '' ) { return false; }
	if ( zEMail.length < 3 ) { return false; }
	if ( zEMail.indexOf('@') < 1 ) { return false; }
	return true;
}





// -- FORMS -- //

function gs_formMessageStr(zObjectName, zMessage) {
	var zObject = gs_getElement(zObjectName)
	if ( zObject.value == '' ) {
		alert(zMessage);
		if ( zObject.style.display != 'none' ) { zObject.focus(); }
		return false
	} else {
		return true;
	}
}

function gs_formMessageInt(zObjectName, zMessage, zMin, zMax) {
	var zObject = gs_getElement(zObjectName);
	if ( gs_checkNumeric(zObject.value, zMin, zMax) == false ) {
		alert(zMessage);
		if ( zObject.style.display != 'none' ) { zObject.focus(); }
		return false
	} else {
		return true;
	}
}

function gs_formMessageEMail(zObjectName, zMessage) {
	var zObject = gs_getElement(zObjectName)
	if ( gs_checkEMail(zObject.value) == false ) {
		alert(zMessage);
		if ( zObject.style.display != 'none' ) { zObject.focus(); }
		return false
	} else {
		return true;
	}
}

function gs_formMessageChecked(zObjectName, zMessage) {
	var zObject = gs_getElement(zObjectName)
	if ( zObject.checked == false ) {
		alert(zMessage);
		if ( zObject.style.display != 'none' ) { zObject.focus(); }
		return false
	} else {
		return true;
	}
}

function gs_formMessageIndexStr(zObjectName, zMessage) {
	var zObject = gs_getElement(zObjectName);
	var zResult = false;
	if ( zObject.selectedIndex != -1 ) {
		if ( gs_formGetIndex(zObjectName) != '' ) { zResult = true; }
	}
	if ( zResult == false ) {
		alert(zMessage);
		if ( zObject.style.display != 'none' ) { zObject.focus(); }
	}
	return zResult;
}

function gs_formMessageIndexInt(zObjectName, zMessage, zMin, zMax) {
	var zObject = gs_getElement(zObjectName);
	var zResult = false;
	if ( zObject.selectedIndex != -1 ) {
		if ( gs_checkNumeric(gs_formGetIndex(zObjectName), zMin, zMax) == true ) { zResult = true; }
	}
	if ( zResult == false ) {
		alert(zMessage);
		if ( zObject.style.display != 'none' ) { zObject.focus(); }
	}
	return zResult;
}

function gs_formGetIndex(zObjectName, zDefault) {
	var zObject = gs_getElement(zObjectName);
	if ( zObject.selectedIndex == -1 ) { return zDefault; }
	return zObject.options[zObject.selectedIndex].value;
}

function gs_formSetIndex(zObjectName, zValue) {
	var zObject = gs_getElement(zObjectName);
	gs_formSetIndexEx(zObject, zValue);
}

function gs_formSetIndexEx(zObject, zValue) {
	var zMax = zObject.length;

	for (i = 0; i < zMax; i+=1 ) {
		if ( zObject.options[i].value == zValue ) {
			zObject.options[i].selected = true;
			i = zMax;
		}
	}
}

function gs_formCheckBox(zObjectName) {
	if ( gs_getElement(zObjectName).checked == true ) {
		gs_getElement(zObjectName).checked = false;
	} else {
		gs_getElement(zObjectName).checked = true;
	}
}

function gs_formCheckRadioBox(zObjectName) {
	gs_getElement(zObjectName).checked = true;
}

function gs_formCheckTextSize(zObject, zMaxLength, zMessage) {
	if ( zMaxLength > -1 ) {
		//var zObject = gs_getElement(zObjectName);
		if ( zObject.value.length > zMaxLength ) {
			alert(zMessage);
			zObject.value = zObject.value.substring(0, zMaxLength);
		}
	}
}



function gs_showSwf(zFileName, zWidth, zHeight) {
	document.writeln('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,2*,0" width="' + zWidth + '" height="' + zHeight + '">');
	document.writeln('<param name="AllowScriptAccess" value="sameDomain"> ');
	document.writeln('<param name="quality" value="high">');
	document.writeln('<param name="menu" value="false">');
	document.writeln('<param name="movie" value="' + zFileName + '">');
	document.writeln('<embed AllowScriptAccess="sameDomain" src="' + zFileName + '" width="' + zWidth + '" height="' + zHeight + '" ></embed>');
	document.writeln('</object>');
}

function gs_showSwfEx(zFileName, zWidth, zHeight) {
	document.writeln('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,2*,0" width="' + zWidth + '" height="' + zHeight + '">');
	document.writeln('<param name="AllowScriptAccess" value="sameDomain"> ');
	document.writeln('<param name="quality" value="high">');
	document.writeln('<param name="menu" value="false">');
	document.writeln('<param name="movie" value="' + zFileName + '">');
	document.writeln('<param name="wmode" value="Transparent">');
	document.writeln('<embed AllowScriptAccess="sameDomain" src="' + zFileName + '" width="' + zWidth + '" height="' + zHeight + '" wmode="Transparent"></embed>');
	document.writeln('</object>');
}

function gs_openWindow(wurl,wtop,wleft,wwidth,wheight){
	myNewWin = window.open(wurl, '_blank', "top="+wtop+",left="+wleft+",width="+wwidth+",height="+wheight);
}

function gs_openWindowBlank(wurl){
	myNewWin = window.open(wurl, '_blank');
}

function gs_openWindowS(wurl,wtop,wleft,wwidth,wheight){
	myNewWin = window.open(wurl, '_blank', "top="+wtop+",left="+wleft+",width="+wwidth+",height="+wheight+",scrollbars=1");
}

function gs_openWindowC(wurl,wwidth,wheight){
	var wtop = (screen.height - wheight) / 2;
	var wleft = (screen.width - wwidth) / 2;
	myNewWin = window.open(wurl, '_blank', "top="+wtop+",left="+wleft+",width="+wwidth+",height="+wheight);
}

function gs_openWindowCS(wurl,wwidth,wheight){
	var wtop = (screen.height - wheight) / 2;
	var wleft = (screen.width - wwidth) / 2;
	myNewWin = window.open(wurl, '_blank', "top="+wtop+",left="+wleft+",width="+wwidth+",height="+wheight+",scrollbars=1");
}

function gs_openWindowCImg(wurl,wwidth,wheight){
	var wtop = (screen.height - wheight) / 2;
	var wleft = (screen.width - wwidth) / 2;
	myNewWin = window.open('', '_blank', "top="+wtop+",left="+wleft+",width="+wwidth+",height="+wheight);
	myNewWin.document.writeln('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
	myNewWin.document.writeln('<html xmlns="http://www.w3.org/1999/xhtml">');
	myNewWin.document.writeln('<head><title>' + wurl + '</title></head>');
	myNewWin.document.writeln('<body style="margin: 0px; text-align: center;">');
	myNewWin.document.writeln('<img src="' + wurl + '" alt="" />');
	myNewWin.document.writeln('</body></html>');
	myNewWin.document.close();
}

function gs_openWindowCSwf(wurl,wwidth,wheight){
	var wtop = (screen.height - wheight) / 2;
	var wleft = (screen.width - wwidth) / 2;
	myNewWin = window.open('', '_blank', "top="+wtop+",left="+wleft+",width="+wwidth+",height="+wheight);
	myNewWin.document.writeln('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
	myNewWin.document.writeln('<html xmlns="http://www.w3.org/1999/xhtml">');
	myNewWin.document.writeln('<head><title>' + wurl + '</title></head>');
	myNewWin.document.writeln('<script type="text/javascript" src="/styles/object.js"></script>');
	myNewWin.document.writeln('<body style="margin: 0px; text-align: center;">');
	myNewWin.document.writeln('<script type="text/javascript"> showSwfEx(\'' + wurl + '\', ' + wwidth + ', ' + wheight + '); </script>');
	myNewWin.document.writeln('</body></html>');
	myNewWin.document.close();
}

function gs_showVideo(zFileName) {
	document.writeln('<object classid="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/ nsmp2inf.cab#Version=5,1,52,701" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject" width="320" height="309">');
	document.writeln('<param name="src" value="' + zFileName + '">');
	document.writeln('<param name="controller" value="true">');
	document.writeln('<param name="bgcolor" value="#FFFFFF">');
	document.writeln('<param name="animationatStart" value="true">');
	document.writeln('<param name="transparentatStart" value="true">');
	document.writeln('<param name="autoStart" value="true">');
	document.writeln('<param name="showControls" value="true">');
	document.writeln('<param name="showstatusbar" value="true">');
	document.writeln('<param name="DisplaySize" value="0">');
	document.writeln('<param name="loop" value="false">');
	document.writeln('<embed src="' + zFileName + '" autostart="true" loop="false" width="320" height="309" controller="true" animationatstart="true" transparentatstart="true" showcontrols="true" showstatusbar="true" displaysize="0" loop="false" bgcolor="#FFFFFF"></embed>');
	document.writeln('</object>');
}

function gs_errMessage(zText) {
	alert(zText);
}
