﻿(function($){ 

$.fn.extendASPNETValiators=function (options){
var scope = this;

var validateObj =function(obj, valGroup){

   var isValid=true;
       $(obj.Validators).each(function(){
            if((valGroup && valGroup!=null && this.validationGroup==valGroup) || !valGroup || valGroup==null){
            
              ValidatorValidate(this);
                if (!this.isvalid)
                    isValid=false;
              };
       
       });
         if(!isValid)
                $(obj).addClass(defaults.errorCssClass);
            else
                $(obj).removeClass('Error');


}

var validateAll=function(valGroup){

 scope.each(function(){
    validateObj(this,valGroup);
        
 
 });

}

var defaults={
    errorCssClass:"Error",
    validationSummary: null,
    validationGroup:null,
    onFormNotValid:function (message){ 
                            if ($('.jQSummary').length==0){
                            var jqSummary = document.createElement("div");
                            jqSummary.className="jQSummary";
                            jqSummary.style.display='none';
                            document.body.appendChild(jqSummary);
                            
                            }
                                
                            
                           $('.jQSummary').html(message);
                           $('.jQSummary').attr('title','הטופס אינו תקין');
                           if( $( '.jQSummary' ).dialog){
                           $( '.jQSummary' ).dialog({
			                        modal: true,
			                        buttons: {
				                        Ok: function() {
					                        $( this ).dialog( "close" );
				                        }
			                        }
		                   });
		                   }
		                   else{
		                    $( '.jQSummary' ).addClass('popup');
		                    $( '.jQSummary' ).show();
		                   
		                   }
    ;},
    onFormValid:function(){},
    submitElm: $('.submit')
    





};

var options = $.extend(defaults,options);

if (typeof(Page_Validators) == "undefined")  
            return undefined;
            
            
            
defaults.submitElm.click(function(){
    validateAll(defaults.validationGroup);
    if(Page_IsValid)
        return;
    
   
    if(defaults.validationSummary!=null){
     defaults.validationSummary.hide();
        var html= defaults.validationSummary.html();
       
        defaults.onFormNotValid(html);
    
    }
    else
    {
        var html='<ul>';
        $(Page_Validators).each(function(){
            if(this.isvalid)
                return;
            var enabled= (this.enabled == undefined || this.enabled);
            var inValidationGroup = (defaults.validationGroup && defaults.validationGroup!=null && this.validationGroup==defaults.validationGroup) || !defaults.validationGroup || defaults.validationGroup==null;

            if(enabled && inValidationGroup){
                    html = html+"<li>" + this.errormessage + "</li>";
              };
       });

       html= html+"</ul>";
        defaults.onFormNotValid(html);
    }

});


return this.change(function(){
    validateObj(this);

}); 


};

})(jQuery); 







