var inWait = false;
var myTimer = null;
var myInterval = null;
var messCloseTimer = null;
var delay = 14*60*1000; // 14 минут - ожидание действий пользователя
var intervalDelay = 15*1000; // 15 секунд - Периодический запуск функции ожидания
var messCloseDelay = 7*1000; // 7 секунд - Ожидание нажатия кнопки в сообщении о дополнительном времени
var redirectUrl = "http://www.spkugra.ru"; // URL - для редиректа
/*var pageForShowMsg = "kiosk/enter/pc"; // Код страницы где сообщение о дополнительном времени может показываться*/
var messText="В целях обеспечения безопасности будет выполнен выход из системы.<br><nobr> Хотите продолжить работу в системе?</nobr> ";
var isIE=(window.attachEvent) ? true:false;

/*
if (typeof(timeout) != "undefined" && timeout && timeout > 0) {
   //delay = timeout * 1000;
   setDelay(timeout * 1000);
}
if (typeof(messCloseTimeout) != "undefined" && messCloseTimeout && !isNaN(parseFloat(messCloseTimeout)) && messCloseTimeout > 0) {
  //messCloseDelay = messCloseTimeout * 1000;
  setMessCloseDelay(messCloseTimeout * 1000);
}
if (typeof(persPageCode) != "undefined" && persPageCode) {
  // Код страницы персонального раздела
  //pageForShowMsg = persPageCode;
  setPageForShowMsg(persPageCode);
} */

function setDelay(value) {
   delay = value;
}
function setMessCloseDelay(value) {
   messCloseDelay = value;
}
/*
function setPageForShowMsg(value) {
   pageForShowMsg = value;
}  */
function setRedirectUrl(value) {
   redirectUrl = value;
}
function setMessText(value) {
   messText = value;
}

var baseUrl = (document.getElementsByTagName("base")[0] != null) ? document.getElementsByTagName("base")[0].href : "";
var _root = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null;
//var _root = window.document;

function doRedirect() {
  var loc = self.location.href;
  if (self.getSpkRedirectUrl) redirectUrl = getSpkRedirectUrl();
  var redirectPage = (redirectUrl.indexOf("http://") != -1 || redirectUrl.indexOf("https://") != -1) ? redirectUrl : baseUrl + redirectUrl;
  if (loc.indexOf(redirectPage) != -1) {
    clearTimer();
    return;
  }
  self.location.href = redirectPage;
}

function askForMoreTime() {
//  if (self.location.href.indexOf(pageForShowMsg) != -1) {
//    var str = '<sc' + 'ript>var pic1 = new Image(124,124);pic1.src = "images/hkiosk2/yes_down.gif";var pic2 = new Image(124,124);pic2.src = "images/hkiosk2/no_down.gif";var pic3="";var pic4="";</' + 'sc' + 'ript>';
    var str = '<table><tr><th colspan="2">'+messText+'<br><br></th></tr><tr>' +
              '<th style="padding-right:20px;">' +
                '<div class="normalbutt"><button type="button" onclick="stopWait();hideMessageToUser();"><img src="admin/icons/i205.gif" alt="" align="absmiddle"/>&nbsp;Да</button></div>'+
              '</th><th style="padding-left:20px;">' +
                '<div class="normalbutt"><button type="button" onclick="doRedirect();"><img src="admin/icons/i206.gif" alt="" align="absmiddle"/>&nbsp;Нет</button></div>' +
              '</th></tr></table>';
    showMessageToUser(self, str, null);
//  }
  messCloseTimer = setTimeout("doRedirect()", messCloseDelay);
}

function setTimer() {
  myTimer = setTimeout("askForMoreTime()", delay);
}

function clearTimer() {
  if (myTimer != null) clearTimeout(myTimer);
  myTimer = null;
  if (messCloseTimer != null) clearTimeout(messCloseTimer);
  messCloseTimer = null;
  inWait = false;
}

function stopWait() {
  if (_root) {
     if (_root.removeEventListener) {
        _root.removeEventListener("click", stopWait, false);
        _root.removeEventListener("mousedown", stopWait, false);
     }
     else if (_root.detachEvent) {
        _root.detachEvent("onclick", stopWait);
        _root.detachEvent("onmousedown", stopWait);
     }
  }
  clearTimer();
}

function startWait() {
  if (inWait) return;
  if (_root) {
    if (_root.addEventListener) {
        _root.addEventListener("click", stopWait, false);
        _root.addEventListener("mousedown", stopWait, false);
    }
    else if (_root.attachEvent) {
        _root.attachEvent("onclick", stopWait);
        _root.attachEvent("onmousedown", stopWait);
    }
  }
  setTimer();
  inWait = true;
}

function initMyTimer() {
  startWait();
  myInterval = setInterval("startWait()", intervalDelay);
}

function showMessageToUser(inWindow, str, title) {
  var win=(inWindow)?inWindow:window;
  var _body=win.document.body;
   window.scroll(0,0);
  // stopAllEvent(win);
  var divHTML = '<div class="check01"></div><div class="checktop"><div class="checktophead">' +
                '<span style="display:block;padding:12px 0 0 12px;">' +
                ((!title || title == "") ? "&nbsp;" : title) + '</span></div></div><div class="check02"></div>' +
                '<div class="wrapper"></div><div class="checkfilter"><div class="checkfilterlist"><br/>' +
                '<table align="center"><tr><td valign="top"><strong>' + str + '</strong></td></tr></table>' +
                '</div></div><div class="check03"></div><div class="checkbottom"></div><div class="check04"></div>';

  var popupDiv=$("popupMessageDiv");
  if (!popupDiv) {
      var divTag = win.document.createElement("DIV");
      divTag.setAttribute("id", "popupMessageDiv");
      _body.appendChild(divTag);
      popupDiv=divTag;
  }
  popupDiv.innerHTML=divHTML;
  popupDiv.className="showMess_active";
    
  var x_offset = Math.round(( _body.clientWidth - popupDiv.offsetWidth) * 4 / 9);
  var x = (isIE?_body.scrollLeft:window.scrollX) + x_offset;

  var y_offset = 300;
  var h=_body.clientHeight;
  /*пляски с бубном  по причине того что (clientHeight=1 на любых Браузерах или clientHeight = ScrollHeight под IE) при попытке эмуляции min-width для IE6 (хак на дивах)*/
  if ((h<=1 && win.innerHeight) || (h>1 && !isIE)) {
    y_offset =  Math.round(( ((win.innerHeight)?win.innerHeight:h) - popupDiv.offsetHeight) * 4 / 9);
  }
  var y = (isIE?_body.scrollTop:window.scrollY) + y_offset;

  if (isIE) {
		popupDiv.style.pixelLeft = x;
		popupDiv.style.pixelTop = y;
	}
	else {
		popupDiv.style.left = x+"px";
		popupDiv.style.top = y+"px";
	}
	popupDiv.oncontextmenu=new Function("return false");
	if (win.addShadow) win.addShadow();
	if (win.showShadow) win.showShadow();
}

function hideMessageToUser(inWindow,messDiv) {
  var win=(inWindow)?inWindow:window;
  if(!messDiv) messDiv="popupMessageDiv";
  var div=(typeof(messDiv)=="string")?win.document.getElementById(messDiv):messDiv;
  if(!div) return;
  div.innerHTML="";
  div.className="editForm_passive";
  div.oncontextmenu="";
  if (win.hideShadow) win.hideShadow();
}


/* Предлоадер для страниц */
function pageLoading(mode) {
  var loaderDiv = document.getElementById("page-preLoader");
  if (!loaderDiv) return;

  if (!mode) {
      loaderDiv.style.display="none";
      return;
  }
  loaderDiv.style.display="";
  loaderDiv.className="preloading";
  loaderDiv.innerHTML="Идет получение данных...";

  if (document.addEventListener) {
      document.addEventListener("DOMContentLoaded", hidePageLoader, false);
  } else {
    window.attachEvent("onload", hidePageLoader);
  }
}

function hidePageLoader() {
  pageLoading(false);
}
