////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	// openNewWindow()
	//
	//
	//
function openNewWindow() {
	var links = document.getElementsByTagName("a");
	for(var i=0; i<links.length; i++) {
		var rel = links[i].getAttribute("rel");
		if(rel == "external") {
			links[i].setAttribute("target", "_blank");
		}
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	// addClass()
	//
	//
	//
function addClass(element, value) {
	if(!element.className) {
		element.className = value;	
	}else{
		newClassName = element.className;
		newClassName+= " ";
		newClassName+= value;
		element.className = newClassName;
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	// getElementsByClassName()
	//
	//
	//
function getElementsByClassName(value) {
	var selectedElems = new Array();
	var allElems = document.getElementsByTagName("*");
	for(var i=0; i<allElems.length; i++) {
		if(allElems[i].className == value) {
			selectedElems.push(allElems[i]);
		}
	}
	return selectedElems;
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	// insertAfter()
	//
	//
	//
function insertAfter(newElement, targetElement) {
	var parent = targetElement.parentNode;
	if (parent.lastChild == targetElement) {
		parent.appendChild(newElement);
	}else{
		parent.insertBefore(newElement, targetElement.nextSibling);
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	// removeConfirmations()
	//
	//
	//
function removeConfirmations() {
	var paras = document.getElementsByTagName("p");
	for(var i=0; i<paras.length; i++){
		if(paras[i].className == "confirm"){
			var feedback = paras[i];
			setTimeout(
			function() {$(feedback).fadeOut("slow")}
			, 3000);
		}
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	//hightLightPage()
	//
	//
	//
function highLightPage() {
	if(!document.getElementsByTagName) return false;
	if(!document.getElementById) return false;
	if(!document.getElementById("mainNav")) return false;
	var nav = document.getElementById("mainNav");
	var links = nav.getElementsByTagName("a");
	
	for(var i=0; i<links.length; i++) {
		if(links[i].getAttribute("href")) {
			var linkurl = links[i].getAttribute("href").toLowerCase();
			var currenturl = window.location.href.toLowerCase();
			if(currenturl.indexOf(linkurl) != -1) {
				addClass(links[i], "here");
			}	
		}
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	//embedTrailer()
	//
	//
	//
function embedTrailer() {
	if(!document.getElementById('trailer')) return false;
	var trailer = document.getElementById('trailer');
	var so = new SWFObject("swf/trailer.swf", "swfTrailer", "500", "350", "8", "transparent");
	so.addParam("scale", "noscale");
	so.addParam("wmode", "transparent");
	so.addParam("menu","false");
	so.write(trailer);
	
	//generate movie slate markup
	var pageTitle = document.getElementById("pageTitle");
	var img = document.createElement("img");
	img.setAttribute("id", "movieSlate");
	img.setAttribute("src", "images/movieSlate.gif");
	pageTitle.appendChild(img);
}
/////////////////////////////////////////////////////////////////
//
//
//
// generateMarkup()
//
//
//
function generateMarkup() {
	var nav = document.getElementById('mainNav');
	var navTop = document.createElement('li');
	navTop.setAttribute('id', 'navTop');
	
	var navBtm = document.createElement('li');
	navBtm.setAttribute('id', 'navBtm');
	var target = nav.firstChild;
	nav.insertBefore(navTop, target);
	nav.appendChild(navBtm);
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	//displayLoading()
	//
	//
	//
function displayLoading(element) {
	var button = document.getElementById(element);
	button.setAttribute("value", "Sending...");
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	//prepareAjaxForms()
	//
	//
	//
function prepareAjaxForms() {
	if(document.getElementById('contactForm')) {
		var contactForm = document.getElementById('contactForm');
		var xhr = new Hijax();
		xhr.setContainer(contactForm);
		xhr.setUrl("contactForm.php");
		xhr.setCanvas(contactForm.parentNode);
		xhr.setLoading(function() {
			displayLoading("submitBtn");
		});
		xhr.setCallback(function() {
			prepareAjaxForms();
			removeConfirmations();
		});
		xhr.captureData();
	}
	
	if(document.getElementById('newsletterForm')) {
		var contactForm = document.getElementById('newsletterForm');
		var xhr = new Hijax();
		xhr.setContainer(contactForm);
		xhr.setUrl("newsletterForm.php");
		xhr.setCanvas(contactForm.parentNode);
		xhr.setLoading(function() {
			displayLoading("submitBtn");
		});
		xhr.setCallback(function() {
			prepareAjaxForms();
			removeConfirmations();
		});
		xhr.captureData();
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	// delicious link
	//
	//
	//
function prepareDeliciousLink() {
	var selectedElems = getElementsByClassName('delicious');
	if(selectedElems != '') {
		for(var i=0; i<selectedElems.length; i++) {
			selectedElems[i].onclick = function() {
				addToDelicious();
				return false;
			}
		}
	}else{
		return false;
	}
}
function addToDelicious() {
	window.open('http://del.icio.us/post?v=4&noui&jump=close&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title), 'delicious','toolbar=no,width=700,height=400'); 
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	// window onload
	//
	//
	//
$(function() {
	prepareDeliciousLink();
	prepareAjaxForms();
	embedTrailer();
	openNewWindow();
	removeConfirmations();
	highLightPage();
	generateMarkup();
});

