// ********** Page ready functions **********
function initRegister()
{
    
  $('#userregistration').submit(function ()
   {
     var _holder = $(this);
     var _textFields = _holder.find('input[type!=submit]');
     var _success = true;
     var _reqField = true;
     var _control;
     
    if (_holder.find('input[name=location]').val() == 'header')
      _control = $('div.registrationHeader');
    else
      _control = $('#register');
     
     $('#businessError').css('display','none');
     _control.find('#requiredField').css('display', 'none');
     _control.find('#emailInvalid').css('display', 'none');
     _control.find('#passwordNoMatch').css('display', 'none');
     
     _textFields.each(function()
     {
       _textField = $(this);

       if(_textField.attr('type').indexOf('hidden') == -1)
       {
         if(_textField.attr('value').length == 0)
         {
           _textField.css('border','1px #B4121B solid');
           _success = false;
           _reqField = false;
         }
         else if (_textField.attr('id').indexOf('email') > -1)
         {
            var emailField = _control.find('#emailInvalid');
           _success = ValidateEmailAddressMember(_textField, emailField);
         }
         else
         {
           _textField.css('border','1px #bbb solid');
         }
       }
     });

     ToggleRequiredFieldError(_reqField,_control);

     var _pwdField = _holder.find('input[id=password]').attr('value');
     var _confirmpwdField = _holder.find('input[id=confirmpassword]').attr('value')
     
     if (_pwdField.length > 0 && _confirmpwdField.length > 0)
     {
       if (_pwdField != _confirmpwdField)
       {
         _holder.find('input[type=password]').css('border','1px #B4121B solid');
         _success = false;
         $('#passwordNoMatch').css('display', 'block');
       }
       else
       {
         $('#passwordNoMatch').css('display', 'none');
       }
     }
     

     return _success;     
    });

}
               
function ValidateEmailAddressMember(control,emailLabel)
{
  var _tfld = trim(control.attr('value'));  // value of field with whitespace trimmed off
  //var _email = /^[^@]+@[^@.]+\.[^@]*\w\w$/  ;
  var _email = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i;
  var _success= true;

  if (!_email.test(_tfld))
  {
    control.css('border','1px #B4121B solid');
    _success = false;
    emailLabel.css('display', 'block');
  }
  else
  {
    control.css('border','1px #bbb solid');
    emailLabel.css('display', 'none');
  }
      
  return _success;
}

function trim(str)
{
  return str.replace(/^\s+|\s+$/g, '');
}

function initSignIn()
{
  if ($('input[name=location]').val() == 'cart')
  {
    var _openers = jQuery('#signin-register');
    initPopups(_openers);
  }

  //initGuests();
  $('#signin').submit(function ()
  {
    var _holder = $(this);
    var _emailField = _holder.find('input[type=text]');
    var _pwdField = _holder.find('input[type=password]');
    var _success = true;
    var _reqField = true;
    var _control;
    
    if (_holder.find('input[name=location]').val() == 'header')
      _control = $('div.signInHeader');
    else
      _control = $('#popup2');
          
    $('#businessError').css('display','none');    
    _control.find('#requiredField').css('display', 'none');
    _control.find('#emailInvalid').css('display', 'none');
    
    if(_emailField.attr('value').length == 0)
    {
     _emailField.css('border','1px #B4121B solid');
     _success = false;
     _reqField = false;
    }
    else
    {
      var emailField = _control.find('#emailInvalid');
      _success = ValidateEmailAddressMember(_emailField, emailField);
      if (_success)
        _emailField.css('border','1px #bbb solid');
    }
    
    if(_pwdField.attr('value').length == 0)
    {
     _pwdField.css('border','1px #B4121B solid');
     _success = false;
     _reqField = false;
    }
    else
      _pwdField.css('border','1px #bbb solid');
    
    ToggleRequiredFieldError(_reqField, _control);
        
    return _success;
  });

  $('a.btn-guest').click(function(){
    $.ajax({
      type: "GET",
      url: "/mycinemarkservice/signout",
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      success: function(msg){
        if (msg.ResponseType == true)
          window.location.replace("/product-checkout.aspx");
      },
      error:function(msg,a,b){}
    });
  });

  $('#signin-register').click(function() {
    toggleState(false, false);
  });
}
  
function ToggleRequiredFieldError(_flag, _control)
{
  if (! _flag)
  {
    _control.find('#requiredField').css('display', 'block');
    _control.find('#businessError').css('display', 'none');
  }
  else
  {
    _control.find('#requiredField').css('display', 'none');
  }
}
   
function initGuests(){
  var _popup = $('#popup2');
  var _guestDiv = _popup.find('div.guests');
  var _checkout =  _popup.find("div.info-form").find('input[name$="checkout"]').attr('value');

  
  if(_checkout == "1")
    _guestDiv.css('visibility', 'visible');
  else
    _guestDiv.css('visibility', 'hidden');
 
}

function initForgotPassword() 
{
  jQuery('a.forgotpwd').each(function() {
    var _ajaxLinks = $(this);
      
    _ajaxLinks.click(function() {
      toggleState(false, true);
      //window.location.href="forgotpassword.aspx";
      $(location).attr('href','forgotpassword.aspx');
    });
  });
}
  
// show/hide lightbox
function toggleState(_state, _closeFader) {
  var _lightboxSignIn = $('#popup2');
  var _fadeSpeed = 350;
  var _fader = $('#lightbox-overlay');
   
  if(!_lightboxSignIn) return;
  if(_state) {
    _fader.fadeIn(_fadeSpeed,function(){
      _lightboxSignIn.fadeIn(_fadeSpeed);
    });
    _scroll = false;
    positionLightbox();
  } else {
    _lightboxSignIn.fadeOut(_fadeSpeed,function(){
      if (_closeFader)
        _fader.fadeOut(_fadeSpeed);
      
      _scroll = false;
    });
  }
}  

