/********************************************
* Script to convert http method GET to POST
* Creates a temporary form and post the accepted
* value to given URL and target
* Created 05/07/08
********************************************/

function changeGetToPost(urlname,target){
	var url=urlname,name='',value='',Hashparameters='',HashParamValue='';
	paramstring  = url.substring(0,url.length);
	parameters   = paramstring.split("\?");

	 // There may be a ? in one of the parameter values
 // ex.  ...&param2=balances.trl?RTM=1
 // Appending the extra splits should handle this issue.
    if(parameters && parameters.length > 2) {
		for(var i= 2; i < parameters.length; i++) {
			parameters[1] = parameters[1] + "&" + parameters[i];
		}    
	}   
 
	if(parameters.length >1){
	Hashparameters = parameters[1].split("\#");
	}

	if(Hashparameters.length > 1){
	   HashParamValue = Hashparameters[1];
	   parameters[0] = parameters[0] +"#"+HashParamValue;
	   var parameterlength = parameters[1].indexOf('#');
	   parameters[1] = parameters[1].substring(0,parameterlength);
	}

	var targetName=target;
	var submitForm = getNewSubmitForm(targetName,parameters[0]);
	if(parameters.length>1){
		queryparams=parameters[1].split("\&");
		for(indexvar=0;indexvar<queryparams.length;indexvar++){
			var param=queryparams[indexvar];
			var namelen=param.indexOf('=');
			var paramname=param.substring(0,namelen);
			var paramvalue=param.substring(namelen+1,param.length);
			if(paramvalue.indexOf("+") != -1){
				paramvalue = paramvalue.replace(/\+/g," ");
			}
			
			createNewFormElement(submitForm,paramname,unescape(paramvalue));
		}
	}
	submitForm.submit();
}

function getNewSubmitForm(targetName,actionurl){
	var submitForm = document.createElement("form");
	document.body.appendChild(submitForm);
	submitForm.action=actionurl;
	if(targetName){
		submitForm.target = targetName;
	}
	submitForm.method = "post";
	return submitForm;
}

function createNewFormElement(inputForm, elementName, elementValue){
        var newElement = document.createElement("input");
        newElement.type = "hidden";
        newElement.name=  elementName;
        inputForm.appendChild(newElement);
        s = new String(elementValue);
        newElement.value = s;
        return newElement;
}

function changeSAGetToPost(url, submitForm){
        parameters=url.split("\?");
        actionUrl=parameters[0];
        if(parameters.length>1)
        {
                queryParams=parameters[1].split("\&");
                for(var i=0;i<queryParams.length;i++)
                {
                        var param=queryParams[i].split("=");
                        var paramname=param[0];
                        var paramvalue=param[1];
                        createNewFormElement(submitForm,paramname,unescape(paramvalue));
                }
                submitForm.action=actionUrl;
                submitForm.submit();

        }
}
