$(function() {
    var container = 'div.group';
    var msg = 'Thank you for your suggestion.';
    
    
    $.ajaxSetup({
        //url:'/natural-resources/suggest',
        url:'/dev/public_html/natural-resources/suggest',
        //url:'/Work/Echo/ProducedByNature/trunk/public_html/natural-resources/suggest',
		type: 'POST',
		dataType: 'json'
	});
    
    function formData() {
        var output = {};
        
        $(container).find('input[type=text], input[type=hidden], textarea').each(function(i, n) {
            var obj = n;
            var n = $(n);
            if (n.attr('name') != undefined) {
                var value = n.attr('value');
                
                if (n.attr('type') == 'checkbox') {
                    value = obj.checked == true ? 1 : 0;
                }
                
                output[n.attr('name')] = value;
            }
        });
        
        return output;
    }
    
    function validate() {
        var result = true;
        
        $(container).find('input[type=text], input[type=hidden], textarea').each(function(i, n) {
            if ($(n).attr('name') != undefined && n.className.indexOf('required') != -1) {
                if ($(n).attr('value') == undefined) {
                        
                    result = false;
                    $(n).css('background', '#f66');
                } else {
                    $(n).css('background', '#fff');
                }
            }
        });
        
        return result;
    }
    
    function showProcessing() {
        var div = $(container);
        var overlay = $('<span>').css('font-weight', 'bold').html('Sending...');
        div.append(overlay);
    }
    
    function showSuccess(re) {
        var div = $(container);
        div.empty();
        $('div.overlay').remove();
        
        div.append($('<p>').html(msg));
    }
    
    if ($(container).length > 0) {
        $(container).find('input[type=submit]').click(function() {
            if (validate()) {
                showProcessing();
                $.ajax({
                    data:formData(),
                    success:function(re) {
                        showSuccess(re);
                    }
                });
            }
        });
    }
    
});
