
    function perform_update(source_url, element_to_update, call_js) {
        
        source_url = "/ajax/" + source_url;
        
        new Ajax.Updater(element_to_update, source_url, {
        
        evalScripts: true,
        onComplete: function() {
        
            if (call_js) eval(call_js);
        
        }
        
        });
        
    }

    var eval_param;

    function perform_action(action) {           
                                                         
        if (perform_action.arguments[3] != "") var post_params = perform_action.arguments[3];
            
        if ( perform_action.arguments.length >= 2 && perform_action.arguments[1] != "") {
            
            var element_to_update = perform_action.arguments[1];
            var source_url = perform_action.arguments[2];
            
            if (perform_action.arguments[6]) {
            
                var source_url_add_eval = perform_action.arguments[6];
                                
            }
            
            if (perform_action.arguments[4]) {
                
                eval_param = perform_action.arguments[4];
                
                var updater_options = {
                    
                    onComplete: function() {
                        
                        eval(eval_param);
                        
                    }
                    
                };
                
            } else var updater_options = "";
            
            if (perform_action.arguments[5]) {
                
                var eval_on_first_success = perform_action.arguments[4];
                
            }
                
        } 
             
        if (!post_params) var used_method = "get";
        else var used_method = "post";
        
        if (!post_params) post_params = "";
        
        new Ajax.Request( action, {
        
            method:         used_method,
            parameters:        post_params,
            
            onComplete:    function(update_element) {
                
                if ($('response_inspector')) $('response_inspector').innerHTML = update_element.responseText;
                
                if (eval_on_first_success) {
                    
                    var eval_converted = eval_on_first_success.replace(/use_response_text/,update_element.responseText);
                                 
                    if ( !eval_converted ) eval_converted = eval_on_first_success;
                    
                    eval(eval_converted);
                    
                    updater_options = null;
                                        
                    if (source_url_add_eval) source_url += eval(source_url_add_eval) + "/";
                    
                }
                
                if (element_to_update && source_url) new Ajax.Updater(element_to_update, source_url, updater_options);
                if (stacked_actions.length > 0) process_next_action();
                
            }
            
        });
        
    }
             
    function build_request(form_id) {
        
        var form_obj = $(form_id);
        var current_attrib;
        
        for ( var field_c = 0; field_c < document.forms[form_id].elements.length; field_c++ ) {
            
            if (document.forms[form_id].elements[field_c].disabled) document.forms[form_id].elements[field_c].disabled = false;
            
            for ( var attrib_c = 0; attrib_c < document.forms[form_id].elements[field_c].attributes.length; attrib_c++ ) {
                
                current_attrib = document.forms[form_id].elements[field_c].attributes[attrib_c];
                
            }
                
        }
        
        return Form.serialize(form_obj, true);
        
    }
                    
                    
                    

    function swap_img_src(img_name, img_source) {

          var browserType = 0;
      
          if (navigator.appName == "Microsoft Internet Explorer") browserType = 1;
          else browserType = 2;

        if (browserType == 1) {
         
            document.images[img_name].src = img_source;
               
        } else {
               
            document[img_name].src = img_source;
               
        }
         
    }

