var w3c=(document.getElementById)?true:false;
var ie=(document.all)?true:false;
var N=-1;

function createBar(w,h,bgc,brdW,brdC,blkC,speed,blocks,count,action,visibility, posTop, posLeft, strMsg){

	if(ie||w3c){
		var t='<div id="_xpbar'+(++N)+'" style="visibility:'+visibility +'; position:absolute; overflow:hidden; width:'+w+'px; height:'+h+'px; background-color:'+bgc+'; border-color:'+brdC+'; border-width:'+brdW+'px; border-style:solid; font-size:1px; margin-top:'+posTop+'px; margin-left:'+posLeft+'px;">';
		t+='<span id="blocks'+N+'" style="left:-'+(h*2+1)+'px; position:absolute; font-size:1px">';
		
		for(i=0;i<blocks;i++){
			t+='<span style="background-color:'+blkC+'; left:-'+((h*i)+i)+'px; font-size:1px; position:absolute; width:'+h+'px; height:'+h+'px; '
			t+=(ie)?'filter:alpha(opacity='+(100-i*(100/blocks))+')':'-Moz-opacity:'+((100-i*(100/blocks))/100);
			t+='"></span>';
		}
		
		t+='</span><div style="font-size:12px; font-family: verdana; text-align: center;">'+strMsg+'</div></div>';
		document.write(t);
		var bA=(ie)?document.all['blocks'+N]:document.getElementById('blocks'+N);
		bA.bar=(ie)?document.all['_xpbar'+N]:document.getElementById('_xpbar'+N);
		bA.blocks=blocks;
		bA.N=N;
		bA.w=w;
		bA.h=h;
		bA.speed=speed;
		bA.ctr=0;
		bA.count=count;
		bA.action=action;
		bA.togglePause=togglePause;
		
		bA.showBar=function(){
		 this.bar.style.visibility="visible";
		}
	
		bA.hideBar=function() {
			this.bar.style.visibility="hidden";
		}
	
		bA.tid=setInterval('startBar('+N+')',speed);
		return bA;
	}
}

function startBar(bn){
var t=(ie)?document.all['blocks'+bn]:document.getElementById('blocks'+bn);
if(parseInt(t.style.left)+t.h+1-(t.blocks*t.h+t.blocks)>t.w){
t.style.left=-(t.h*2+1)+'px';
t.ctr++;
if(t.ctr>=t.count){
eval(t.action);
t.ctr=0;
}}else t.style.left=(parseInt(t.style.left)+t.h+1)+'px';
}

function togglePause(){
if(this.tid==0){
this.tid=setInterval('startBar('+this.N+')',this.speed);
}else{
clearInterval(this.tid);
this.tid=0;
}}

function togglePause(){
if(this.tid==0){
this.tid=setInterval('startBar('+this.N+')',this.speed);
}else{
clearInterval(this.tid);
this.tid=0;
}}


function showBar(object)
  {
  var divBar = getObject('divBar');
  if ( divBar.length ) {
    // defensive code from multiple declaration of divBar DIV
    divBar = divBar[0];
  }
  var divBarPosLeft = getLeft(divBar);
  var divBarPosTop = getTop(divBar);

  if (document.layers && document.layers[object])
    { 
    var clientHeight = window.innerHeight;
    var clientWidth = window.innerWidth;
    var scrollTop = window.pageYOffset;
    var scrollLeft = window.pageXOffset;

    // if (scrollTop > clientHeight) {
    	var verticalPos = scrollTop + clientHeight/2 - divBarPosTop - barreHeight/2;    	
    	var alignPos = scrollLeft + clientWidth/2 - divBarPosLeft - barreWidth/2;
    	document.layers[object].marginTop = verticalPos + 'px';
    	document.layers[object].marginLeft = alignPos + 'px';
    // }
    document.layers[object].visibility = 'visible';
    } 
  else if (document.all)
    {
    var clientHeight = document.body.clientHeight;
    var clientWidth = document.body.clientWidth;
    var scrollTop = document.body.scrollTop;
    var scrollLeft = document.body.scrollLeft;

    // if (scrollTop > clientHeight) {
    	var verticalPos = scrollTop + clientHeight/2 - divBarPosTop - barreHeight/2;    	
        var alignPos = scrollLeft + clientWidth/2 - divBarPosLeft - barreWidth/2;
    	document.all[object].style.marginTop = verticalPos + 'px';
    	document.all[object].style.posLeft = alignPos + 'px';
    // }
    document.all[object].style.visibility = 'visible';
    document.all[object].style.zIndex = 100;
    }
  else if (document.getElementById) 
    {
    var clientHeight = document.body.clientHeight;
    var clientWidth = document.body.clientWidth;
    var scrollTop = document.body.scrollTop;
    var scrollLeft = document.body.scrollLeft;
    // if (scrollTop > clientHeight) {
    	var verticalPos = scrollTop + clientHeight/2 - divBarPosTop - barreHeight/2;  	
    	var alignPos = scrollLeft + clientWidth/2 - divBarPosLeft - barreWidth/2;
    	document.getElementById(object).style.marginTop = verticalPos + 'px';
    	document.getElementById(object).style.posLeft = alignPos + 'px';    
    // }
    document.getElementById(object).style.visibility = 'visible';     
    document.getElementById(object).style.zIndex = 100; 
    } 
  }

function hideBar(object)
  {
  if (document.layers && document.layers[object])
    { 
    document.layers[object].visibility = 'hidden';
    } 
  else if (document.all)
    { 
    document.all[object].style.visibility = 'hidden';
    }
  else if (document.getElementById) 
    {
    document.getElementById(object).style.visibility = 'hidden'; 
    } 
  }
  
function getObject(object) {
  if (document.layers && document.layers[object])
    { 
    return document.layers[object];
    } 
  else if (document.all)
    { 
    return document.all[object];
    }
  else if (document.getElementById) 
    {
    return document.getElementById(object); 
    } 
}    
  
function getLeft(MyObject)
//Fonction permettant de connaître la position d'un objet
//par rapport au bord gauche de la page.
//Cet objet peut être à l'intérieur d'un autre objet.
    {
    if (MyObject.offsetParent)
        return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
    else 
        return (MyObject.offsetLeft);
    }


function getTop(MyObject)
//Fonction permettant de connaître la position d'un objet
//par rapport au bord haut de la page.
//Cet objet peut être à l'intérieur d'un autre objet.
    {
    if (MyObject.offsetParent)
        return (MyObject.offsetTop + getTop(MyObject.offsetParent));
    else
        return (MyObject.offsetTop);
    }
    
function getWidth(MyObject)
//Fonction permettant de connaître la position d'un objet
//par rapport au bord haut de la page.
//Cet objet peut être à l'intérieur d'un autre objet.
    {
        return (MyObject.offsetWidth);
    }

  
