(function($){

$.extend({
               addotherValidation : function(){
                  var nickname = $("#add_other_nickname").val();
                  var min   = $("#add_other_msisdn").val();
			         var email    = $("#add_other_email").val();

			         var nick_err = '';
			         var min_err ='';
                  var email_err ='';

                  var emailfilter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

                  var socket = new jsXMLSocket();
                  var reg_error   = 0;
                  var which_trans;


           /*       if(!isNaN(nickname.substr(0,1))){
                     nick_err = 'Entry must not start with a number. Please retry.';
                  }

                  if(nickname.length < 6){
                     nick_err = 'Username must not be below 6 characters';
                  }

                  if(nickname.length == 0){
                     nick_err = 'Missing value for username';
                  }
*/

                  if(min.length == 0){ // inserted by paulg 20091014 before checking if valid number
                     min_err = 'Mobile number is required. Please fill in.';
                  }
                  else if(min.length > 15){
                     min_err = 'Invalid mobile number!';
                  }
                  else{
                    $("#buddylist_pane li a.click_buddy ").each(function(){
                      var username_temp = $(this).attr("name");
                      var msisdn_temp   = $.getBD("mobile",username_temp);

                      if(min==msisdn_temp){
                        min_err = "The mobile number you tried to add is already on your buddy list.";
                      }
                    });
                  }

                  //if(min.length == 0){ // commented by paulg 20091014 to put this up before checking valid number
                  //   min_err = 'Mobile number is required. Please fill in.';
                  //}


                  /* if(emailfilter.test(email) != true){
                     email_err = 'Email Address has an invalid entry.';

                  }

                  if(email.length == 0){
                     email_err = 'Missing value for Email.';

                  }
*/


                  if(nick_err){
                     $("#nick_error").show();
                     $("#nick_error").html(nick_err);
                  }else{
                     $("#nick_error").hide();
                     $("#nick_error").html('');
                  }

                  if(min_err){
                     $("#min_error").show();
                     $("#min_error").html(min_err);
                  }else{
                     $("#min_error").hide();
                     $("#min_error").html('');
                  }

                  if(email_err){
                     $("#email_error").show();
                     $("#email_error").html(email_err);
                  }else{
                     $("#email_error").hide();
                     $("#email_error").html('');
                  }

                  if(!min_err){
                        $.addOtherContact(nickname,min,email);
                  }


               }
});

$.extend({
  preRegValidation : function(usr, min){
    var err = '';
    var ico_err = "<img src='images/error-icon.png' alt='' title=''>&nbsp;";

    if(usr.length == 0 && min.length == 0){
      err = 'Missing value for username and mobile number.';
    }
    else if(usr.length == 0){
      err = 'Missing value for username.';
    }
    else if(min.length == 0){
      err = 'Missing value for mobile number.';
    }
    else if(!isNaN(usr.substr(0,1))){
      err = 'Username must not start with a number.';
    }
    else if(usr.length < 6){
      err = 'Username is too short. It must not be below 6 characters.';
    }
    else if(min.length < 12){
      err = 'Mobile Number is too short.';
    }

    if(err){
      $("#pre-reg-status").html(ico_err+err);
      return false;
    }else{
      return true;
    }
  }
});


$.extend({
  SBpreRegValidation : function(usr, min){
    var err = '';
    var ico_err = "<img src='images/error-icon.png' alt='' title=''>&nbsp;";

    if(usr.length == 0 && min.length == 0){
      err = 'Missing value for username and mobile number.';
    }
    else if(usr.length == 0){
      err = 'Missing value for username';
    }
    else if(min.length == 0){
      err = 'Missing value for mobile number';
    }
    else if(!isNaN(usr.substr(0,1))){
      err = 'Username must not start with a number.';
    }
    else if(usr.length < 6){
      err = 'Username is too short. It must not be below 6 characters';
    }
    else if(min.length < 12){
      err = 'Mobile Number is too short.';
    }

    if(err){
      $("#sb-pre-reg-status").html(ico_err+err);
      return false;
    }else{
      return true;
    }
  }
});


  $.extend({
    regValidation : function(){
      var rfname = $('#regfname').val();
      var rlname = $('#reglname').val();
      var remail = $('#regemail').val();
      var rpwd   = $('#regpwd').val();
      var rrpwd  = $('#regrpwd').val();
      var rques  = $('#regques').val();
      var rans   = $('#regans').val();

      var ico_err = "<img src='images/error-icon.png' alt='' title=''>&nbsp;";
      var emailfilter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

      var err       = '';
      var err_fname = '';
      var err_lname = '';
      var err_email = '';
      var err_pwd   = '';
      var err_rpwd  = '';
      var err_ans   = '';

      var socket = new jsXMLSocket();
      var reg_error   = 0;
      var which_trans;

      if(rfname.length==0 && rlname.length==0 && remail.length==0 && rpwd.length==0 && rrpwd.length==0 && rans.length==0){
        err = 'Please fill-up the form as required.';
        $("#reg-status").html(ico_err+err);
      }
      else if(rfname.length == 0){
        err_fname = 'Missing value for First Name.';
        $("#reg-status").html(ico_err+err_fname);
      }
      else if(rlname.length == 0){
        err_lname = 'Missing value for Last Name.';
        $("#reg-status").html(ico_err+err_lname);
      }
      else if(remail.length == 0){
        err_email = 'Missing value for Email.';
        $("#reg-status").html(ico_err+err_email);
      }
      else if(rpwd.length == 0){
        err_pwd = 'Missing value for Password.';
        $("#reg-status").html(ico_err+err_pwd);
      }
      else if(rrpwd.length == 0){
        err_rpwd = 'Missing value for Re-enter password';
        $("#reg-status").html(ico_err+err_rpwd);
      }
      else if(rans.length == 0){
        err_ans = 'Blank answers are not allowed. Please try again.';
        $("#reg-status").html(ico_err+err_ans);
      }
      else if(rfname.length > 60){
        err_fname = 'Maximum of 60 characters.';
        $("#reg-status").html(ico_err+err_fname);
      }
      else if(rlname.length > 60){
        err_rname = 'Maximum of 60 characters.';
        $("#reg-status").html(ico_err+err_rname);
      }
      else if(emailfilter.test(remail) != true){
        err_email = 'Email Address has an invalid entry.';
        $("#reg-status").html(ico_err+err_email);
      }
      else if(rpwd.length < 6){
        err_pwd = 'Password is too short.';
        $("#reg-status").html(ico_err+err_pwd);
      }
      else if(rpwd.length > 30){
        err_pwd = 'Password is too long.';
        $("#reg-status").html(ico_err+err_pwd);
      }
      else if(rpwd != rrpwd){
        err_rpwd = 'Passwords don\'t match.';
        $("#reg-status").html(ico_err+err_rpwd);
      }
      else{
        return true;
      }
    }
  });

  $.extend({
    SBregValidation : function(){
      var rfname = $('#sbregfname').val();
      var rlname = $('#sbreglname').val();
      var remail = $('#sbregemail').val();
      var rpwd   = $('#sbregpwd').val();
      var rrpwd  = $('#sbregrpwd').val();
      var rques  = $('#sbregques').val();
      var rans   = $('#sbregans').val();

      var ico_err = "<img src='images/error-icon.png' alt='' title=''>&nbsp;";
      var emailfilter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

      var err       = '';
      var err_fname = '';
      var err_lname = '';
      var err_email = '';
      var err_pwd   = '';
      var err_rpwd  = '';
      var err_ans   = '';

      var socket = new jsXMLSocket();
      var reg_error   = 0;
      var which_trans;

      if(rfname.length==0 && rlname.length==0 && remail.length==0 && rpwd.length==0 && rrpwd.length==0 && rans.length==0){
        err = 'Please fill-up the form as required.';
        $("#sb-reg-status").html(ico_err+err);
      }
      else if(rfname.length == 0){
        err_fname = 'Missing value for First Name.';
        $("#sb-reg-status").html(ico_err+err_fname);
      }
      else if(rlname.length == 0){
        err_lname = 'Missing value for Last Name.';
        $("#sb-reg-status").html(ico_err+err_lname);
      }
      else if(remail.length == 0){
        err_email = 'Missing value for Email.';
        $("#sb-reg-status").html(ico_err+err_email);
      }
            else if(rpwd.length == 0){
        err_pwd = 'Missing value for Password.';
        $("#sb-reg-status").html(ico_err+err_pwd);
      }
      else if(rrpwd.length == 0){
        err_rpwd = 'Missing value for Re-enter password';
        $("#sb-reg-status").html(ico_err+err_rpwd);
      }
      else if(rans.length == 0){
        err_ans = 'Blank answers are not allowed. Please try again.';
        $("#sb-reg-status").html(ico_err+err_ans);
      }
      else if(rfname.length > 60){
        err_fname = 'Maximum of 60 characters.';
        $("#sb-reg-status").html(ico_err+err_fname);
      }
      else if(rlname.length > 60){
        err_rname = 'Maximum of 60 characters.';
        $("#sb-reg-status").html(ico_err+err_rname);
      }
      else if(emailfilter.test(remail) != true){
        err_email = 'Email Address has an invalid entry.';
        $("#sb-reg-status").html(ico_err+err_email);
      }
      else if(rpwd.length < 6){
        err_pwd = 'Password is too short.';
        $("#sb-reg-status").html(ico_err+err_pwd);
      }
      else if(rpwd.length > 30){
        err_pwd = 'Password is too long.';
        $("#sb-reg-status").html(ico_err+err_pwd);
      }
      else if(rpwd != rrpwd){
        err_rpwd = 'Passwords don\'t match.';
        $("#sb-reg-status").html(ico_err+err_rpwd);
      }
      else{
        return true;
      }
    }
  });


})(jQuery);
