﻿// global variables //
var TIMER = 5;
var SPEED = 10;
var WRAPPER = 'contentBody';

// calculate the current window width //
function pageWidth() {
  return window.innerWidth != null ? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;
}

// calculate the current window height //
function pageHeight() {
  return window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;
}

// calculate the current window vertical offset //
function topPosition() {
  return typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;
}

// calculate the position starting at the left of the window //
function leftPosition() {
  return typeof window.pageXOffset != 'undefined' ? window.pageXOffset : document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;
}

// build/show the splashScreen box, populate the data and call the fadesplashScreen function //
function showSplashScreen(title, message) {

  var splashScreen;
  var splashScreenheader;
  var splashScreenclose;
//  var splashScreentitle;
  var splashScreencontent;
  var splashScreenmask;

  if(!document.getElementById('splashScreen')) {
    splashScreen = document.createElement('div');
    splashScreen.id = 'splashScreen';
    splashScreenheader = document.createElement('div');
    splashScreenheader.id = 'splashScreen-header';
//    splashScreentitle = document.createElement('div');
//    splashScreentitle.id = 'splashScreen-title';
    splashScreenclose = document.createElement('div');
    splashScreenclose.id = 'splashScreen-close'
    splashScreencontent = document.createElement('div');
    splashScreencontent.id = 'splashScreen-content';
    splashScreenmask = document.createElement('div');
    splashScreenmask.id = 'splashScreen-mask';
    document.body.appendChild(splashScreenmask);
    document.body.appendChild(splashScreen);
    splashScreen.appendChild(splashScreenheader);
//    splashScreenheader.appendChild(splashScreentitle);
    splashScreenheader.appendChild(splashScreenclose);
    splashScreen.appendChild(splashScreencontent);;
    splashScreenclose.setAttribute('onclick','hidesplashScreen()');
    splashScreenclose.onclick = hidesplashScreen;
  } else {
    splashScreen = document.getElementById('splashScreen');
    splashScreenheader = document.getElementById('splashScreen-header');
//    splashScreentitle = document.getElementById('splashScreen-title');
    splashScreenclose = document.getElementById('splashScreen-close');
    splashScreencontent = document.getElementById('splashScreen-content');
    splashScreenmask = document.getElementById('splashScreen-mask');
    splashScreenmask.style.visibility = "visible";
    splashScreen.style.visibility = "visible";
  }
  
  splashScreen.style.opacity = .00;
  splashScreen.style.filter = 'alpha(opacity=0)';
  splashScreen.alpha = 0;
  var width = pageWidth();
  var height = pageHeight();
  var left = leftPosition();
  var top = topPosition();
  var splashScreenwidth = splashScreen.offsetWidth;
  var splashScreenheight = splashScreen.offsetHeight;
  var topposition = top + (height / 2) - (splashScreenheight / 2);
  var leftposition = left + (width / 2) - (splashScreenwidth / 2);
  splashScreen.style.top = topposition + "px";
  splashScreen.style.left = leftposition + "px";
  //  splashScreentitle.innerHTML = title;
  splashScreencontent.innerHTML = message;
  var content = document.getElementById(WRAPPER);
  splashScreenmask.style.height = content.offsetHeight + 'px';
  splashScreen.timer = setInterval("fadesplashScreen(1)", TIMER);
  splashScreenclose.style.visibility = "visible";
  
}

// hide the splashScreen box //
function hidesplashScreen() {
  var splashScreen = document.getElementById('splashScreen');
  clearInterval(splashScreen.timer);
  splashScreen.timer = setInterval("fadesplashScreen(0)", TIMER);
}

// fade-in the splashScreen box //
function fadesplashScreen(flag) {
  if(flag == null) {
    flag = 1;
  }
  var splashScreen = document.getElementById('splashScreen');
  var value;
  if(flag == 1) {
    value = splashScreen.alpha + SPEED;
  } else {
    value = splashScreen.alpha - SPEED;
  }
  splashScreen.alpha = value;
  splashScreen.style.opacity = (value / 100);
  splashScreen.style.filter = 'alpha(opacity=' + value + ')';
  if(value >= 99) {
    clearInterval(splashScreen.timer);
    splashScreen.timer = null;
  } else if(value <= 1) {
    splashScreen.style.visibility = "hidden";
    document.getElementById('splashScreen-mask').style.visibility = "hidden";
    clearInterval(splashScreen.timer);
  }
}

