function showQuickLoginLoader(sel) {
  var wPadding = 20;
  var target= $(sel);
  var loader= $('<div id="userLoginLoader"></div>');
  loader.fadeTo("fast", 0.8);
  loader.css({
    width: target.width() +  wPadding + 'px',
    height: target.height() +  wPadding + 'px'
  }).hide().appendTo(target);
  loader.show();
}
function showLoginError(msg){
  
  var html = '<p id="invalidLogin" style="text-align:center;color:red;line-height:20px;">'+msg+'</p>';
    var $dialog = $('<div></div>')
                    .html(html)
                    .dialog({
                        autoOpen: false,
                        modal: true,
                        title: ''
                    });
                    $dialog.dialog('open');

} 


function toIdentify(formData){
  var wAction = $('#frmUserLogin').attr('action').replace('auth', 'auth/loginxhr');
  $.ajax({
        type: "POST",
        timeout:30000,
        url: wAction  ,
        dataType: 'json',
        data:formData ,
        success: function(data){
          if (typeof data.status === 'number'){
            if(formData.remember === 1){
                $.cookie('tvnRememberAuth', time());
            }
            setTimeout(function(){window.location = data.redirect;}, 2000);
          }
          else{
            if ($('#userLoginLoader').length > 0){
              $('#userLoginLoader').remove();
            }
            $('#login').removeAttr("disabled");
            showLoginError(data.msg);
            return;
          }
        },
        beforeSend: function(){
          if ($('#invalidLogin').length > 0){
            $('#invalidLogin').remove();
          }
          showQuickLoginLoader('#userLoginBox');
          $('#login').attr('disabled','disabled');
        },
        error:function(xhr, str, er){
            alert('error status');
            if ($('#invalidLogin').length > 0){
                 $('#invalidLogin').remove();
            }
            $('#login').removeAttr("disabled"); 
            return;
        } 
    });  
}
function loginValidation(){
  return validEmail($('#email')) && ( $.trim($('#password').val()).length > 0 )
}
$(function() {
  $('#frmUserLogin').submit(function () { return false; }); // so it won't submit
  $('#frmUserLogin').keypress(function(e) {
    if (e.which == 13) {
      return false;
    }
  });
  $('#login').click(function(){
    if(!loginValidation()){
      showLoginError('Invalid Login');
      return;
    }
    else{
      var mRemember = 0;
      if($('#remember').is(':checked')){
        mRemember = 1;
      }
      
      var formData = {email:$('#email').val(),password:$('#password').val(),remember:mRemember};
      toIdentify(formData);
    }
    return false;
  });
  
}); 


function slideSwitch() {
    var $active = $('#slideshow IMG.active');

    if ( $active.length == 0 ) $active = $('#slideshow IMG:last');

    // use this to pull the images in the order they appear in the markup
    var $next =  $active.next().length ? $active.next()
        : $('#slideshow IMG:first');

    // uncomment the 3 lines below to pull the images in random order
    
    // var $sibs  = $active.siblings();
    // var rndNum = Math.floor(Math.random() * $sibs.length );
    // var $next  = $( $sibs[ rndNum ] );


    $active.addClass('last-active');

    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 1000, function() {
            $active.removeClass('active last-active');
        });
}

$(function() {
    setInterval( "slideSwitch()", 8000 );
});
