// ==================================================
// crossfade functions ... NOTE: IE renders badly, so content fade is disabled
// ==================================================

var background_end_opacity = 60;
var background_delta_opacity = 12;
var content_delta_opacity = Math.round((100/(background_end_opacity/background_delta_opacity))*100)/100;
var timeout = 1

var win = document.getElementById('mapwindow');
var winbackground = document.getElementById('mapwindowbackground');
var wincontent = document.getElementById('mapwindowcontent');

var timer = null;

var background_cur_opacity = 0; // initialize background opacity (reset by fadeOut)
var content_cur_opacity;

function fadeIn() {
	win.style.display = 'block';

      if (background_cur_opacity == 0){
	  winbackground.style.opacity = 0;
	  winbackground.style.filter = "alpha(opacity=0)";
      }
	content_cur_opacity = 0;
	wincontent.style.opacity = 0;
	///wincontent.style.filter = "alpha(opacity=0)";
	
	timer = setTimeout("set_opacityIn()",timeout);
}

function set_opacityIn() {
      if (background_cur_opacity != background_end_opacity){
	  background_cur_opacity += background_delta_opacity;
	  winbackground.style.opacity = background_cur_opacity / 100;
	  winbackground.style.filter = "alpha(opacity=" + background_cur_opacity + ")";
      }	
	content_cur_opacity += content_delta_opacity;
	wincontent.style.opacity = content_cur_opacity / 100;
	///wincontent.style.filter = "alpha(opacity=" + content_cur_opacity + ")";
	
	if(background_cur_opacity < background_end_opacity) {
        timer = setTimeout("set_opacityIn()",timeout);
	}
	else { // force content window to 100% opacity
        wincontent.style.opacity = 1;
        ///wincontent.style.filter = "alpha(opacity=100)";
        background_cur_opacity = background_end_opacity; // set exact background opacity
	}
}

function fadeOut() {
	if(timeout > 0) {
		background_cur_opacity = background_end_opacity
		content_cur_opacity = 100;
	
		winbackground.style.opacity = background_cur_opacity / 100;
		winbackground.style.filter = "alpha(opacity=" + background_cur_opacity + ")";
	
		wincontent.style.opacity = content_cur_opacity / 100;
		///wincontent.style.filter = "alpha(opacity=" + content_cur_opacity + ")";
	
		timer = setTimeout("set_opacityOut()",timeout);
	}
	else {
		win.style.display = 'none';
	}
}

function set_opacityOut() {
	background_cur_opacity -= background_delta_opacity;
	content_cur_opacity -= content_delta_opacity;

	winbackground.style.opacity = background_cur_opacity / 100;
	winbackground.style.filter = "alpha(opacity=" + background_cur_opacity + ")";	

	wincontent.style.opacity = content_cur_opacity / 100;
	///wincontent.style.filter = "alpha(opacity=" + content_cur_opacity + ")";
	
	if(content_cur_opacity > 0) {
	  timer = setTimeout("set_opacityOut()",timeout);
	}
	else {
        background_cur_opacity = 0; // reset background opacity
	  win.style.display = 'none';
	}
}

