(function($){
	$.fn.clvalidate=function(options){
		//alert("Joju");
		var msg="";
		var b=true;
		var defaults={
				onComplete:function(){}
			};
			var options = $.extend(defaults, options); 
		$.each($(this).find(":input"),function(x,y){
			
			if($(y).attr("data-required")!=undefined && "yes"){
				if($(y).is(":checkbox")){
					if($(y).is(":checked")){	
						$(y).css({"border":"1px solid #cfcfcf","background":""})
						$(y).parent().parent().find("span").css({"border":"none","background":""});
						$(y).attr("title","");					
					}else{
						$(y).parent().parent().find("span").css({"border":"1px solid #D8000C","background":"#FFBABA"});
						$(y).css({"border":"1px solid #D8000C","background":"#FFBABA"});
						if($(y).attr("data-required-msg")!=undefined){
							$(y).attr("title",$(y).attr("data-required-msg"));
							//$(y).after("<img style='margin-top:0px;' src='../images/close_1.png' height='16px' width='16px'/>");
							//msg=$(y).attr("data-required-msg");
							alert($(y).attr("data-required-msg"));
						}else{
							//msg="Field Cannot be empty!!!";
							$(y).attr("title","Please select the checkbox!!!");
							//$(y).after("<img style='margin-top:0px;' src='../images/close_1.png' height='16px' width='16px'/>");
						}
						//$(y).addClass("error-clvalidate");
						b=false;
					}
				}else{
					if($(y).val()==""){
						
						$(y).css({"border":"1px solid #D8000C","background":"#FFBABA"});
						if($(y).attr("data-required-msg")!=undefined){
							$(y).attr("title",$(y).attr("data-required-msg"));
							//$(y).after("<img style='margin-top:0px;' src='../images/close_1.png' height='16px' width='16px'/>");
							//msg=$(y).attr("data-required-msg");
						}else{
							//msg="Field Cannot be empty!!!";
							$(y).attr("title","Field Cannot be empty!!!");
							//$(y).after("<img style='margin-top:0px;' src='../images/close_1.png' height='16px' width='16px'/>");
						}
						//$(y).addClass("error-clvalidate");
						b=false;
					}else{
						//$(y).removeClass("error-clvalidate");
						$(y).css({"border":"1px solid #cfcfcf","background":""})
						$(y).attr("title","");
					}
				}
			}
			//alert(msg);
			
			if($(y).attr("data-minlength")!=undefined){
				if($(y).val().length<$(y).attr("data-minlength")){
					$(y).css({"border":"1px solid #D8000C","background":"#FFBABA"});
					if($(y).attr("data-minlength-msg")!=undefined){
						$(y).attr("title",$(y).attr("data-minlength-msg"));
						//$(y).after("<img style='margin-top:0px;' src='../images/close_1.png' height='16px' width='16px'/>");
						//msg+=$(y).attr("data-minlength-msg");
					}else{
						//msg+="Minimum Length should be "+$(y).attr('data-minlength')+" !!!";
						//$(y).after("<img style='margin-top:0px;' src='../images/close_1.png' height='16px' width='16px'/>");
						$(y).attr("title","Minimum Length should be "+$(y).attr("data-minlength")+" !!!");
						
					}
					b=false;
					//$(y).addClass("error-clvalidate");
				}else{
					//$(y).removeClass("error-clvalidate");
					$(y).css({"border":"1px solid #cfcfcf","background":""})
					$(y).attr("title","");
				}			
			}
			//$(y).attr("title",msg);
			
			if($(y).attr("data-maxlength")!= undefined){
				if($(y).val().length>$(y).attr("data-maxlength")){
					$(y).css({"border":"1px solid #D8000C","background":"#FFBABA"})
					if($(y).attr("data-maxlength-msg")!=undefined)
						$(y).attr("title",$(y).attr("data-maxlength-msg"));
					else
						$(y).attr("title","Maximum Length should be "+$(y).attr("data-maxlength")+" !!!");
					//$(y).addClass("error-clvalidate");
					b=false;
				}else{
					//$(y).removeClass("error-clvalidate");
					$(y).css({"border":"1px solid #cfcfcf","background":""})
					$(y).attr("title","");
				}			
			}
			
			if($(y).attr("data-email")!=undefined){
				var emailPattern =/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
				if(!emailPattern.test($(y).val())){				
					$(y).css({"border":"1px solid #D8000C","background":"#FFBABA"})
					if($(y).attr("data-email-msg")!=undefined)
						$(y).attr("title",$(y).attr("data-email-msg"));
					else
						$(y).attr("title","Invalid Email ID !!!");
					//$(y).addClass("error-clvalidate");
					b=false;
				}else{
					//$(y).removeClass("error-clvalidate");
					$(y).css({"border":"1px solid #cfcfcf","background":""})
					$(y).attr("title","");
				}			
			}	
			if($(y).attr("data-compare")!=undefined){
				var obj=$("#"+$(y).attr("data-compare")+"");
				
				if($(y).val()!=obj.val()){
					$(y).css({"border":"1px solid #D8000C","background":"#FFBABA"});
					if($(y).attr("data-compare-msg")!=undefined){
						$(y).attr("title",$(y).attr("data-compare-msg"));
						//$(y).after("<img style='margin-top:0px;' src='../images/close_1.png' height='16px' width='16px'/>");
						//msg+=$(y).attr("data-minlength-msg");
					}else{
						//msg+="Minimum Length should be "+$(y).attr('data-minlength')+" !!!";
						//$(y).after("<img style='margin-top:0px;' src='../images/close_1.png' height='16px' width='16px'/>");
						$(y).attr("title","Fields mismatch !!!");
						
					}
					b=false;
					//$(y).addClass("error-clvalidate");
				}else{
					//$(y).removeClass("error-clvalidate");
					$(y).css({"border":"1px solid #cfcfcf","background":""})
					$(y).attr("title","");
				}			
			}		
		});
		options.onComplete(b);
	}
})(jQuery);
