// JavaScript Document

// This function controls all the others when the page Loads
//=====================================================================

function addLoadListener(fn)
{
  if (typeof window.addEventListener != 'undefined')
  {
    window.addEventListener('load', fn, false);
  }
  else if (typeof document.addEventListener != 'undefined')
  {
    document.addEventListener('load', fn, false);
  }
  else if (typeof window.attachEvent != 'undefined')
  {
    window.attachEvent('onload', fn);
  }
  else
  {
    var oldfn = window.onload;
    if (typeof window.onload != 'function')
    {
      window.onload = fn;
    }
    else
    {
      window.onload = function()
      {
        oldfn();
        fn();
      };
    }
  }
};


// This function displays the time and date on every page
//=====================================================================

function display() {
var months = new Array("January","February","March","April","May","June","July",
                       "August","September","October","November","December");
var dateNow = new Date();
var yearNow = dateNow.getFullYear();
var monthNow = months[dateNow.getMonth()];
var dayNow = dateNow.getDate();
var nowHour = dateNow.getHours();
var nowMinute = dateNow.getMinutes();
var nowSecond = dateNow.getSeconds();
var daySuffix;

var greeting;


if (nowMinute < 10)
 {
	 nowMinute = "0" + nowMinute;
 }

if (nowSecond < 10)
 {
	 nowSecond = "0" + nowSecond;
 }

if (nowHour < 10)
 {
	 nowHour = "0" + nowHour;
 }
 
if (nowHour < 12)
 {
	 greeting = "Good Morning"; 
 }
 
 else if (nowHour < 17)
 {
	 greeting = "Good Afternoon"; 
 }
 
 else 
 {
	 greeting = "Good Evening"; 
 }
 
 
switch (dayNow)
{
case 1:
case 21:
case 31:
   daySuffix = "st";
   break;
case 2:
case 22:
   daySuffix = "nd";
   break;
case 3: 
case 23:
   daySuffix = "rd";
   break;
default:
   daySuffix = "th";
   break;
}

  if (!document.createElement) return false;
  if (!document.createTextNode) return false;
  if (!document.getElementById) return false;
  if (!document.getElementById("heading")) return false;
  var placeholder = document.createElement("div");
  placeholder.setAttribute("id","time");
  var description = document.createElement("p");
  var day = document.createTextNode(dayNow);
  var daysuffix = document.createTextNode(daySuffix);
  var month = document.createTextNode(" " + monthNow);
  var year = document.createTextNode(" " + yearNow);
  var hour = document.createTextNode(" " + nowHour);
  var minute = document.createTextNode(":" + nowMinute);
  var second = document.createTextNode(":" + nowSecond);
  
  
  placeholder.appendChild(day);
  placeholder.appendChild(daysuffix);
  placeholder.appendChild(month);
  placeholder.appendChild(year);
  placeholder.appendChild(hour);
  placeholder.appendChild(minute);
  placeholder.appendChild(second);
  var gallery = document.getElementById("heading");
  insertAfter(placeholder,gallery);
  //insertAfter(description,placeholder);
//}
//return;
}


// This function validates the fields in the form
//=====================================================================

function init()
{
  var submit = document.getElementById("submit");
  submit.onclick = validateFields;
  return true;
}

function validateFields()  {

  var firstName = document.getElementById("author");
  var lastName = document.getElementById("lastname");
  var Email = document.getElementById("email");
  var Comments =document.getElementById("text");

  if (firstName.value == "" || /^\s+$/.test(firstName.value))
  {
    alert("Please enter a valid Firstname");
	firstName.focus();
	firstName.select();
	return false;
  }
  
  else if (lastName.value == "" || /^\s+$/.test(lastName.value))
  {
    alert("Please enter a valid Lastname");
	lastName.focus();
	lastName.select();
	return false;
  }
   
  else if (Email.value == "" || !/^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/.test(Email.value))
  {
    alert("Please enter a valid email address");
	Email.focus();
	Email.select();
	return false;
  }
  
  else if (Comments.value == "" || /^\s+$/.test(Comments.value))
  {
    alert("Please enter Your Comments");
	Comments.focus();
	Comments.select();
	return false;
  }
  
  return true;

}

// This function highlights the page for Positional Awareness 
//============================================================

function highlightPage() {
  if (!document.getElementsByTagName) return false;
  if (!document.getElementById) return false;
  if (!document.getElementById("vertNav")) return false;
  var nav = document.getElementById("vertNav");
  var links = nav.getElementsByTagName("a");
  for (var i=0; i<links.length; i++) {
    var linkurl = links[i].getAttribute("href");
    var currenturl = window.location.href;
    if (currenturl.indexOf(linkurl) != -1) {
      links[i].className = "mark";
      var linktext = links[i].lastChild.nodeValue.toLowerCase();
      document.body.setAttribute("id",linktext);
    }
  }
}


//General Purpose function for inserting mark up on the fly
//==============================================================

function insertAfter(newElement,targetElement) {
  var parent = targetElement.parentNode;
  if (parent.lastChild == targetElement) {
    parent.appendChild(newElement);
  } else {
    parent.insertBefore(newElement,targetElement.nextSibling);
  }
}


addLoadListener(highlightPage);
//addLoadListener(init);
//addLoadListener(display);
