//Ajax Method for Standard
//Invoke Method
function makeRequest(){
	switch(makeRequest.arguments.length){
		case 0: 	throw ("Too few parameters");
					break;
		case 1: 	throw ("Too few parameters");
					break;
		case 2: 	throw ("Too few parameters");
					break;
		case 3: 	makeRequestExec(makeRequest.arguments[0],makeRequest.arguments[1],makeRequest.arguments[2],"Post","null","off");
					break;
		case 4: 	makeRequestExec(makeRequest.arguments[0],makeRequest.arguments[1],makeRequest.arguments[2],"Post",makeRequest.arguments[3],"off");
					break;
		case 5: 	makeRequestExec(makeRequest.arguments[0],makeRequest.arguments[1],makeRequest.arguments[2],"Post",makeRequest.arguments[3],makeRequest.arguments[4]);
					break;
		case 6: 	makeRequestExec(makeRequest.arguments[0],makeRequest.arguments[1],makeRequest.arguments[2],makeRequest.arguments[3],makeRequest.arguments[4],makeRequest.arguments[5]);
					break;
		default:	throw("Too Much Parameters");
					break;
	}
}

function makeRequestExec(urlRequest,func,param,method,funcFail,debug){
	try{
		var ev;
		if(method.toLowerCase()!="get" && method.toLowerCase()!="post"){
			if(debug=="on")
				alert("Invalid argument on Method(" +  method + ")");
			return;
		}
		if(param.toLowerCase()=="text")
			ev = func + "(responseText)";
		else
			if(param.toLowerCase()=="xml")
				ev = func + "(responseXML)";
			else{
				if(debug=="on")
					alert("Invalid argument on Param(" +  param + ")");
				return;
			}
			var req = new Request({
				method: method,
				url: urlRequest,
				onFailure: function(instance){
					if(debug=="on"){
						alert("Invalid Request: " + urlRequest);
						return;
					}
					try{
						if(funcFail!="null")
							eval(funcFail + "()");
					}catch(err){
						if(debug=="on"){
						  txt="There was an error on this Request.\n";
						  txt+=err.name + ": " + err.description + "\n";
						  txt+="Click OK to continue.\n\n";
						  alert(txt);
						}
					}
				},
				onException: function(headerName, value){
					if(funcFail!="null")
						eval(funcFail + "()");
				},
				onComplete: function(responseText, responseXML){
					try{
						if(responseXML!=undefined && responseText!=undefined)
							eval(ev);
					}catch(err){
						if(debug=="on"){
						  txt="There was an error on this Request.\n";
						  txt+=err.name + ": " + err.description + "\n";
						  txt+="Click OK to continue.\n\n";
						  alert(txt);
						}
					}
				}
			});
			req.send();
	}catch(err){
		if(funcFail!="null")
			eval(funcFail + "()");
		if(debug=="on"){
			txt="There was an error on this Request.\n";
			txt+=err.name + ": " + err.description + "\n";
			txt+="Click OK to continue.\n\n";
			alert(txt);
		}
	}	
}
