/*
** Function which read parameters querystring and return relative value
**
** Params
** -  pname			name of parameter to retrieve value
** -  querysting	string passed throught get method
*/
function querystringGetParam(param, querystring){
	var paramValue=null;
	
	if(querystring != null && querystring.length > 1){
		//controllo se esiste il parametro nella querystring
		var startIndex = querystring.indexOf(param);
		if(startIndex != -1){
			//acquisisco la stringa contenente il valore del parametro
			var paramString = querystring.substring(querystring.indexOf(param), querystring.length);
			
			//trovo la fine del valore del parametro
			if(paramString.indexOf("&") != -1)
				paramString = paramString.substring(0,paramString.indexOf("&"));
			
			//trovo il valore del parametro
			if(paramString.indexOf("=") != -1)
				paramValue = paramString.substring(paramString.indexOf("=")+1, paramString.length);
		}
	}
	
	//ritorno il valore del parametro
	return paramValue;
}

/*
** Function which validate form fields compilation
**
** Params
** -  oform			object which is the form to submit
** -  (arguments) ... list of form fields name which are mandatory
*/
function validateForm(oform){
	//proceed only if ofrom was specified
	if(oform != null && oform.tagName.toLowerCase() == "form"){
		try{
			//return value initialization (default is true)
			var returnValue = false;//true;
			//retrieve each objects passed by parameters
			for(var i=1; i < arguments.length; i++){	
				var tmpfield = eval("oform." + arguments[i]);
				//if object exists, check if it was filled
				if(tmpfield != null){
					var tmpfieldName = "";
					//object array
					if(tmpfield.length != null && tmpfield.length > 1){
						tmpfieldName = tmpfield[0].name;
						var tmpCheck = false;
						for(var x=0; x < tmpfield.length; x++){
							if(tmpfield[x].checked)
								tmpCheck = true;
						}
						returnValue = tmpCheck;
					}
					//single object
					else{
						tmpfieldName = tmpfield.name;
						switch(tmpfield.type.toLowerCase()){
							case "radio":
								returnValue = tmpfield.checked;
							break;
							case "checkbox":
								returnValue = tmpfield.checked;
							break;
							default:
								returnValue = tmpfield.value != "";
							break;
						}
					}
					//alert message
					if(!returnValue){
						alert("Il campo [" + tmpfieldName + "] deve essere compilato.");
						return false;
					}
				}
				//otherelse setting return value to false
				else
					returnValue = false;
			}
			//return value of checking fields
			return returnValue;
			
		}
		catch(e){
			//display error
			alert("Script error: " + e);
		}
	}
	else{
		//alert error
		alert("Parameter [oform] was not specified. Function will be aborted.");
	}
	
	return false;
}
