/*****
Function to loop through and process the values of any elements in a form. Text elements are URI encoded.
    - Expects a form ID to be passed to it to know which form to process
    - Returns a form string in the form of elementName=value for each element, separated by an ampersand (&)
*****/
function returnFormString(form){
    // Get the form object
    formObj = document.getElementById(form);

    // String to hold the form string
    var formStr = "";

    // Loop through the form elements and gather data to construct the form string
    for(i=0; i<formObj.elements.length; i++){
        // Test for the particular type of element and process accordingly
        switch (formObj.elements[i].type){
            case "text":
            case "textarea":
            case "hidden":
        
                formStr += formObj.elements[i].name+"="+encodeURIComponent(formObj.elements[i].value) + "&";
                break;
        
        
            case "checkbox":
            
                if (formObj.elements[i].checked){
                    formStr += formObj.elements[i].name+"="+formObj.elements[i].value + "&";
                }
                break;
            
            
            case "radio":
            
                if (formObj.elements[i].checked){
                    formStr += formObj.elements[i].name+"="+formObj.elements[i].value + "&";
                }
                break;
     
     
            case "select-one":
            
                var selectOne = formObj.elements[i];
                formStr += selectOne.name + "=" + selectOne.options[selectOne.selectedIndex].value + "&";
                break;
     

             case "select-multiple":
            
                var selectMult = formObj.elements[i];
                var selectedOptionsArray = new Array();
              
                // With select-multiple, all the options need to be tested to see which are selected
                for(j=0;j<selectMult.options.length;j++){
                    if(selectMult.options[j].selected){
                        formStr += selectMult.name + "=" + selectMult.options[j].value + "&";
                    }
                }
                break;       
        }
    } 

    formStr = formStr.substring(0, formStr.length-1);

    formStr = formStr.replace(/%20/g, "+");

    return formStr;

}