function c1(p1) {p1.href= 'mai' + 'lto:' + 'sal' + 'es@' + 'swmaker.' + 'com'}
function c2(p1) {p1.href= 'mai' + 'lto:' + 'supp' + 'ort@' + 'swmaker.' + 'com'}
function c3(p1) {p1.href= 'mai' + 'lto:' + 'supp' + 'ort@' + 'webervations.' + 'com'}

function showInfo(flg) {
	if (flg == null) {
		var browser = "<br/><br/><b>Browser Information:</b><br/>";
		for(var pname in navigator)	{browser += pname + ": " + navigator[pname] + "<br/>";}
		document.write(browser + "<br/><br/>");
	} else {
	 	var browser = "";
		for(var pname in navigator)	{browser += pname + ": " + navigator[pname] + "|";}
		return browser;
	}
}

function getOSCode() {
//	Debug return "";
	
	ua=navigator.userAgent.toLowerCase();
	
	if (navigator.platform.toLowerCase() == "win32") {
		if ((ua.indexOf("windows me") != -1)  || (ua.indexOf("win 9x 4.90") != -1)) {
			return "WinME";
		} else if ((ua.indexOf("windows 98") != -1) || (ua.indexOf("win98") != -1)) {
			return "Win98";
	  } else if (ua.indexOf("windows nt 5.0") != -1) {
			return "Win2000";
		} else if (ua.indexOf("windows nt 5.1") != -1) {
			return "WinXP";
		} else if (ua.indexOf("windows nt 5.2") != -1) {
			return "Win2003";
		} else if (ua.indexOf("windows nt 6.0") != -1) {
			return "WinVista";
		} else if (ua.indexOf("windows nt 6.1") != -1) {
			return "Win7";
		} else {
			return "";
		}
	} else {
		return "";
	}
}

function getOSName(sText) {
	switch (getOSCode()) {
		case 'Win98':
			return "Windows&reg; 98";
		case 'WinME':
			return "Windows&reg; ME";
		case 'Win2000':
			return "Windows&reg; 2000";
		case 'WinXP':
			return "Windows&reg; XP";
		case 'WinVista':
			return "Windows&reg; Vista";
		case 'Win7':
			return "Windows&reg; 7";
		default:
			return sText;
	}
}

function selectOS(oSelect) {
	switch (getOSCode()) {
		case 'Win98':
			oSelect.selectedIndex=0;
			return;
		case 'WinME':
			oSelect.selectedIndex=1;
			return;
		case 'Win2000':
			oSelect.selectedIndex=2;
			return;
		case 'Win2003':
			oSelect.selectedIndex=3;
			return;
		case 'Win2008':
			oSelect.selectedIndex=4;
			return;
		case 'WinXP':
			oSelect.selectedIndex=5;
			return;
		case 'WinVista':
			oSelect.selectedIndex=6;
			return;
		case 'Win7':
			oSelect.selectedIndex=7;
			return;
		default:
			oSelect.selectedIndex=-1;
	}
}

function setButtonIdx(oButton, iIndex){
	var idx;
	
	for( idx = 0; idx < oButton.length; idx++ )
	{
		if (idx == iIndex)
			{oButton[idx].checked = true;}
		else
			{oButton[idx].checked = false;}
	}
}

function setButtonValue(oButton, sValue){
	var idx;
	
	for( idx = 0; idx < oButton.length; idx++ )
	{
		if (oButton[idx].value == sValue)
			{oButton[idx].checked = true;}
		else
			{oButton[idx].checked = false;}
	}
}

function setControlValue(oControl, sValue){
	switch( oControl.type )
	{
		case 'select-multiple':
			//' currently handles single selections only
		case 'select-one':
			//' this is the special case that NS requires for setting the value of a select
			// setOptionValue(oControl, sValue);
			break;
		case 'checkbox':
			switch( sValue )
			{
				case true:
				case 'on':
				case 1:
				case '1':
					oControl.value		= sValue;
					oControl.selected	= true;
				default:
					oControl.value		= '';
					oControl.selected	= '';
			}
			break;
		case 'radio':
			setButtonValue(oControl, sValue);
			break;
		default:
			//' handles these value: 'text', 'submit', 'password', 'button', 'reset', 'checkbox', 'textarea'
			oControl.value = sValue;
			break;
	}
	return 0;
}