var posArray = new Array();
var ub=new Array();

function getRef(id) {
  if (!id || id==null)
  	return null;
  if (id.nodeName)
    return id;
  return eval(document.getElementById(id));
}

var opacityAdjust=0;
var opacityMode=3;
var initBrowserDone=false;

function initBrowser(element) {
	if (initBrowserDone)
		return;
	isMac = navigator.userAgent.toLowerCase().indexOf('mac');
	opacityAdjust = (isMac) ? 0 : .001;
	if (element.filters)
		opacityMode=2;
	else {
		try {
			if (element.style.opacity!=null)
				opacityMode=0;
			else if (element.style.MozOpacity!=null)
				opacityMode=1;
			else if (element.style.KhtmlOpacity!=null)
				opacityMode=4;
			else {
				element.style.opacity=1;
				opacityMode=0;
			}
		}
		catch (e) {
			opacityMode=3;
		}
	}
	initBrowserDone=true;
}

var hiddenEmbeds=null;
function showEmbeds() {
  if (hiddenEmbeds==null) return;
  for (var n=0;n<hiddenEmbeds.length;n++)
    hiddenEmbeds.item(n).style.visibility="visible";
  hiddenEmbeds=null;
}
function hideEmbeds() {
}

function hideFlash(id) {
	document.getElementById(id).style.display='none';
}

function fadeElement(id,opacity,msec,bg,xpos,ypos,width,height) {

  if(checkVisibility(id)) {
    makeOpacity(id,opacity,0,msec);
    showNonFadables();
	if(bg == 1)setBgFilter(0);
  } else {
  	//hideNonFadables();       
    if(bg == 1)setBgFilter(1);
    setElPosition(id,xpos,ypos,width,height);
    setOpacity(id,1);
    setVisibility(id,"visible");
    makeOpacity(id,1,opacity,msec);
  }
}

function fadeElement_flash(id,opacity,msec,bg) {

  if(checkVisibility(id)) {
    makeOpacity(id,opacity,0,msec);
    showNonFadables();
	if(bg == 1)setBgFilter(0);
  } else {
  	hideNonFadables();       
    if(bg == 1)setBgFilter(1);
    setElPosition(id,xpos,ypos,width,height);
    setOpacity(id,1);
    setVisibility(id,"visible");
    makeOpacity(id,1,opacity,msec);
  }
  setTimeout("hideFlash('movie_container')",1000);
}

function makeOpacity(id, opacStart, opacEnd, millisec) { 
  var speed = Math.round(millisec / 100); 
  var timer = 0;
  if(opacStart > opacEnd) { 
    for(var i = opacStart; i >= opacEnd; i--) { 
      setTimeout("setOpacity('" + id + "'," + i + ")",(timer * speed)); 
      timer++; 
    }
    setTimeout("showEmbeds()",(timer * speed));
  }
  if(opacStart < opacEnd) { 
    setTimeout("hideEmbeds()",0);
    for(var i = opacStart; i <= opacEnd; i++)  { 
      setTimeout("setOpacity('" + id + "'," + i + ")",(timer * speed)); 
      timer++; 
    }
  }
} 

function setVisibility(id,value) {
  var obj = getRef(id);
  if (obj!=null) {    
    obj.style.visibility = value;
  }
  return true;
}

function checkVisibility(id) {

  var isvisible = true; 
  var obj = getRef(id);
 
  if (obj==null) return false;
  
  var check = obj.style.visibility;  
  if(check == "hidden" || check == "") {    
    isvisible = false;
  }  
  return isvisible;
}

function setElPosition(id,x,y,w,h) {
  var obj = getRef(id);
  if (obj==null) return true;
 
  obj.style.width = w==-1?"100%":w+"px";
  obj.style.height = h==-1?"100%":h+"px";
  
  if(x == -1) x = (document.body.clientWidth / 2) - w/2;  
  if(y == -1) y = (document.documentElement.clientHeight / 2) + document.documentElement.scrollTop - h/2;

  obj.style.left = x+"px";
  obj.style.top = y+"px";
  
  return true;
}

function setOpacity(element,opacity) {
	element = getRef(element);
	if (element && element!=null) {
		if (!initBrowserDone)
			initBrowser(element);
		switch (opacityMode) {
		case 0:
			if (opacity==0) {
				element.style.visibility="hidden";
			}
			else {
				element.style.visibility="visible";
				element.style.opacity=(opacity/100)-opacityAdjust;
			}
			break;
		case 1:
			if (opacity==0) {
				element.style.visibility="hidden";
			}
			else {
				element.style.visibility="visible";
				element.style.MozOpacity=(opacity/100)-opacityAdjust;
			}
			break;
		case 4:
			if (opacity==0) {
				element.style.visibility="hidden";
			}
			else {
				element.style.visibility="visible";
				element.style.KhtmlOpacity=(opacity/100)-opacityAdjust;
			}
			break;
		case 2:
			if (opacity==0) {
				element.style.visibility="hidden";
			}
			else {
				element.style.visibility="visible";
				if (opacity<100)
					element.style.filter="Alpha(opacity="+opacity+")";
				else
					element.style.filter="";
			}
			break;
		case 3:
			if (opacity<50)
				element.style.visibility="hidden";
			else
				element.style.visibility="visible";
			break;
		}
	}
}

function getParentProps(elem, prop) {    
    var result = 0;
    while (elem != null) {
        result += elem[prop];
        elem = elem.offsetParent;
    }
    return result;
}

function setBgFilter(no){

	var Bb=getRef("bgfilter");
	
	if(!Bb) return;
	
	if(no==1){
	    
		var Cb,yScroll;
		if(window.innerHeight&&window.scrollMaxY){
			Cb=document.body.scrollWidth;
			yScroll=window.innerHeight+window.scrollMaxY;
		} else if(document.body.scrollHeight>document.body.offsetHeight){
		   	Cb=document.body.scrollWidth;yScroll=document.body.scrollHeight;
		} else{
		    Cb=document.body.offsetWidth;yScroll=document.body.offsetHeight;
		}
		
        var Db,windowHeight;
        if(self.innerHeight){
        	Db=self.innerWidth;windowHeight=self.innerHeight;
        } else if(document.documentElement&&document.documentElement.clientHeight){
        	Db=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;
        } else if(document.body){
        	Db=document.body.clientWidth;windowHeight=document.body.clientHeight;
        }
        
        var Eb,pageWidth;
        if(yScroll<windowHeight){
        	Eb=windowHeight;
        } else{
            Eb=yScroll;
        }
        
        if(Cb<Db){
        	pageWidth=Db;
        } else{
            pageWidth=Cb;
        }
        
        w=document.body.clientWidth;
        h=Eb;        
        Bb.style.width=w+"px";
        Bb.style.height=h+"px";
        Bb.style.visibility="visible";
        Bb.style.display="block";
        setOpacity("bgfilter",30);
       
   } else{
        Bb.style.width="0px";
        Bb.style.height="0px";
        Bb.style.visibility="hidden";
        Bb.style.display="none";
   }
}

function showNonFadables(){
	for(var n=0;n<ub.length;n++){
		var wb=ub[n];
		wb.elem.style.display=wb.disp;
	}
}

function hideNonFadables(){
	ub=new Array();
	var nl;	
    nl=document.getElementsByTagName("object");
    hideNonFadables_(nl);
}

function hideNonFadables_(nl){
	for(var n=0;n<nl.length;n++){
		var e=nl.item(n);
		var vb=new Object();
		vb.elem=e;
		vb.disp=e.style.display;
		e.style.display="none";
		ub.push(vb);
	}
}