﻿// JavaScript Document

// Dynamically Show or Hide Content

function HideContent(d) {
  document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
  document.getElementById(d).style.display = "inline";
}
function ReverseDisplay(d) {
  if(document.getElementById(d).style.display == "none") 
  { document.getElementById(d).style.display = "inline"; } else 
  { document.getElementById(d).style.display = "none"; }
}

// Dynamically Swap, Add, and Remove Class

function jscss(a,id,c1,c2)
{
  if(document.getElementById && document.createTextNode) {
  var o=document.getElementById(id);
  switch (a){
    case 'swap':
      o.className=!jscss('check',id,c1)?o.className.replace(c2,c1): o.className.replace(c1,c2);
    break;
    case 'add':
      if(!jscss('check',id,c1)){o.className+=o.className?' '+c1:c1;}
    break;
    case 'remove':
      var rep=o.className.match(' '+c1)?' '+c1:c1;
      o.className=o.className.replace(rep,'');
    break;
    case 'check':
      return new RegExp('\\b'+c1+'\\b').test(o.className)
    break;
  }
  }
}

// Dynamically Swap, Add, and Remove ID

function jscssid(a,id1,id2)
{
  if(document.getElementById && document.createTextNode) {
  var o=document.getElementById(id1);
  switch (a){
    case 'swap':
      o.id=!jscss('check',id1)?o.id.replace(id2,id1): o.id.replace(id1,id2);
    break;
    case 'remove':
      var rep=o.id.match(' '+id1)?' '+id1:id1;
      o.id=o.id.replace(rep,'');
    break;
    case 'check':
      return new RegExp('\\b'+id1+'\\b').test(o.id)
    break;
  }
  }
}

// Styleswitcher

var activeSS;
function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}
function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}
function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}
window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}
window.onunload = function(e) {
  if (activeSS != "printpreview") {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
  }
}
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
if (title == 'null') {
  title = getPreferredStyleSheet();
}
setActiveStyleSheet(title);

function disableDefaultStyleSheets() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1 && a.getAttribute("media") == "screen"
       ) a.disabled = true;
  }
}
function enableDefaultStyleSheets() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1 && a.getAttribute("media") == "screen"
       ) a.disabled = false;
  }
}

// Print Preview Scripts


function print_preview() {
    // Switch the stylesheet
    var title = getActiveStyleSheet();
    createCookie("style", title, 365);
    disableDefaultStyleSheets();
    setActiveStyleSheet('Print Preview');
    activeSS = "printpreview";
    // Create preview message
    add_preview_message();
    
    // Print the page
    window.print();
}
function add_preview_message(){
var main_content = document.getElementById('header_text');
var main_body = main_content.parentNode;
    if (document.getElementById){
        
        var preview_message = document.createElement('div');
        preview_message.id = 'preview-message';
    
        // Create Heading
        var preview_header = document.createElement('h3');
        var preview_header_text = document.createTextNode('PRINT PREVIEW');
        preview_header.appendChild(preview_header_text);
        
        // Create paragraph
        var preview_para = document.createElement('p');
        var preview_para_text = document.createTextNode('This is a print preview of this page. It may look different than the page you were just viewing because it has been formatted for printing, removing some unnecessary design and functional elements. This message will not be included in your printout. ');
        
        var cancel_function_link = document.createElement('a');
            cancel_function_link.onclick = function(){ cancel_print_preview(); return false; };
            cancel_function_link.setAttribute('href', '#');    
        var cancel_function_link_text = document.createTextNode('Return to the screen view');
        cancel_function_link.appendChild(cancel_function_link_text);
        preview_para.appendChild(preview_para_text); //
        preview_para.appendChild(cancel_function_link);
        
        // Put it all toegether
        preview_message.appendChild(preview_header); 
        preview_message.appendChild(preview_para);
        main_body.insertBefore(preview_message, main_content);
    }
}
function cancel_print_preview() {
    // Destroy the preview message
    var print_preview = document.getElementById('preview-message');
    var main_body = print_preview.parentNode;
    main_body.removeChild(print_preview);
    
    // Switch back stylesheet
    enableDefaultStyleSheets();
    var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
if (title == 'null') {
  title = getPreferredStyleSheet();
}
setActiveStyleSheet(title);
var activeSS = "";
}

function setActiveStyleSheet(title) {
   var i, a, main;
   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
     if(a.getAttribute("rel").indexOf("style") != -1
        && a.getAttribute("title")) {
       a.disabled = true;
       if(a.getAttribute("title") == title) a.disabled = false;
     }
   }
}
 

// Pop Up Script

function popUp(URL, winwidth, winheight, winleft, wintop) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=' + winwidth + ',height=' + winheight + ',left=' + winleft + ',top=' + wintop + '');");
}