/*
 * Отправка форм ajax посл. метод (паралл. плохо реализован)
 * Необходимы:
 *      1. jquery.js
 *      2. jquery.ajax.js (присутствует только в данном проекте)
 * Использование
 * jqueryAjaxForm(id); - однократная отправка
 * jqueryAjaxFormReplace(id); замена функции onsubmit - в разработке(?)
 */

function jqueryAjaxForm(sel,func)
{
        var data = new Object, param = [], i = 0, elem, method, url;
        
        // input
        elem = $(sel).find('input');        
        while (elem[i])
        {
                if ($(elem[i]).attr('name') != undefined)
                        switch ($(elem[i]).attr('type'))
                        {
                                case 'checkbox':
                                case 'radio':
                                        if (elem[i].checked == true)
                                        {
                                                data[$(elem[i]).attr('name')] = $(elem[i]).attr('value');
                                        }
                                break;
                                default:
                                        data[$(elem[i]).attr('name')] = $(elem[i]).attr('value');
                                break;
                        }
                i++;
        }
        // select
        i = 0;
        elem = $(sel).find('select');
        while (elem[i])
        {
                if ($(elem[i]).attr('name') != undefined)
                        data[$(elem[i]).attr('name')] = $(elem[i]).attr('value');
                i++;
        }
        // textarea
        i = 0;
        elem = $(sel).find('textarea');
        while (elem[i])
        {
                if ($(elem[i]).attr('name') != undefined)
                        data[$(elem[i]).attr('name')] = $(elem[i]).attr('value');
                i++;
        }
        
        // Параметры
        
        if ($(sel).attr('method') != undefined) 
                method = $(sel).attr('method'); 
        else 
                method = 'POST';
        
        if ($(sel).attr('action') == undefined)
        {
                url = window.location.toString().replace(/http:\/\/[^\/]*/,'');
        } else {
                if ($(sel).attr('action').toString().substr(0,2) == './')
                {
                        url = window.location.toString().replace(/http:\/\/[^\/]*/,'')+'/'+$(sel).attr('action').toString().substr(2,$(sel).attr('action').toString().length);
                } else if ($(sel).attr('action').toString().substr(0,1) == '.')
                {
                        url = window.location.toString().replace(/http:\/\/[^\/]*/,'')+'/'+$(sel).attr('action').toString().substr(1,$(sel).attr('action').toString().length);
                } else if ($(sel).attr('action').toString().substr(0,1) == '') {                        
                        url = window.location.toString().replace(/http:\/\/[^\/]*/,'');
                } else if ($(sel).attr('action').toString().substr(0,1) == '/') {
                        url = $(sel).attr('action').toString();
                } else {
                        url  = window.location.toString().replace(/http:\/\/[^\/]*/,'')+'/'+$(sel).attr('action').toString().substr(2,$(sel).attr('action').toString().length);
                }
        }
                
        param = {
                type: method,
                url: url
        };
                
                
        ajax(param,func,data);
}
