function submit_report_abuse(form_name, url) {
	if(!DoubleClickTrapperAction()) {
		return;
	}
    var elements = eval("document."+form_name);
    var params = "";
    
    
    for (var i = 0; i < elements.length; i++) {      
        var queryComponent = serialize_form(elements[i]);             
        if (queryComponent) {
            if (i==0) { 
                params = queryComponent;
            }
            else {             
                params += "&" + queryComponent;
            }
        }
    }
    
    new Ajax (url, {method: 'post', postBody: params, onComplete: display_report_confirmation}).request();

}


function serialize_form(form_element) {
    if(form_element.type == 'radio' && form_element.checked) {                   
        return form_element.name + "=" + form_element.value;
    }        
    else if(form_element.type == 'select-one') {
        var index = form_element.selectedIndex;
        if (index >= 0) {
          opt = form_element.options[index];
          value = opt.value;
          if (!value && !('value' in opt))
            value = opt.text;
        }
        return form_element.name + "=" + value;        
    }
    else if(form_element.type == 'hidden') {
        return form_element.name + "=" + form_element.value;
    }
    else if(form_element.type == 'text') {
        var text_value = form_element.value;
        if (text_value.length) {
            return form_element.name + "=" + form_element.value;
        }
    }
}


function display_report_confirmation(results) {

        if(results){
            try {                 
                var json_results = eval( '(' + results + ')' );            
            }
            catch(e)
            {
                alert("Error " + e.toString());
            }            
            
            if(json_results['errors']) {
                var error = json_results['errors'];
            }
            
            var data = json_results['data'];
           
            confirm_div = document.getElementById('confirmation');    
            report_div = document.getElementById('report');  
            error_div = document.getElementById('error_msg_body');                                                   

            fadeOut('report');             
            
            if(error) {
                error_div.innerHTML += error.msg;
                delay(function(){fadeIn('error_msg')}, 1);
            }
            else if(data.validation_errors_msg) {
                error_div.innerHTML += data.validation_errors_msg;
                delay(function(){fadeIn('error_msg')}, 1);
            }            
            else {
                delay(function(){fadeIn('confirmation')}, 1);                            
            }
        }
            
    
}