









var WINDOW_COOKIE_NAME = "desktop.windowCookie";

function setCookie(name, value, expires, path) {
    var curCookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "");
    document.cookie = curCookie;
}

function getCookie(Name) {
   var search = Name + "="
   if (document.cookie.length > 0) { // if there are any cookies
      offset = document.cookie.indexOf(search)
      if (offset != -1) { // if cookie exists
         offset += search.length
         // set index of beginning of value
         end = document.cookie.indexOf(";", offset)
         // set index of end of cookie value
         if (end == -1)
            end = document.cookie.length
         return unescape(document.cookie.substring(offset, end))
      }
   }
   return null;
}
function getWindowCookie() {
   var c = getCookie(WINDOW_COOKIE_NAME);
   return c;
}
function setWindowCookie(cookieString) {
   setCookie(WINDOW_COOKIE_NAME, cookieString, "", "/");
}
function parseWindowCookie() {
   var c = getWindowCookie();
   if (c != null && c.length > 0) {
      var windowNames = c.split("|");
      return windowNames;
   }
   return new Array(0);
}
function windowOpened(windowName) {
   if (isWindowOpened(windowName)) {
     return;
   }

   var c = getWindowCookie();
   if (c != null && c.length > 0) {
      c += "|" + windowName;
   } else {
      c = windowName;
   }
   //alert("windowOpened(): marked as open windowName=" + windowName + ", c=" + c);
   setWindowCookie(c);
}
function getWindowCookieString(windowNames) {
   if (windowNames != null && windowNames.length > 0) {
      var c = windowNames.join("|");
      return c;
   }
   return "";
}
function isWindowOpened(windowName) {
   var windowNames = parseWindowCookie();
   for (var i = 0; i < windowNames.length; i++) {
     if (windowNames[i] == windowName) {
        return true;
     }
   }
   return false;
}
function windowClosed(windowName) {
   var windowNames = parseWindowCookie();
   for (var i = 0; i < windowNames.length; i++) {
     if (windowNames[i] == windowName) {
       //alert("windowClosed(): marked as closed windowName=" + windowNames[i]);
        windowNames.splice(i, 1);
        // don't break, just in case window
        // was added twice
     }
   }
   var cookieString = getWindowCookieString(windowNames);
   setWindowCookie(cookieString);
}
function closeWindows() {
  closeWindows(null);
}
function closeWindows(regexp) {
   var thisWindow = window.name;
   var closeThisWindow = false;

   //special code for proxylet
   if(self.proxyletcleanup ){
        proxyletcleanup();
   }

   var windowNames = parseWindowCookie();

   for (var i = 0; i < windowNames.length; i++) {
     if (regexp == null || windowNames[i].match(regexp)) {
       if (thisWindow == windowNames[i]) {
         closeThisWindow = true;
       } else {
         windowClosed(windowNames[i]);
         closeWindow(windowNames[i]);
       }
     }
   }

   if (closeThisWindow) {
     windowClosed(thisWindow);
     closeWindow(thisWindow);
   }
}

function pausefor(millis)
{
var date = new Date();
var curDate = null;

do { curDate = new Date(); }
while(curDate-date < millis);
} 

function closeWindow(windowName) {
var logoutSGD = false;

      logoutSGD = true;


if (logoutSGD){
    var lwin = window.open("https://private.sistri.it/http://am.sistri.it/UI/Logout", "logoutwin");
    pausefor(2000);
    lwin.close();
}  
  window.open("/portal/close.html", windowName);
}


