var xScroll, yScroll, timerPoll, timerRedirect, timerClock;
var idlestatus=false;

function initRedirect(){
	if(idlestatus=='true')change_status_hidden('O');
  if (typeof document.body.scrollTop != "undefined"){ //IE,NS7,Moz
    xScroll = document.body.scrollLeft;
    yScroll = document.body.scrollTop;

    clearInterval(timerPoll); //stop polling scroll move
    clearInterval(timerRedirect); //stop timed redirect
    
    timerPoll = setInterval("pollActivity()",1); //poll scrolling
    timerRedirect = setInterval("notifyIdle()",200000); //set timed redirect
  }
  else if (typeof window.pageYOffset != "undefined"){ //other browsers that support pageYOffset/pageXOffset instead
    xScroll = window.pageXOffset;
    yScroll = window.pageYOffset;

    clearInterval(timerPoll); //stop polling scroll move
    clearInterval(timerRedirect); //stop timed redirect

    timerPoll = setInterval("pollActivity()",1); //poll scrolling
    timerRedirect = setInterval("notifyIdle()",200000); //set timed redirect
  }
  //else do nothing
   idlestatus='false';
}

/**********************************************************/
/* This function checks for activity on the screen.	  	  */
/**********************************************************/
function pollActivity()
{
	if ((typeof document.body.scrollTop != "undefined" && (xScroll!=document.body.scrollLeft || 
		 yScroll!=document.body.scrollTop)) //IE/NS7/Moz
  	  	 ||
   	   	(typeof window.pageYOffset != "undefined" && (xScroll!=window.pageXOffset || yScroll!=window.pageYOffset))) //other browsers
	{
		initRedirect(); //reset polling scroll position
  	}
}

/**********************************************************/
/* This will idle detect in each iframe and all its 	  */
/* sub-iframes and sub-frames up to the innermost 		  */
/* frame/iframe, if any 								  */
/**********************************************************/
function detectIdle(win){
  if (!win) win = window;
  setWinHandlers(win);

  //idle detect for each iframe inside each iframe
  var iframes = win.document.getElementsByTagName('iframe');
  for (var i=0; i<iframes.length; i++){
    win = iframes[i].contentWindow;
    setWinHandlers(win);
    detectIdle(win);
  }

  //idle detect for each frame inside each frameset
  var frames = win.frames;
  for (var i=0; i<frames.length; i++){  
    win = frames[i];
    setWinHandlers(win);
    detectIdle(win);
  }
}

function setWinHandlers(win){
  xAttachEvent(win.document, 'mousemove', initRedirect);
  xAttachEvent(win.document, 'click', initRedirect);
  xAttachEvent(win.document, 'keydown', initRedirect);
  xAttachEvent(win, 'resize', initRedirect);
}

function xAttachEvent(el, evtName, handler){
  if (el.addEventListener){
     el.addEventListener(evtName, handler, false);
  }
  else if (el.attachEvent){
    el.attachEvent('on' + evtName, handler);
  }
}

/**********************************************************/
/* This function shows the warning by calling toggleLayer */
/* and setting a timer to redirect to the lougout page.   */
/**********************************************************/
function notifyIdle()
{

	idlestatus='true';
	change_status_hidden('I');

}