﻿if (!PS) var PS = new Object();

PS.SignIn = new Object();

PS.SignIn.initialized = false;
PS.SignIn.isUserSignedIn = false;
PS.SignIn.canceling = false;
PS.SignIn.notifying = false;

PS.SignIn.signInNotifications = new Array();
PS.SignIn.signOutNotifications = new Array();

PS.SignIn.show = function(type, msg, error)
{
   try{  
   if (!PS.SignIn.initialized)
      PS.SignIn.initialized = true;



   PS.SignIn.canceling = false;
   
   
  }catch(e){}
   window.lightboxes.show('PSNetworkLogin');
   document.getElementById('frameSignIn').src = '/MasterPages/PS/SignIn.aspx?' + type + '&error=' + error + (window.location.protocol == 'https' ? '&secure' : '') + ('&msg=' + msg);
   
}

PS.SignIn.hide = function()
{
   if(window.lightboxes!=null)
      window.lightboxes.hide('PSNetworkLogin');     
     
}

PS.SignIn.notify = function(notifications)
{
   PS.SignIn.notifying = true;
   for (i = 0; i < notifications.length; i++) {
      try {
         notifications[i]();
      }
      catch (err) {
      }
   }
   PS.SignIn.notifying = false;
}

PS.SignIn.notifySignIn = function()
{
   var notifications = PS.SignIn.signInNotifications;
   PS.SignIn.signInNotifications = new Array();
   PS.SignIn.notify(notifications);
}

PS.SignIn.notifySignOut = function()
{
   var notifications = PS.SignIn.signOutNotifications;
   PS.SignIn.signOutNotifications = new Array();
   PS.SignIn.notify(notifications);
}

PS.SignIn.cancel = function()
{
   PS.SignIn.canceling = true;
   PS.SignIn.hide();
   PS.SignIn.notifySignIn();
}

PS.SignIn.success = function(reload)
{
   PS.SignIn.hide();
   PS.SignIn.isUserSignedIn = true;
   if (reload)
      document.getElementById('frameUnderground').src = document.getElementById('frameUnderground').src + "";


   PS.SignIn.notifySignIn();
}

PS.SignIn.size = function(w, h)
{
   if (PS.SignIn.canceling)
      return;

   EC.DOM.getElement('frameSignIn').ecShow();
   EC.DOM.getElement('frameSignIn').ecSize(w, h);
   EC.DOM.getElement('divSignInLoading').ecHide();

   var el = EC.DOM.getElement('divSignIn');

   el.ecMove(EC.Page.scrollLeft() + (EC.Page.clientWidth() - w) / 2,
             EC.Page.scrollTop() + (EC.Page.clientHeight() - h) / 2);
   el.ecShow();
}

PS.SignIn.navigate = function(url)
{
   location.href = url;
}

PS.SignIn.addSignInNotification = function(f)
{
   PS.SignIn.signInNotifications[PS.SignIn.signInNotifications.length] = f;
}

PS.SignIn.addSignOutNotification = function(f)
{
   PS.SignIn.signOutNotifications[PS.SignIn.signOutNotifications.length] = f;
}

PS.SignIn.signOut = function()
{
   PS.SignIn.isUserSignedIn = false;
   PS.SignIn.notifySignOut();
}
