////////////////////////////////////////////////////////////////////////////////////////////////

	//

	//

	//

	// 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");

			}	

		}

	}

}

////////////////////////////////////////////////////////////////////////////////////////////////

	//

	//

	//

	//insuranceInput()

	//

	//

	//

function insuranceInput() {

	if(!document.getElementById('insurance')) return false;

	var targetElem = document.getElementById('otherInsurance');

	var theOption = document.getElementById('insurance');

	theOption.onchange = function() {

		checkInput(this.value, targetElem);

	}

	targetElem.parentNode.style.display = 'none';

	checkInput(theOption.value, targetElem);

}

function checkInput(theValue, targetElem) {

	if(theValue == 'other'){

		new Effect.Appear(targetElem.parentNode);

	}else{

		targetElem.value = '';

		new Effect.Fade(targetElem.parentNode);

	}

}

////////////////////////////////////////////////////////////////////////////////////////////////

	//

	//

	//

	//displayLoading()

	//

	//

	//

function displayLoading(element) {

	var button = document.getElementById(element);

	button.setAttribute("value", "Sending...");

}

////////////////////////////////////////////////////////////////////////////////////////////////

	//

	//

	//

	//prepareAjaxForms()

	//

	//

	//

function prepareAjaxForms() {

	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() {

			prepareAjaxForms();

			insuranceInput();

			loadDateChooser();

			removeConfirmations();

		});

		xhr.captureData();

	}

	

	if(document.getElementById('infoForm')) {

		var infoForm = document.getElementById('infoForm');

		var xhr = new Hijax();

		xhr.setContainer(infoForm);

		xhr.setUrl("infoForm.php");

		xhr.setCanvas(infoForm.parentNode);

		xhr.setLoading(function() {

			displayLoading("quickSubmitBtn");

		});

		xhr.setCallback(function() {

			prepareAjaxForms();

			removeConfirmations();

			smartInputs();

		});

		xhr.captureData();

	}

	if(document.getElementById("dermPageHolder")) {

		var pageList = document.getElementById("pageList");

		var xhr = new Hijax();

		xhr.setContainer(pageList);

		xhr.setUrl("knowledge.php");

		var pageCanvas = document.getElementById("dermPageHolder");

		xhr.setCanvas(pageCanvas);

		xhr.setCallback(function() {

			if(document.getElementById("libraryHeading")) {

				var heading = document.getElementById("libraryHeading");

				new Effect.Fade(heading);

			}

			changeDermPage(pageCanvas);

			prepareExternalLinks();

			prepareAjaxForms();

		});

		xhr.captureData();

	}
	
	if(document.getElementById("dermPageHolder2")) {
		
		var pageList = document.getElementById("pageList2");

		var xhr = new Hijax();

		xhr.setContainer(pageList);

		xhr.setUrl("knowledge.php");

		var pageCanvas = document.getElementById("dermPageHolder2");

		xhr.setCanvas(pageCanvas);

		xhr.setCallback(function() {

			if(document.getElementById("libraryHeading")) {

				var heading = document.getElementById("libraryHeading");

				new Effect.Fade(heading);

			}

			changeDermPage(pageCanvas);

			prepareExternalLinks();

			prepareAjaxForms();

		});

		xhr.captureData2();

	}

}

function changeDermPage(element) {

 	new Effect.Appear(element);

}

////////////////////////////////////////////////////////////////////////////////////////////////

	//

	//

	//

	//smartInputs()

	//

	//

	//

function smartInputs() {

	var form = document.getElementById('infoForm');

	var errorClass;



	for(var i=0; i < form.elements.length; i++) {

		var element = form.elements[i];

		if (element.type == 'submit') continue;

		if (!element.defaultValue) continue;

		element.onfocus = function() {

			if(this.type == 'text') {

				if(this.value == this.defaultValue && this.value.indexOf("*") != -1) {

					this.value = "";

				}

				if(this.className != '') {

					errorClass = this.className;

					this.className = '';

				}

			}else{

				if(this.value == this.defaultValue && this.value.indexOf("Questions") != -1) {

					this.value = "";

				}

			}

		}

		element.onblur = function() {

			if(this.value == "") {

				this.value = this.defaultValue;

				this.className = errorClass;

			}

		}

	}

}

////////////////////////////////////////////////////////////////////////////////////////////////

	//

	//

	//

	//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');

}

////////////////////////////////////////////////////////////////////////////////////////////////

	//

	//

	//

	//writeFlashContent()

	//

	//

	//

function writeFlashContent() {

	if(!document.getElementById) return false;

	

	var swfPath = "swf/welcome.swf";

	var embedId = "embeddedSwf";

	var version = "8";

	var backgroundColor = "fdf4ec";

	var containerId = "homeHeading";

	var swfWidth = 542;

	var swfHeight = 250;

	

	if(!document.getElementById(containerId)) return false;

	

	var swfContainer = document.getElementById(containerId);

	swfContainer.style.display = "block";

	

	var so = new SWFObject(swfPath, embedId, "0", "0", version, backgroundColor);

	so.addParam("scale", "noscale");

	so.addParam("menu","false");

	

	so.addVariable("sentRootPath", "swf/");

	

	so.write(swfContainer);

	

	var newlyEmbeddedSwf = document.getElementById(embedId);

	newlyEmbeddedSwf.style.width = swfWidth + "px";

	newlyEmbeddedSwf.style.height = swfHeight + "px";	

}

////////////////////////////////////////////////////////////////////////////////////////////////

	//

	//

	//

	//generateBotoxMarkup()

	//

	//

	//

function generateBotoxMarkup() {

	if(!document.getElementById('botoxBackBtn')) return false;

	

	var container = document.createElement('div');

	container.setAttribute('id', 'botoxVideos');

	

	var title = document.createElement('h4');

	var titleText = document.createTextNode('Select a video from the list');

	title.appendChild(titleText);

	container.appendChild(title);



	//array of items to be put in the list. [DisplayName, hrefValue];

	var items = [

				["Botox introduction", "botox01.swf"],

				["Patient testimonials", "botox02.swf"],

				["What is it like?", "botox03.swf"],

				["History of Botox", "botox04.swf"],

				["How is it administered?", "botox05.swf"],

				["When will I see results?", "botox06.swf"],

				["What is Botox like?", "botox07.swf"],

				["Who should not get Botox?", "botox08.swf"],

	];

	//create the list and populate it with links to the proper videos

	var itemList = document.createElement('ul');

	container.appendChild(itemList);

	var filePath = 'swf/botox/';

	for(var i=0; i<items.length - 1; i++) {

		var t = document.createElement('li');

		var a = document.createElement('a');

		var hrefValue = filePath + items[i][1];

		a.displayText = items[i][0];

		a.setAttribute('href', hrefValue);

		a.onclick = function() {

			title.firstChild.nodeValue = this.displayText;

			generateBotoxSwf(this.href);

			return false;

		}

		var theText = document.createTextNode(a.displayText);

		a.appendChild(theText);

		t.appendChild(a);

		itemList.appendChild(t);

	}

	//append the newly created nodes to the dom tree

	var parentElement = document.getElementById('contentMain');

	var referenceElement = document.getElementById('botoxBackBtn');

	parentElement.insertBefore(container, referenceElement);

	

	generateBotoxSwf();

}

//

//createBotoxSwf()

//

function generateBotoxSwf(videoName) {

	var container = document.getElementById('botoxVideos');

	

	if(!videoName) {

		videoName = "";

	}

	

	//create the swf holder element and the swf

	var swfPath = "swf/botox/botoxVideo.swf";

	var embedId = "embeddedSwf";

	var version = "8";

	var backgroundColor = "fdf4ec";

	var swfWidth = 239;

	var swfHeight = 196;

	

	if(document.getElementById('botoxVidHolder')) {

		var removeSwf = document.getElementById('embeddedSwf');

		removeSwf.parentNode.removeChild(removeSwf);

		

		var removeMe = document.getElementById('botoxVidHolder');

		removeMe.parentNode.removeChild(removeMe);

	}

	

	var swfContainer = document.createElement('div');

	swfContainer.setAttribute('id', 'botoxVidHolder');

	

	var so = new SWFObject(swfPath, embedId, swfWidth, swfHeight, version, backgroundColor);

	so.addParam("scale", "noscale");

	so.addParam("menu","false");

	so.addVariable("video", videoName);

	so.write(swfContainer);



	container.appendChild(swfContainer);

}

////////////////////////////////////////////////////////////////////////////////////////////////

	//

	//

	//

	//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(){

	prepareAjaxForms();

	smartInputs();

	prepareExternalLinks();

	removeConfirmations();

	highLightPage();

	insuranceInput();

	loadDateChooser();

	writeFlashContent();

	generateBotoxMarkup();
	
	indexMap();

});


