function post_to_url(path, params, method) {
    method = method || "post"; // Set method to post by default, if not specified.

    // The rest of this code assumes you are not using a library.
    // It can be made less wordy if you use one.
    var form = document.createElement("form");
    form.setAttribute("method", method);
    form.setAttribute("action", path);

    for(var key in params) {
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "hidden");
        hiddenField.setAttribute("name", key);
        hiddenField.setAttribute("value", params[key]);

        form.appendChild(hiddenField);
    }

    document.body.appendChild(form);    // Not entirely sure if this is necessary
    
    form.submit();
}

function showHide(elements, root, trigger){
	var exp = elements.split(",");
	if(root.type == 'select-one'){
		if(root.value != trigger){
			var new_value = 'none';
		}else{
			var new_value = '';
		}
	}
	for(i = 0;;i++) {
		var obj = document.getElementById('display_' + exp[i]);
		if(obj == null) return;
		
		if(root.type == 'checkbox'){
			if(obj.style.display == 'none'){
				obj.style.display = '';
			}else{
				obj.style.display = 'none';
			}
		}else if(root.type == 'select-one'){
			obj.style.display = new_value;
		}
	}
}

function serializeForm(){
    // javascript will not see this as a part of the form when refreshed through ajax
    var serialized = '&new_adr=true';
    for(i=0;i < e.length;i++){
		var name = e[i][1];
		var obj = document.getElementById('field_' + name);
        if(obj != null){
            if(obj.type == 'checkbox'){
                if(!obj.checked){
                    obj = null;
                }
            }
            if(obj != null){
                serialized  = serialized + '&' +  name + '=' + obj.value;
            }
        }
    }
    return serialized;
}   

function serializeFormToArray (){
    var elems = Array();
    elems['new_adr'] = true;
    for(i=0;i < e.length;i++){
		var name = e[i][1];
		var obj = document.getElementById('field_' + name);
        if(obj != null){
            if(obj.type == 'checkbox'){
                if(!obj.checked){
                    obj = null;
                }
            }
            if(obj != null){
                elems[name] = obj.value;
            }
        }
    }
    return elems;
}