var slideAutoId;
var slideNum;
var slideID;
var slideX;
var slideY;
var slideOp;
var nextAnim;
var mode;

var flybyDx = 20;
var fadeDop = 0.1;
var popupDy = 10;
var PAUSE_ON = 10000;
var PAUSE_BETWEEN = 500;

function gotoURL(pURL) {
  location = pURL;
}

function slideSetX(x) {

  var e = document.getElementById('slide' + slideNum);
  if (e==null)
    return;
	
  e.style.left = x + "px";
}

function slideSetY(y) {

  var e = document.getElementById('slide' + slideNum);
  if (e==null)
    return;
	
  e.style.top = y + "px";
}

function slideSetOpacity(op) {

  var e = document.getElementById('slide' + slideNum);
  if (e==null)
    return;
  
  if (op>1) op = 1;
  if (op<0) op = 0;
  
  e.style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=' + op*100 + ')';
  e.style.opacity = op;  
}

function slideChange(num) {
//alert('d='+d);

  if (num!=null) {
    slideNum = num;
  }
  var e = document.getElementById('slide' + slideNum);
  if (e==null) {
    slideNum = 0;
    e = document.getElementById('slide' + slideNum);
  }
  
  if (e==null)
    return;

  var anim = e.getAttribute('zsAnim');
  if (anim=='flyby') {
    slideX = 1000;
    slideY = 0;
    slideOp = 1;
  } else if (anim=='popup') {
    slideY = 500;
	slideX = 0;
    slideOp = 1;
  } else if (anim=='fade') {
    slideX = 0;
	slideY = 0;
    slideOp = 0;
  }
	
  slideSetX(slideX);
  slideSetY(slideY);
  slideSetOpacity(slideOp);
  mode = 0;
}

function slideFade() {
  if (mode==0) {
    slideSetOpacity(slideOp);
	slideOp = slideOp + fadeDop;
    nextAnim = 150;
	if (slideOp>=1) {
	  mode = 1;
	}
  } else if (mode==1) {
    nextAnim = PAUSE_ON;
    mode=2;
	slideOp = 1;
    slideSetOpacity(slideOp);
  } else {
    slideSetOpacity(slideOp);
	slideOp = slideOp - fadeDop;
    nextAnim = 50;
	if (slideOp<=0) {
	  slideSetX(1000);
	  slideChange(slideNum + 1);
      nextAnim = PAUSE_BETWEEN;
	}
  }  
	
  slideAutoId = setTimeout("slideAnim()",nextAnim);
}

function slideFlyby() {
  if (mode==0) {
    slideSetX(slideX);
	slideX = slideX - flybyDx;
	if (slideX<10) {
	  slideX = 0;
	  mode = 1;
	}
    nextAnim = 5;
  } else if (mode==1) {
    slideSetX(slideX);
    nextAnim = PAUSE_ON;
    mode=2;
  } else {
    slideSetX(slideX);
	slideX = slideX - flybyDx;
    nextAnim = 5;
	if (slideX<-1000) {
	  slideChange(slideNum + 1);
      nextAnim = PAUSE_BETWEEN;
	}
  }  
	
  slideAutoId = setTimeout("slideAnim()",nextAnim);
}

function slidePopup() {
  if (mode==0) {
    slideSetY(slideY);
	slideY = slideY - popupDy;
	if (slideY<10) {
	  slideY = 0;
	  mode = 1;
	}
    nextAnim = 5;
  } else if (mode==1) {
    slideSetY(slideY);
    nextAnim = PAUSE_ON;
    mode=2;
  } else {
    slideSetY(slideY);
	slideY = slideY + popupDy;
    nextAnim = 5;
	if (slideY>500) {
	  slideChange(slideNum + 1);
      nextAnim = PAUSE_BETWEEN;
	}
  }  
	
  slideAutoId = setTimeout("slideAnim()",nextAnim);
}

function slideAnim() {
  var e = document.getElementById('slide' + slideNum);
  if (e==null)
    return;
	
  var anim = e.getAttribute('zsAnim');
  if (anim=='flyby') {
    slideFlyby();
  } else if (anim=='popup') {
    slidePopup();
  } else if (anim=='fade') {
    slideFade();
  }
}

function slideStart() {
  slideChange(0);
  slideAutoId = setTimeout("slideAnim()",5);
}
