//jQuery.metadata.setType("attr", "validate");

jQuery().ready(function() {
						
jQuery.validator.addMethod("checkAlphanum", function(value, element) {
var thisRegExp = /^[a-zA-Z0-9]+$/;
if(!thisRegExp.test(value)) {
return false;
} else if (value.match(/^s+$/)) {
return true;
} else {
return true;
}
}, "This field must contain only letters or numbers.");
						
jQuery.validator.addMethod("checkClient", function(value, element) {
if(value == "member name (or) company")
{
return false
}  else if(value != "") {
if(jQuery('#smemberid').val() == "")
return false
else
return true
}
else {
return true
}
}, "name is not valid.");

jQuery.validator.addMethod("checkSubcat", function(value, element) {
var totalCategory = jQuery('#totalCategory').val();												   
var str ='';
var elements_length = totalCategory;
var obj = element
var field;
for(i=0;i<elements_length;i++){
element_name = "subcatid"+i;
field = document.getElementById(element_name);
if(field.value == obj.value && element_name!=obj.id){
str = str+field.options[field.selectedIndex].text+',';
}
}
if(str!=''){
//alert(str.substring(0,str.length-1)+" already selected");
return false;
}else{
return true;
} 
}, "please select another business sub-category.");
});



// start of login validation

function jqueryLogin() {
jQuery("#frmlogin").validate({
submitHandler: function(form) {
jQuery.ajax({
type: "POST",
url:baseurl+'/auth/login',
data: "opt=checkmanage&login="+jQuery("#login").val()+"&pass="+jQuery("#pass").val(),
success: function(msg){
if(msg == "no") {
document.getElementById('userinvalid').style.display = 'block';
}
else {
document.location.href = baseurl;
}
tb_init('a.thickbox, area.thickbox, input.thickbox');
}
});
}
});
}


// start of add member validation
function ValidateMember() {
jQuery("#addmember").validate({
rules: {
email: {
required: true,
email: true,
remote: "/maestro/commonajax/checkemail"
},
password: {
required: true,
checkAlphanum: true,
rangelength: [8, 12]
},
password1: {
required: true,
checkAlphanum: true,
rangelength: [8, 12],
equalTo: "#password"
},
firstname: {
required: true
},
lastname: {
required: true
},
company: {
required: true
},
straddr1: {
required: true
},
city: {
required: true
},
phone1: {
required: true,
minlength: 3,
number: true
},
phone2: {
required: true,
minlength: 3,
number: true
},
phone3: {
required: true,
minlength: 4,
number: true
},
documentfile: {
accept: "pdf|doc"
}
},
messages: {
email: {
required: "email address is empty",
email: "please enter a valid email address",
remote:"chosen email already exists"
},
password: {
required: "password is empty",
checkAlphanum: "please use letters and numbers only",
rangelength: jQuery.format("password must be {0} to {1} characters")
},
password1: {
required: "confirm password is empty",
checkAlphanum: "please use letters and numbers only",
rangelength: jQuery.format("password must be {0} to {1} characters"),
equalTo: "please enter the same password twice"
},
firstname: {
required: "firstname is empty"
},
lastname: {
required: "lastname is empty"
},
company: {
required: "company is empty"
},
straddr1: {
required: "street address is empty"
},
city: {
required: "city is empty"
},
documentfile: {
accept:"only pdf & doc filetypes allowed"
},
phone1: "phone area code is empty or invalid",
phone2: "phone prefix is empty or invalid",
phone3: "phone suffix is empty or invalid"
},
groups: {
phone: "phone1 phone2 phone3"
},
errorPlacement: function(error, element) {
if (element.attr("name") == "phone1" || element.attr("name") == "phone2" || element.attr("name") == "phone3")
error.insertAfter("#phone3");
else
error.insertAfter(element);
}
});
}

function addadminvalidate(){
var container = $('div.validationmssg');
jQuery("#addadministrator").validate({
errorContainer: container,
meta: "validate",
rules:{
username:{
required: true,
remote: {
url: baseurl+"/administrators/checkusername/type/"+jQuery("#type").val()+"/adminid/"+jQuery("#administratorid").val(),
type: "post"
}
},
password: {
required: true,
checkAlphanum: true,
rangelength: [8, 12]
},
password1: {
required: true,
checkAlphanum: true,
rangelength: [8, 12],
equalTo: "#password"
},
firstname: {
required: true
},
lastname: {
required: true
},
email: {
required: true,
email:true,
remote: {
url: baseurl+"/administrators/checkemail/type/"+jQuery("#type").val()+"/adminid/"+jQuery("#administratorid").val(),
type: "post"
}
}
},
messages: {
username:{
required: "login is empty",
remote:"chosen login already exists"
},
password: {
required: "password is empty",
checkAlphanum: "field must contain only letters or numbers",
rangelength: jQuery.format("password must be {0} to {1} characters")
},
password1: {
required: "confirm password is empty",
checkAlphanum: "field must contain only letters or numbers",
minlength: jQuery.format("password must be {0} to {1} characters"),
equalTo: "please enter the same password twice"
},
firstname: {
required: "first name is empty"
},
lastname: {
required: "last name is empty"
},
email: {
required: "email is empty or invalid",
email:"email is empty or invalid",
remote:"chosen email already exists"
}
}
}); 
}
// end of add member validation
// end of login validation

