////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	// prepareExternalLinks()
	//
	//
	//
function prepareExternalLinks() {
	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()
	//fadeElem(element)
	//
	//
function removeConfirmations() {
	var paras = document.getElementsByTagName("p");
	for(var i=0; i<paras.length; i++){
		if(paras[i].className == "confirm"){
			var feedback = paras[i];
			fadeElem(feedback);
		}
	}
}
function fadeElem(element) {
	var fadeOut = setTimeout(function() {new Effect.Fade(element)}, 4000);
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	//hightLightPage()
	//
	//
	//
function highLightPage() {
	if(!document.getElementsByTagName) return false;
	if(!document.getElementById) return false;
	if(!document.getElementById("navMain")) return false;
	var nav = document.getElementById("navMain");
	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");
			}	
		}
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	//displayLoading()
	//
	//
	//
function displayLoading(element) {
	var button = document.getElementById(element);
	button.setAttribute("value", "Sending...");
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	//prepareAjax()
	//
	//
	//
function prepareAjax() {
	if(document.getElementById('appointmentForm')) {
		var appointmentForm = document.getElementById('appointmentForm');
		var xhr = new Hijax();
		xhr.setContainer(appointmentForm);
		xhr.setUrl("appointmentForm.php");
		xhr.setCanvas(appointmentForm.parentNode);
		xhr.setLoading(function() {
			displayLoading("submitBtn");
		});
		xhr.setCallback(function() {
			prepareAjax();
			loadDateChooser();
			removeConfirmations();
		});
		xhr.captureData();
	}
	
	if(document.getElementById('contactsOrderForm')) {
		var contactsOrderForm = document.getElementById('contactsOrderForm');
		var xhr = new Hijax();
		xhr.setContainer(contactsOrderForm);
		xhr.setUrl("contactsOrderForm.php");
		xhr.setCanvas(contactsOrderForm.parentNode);
		xhr.setLoading(function() {
			displayLoading("submitBtn");
		});
		xhr.setCallback(function() {
			prepareAjax();
			loadDateChooser();
			removeConfirmations();
		});
		xhr.captureData();
	}
	if(document.getElementById("eyewearGallery")) {
		var eyewearMenu = document.getElementById("eyewearMenu");
		var xhr = new Hijax();
		xhr.setContainer(eyewearMenu);
		xhr.setUrl("eyewearContent.php");
		var pageCanvas = document.getElementById("eyewearGallery");
		xhr.setCanvas(pageCanvas);
		xhr.setCallback(function() {
			prepareExternalLinks();
			prepareAjax();
		});
		xhr.captureData();
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	//loadDateChooser()
	// For date select inputs
	//
	//
function loadDateChooser() {
	if(!document.getElementById('datechooser')) return false;
	var nd = document.getElementById('datechooser');
	nd.DateChooser = new DateChooser();
	nd.DateChooser.setUpdateField({'monthSelect':'n', 'daySelect':'j', 'yearSelect':'Y'});
	nd.DateChooser.setIcon('images/datechooser.png', 'yearSelect');
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	//addLoadEvent()
	//
	//
	//
function addLoadEvent(func) {
	var oldonload = window.onload;
	if(typeof window.onload != 'function') {
		window.onload = func;
	}else{
		window.onload = function() {
			oldonload();
			func();
		}
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////
	//
	//
	//
	//call functions on page load with addLoadEvent
	//
	//
	//
addLoadEvent(function(){
	prepareAjax();
	prepareExternalLinks();
	removeConfirmations();
	highLightPage();
	loadDateChooser();
});
