// JAVASCRIPT words_at_work.js	


function Mouseover() 
{
    var src_normal = this.getAttribute('src');
    if(src_normal.search('_current') == -1) {
    	var src_over   = src_normal.substring(0, src_normal.lastIndexOf('.'));
    	src_over      += '_over.gif';	 
    	this.setAttribute('src', src_over); 
   	} 	
}

function Mouseout() 
{	
	var src_over = this.getAttribute('src');
	if(src_over.search('_current') == -1) {
		var src_normal = src_over.substring(0, src_over.lastIndexOf('_'));  
		src_normal += '.gif';
		this.setAttribute('src',src_normal); 
	}
}

function ShowCaption() {
	//hide default caption
	document.getElementById("caption_1").className = "hidden";
	
	var thumbId = this.getAttribute('id');
	var thumbEl = document.getElementById(thumbId);
	var caption = thumbEl.getElementsByTagName("p");
	caption[0].className = "reveal";
	
}

function HideCaption() {
	var thumbId = this.getAttribute('id');
	var thumbEl = document.getElementById(thumbId);
	var caption = thumbEl.getElementsByTagName("p");
	caption[0].className = "hidden";
}

function ShowImage() 
{
	//get image name
	var thumbName = this.getAttribute('id');
	var imageName = thumbName.replace('thumb_', 'gallery_img_');
	var imagePath = "images/" + imageName + ".jpg";
	var image = document.getElementById("large_image");
	image.setAttribute('src', imagePath); 
	
	var captionNum  = thumbName.replace('thumb_', '');
	var captionId   = "caption_" + captionNum;
	var captionText = document.getElementById(captionId).innerHTML;
	document.getElementById("image_caption").innerHTML = captionText;
}

function ImageOver() {
	var linkId    = this.getAttribute('id');
	var imageName = linkId.replace('_link', '');
	document.getElementById(imageName).className = "display";
}

function ImageOut() {
	var linkId    = this.getAttribute('id');
	var imageName = linkId.replace('_link', '');
	document.getElementById(imageName).className = "displayNone";
	
}

function ShowArticle() {
	var readMoreLink = this.getAttribute('id');
	var article = readMoreLink.replace('news_link', 'more_news');
	document.getElementById(readMoreLink).className = "displayNone";
	document.getElementById(article).className = "display";
}
  
  
//ONLOAD ACTIONS    
function Loader()
{	
	// CHECK FOR SUPPORTED FEATURES
	// if these features are not supported by the browser, stop javascript
	if (!document.getElementById || !document.getElementsByTagName) {
		alert("Javascript features not supported");
		return; 
	}

	//PRE-CACHE OVER IMAGES
	var nav_images_loaded  = false;
	
	var nav = document.getElementById("nav");
	if(nav) {
		//get all image objects inside 'headerNavRight'
		var images = nav.getElementsByTagName("img");
		for (var i = 0; i < images.length; i++) {
			var img = images[i];
			var source = img.src;
			//retreive path name minus extension
			var img_name = source.substring(0,source.lastIndexOf('.'));
			img_name += "_over.gif";
			//pre-cache gifs
			var image = new Image();
			image.src = img_name;
		}
		nav_images_loaded = true;
	}	
	
	
	
	//ROLLOVER EFFECTS
	
	//NAVIGATION
    var objElement = document.getElementById("nav");
	if (objElement) { 
	
		// NAV LINKS - change IMG SRC for current page link
		// get page name
		var pagenameStart = document.location.href.lastIndexOf('=');
		
		if(pagenameStart != "-1") { 
			var pagename = document.location.href.substring(pagenameStart).replace('=', ''); 
		} else {
			var pagename = "home";
		}	
		//find nav element and change img to 'current'
		var src_normal  = document.getElementById(pagename).getAttribute('src');
		var src_current = src_normal.substring(0, src_normal.lastIndexOf('.'));
		src_current    += '_current.gif';
		document.getElementById(pagename).setAttribute('src', src_current);
			
		//ROLLOVER
		if (nav_images_loaded == true) {
			var imgElement = objElement.getElementsByTagName("img"); // get all images inside 'headerNavRight' div
			for (var i = 0; i < imgElement.length; i++) {
				imgElement[i].onmouseover = Mouseover;
				imgElement[i].onmouseout  = Mouseout;
			}
		}
	}
	
	//PROJECT
	 if (document.getElementById("ctr_col_project")) {
		
		// change image on thumbnail click
		var ctrProject = document.getElementById("ctr_col_project");
		var imageLinks = ctrProject.getElementsByTagName("span");
		for (var i = 0; i < imageLinks.length; i++) {
			imageLinks[i].onmouseover = ImageOver;
			imageLinks[i].onmouseout  = ImageOut;
		}
	}

	//GALLERY
	 if (document.getElementById("gallery_thumbs")) {
		
		// change image on thumbnail click
		var thumbsList = document.getElementById("gallery_thumbs");
		var thumbCaptions = thumbsList.getElementsByTagName("li");
		for (var i = 0; i < thumbCaptions.length; i++) {
			thumbCaptions[i].onmouseover = ShowCaption;
			thumbCaptions[i].onmouseout  = HideCaption;
			thumbCaptions[i].onclick     = ShowImage;
		}
	}
	
	//READ MORE
	if (document.getElementById("news_articles")) {
		
		var newsList  = document.getElementById("news_articles");
		var moreLinks = newsList.getElementsByTagName("span");
		for (var i = 0; i < moreLinks.length; i++) {
			moreLinks[i].onclick = ShowArticle;
		}
	}
	
	
	//VALIDATION
	 if (document.contact_form) {
	    document.contact_form.onsubmit = ContactSubmit;
	}
    
}
window.onload = Loader;

