﻿var UI_BLOCKER_TIMER = 5;
var UI_BLOCKER_SPEED = 10;
var UI_BLOCKER_WRAPPER = 'main';

function ShowUIBlocker(){
	var blocker = document.getElementById('blocker');
	var blockermask = document.getElementById('blocker-mask');
	if(blocker!=null) return;

	blocker = document.createElement('div');
	blocker.id = 'blocker';
	blocker.style.cursor = "wait";
	blocker.style.opacity = .00;
	blocker.style.filter = 'alpha(opacity=0)';
	blocker.alpha = 0;
	document.body.appendChild(blocker);

	blockermask = document.createElement('div');
	blockermask.id = 'blocker-mask';
	
	var content = document.getElementById(UI_BLOCKER_WRAPPER);
	blockermask.style.height = content.offsetHeight + 'px';
	blockermask.style.cursor = "wait";
    document.body.appendChild(blockermask);
	
	blocker.timer = setInterval("fadeUIBlocker(1)", UI_BLOCKER_TIMER);
}

function HideUIBlocker(){
	var blocker = document.getElementById('blocker');
	clearInterval(blocker.timer);
	blocker.timer = setInterval("fadeUIBlocker(0)", UI_BLOCKER_TIMER);	
}


function fadeUIBlocker(flag) {
	  if(flag == null) {
	    flag = 1;
	  }
	  var blocker = document.getElementById('blocker');
	  var blockermask = document.getElementById('blocker-mask');
	  var value;
	  if(flag == 1) {
	    value = blocker.alpha + UI_BLOCKER_SPEED;
	  } else {
	    value = blocker.alpha - UI_BLOCKER_SPEED;
	  }
	  blocker.alpha = value;
	  blocker.style.opacity = (value / 100);
	  blocker.style.filter = 'alpha(opacity=' + value + ')';
	  if(value >= 99) {
		  clearInterval(blocker.timer);
		  blocker.timer = null;
	  } else if(value <= 1) {
		  blocker.style.cursor = "pointer";
		  blockermask.style.cursor = "pointer";
		  //blocker.style.visibility = "hidden";
		  //blockermask.style.visibility = "hidden";
		  clearInterval(blocker.timer);
		  
		  blocker.parentNode.removeChild(blocker);
		  blockermask.parentNode.removeChild(blockermask);		  
	  }
}
