/*
	utility.js
	
	scripts for bis.ucc.ie */



/* adds random images to homepage.
		*    Files taken from images/homepage directory
		*    Files should be a jpg and have a numbered file name  
		*    If adding more images, also need to increase the number generating the variable rand */
function changeImage()
{		
	var imgSrc;
	path = "/images/homepage09/";
	var rand = Math.floor(Math.random()*20);
	if(rand == 0) rand = 1;
	imgSrc = path + rand.toString() + ".jpg";
	document.getElementById("anthology_img_home").src = imgSrc;
}

/* Adds date to all pages */
function addDate()
{
	var now = new Date();
	var day = now.getDate();
	var dayNames = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
	var monthNames = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	var themonth = monthNames[now.getMonth()].toLowerCase();
	var today = dayNames[now.getDay()].toLowerCase();
	var theMonth = monthNames[now.getMonth()];
	var Today = dayNames[now.getDay()];
	var year = now.getYear();
	var theYear 
			if (year >= 2000) theYear = year;
					else theYear =  (1900 + now.getYear());
	var ordinal="th"
			if (day==1 || day==21 || day==31) ordinal="st";
			if (day==2 || day==22) ordinal="nd";
			if (day==3 || day==23) ordinal="rd";
	var whichDay = day+ordinal
	
	var dateOutput = Today + ", " +theMonth + " " + whichDay + ", " +theYear;
	
	document.getElementById("time").innerHTML = dateOutput;
	
}




/* outputs form validation error messages 
 *		-  called by validateContact() & validateCompetition() 
 */
function validationError( errDiv, errMsg )
{
	var formFocus = errDiv.substring(0, (errDiv.indexOf("_")));		// error message span ID attrib's share prefix (before "_") with related form fields
	document.getElementById( errDiv ).innerHTML = errMsg;
	document.getElementById( formFocus ).focus();
	return;
}

/* Validate form on contact.htm */
function validateContact()
{
	var form = document.getElementById("contact");
	var blankMsg = "Please complete these details";
	var numMsg = "Please do not enter numbers";
	var emailMsg = "Please use a valid email address";
	
	if (form.fname.value == "")
	{
		validationError ("fn_error", blankMsg);		// pass target span id attribute, and message to output
		return false;
	}
	else if(isNaN(form.fname.value) == false)
	{
		validationError ("fn_error", numMsg);
		return false;		
	}
	else if(form.lname.value == "")
	{
		validationError ("ln_error", blankMsg);
		return false;		
	}
	else if(isNaN(form.lname.value) == false)
	{
		validationError ("ln_error", numMsg);
		return false;		
	}
	else if(form.email.value == "")
	{
		validationError ("em_error", blankMsg);
		return false;
	}
	else if(form.email.value.indexOf("@") == -1)
	{
		validationError ("em_error", emailMsg);
		return false;
	}
	else if(form.email.value.indexOf(".") == -1)
	{
		validationError ("em_error", emailMsg);
		return false;
	}	
	else if(form.message.value == "")
	{	
		validationError ("enq_error", blankMsg);
		return false;
	}	
	
	else if(isNaN(form.si.value) == true)
	{
		validationError ("si_error", numMsg);
		return false;
	}
	else if(isNaN(form.ver.value) == true)
	{
		validationError ("ver_error", numMsg);
		return false;
	}
	else if(form.course.value == false)
	{
		validationError ("sc_error",blankMsg );
		return false;
	}
	else if(form.message.value == "")
	{
		validationError ("enq_error", blankMsg);
		return false;
	}
	else
		return true;

} // end validateContact 




// validate data entry on competition_form.htm
function validateCompetition()
{
	var form = document.getElementById("competition");
	
	var blankMsg = "Please complete these details";
	var numMsg = "Please do not enter numbers";
	var emailMsg = "Please use a valid email address";
	
	if (form.fname.value == "")
	{
		validationError ("fn_error", blankMsg);		// pass span id attribute to output to, and message to output
		return false;
	}
	else if(isNaN(form.fname.value) == false)
	{
		validationError ("fn_error", numMsg);
		return false;		
	}
	else if(form.lname.value == "")
	{
		validationError ("ln_error", blankMsg);
		return false;		
	}
	else if(isNaN(form.lname.value) == false)
	{
		validationError ("ln_error", numMsg);
		return false;		
	}
	else if(form.email.value == "")
	{
		validationError ("em_error", blankMsg);
		return false;
	}
	else if(form.email.value.indexOf("@") == -1)
	{
		validationError ("em_error", emailMsg);
		return false;
	}
	else if(form.email.value.indexOf(".") == -1)
	{
		validationError ("em_error", emailMsg);
		return false;
	}	
	else if(form.school.value == "")
	{
		validationError("sch_error", blankMsg);
		return false;
	}
	else if(isNaN(form.school.value) == false)
	{
		validationError ("sch_error", numMsg);
		return false;		
	}	
	else if(form.year.value == "")
	{
		validationError("yr_error", blankMsg);
		return false;
	}
	else if(isNaN(form.year.value) == false)
	{
		validationError ("yr_error", numMsg);
		return false;		
	}
	else if(form.cgName.value == "")
	{
		validationError("cg_error", blankMsg);
		return false;
	}
	else if(isNaN(form.cgName.value) == false)
	{
		validationError ("cg_error", numMsg);
		return false;		
	}
		else if(form.answer.value == "")
	{
		validationError("ans_error", blankMsg);
		return false;
	}
	else if(isNaN(form.answer.value) == false)
	{
		validationError ("ans_error", numMsg);
		return false;		
	}
	
	else 					// => valid info.
		return true; 
}// end valdiateCompetition

/*-------------------------------------------------------
		JS Breadcrumb functions
*========================================================*/
	function nestC(x)
	{
	    var x = x - 3;
	    var sNesting = "";
	    
	    for(i = 0; i < x; i++)
	    {
			sNesting = sNesting + "../";
	    }
	   
	    return sNesting;
	}		
	
	function breadCrumbs()		
	{
		var sDir = new Array();
		var sUrl = window.location.toString();
		
		sDir = sUrl.split("/");
		var sOutput = "<a href='/'>Home</a> ";		//  root directory

		for(y = 3; y < (sDir.length -1); y++)		// directories listed as crumbs after root 
		{
			sOutput = sOutput + "  >>  <a href='"+ nestC((sDir.length - y) + 1) + "'>" + sDir[y] + "</a>";
		}
		
		document.getElementById("breadcrumb_nav").innerHTML = sOutput;

	}
//  --------------  End breadcrumb functions -------------