function extractFullYear(dDateIn)
{
	var dYear = dDateIn.getFullYear();
	var iModYear = dYear % 100;
	iModYear += (iModYear < 38) ? 2000 : 1900;
	return iModYear;
}

function getLastUpdate()
{
	if(Date.parse(document.lastModified) == 0)
		return "unknown";

	var dLastModGMT = new Date((new Date(document.lastModified)).toGMTString());
	var iLastModYear = extractFullYear(dLastModGMT);
	var iLastModMonth = dLastModGMT.getMonth();
	var iLastModDay = dLastModGMT.getDate();
	var dLastModUTC = (Date.UTC(iLastModYear, iLastModMonth, iLastModDay, 0, 0, 0))/86400000;
	var dCurrentDateGMT = new Date((new Date()).toGMTString());
	var iCurrentYear = extractFullYear(dCurrentDateGMT);
	var iCurrentMonth = dCurrentDateGMT.getMonth();
	var iCurrentDay = dCurrentDateGMT.getDate();
	var dCurrentDateUTC = (Date.UTC(iCurrentYear, iCurrentMonth, iCurrentDay, 0, 0, 0))/86400000;
	var dDiff = dCurrentDateUTC - dLastModUTC;

	if (dDiff < 0)
		return "Unknown";

	var sUnit = "days";
	if (dDiff > 730)
	{
		dDiff = Math.floor(dDiff/365);

		if(dDiff == 1)
			sUnit = "year";
		else
			sUnit = "years";

	}
	else if (dDiff > 60) {
		dDiff = Math.floor(dDiff/30);
		
		if(dDiff == 1)
			sUnit = "month";
		else
			sUnit = "months";

	}
	else if (dDiff > 14) {
		dDiff = Math.floor(dDiff/7);
		if(dDiff == 1)
			sUnit = "week";
		else
			sUnit = "weeks"

	}

	if (dDiff == 0)
		return "today";
	else if (dDiff == 1) 
		return "yesterday";
	else
		return dDiff + " " + sUnit + " ago";
}

function resetContactForm()
{
	document.getElementById("contactFormError_name").innerHTML = "";
	document.getElementById("contactFormError_name").style.visibility = "hidden";
	document.getElementById("contactFormError_email").innerHTML = "";
	document.getElementById("contactFormError_email").style.visibility = "hidden";
	document.getElementById("contactFormError_request").innerHTML = "";
	document.getElementById("contactFormError_request").style.visibility = "hidden";
	document.getElementById("contactForm_name_id").focus();
	return true;
}

function resetAlertForm()
{
	document.getElementById("alertFormError_name").innerHTML = "";
	document.getElementById("alertFormError_name").style.visibility = "hidden";
	document.getElementById("alertFormError_email").innerHTML = "";
	document.getElementById("alertFormError_email").style.visibility = "hidden";
	document.getElementById("alertFormError_type").innerHTML = "";
	document.getElementById("alertFormError_type").style.visibility = "hidden";
	document.getElementById("alertForm_name_id").focus();
	return true;
}

function resetRequestForm()
{
	document.getElementById("requestFormError_name").innerHTML = "";
	document.getElementById("requestFormError_name").style.visibility = "hidden";
	document.getElementById("requestFormError_email").innerHTML = "";
	document.getElementById("requestFormError_email").style.visibility = "hidden";
	document.getElementById("requestFormError_type").innerHTML = "";
	document.getElementById("requestFormError_type").style.visibility = "hidden";
	document.getElementById("requestFormError_request").innerHTML = "";
	document.getElementById("requestFormError_request").style.visibility = "hidden";
	document.getElementById("requestForm_name_id").focus();
	return true;
}

function validateContactForm()
{
	var bCheck = true;
	var sErrorMessage = "";

	if(document.contactForm.contactForm_name.value == "")
	{
		bCheck = false;
		sErrorMessage = "* Name is required!";
		document.getElementById("contactFormError_name").innerHTML = sErrorMessage;
		document.getElementById("contactFormError_name").style.visibility = "visible";
	}
	else
	{
		document.getElementById("contactFormError_name").innerHTML = "";
		document.getElementById("contactFormError_name").style.visibility = "hidden";
	}
	
	if(document.contactForm.contactForm_email.value == "")
	{
		bCheck = false;
		sErrorMessage = "* Email is required!";
		document.getElementById("contactFormError_email").innerHTML = sErrorMessage;
		document.getElementById("contactFormError_email").style.visibility = "visible";
	}
	else
	{
		document.getElementById("contactFormError_email").innerHTML = "";
		document.getElementById("contactFormError_email").style.visibility = "hidden";
	}

	if(document.contactForm.contactForm_request.value == "")
	{
		bCheck = false;
		sErrorMessage = "* A description of the request is required!";
		document.getElementById("contactFormError_request").innerHTML = sErrorMessage;
		document.getElementById("contactFormError_request").style.visibility = "visible";
	}
	else
	{
		document.getElementById("contactFormError_request").innerHTML = "";
		document.getElementById("contactFormError_request").style.visibility = "hidden";
	}

	return bCheck;
}

function validateAlertForm()
{
	var bCheck = true;
	var sErrorMessage = "";

	if(document.alertForm.alertForm_name.value == "")
	{
		bCheck = false;
		sErrorMessage = "* Name is required!";
		document.getElementById("alertFormError_name").innerHTML = sErrorMessage;
		document.getElementById("alertFormError_name").style.visibility = "visible";
	}
	else
	{
		document.getElementById("alertFormError_name").innerHTML = "";
		document.getElementById("alertFormError_name").style.visibility = "hidden";
	}
	
	if(document.alertForm.alertForm_email.value == "")
	{
		bCheck = false;
		sErrorMessage = "* Email is required!";
		document.getElementById("alertFormError_email").innerHTML = sErrorMessage;
		document.getElementById("alertFormError_email").style.visibility = "visible";
	}
	else
	{
		document.getElementById("alertFormError_email").innerHTML = "";
		document.getElementById("alertFormError_email").style.visibility = "hidden";
	}
	
	if(!((document.alertForm.alertForm_type_0.checked) | (document.alertForm.alertForm_type_1.checked)))
	{
		bCheck = false;
		sErrorMessage = "* At least one alert is required!";
		document.getElementById("alertFormError_type").innerHTML = sErrorMessage;
		document.getElementById("alertFormError_type").style.visibility = "visible";
	}
	else
	{
		document.getElementById("alertFormError_type").innerHTML = "";
		document.getElementById("alertFormError_type").style.visibility = "hidden";
	}

	return bCheck;
}

function validateRequestForm()
{
	var bCheck = true;
	var bRadioCheck = true;
	var sErrorMessage = "";
	
	if(document.requestForm.requestForm_name.value == "")
	{
		bCheck = false;
		sErrorMessage = "* Name is required!";
		document.getElementById("requestFormError_name").innerHTML = sErrorMessage;
		document.getElementById("requestFormError_name").style.visibility = "visible";
	}
	else
	{
		document.getElementById("requestFormError_name").innerHTML = "";
		document.getElementById("requestFormError_name").style.visibility = "hidden";
	}

	if(document.requestForm.requestForm_email.value == "")
	{
		bCheck = false;
		sErrorMessage = "* Email is required!";
		document.getElementById("requestFormError_email").innerHTML = sErrorMessage;
		document.getElementById("requestFormError_email").style.visibility = "visible";
	}
	else
	{
		document.getElementById("requestFormError_email").innerHTML = "";
		document.getElementById("requestFormError_email").style.visibility = "hidden";
	}

	for(var i = 0; i < document.requestForm.requestForm_type.length; i++)
	{

		if(document.requestForm.requestForm_type[i].checked)
		{
			break;
		}
		else if(i == (document.requestForm.requestForm_type.length - 1))
		{
			bRadioCheck = false;
		}

	}
	
	if(!bRadioCheck)
	{
		bCheck = false;
		sErrorMessage = "* Request type is required!";
		document.getElementById("requestFormError_type").innerHTML = sErrorMessage;
		document.getElementById("requestFormError_type").style.visibility = "visible";
	}
	else
	{
		document.getElementById("requestFormError_type").innerHTML = "";
		document.getElementById("requestFormError_type").style.visibility = "hidden";
	}

	if(document.requestForm.requestForm_request.value == "")
	{
		bCheck = false;
		sErrorMessage = "* A description of the request is required!";
		document.getElementById("requestFormError_request").innerHTML = sErrorMessage;
		document.getElementById("requestFormError_request").style.visibility = "visible";
	}
	else
	{
		document.getElementById("requestFormError_request").innerHTML = "";
		document.getElementById("requestFormError_request").style.visibility = "hidden";
	}

	return bCheck;
}
