/*	ajaxloadingpanel.init(); // initialize loading panel on page load (turned on by default)
	ajaxloadingpanel.show(); // show the panel during the AJAX request
	ajaxloadingpanel.hide(); // hide the panel when AJAX request is over
*/

var ajaxLoadingPanelRootFolder = '../../js/loading/';
var ajaxLoadingPanelEnabled = true;
	var ovrlay = true;
	var modalOverlayBackground = '#000';	// overlay // 
	var modalOverlayOpacity = '3' // 0-9	// overlay // 
var loadingIndicator = 'grade_32x32.gif'; // 'Loading_02.gif';
var displayLoadingMessage = true;
var loadingMessage = 'Ajustement&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;de la page';
var loadingMessageFontProperties = 'bold 12px "Segoe UI", "Trebuchet MS", Arial, Verdana, Serif';
var loadingMessageColor = '#ffffff';
var loadingMessageAlign = 'center';
var loadingMessageWidth = '240';
var loadingMessageHeight = '46';
var loadingMessageBgColor = '#849664'; // '#ff8000';
var loadingIndicatorBackgroundPosition = 'center'; // vertical position | horizontal position
var loadingMessageRoundedCornersRadius = 'large'; // "small", "medium" or "large" 
var loadingMessageRoundedCornersDitherColor = '#777'; // coins
var loadingMessageRoundedCornerTopLeft = true;
var loadingMessageRoundedCornerTopRight = true;
var loadingMessageRoundedCornerBottomRight = true;
var loadingMessageRoundedCornerBottomLeft = true;

var ajaxloadingpanel = {};

function loadingpanel(){if(!ajaxLoadingPanelEnabled){return false;}

$stylesheet(
ajaxLoadingPanelRootFolder+'jscript/loaderwait.css','loaderwaitBaseStyleSheet');

var html=document.documentElement;
var body=document.getElementsByTagName('body')[0];
	if(ovrlay){var modaloverlay=$create('div')};	// overlay //
var loading=$create('div');

if(ovrlay){
	modaloverlay.setAttribute('id','ajaxLoadingPanelModalOverlay');	// overlay //
	modaloverlay.setAttribute('unselectable','on');	}				// overlay //
	
loading.setAttribute('id','msgloading');
loading.setAttribute('unselectable','on');
//document.getElementById('msgloading').onclick = function(){ajaxloadingpanel.hide()};
//msgloading.onclick = function(){ajaxloadingpanel.hide()}
//alert(loading.id);

if(ovrlay){// overlay //
 modaloverlay.style.backgroundColor=modalOverlayBackground;	
 modaloverlay.style.height=html.scrollHeight+'px';
	if(modalOverlayOpacity!='0'){
modaloverlay.style.filter='alpha(opacity='+modalOverlayOpacity+'0)';
modaloverlay.style.msFilter='"progid:DXImageTransform.Microsoft.Alpha(Opacity='+modalOverlayOpacity+'0)"';
modaloverlay.style.opacity='.'+modalOverlayOpacity;
modaloverlay.style.mozOpacity='.'+modalOverlayOpacity
	}
}	
	loading.innerHTML=loadingMessage;
	loading.style.backgroundColor=loadingMessageBgColor;
	loading.style.width=loadingMessageWidth+'px';
	loading.style.height=loadingMessageHeight+'px';

	loading.style.marginLeft='-'+loadingMessageWidth/2+'px';
	loading.style.marginTop='-'+loadingMessageHeight/2+'px';
 		if(ovrlay){body.appendChild(modaloverlay)};// overlay //
	body.appendChild(loading);
	var loadbox=$get('msgloading');
	roundCornerstyle.demand('msgloading',loadingMessageRoundedCornersRadius,loadingMessageRoundedCornersDitherColor,loadingMessageRoundedCornerTopLeft,loadingMessageRoundedCornerTopRight,loadingMessageRoundedCornerBottomRight,loadingMessageRoundedCornerBottomLeft);
	var contentstyle=$get('msgloading_content').style;
	contentstyle.color=loadingMessageColor;
	contentstyle.font=loadingMessageFontProperties;
	contentstyle.textAlign=loadingMessageAlign;
	contentstyle.lineHeight=$get('msgloading_content').offsetHeight+'px';
	contentstyle.backgroundImage='url(\''+ajaxLoadingPanelRootFolder+'/temoins/'+loadingIndicator+'\')';
	contentstyle.backgroundPosition=loadingIndicatorBackgroundPosition;
	contentstyle.backgroundRepeat='no-repeat';
	var innerelements=$get('msgloading').getElementsByTagName('*');
	for(i=0;i<innerelements.length;i++){innerelements[i].setAttribute('unselectable','on')
	}

ajaxloadingpanel.show=function(){if(ajaxLoadingPanelEnabled){
if ((rv > 0) && (rv <= 6)) {
var scrOfY = 0, haut;
 if( typeof( window.pageYOffset ) == 'number' ) {scrOfY = window.pageYOffset}
 else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
  scrOfY = document.body.scrollTop}
 else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
  scrOfY = document.documentElement.scrollTop}

if (window.innerHeight) {haut=window.innerHeight}
  else if (document.documentElement && document.documentElement.clientHeight) {haut=document.documentElement.clientHeight}
  else if (document.body) {haut=document.body.clientHeight};

	loading.style.top = ((haut/2) + scrOfY) + 'px';
}
	if(ovrlay){$get('ajaxLoadingPanelModalOverlay').style.display='block'}; // overlay //
if (displayLoadingMessage){$get ('msgloading').style.display='block';
$get('msgloading').style.cursor='wait'};
	}; setTimeout('ajaxloadingpanel.hide()',10000);
};

ajaxloadingpanel.hide=function(){if(ajaxLoadingPanelEnabled){
	if(ovrlay){$get('ajaxLoadingPanelModalOverlay').style.display='none'};	// overlay // 
$get('msgloading').style.display='none';
$get('msgloading').style.cursor='';
}};

if(ajaxLoadingPanelEnabled){ajaxloadingpanel.hide()}
}



function $tag(tagName){	return document.getElementsByTagName(tagName);}

function $create(element){return document.createElement(element);}

function $get(stringId){return document.getElementById(stringId);}

function $stylesheet(file, id){
	var stylesheet = document.createElement('link'); stylesheet.setAttribute('type', 'text/css');
	stylesheet.setAttribute('rel', 'stylesheet'); stylesheet.setAttribute('href', file);
	stylesheet.setAttribute('id', id);
	
	if($get(id) == null) {
		document.getElementsByTagName('head')[0].appendChild(stylesheet);	}
}

function $script(file, id){
	var script = document.createElement('script');	
	script.setAttribute('type', 'text/javascript');
	script.setAttribute('src', file);
	script.setAttribute('id', id);
	
	if($get(id) == null) {
		document.getElementsByTagName('head')[0].appendChild(script);}
}

ajaxloadingpanel.init = function(){
	if(ajaxLoadingPanelEnabled)	{
		if (window.addEventListener){window.addEventListener('load', function(e){ loadingpanel(); }, false);}
		if (window.ActiveXObject){window.attachEvent('onload', function(e){ loadingpanel(); });}
	}
}

ajaxloadingpanel.init();
