//------------------------------------------------------
//   Open Curtains - JS  by Michael Petrovich
//   GT Multimedia, LLC www.gt-mm.com  2006-03-12
//------------------------------------------------------

function getId(id){return document.getElementById(id);}
function showElem(myElem) {if(myElem) myElem.style.display = ''; }
function hideElem(myElem) {if(myElem) myElem.style.display = 'none';}
function markTime(){var t = new Date(); return t.valueOf();}

function getPageSize(){
    var xScroll, yScroll;
    if (window.innerHeight && window.scrollMaxY) {    
        xScroll = document.body.scrollWidth;
        yScroll = window.innerHeight + window.scrollMaxY;
    } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
        xScroll = document.body.scrollWidth;
        yScroll = document.body.scrollHeight;
    } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
        xScroll = document.body.offsetWidth;
        yScroll = document.body.offsetHeight;
    }
    
    var windowWidth, windowHeight;
    if (self.innerHeight) {    // all except Explorer
        windowWidth = self.innerWidth;
        windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
        windowWidth = document.documentElement.clientWidth;
        windowHeight = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
        windowWidth = document.body.clientWidth;
        windowHeight = document.body.clientHeight;
    }    
    if(yScroll < windowHeight){
        pageHeight = windowHeight;
    } else { 
        pageHeight = yScroll;
    }
    if(xScroll < windowWidth){    
        pageWidth = windowWidth;
    } else {
        pageWidth = xScroll;
    }
    arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
    return arrayPageSize;
}

var Curtain_SlideTimer      = 0;       //timer ID for curtain
var Curtain_SlideTimerCount = 0;       //Count used in sliding curtain
var Curtain_SlideInc        = 1;       //increment used in sliding curtain
var Curtain_SlideSpeed      = 15;      //interval used in sliding curtain

var Total_Time = Math.round(100 * Curtain_SlideSpeed/Curtain_SlideInc);
var Run_Time   = 0;
var Start_Time = 0;

//============ slideCurtain ============
function slideCurtain(){
  Start_Time = markTime();
  slideCurtainProcess();
}

function slideCurtainProcess(){

  var leftCurtain   = getId('left_curtain');
  var leftCurtainInner   = getId('left_curtain_inner');

  var rightCurtainInner  = getId('right_curtain_inner');
  var rightCurtain  = getId('right_curtain');
  var rightBack =  getId('right_curtain_back');
  var arrayPageSize = getPageSize();
  var screenWidth   = arrayPageSize[0];
  var screenHeight  = arrayPageSize[1];

  leftCurtain.style.height        = screenHeight + 'px';
  leftCurtainInner.style.height   = screenHeight + 'px';
  rightCurtainInner.style.height  = screenHeight + 'px';
  rightCurtain.style.height       = screenHeight + 'px';
  rightBack.style.height          = screenHeight + 'px';

  Run_Time = markTime() - Start_Time;

  var t = Math.round(100*Run_Time/Total_Time);
  if ((Curtain_SlideTimerCount < 100) && ( t > 100)) Curtain_SlideTimerCount = 100;
    else Curtain_SlideTimerCount = t;

  if(Curtain_SlideTimerCount>100){
      clearTimeout(Curtain_SlideTimer);
      Curtain_SlideTimerCount=0;
      hideElem(leftCurtain); 
      hideElem(rightCurtain);
  }
  else {
      var Width = screenWidth*(1- Curtain_SlideTimerCount/100)/2;
      leftCurtain.style.width = Width + 'px'
      leftCurtainInner.style.width = (Curtain_SlideTimerCount*screenWidth/400) + 'px';
      rightCurtainInner.style.width = leftCurtainInner.style.width;

      var w = Curtain_SlideTimerCount*screenWidth/200;
      rightCurtainInner.style.marginLeft = w + 'px';
      rightCurtain.style.clip = 'rect(auto  auto auto '+ w +'px)';

      showElem(leftCurtain);
      showElem(rightCurtain);
      Curtain_SlideTimer = setTimeout("slideCurtainProcess()",Curtain_SlideSpeed);
  }
}