function cValidate(){this.message="";this.REM="info is required. Make sure it contains a valid value!";this.noticeTitle="Notice";this.errorField=new Array();this.init=function(){joms.jQuery("#community-wrap form.community-form-validate :input.required").blur(function(){if(!joms.jQuery(this).hasClass("validate-custom-date")&&!joms.jQuery(this).hasClass("validate-country")){if(cvalidate.validateElement(this)){cvalidate.markValid(this)}else{cvalidate.markInvalid(this)}}});joms.jQuery("#community-wrap form.community-form-validate :input.validate-profile-email").blur(function(){if((joms.jQuery.trim(joms.jQuery(this).val())!="")){if(cvalidate.validateElement(this)){cvalidate.markValid(this)}else{cvalidate.markInvalid(this)}}});joms.jQuery("#community-wrap form.community-form-validate :input.validate-profile-url").blur(function(){if((joms.jQuery.trim(joms.jQuery(this).val())!="")){if(cvalidate.validateElement(this)){cvalidate.markValid(this)}else{cvalidate.markInvalid(this)}}});joms.jQuery("#community-wrap form.community-form-validate :input.validate-country").change(function(){if(joms.jQuery(this).hasClass("required")){if(cvalidate.validateElement(this)){cvalidate.markValid(this)}else{cvalidate.markInvalid(this)}}});joms.jQuery("#community-wrap form.community-form-validate :input.validate-custom-date").blur(function(){if(cvalidate.validateElement(this)){cvalidate.markValid(this)}else{cvalidate.markInvalid(this)}});joms.jQuery("#community-wrap form.community-form-validate :input.validateSubmit").click(function(){if(cvalidate.validateForm()){return true}else{var message=(cvalidate.REM=="undefined"||cvalidate.REM=="")?"info is required. Make sure it contains a valid value!":cvalidate.REM;if(cvalidate.errorField.length>1){lastField=cvalidate.errorField.pop();var joinText=cvalidate.JOINTEXT=="undefined"||cvalidate.JOINTEXT==""?" and ":cvalidate.JOINTEXT;strErrField=cvalidate.errorField.join(", ")+" "+joinText+" "+lastField}else{strErrField=cvalidate.errorField}message=strErrField+" "+message;message=message.replace(/\n/g,"");cWindowShow("joms.jQuery('#cWindowContent').html(\""+message+'")',cvalidate.noticeTitle,450,70,"warning");joms.jQuery("#community-wrap form.community-form-validate :input.required[value='']").each(function(i){cvalidate.markInvalid(this)});return false}})};this.setMaxLength=function(element,maxChar){joms.jQuery(element).keyup(function(){var max=parseInt(maxChar);if(joms.jQuery(this).val().length>max){joms.jQuery(this).val(joms.jQuery(this).val().substr(0,maxChar))}})};this.markInvalid=function(el){var fieldName=el.name;if(joms.jQuery(el).hasClass("validate-custom-date")){joms.jQuery("#community-wrap form.community-form-validate input[name='"+fieldName+"']").addClass("invalid");joms.jQuery("#community-wrap form.community-form-validate select[name='"+fieldName+"']").addClass("invalid")}else{joms.jQuery(el).addClass("invalid")}};this.markValid=function(el){var fieldName=el.name;if(joms.jQuery(el).hasClass("validate-custom-date")){joms.jQuery("#community-wrap form.community-form-validate input[name='"+fieldName+"']").removeClass("invalid");joms.jQuery("#community-wrap form.community-form-validate select[name='"+fieldName+"']").removeClass("invalid")}else{joms.jQuery(el).removeClass("invalid")}if(fieldName!=null){fieldName=fieldName.replace("[]","");joms.jQuery("#err"+fieldName+"msg").hide();joms.jQuery("#err"+fieldName+"msg").html("&nbsp")}};this.validateElement=function(el){var isValid=true;var fieldName=el.name;if(joms.jQuery(el).attr("type")=="text"||joms.jQuery(el).attr("type")=="password"||joms.jQuery(el).attr("type")=="textarea"){if(joms.jQuery.trim(joms.jQuery(el).val())==""){isValid=false;fieldName=fieldName.replace("[]","");lblName=joms.jQuery("#lbl"+fieldName).html();if(lblName==null){lblName="Field"}else{lblName=lblName.replace("*","")}this.setMessage(fieldName,lblName,"CC INVALID VALUE")}else{if(joms.jQuery(el).hasClass("validate-name")){if(joms.jQuery(el).val().length<3){this.setMessage(fieldName,"","CC NAME TOO SHORT");isValid=false}else{joms.jQuery("#err"+fieldName+"msg").hide();joms.jQuery("#err"+fieldName+"msg").html("&nbsp");isValid=true}}if(joms.jQuery(el).hasClass("validate-username")){if(joms.jQuery("#usernamepass").val()!=joms.jQuery(el).val()){isValid=cvalidate.ajaxValidateUserName(joms.jQuery(el))}}if(joms.jQuery(el).hasClass("validate-email")){regex=/^([*+!.&#$¦\'\\%\/0-9a-z^_`{}=?~:-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,4})$/i;isValid=regex.test(joms.jQuery(el).val());if(isValid==false){this.setMessage(fieldName,"","CC INVALID EMAIL")}else{joms.jQuery("#err"+fieldName+"msg").hide();joms.jQuery("#err"+fieldName+"msg").html("&nbsp");if(joms.jQuery("#emailpass").val()!=joms.jQuery(el).val()){isValid=cvalidate.ajaxValidateEmail(joms.jQuery(el))}}}if(joms.jQuery(el).hasClass("validate-profile-email")){regex=/^([*+!.&#$¦\'\\%\/0-9a-z^_`{}=?~:-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,6})$/i;isValid=regex.test(joms.jQuery(el).val());if(isValid==false){this.setMessage(fieldName,"","CC INVALID EMAIL")}else{joms.jQuery("#err"+fieldName+"msg").hide();joms.jQuery("#err"+fieldName+"msg").html("&nbsp")}}if(joms.jQuery(el).hasClass("validate-profile-url")){fieldName=fieldName.replace("[]","");regex=/^(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,6}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;isValid=regex.test(joms.jQuery(el).val());if(isValid==false){this.setMessage(fieldName,"","CC INVALID URL")}else{joms.jQuery("#err"+fieldName+"msg").hide();joms.jQuery("#err"+fieldName+"msg").html("&nbsp")}}if(joms.jQuery(el).hasClass("validate-password")&&el.name=="jspassword"){if(joms.jQuery(el).val().length<6){this.setMessage(fieldName,"","CC PASSWORD TOO SHORT");isValid=false}else{joms.jQuery("#err"+fieldName+"msg").hide();joms.jQuery("#err"+fieldName+"msg").html("&nbsp");isValid=true}}if(joms.jQuery(el).hasClass("validate-passverify")&&el.name=="jspassword2"){isValid=(joms.jQuery("#jspassword").val()==joms.jQuery(el).val());if(isValid==false){this.setMessage("jspassword2","","CC PASSWORD NOT SAME")}else{joms.jQuery("#errjspassword2msg").hide();joms.jQuery("#errjspassword2msg").html("&nbsp")}}if(joms.jQuery(el).hasClass("validate-custom-date")){isValid=this.checkCustomDate(el)}}}else{if(joms.jQuery(el).attr("type")=="checkbox"){if(joms.jQuery(el).hasClass("validate-custom-checkbox")){if(joms.jQuery("#community-wrap form.community-form-validate input[name='"+fieldName+"']:checked").size()==0){isValid=false}if(isValid==false){fieldName=fieldName.replace("[]","");lblName=joms.jQuery("#lbl"+fieldName).html();if(lblName==null){lblName="Field"}else{lblName=lblName.replace("*","")}this.setMessage(fieldName,lblName,"CC INVALID VALUE")}}else{if(!joms.jQuery(el).attr("checked")){isValid=false}}}else{if(joms.jQuery(el).attr("type")=="radio"){if(joms.jQuery(el).hasClass("validate-custom-radio")){if(joms.jQuery("#community-wrap form.community-form-validate input[name='"+fieldName+"']:checked").size()==0){isValid=false}if(isValid==false){lblName=joms.jQuery("#lbl"+fieldName).html();if(lblName==null){lblName="Field"}else{lblName=lblName.replace("*","")}this.setMessage(fieldName,lblName,"CC INVALID VALUE")}}else{if(!joms.jQuery(el).attr("checked")){isValid=false}}}else{if(joms.jQuery(el).attr("type")=="select-one"){if(joms.jQuery(el).children(":selected").length==0){isValid=false}else{joms.jQuery(el).children(":selected").each(function(){if(joms.jQuery(el).val()==""){isValid=false}})}if(joms.jQuery(el).hasClass("validate-country")){if(joms.jQuery(el).val()=="selectcountry"){isValid=false}}if(joms.jQuery(el).hasClass("validate-custom-date")){isValid=this.checkCustomDate(el)}else{if(isValid==false){fieldName=fieldName.replace("[]","");lblName=joms.jQuery("#lbl"+fieldName).html();if(lblName==null){lblName="Field"}else{lblName=lblName.replace("*","")}this.setMessage(fieldName,lblName,"CC INVALID VALUE")}}}else{if(joms.jQuery(el).attr("type")=="select-multiple"){if(joms.jQuery(el).children(":selected").length==0){isValid=false}if(isValid==false){fieldName=fieldName.replace("[]","");lblName=joms.jQuery("#lbl"+fieldName).html();if(lblName==null){lblName="Field"}else{lblName=lblName.replace("*","")}this.setMessage(fieldName,lblName,"CC INVALID VALUE")}}}}}}return isValid};this.validateForm=function(){var isValid=true;this.errorField=new Array();joms.jQuery("#community-wrap form.community-form-validate :input.required").each(function(i){if(!cvalidate.validateElement(this)){isValid=false}});joms.jQuery("#community-wrap form.community-form-validate :input.validate-profile-email").each(function(){if((joms.jQuery.trim(joms.jQuery(this).val())!="")){if(!cvalidate.validateElement(this)){isValid=false}}});joms.jQuery("#community-wrap form.community-form-validate :input.validate-profile-url").each(function(){if((joms.jQuery.trim(joms.jQuery(this).val())!="")){if(!cvalidate.validateElement(this)){isValid=false}}});return isValid};this.ajaxValidateUserName=function(el){jax.call("community","register,ajaxCheckUserName",joms.jQuery(el).val())};this.ajaxValidateEmail=function(el){jax.call("community","register,ajaxCheckEmail",joms.jQuery(el).val())};this.checkCustomDate=function(el){var isValid=true;var fieldName=el.name;if(joms.jQuery(el).hasClass("validate-custom-date")){fieldId=fieldName.replace("[]","");var dateObj=joms.jQuery("#community-wrap form.community-form-validate input[name='"+fieldName+"']");for(var i=0;i<dateObj.length;i++){if(!/^-?\d+$/.test(dateObj[i].value)){isValid=false}}var dateObj2=joms.jQuery("#community-wrap form.community-form-validate select[name='"+fieldName+"']");var dd=dateObj[0].value;var mm=dateObj2[0].value;var yy=dateObj[1].value;var dayobj=new Date(yy,eval(mm-1),dd);if((dayobj.getMonth()+1!=mm)||(dayobj.getDate()!=dd)||(dayobj.getFullYear()!=yy)){isValid=false}if(isValid==false){this.setMessage(fieldId,"","CC INVALID DATE")}else{joms.jQuery("#err"+fieldId+"msg").hide();joms.jQuery("#err"+fieldId+"msg").html("&nbsp")}}return isValid};this.setMessage=function(fieldName,txtLabel,msgStr){errorLabel=joms.jQuery('label[for="'+fieldName+'"]').html().replace("*","");if(joms.jQuery.inArray(errorLabel,this.errorField)==-1){this.errorField.push(errorLabel)}jax.call("community","register,ajaxSetMessage",fieldName,txtLabel,msgStr)};this.setSystemText=function(key,text){eval("cvalidate."+key+' = "'+text+'"')}}var cvalidate=new cValidate();(function(b){var a=new function(){this.countRegexp=function(d,e){var c=d.match(e);return c?c.length:0};this.getStrength=function(i,e){var c=i.length;if(c<e){return 0}var g=this.countRegexp(i,/\d/g),j=this.countRegexp(i,/[a-z]/g),f=this.countRegexp(i,/[A-Z]/g),d=c-g-j-f;if(g==c||j==c||f==c||d==c){return 1}var h=0;if(g){h+=2}if(j){h+=f?4:3}if(f){h+=j?4:3}if(d){h+=5}if(c>10){h+=1}return h};this.getStrengthLevel=function(e,c){var d=this.getStrength(e,c);switch(true){case (d<=0):return 1;break;case (d>0&&d<=4):return 2;break;case (d>4&&d<=8):return 3;break;case (d>8&&d<=12):return 4;break;case (d>12):return 5;break}return 1}};b.fn.password_strength=function(c){var d=b.extend({container:null,minLength:6,texts:{1:"Too weak",2:"Weak password",3:"Normal strength",4:"Strong password",5:"Very strong password"}},c);return this.each(function(){if(d.container){var e=b(d.container)}else{var e=b("<span/>").attr("class","jsPasswordStrength");b(this).after(e)}b(this).keyup(function(){var g=b(this).val();if(g.length>0){var h=a.getStrengthLevel(g,d.minLength);var f="jsPasswordStrength_"+h;if(!e.hasClass(f)&&h in d.texts){e.text(d.texts[h]).attr("class","jsPasswordStrength "+f)}}else{e.text("").attr("class","jsPasswordStrength")}})})}})(joms.jQuery);
