$(function(){
    $('form').submit(function(){

		$('input:submit').attr('disabled', true);
		
        var flag = true;
        try {
        	if (typeof enableAll != 'undefined' && enableAll == true)
        	{
                $('input[@disabled],select,textarea').attr('disabled','');          // 
        	}
            if (typeof enableCheckbox != 'undefined' && enableCheckbox == true)
            {
                $('input[@type=checkbox][@disabled]').attr('disabled','');          // 
            }
            if (typeof enableRadio != 'undefined' && enableRadio == true)
            {
                $('input[@type=radio][@disabled]').attr('disabled','');         	// 
            }
            if (typeof enableSelect != 'undefined' && enableSelect == true)
            {
                $('select[@disabled]').attr('disabled','');          				// 
            }
            if (typeof enableTextarea != 'undefined' && enableTextarea == true)
            {
                $('textarea[@disabled]').attr('disabled','');          				// 
            }
        }
        catch(e){}

        $('input,select,textarea', this).each(function(){
    		var o = $(this);
            var allowblank = false;
            try {
                allowblank = o.attr('allowblank').toString();
            }
            catch(e)
            {
                allowblank = true;
            }
            
            if ( this.className.replace('form_error_allowblank','') != this.className )
            {
                o.removeClass('form_error_allowblank');
            }
            if (allowblank == 'false' && $.trim(this.value) == '')
            {
                if (flag)
                {
                    // 1. 获取 label 属性
                    // <input label="label1"  ... />
                    var label = o.attr('label');
                    if (label == undefined)
                    {
                        // 2. 获取 前一个 td 中的文本
                        // <td>label1</td><td><input ... /></td>
                        label = o.parent('td').prev().text();
						label = label.replace('：', '');
                        if (label == undefined || label == '')
                        {
                            // 3. 获取当前 input 的 label
                            // <label>label1<input ... /></label>
                            label = o.parent('label').text();
                        }
                    }
                    o.addClass('form_error_allowblank');
                    flag = false;
                    label = label.replace(/[\r|\n]/,'');
                    label = $.trim(label);
                    alert ( '[ ' + label + ' ]' + '不能为空' );
					$('.masker').css('visibility', 'hidden');
                    o.focus();
					$('input:submit').attr('disabled', false);
                }
            }
        });

		return flag;
    });
});