function URLDecode(encoded)
{
   // Replace + with ' '
   // Replace %xx with equivalent character
   // Put [ERROR] in output if %xx is invalid.
   
   if (encoded == null) return null;
   
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + encoded.substr(i) );
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while
   return plaintext;
};

function parseParams() {
    var paramsList = {};

    var url = window.location.toString();
    url.match(/\?(.+)$/);
    var params = RegExp.$1;
    var params = params.split("&");
 
    for(var i=0;i<params.length;i++)
    {
 	var tmp = params[i].split("=");
 	paramsList[tmp[0]] = URLDecode(tmp[1]);
    }

    return paramsList;
}
 
function selectOptions(form, params) {
	var value = params["version"];
	if (value != null) {
	    for (var i = 0; i < form.VERSION.length; i++) { 
	        if (form.VERSION.options[i].text == value) { 
	            form.VERSION.options[i].selected=true; 
	        } 
	    } 
		
	}
	
	value = params["product"];
	if (value != null) {
	    for (var i = 0; i < form.PRODUCT.length; i++) { 
	        if (form.PRODUCT.options[i].text == value) { 
	            form.PRODUCT.options[i].selected=true; 
	        } 
	    } 
	}

	value = params["platform"];
	if (value != null) {
	    form.PLATFORM.value = value; 
	}
}

function setOptions(form, params) {
	var value = params["product"];
	if (value != null) {
		form.PRODUCT.value=value;
	}

	value = params["version"];
	if (value != null) {
		form.VERSION.value=value;
	}
	
	value = params["platform"];
	if (value != null) {
		form.PLATFORM.value=value;
	}
}

function isDelivery(params) {
	var value = params["product"];
	if ((value != null) && (value.indexOf("Delivery")>=0)) {
		return 1;
	}
	return 0;
}

function isInstaller(params) {
	var value = params["product"];
	if ((value != null) && (value.indexOf("Installer")>=0)) {
		return 1;
	}
	return 0;
}

function switchOff(objname) {
	var obj = document.getElementById(objname);
	if (obj) {
		obj.style.display="none";
	}
} /* end switchOff */

function setPageContent() {
	var params = parseParams();
	if (isDelivery(params)) {
		switchOff("installer");
	} else if (isInstaller(params)) {
		switchOff("delivery");
	}
}

