

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Codewise Lite - JavaScript Library for NewLeafCeramics.com

Copyright (c) 2004-2009 Codewise Systems Inc. & Twisted Lime Media Inc. 
All rights reserved.

Created: 2009-07-15

Revision History:
  1.00	- Initial version. TB, 2009-07-15

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */



/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
External scripts, CSS files, and images */

if (document.getElementsByTagName) {
	e_head = document.getElementsByTagName('head').item(0);

	highslideScript = document.createElement('script');
		highslideScript.src = 'http:\/\/www.newleafceramics.com\/_highslide\/highslide.js';
		// highslideScript.src = '_highslide\/highslide.js';
		highslideScript.type = 'text\/javascript';

	highslideStyles = document.createElement('link');
		// highslideStyles.href = 'http:\/\/www.newleafceramics.com\/_highslide\/highslide.css';
		highslideStyles.href = '_highslide\/highslide.css';
		highslideStyles.type = 'text\/css';
		highslideStyles.rel = 'stylesheet';

	e_head.appendChild(highslideStyles);
	e_head.appendChild(highslideScript);
};

var blank_transparent_image = new Image(); 
blank_transparent_image.src = 'http:\/\/www.newleafceramics.com\/media\/images\/blank\/blank_transparent.gif';


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Browser and platform detection */

var agent = '';

if (navigator.userAgent) { 
	agent = navigator.userAgent.toLowerCase();
} else { 
	agent = navigator.appVersion.toLowerCase();
};

var is_ie = (agent.indexOf('msie') != -1);
var is_ie7 = (is_ie && (agent.indexOf('msie 7.0') != -1));
var is_ie8 = (is_ie && (agent.indexOf('msie 8.0') != -1));
var is_ie7up = (is_ie && (is_ie7 || is_ie8));

var is_safari = (agent.indexOf('safari') != -1);

var is_iphone = (agent.indexOf('iphone') != -1);
var is_ipod = (agent.indexOf('ipod') != -1);
	if (is_ipod) {
		is_iphone = 0;
	};


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Code for determining current URL, file name, path, protocol, etc. */

var URL = location.href;
var URLProtocol = location.protocol;
var URLHostName = location.hostname;
var URLPort = location.port;
var URLPath = location.pathname;
var URLHash = location.hash;
var URLSearch = location.search;
if (URL.indexOf('?') != -1) {
	URLMinusQueryStringTemp = URL.split('\\');
	URLMinusQueryString = URLMinusQueryStringTemp[0];
} else {
	// URLMinusQueryString = URLProtocol + URLHostName + URLPath;
	URLMinusQueryString = URL;
};

if ((fDPO == 'undefined') || (fDPO == null)) {
	var fDPO = ''; // folderDepthPathOffset
};

if ((mFPO == 'undefined') || (mFPO == null)) {
	var mFPO = ''; // mediaFolderPathOffset
};


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Code for determining display environment variables */

var scr_W = screen.width; // screenWidth
var scr_H = screen.height; // screenHeight

var win_IH; // windowInnerHeight
var win_ISH; // windowInnerScrollHeight

function dEV() { // determineEnvironmentVariables
	if (window.innerHeight) {
		win_IH = window.innerHeight;
		win_ISH = document.height;

	} else if ((document.documentElement) && (document.documentElement.clientHeight)) {
		win_IH = document.documentElement.clientHeight;
		win_ISH = document.documentElement.scrollHeight;

	} else if (document.body) {
		win_IH = document.body.clientHeight;
		win_ISH = document.body.scrollHeight;
	};

	if (document.body.scrollHeight) {
		win_ISH = document.body.scrollHeight;
	};

	if (document.height) {
		win_ISH = document.height;
	};

	if (document.documentElement.scrollHeight) {
		win_ISH = document.documentElement.scrollHeight;
	};

	if (is_ie7) {
		win_ISH = document.documentElement.scrollHeight;
	};

	// alert('win_IH = '+ win_IH + '\nwin_ISH = ' + win_ISH);
};


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Document Object Model code */

function gCOT() { // getCollectionsOfTags
	if (document.getElementsByTagName) {
		tAArray = document.getElementsByTagName('a');
		tDivArray = document.getElementsByTagName('div');
		tIFrameArray = document.getElementsByTagName('iframe');
		tImgArray = document.getElementsByTagName('img');
		tLiArray = document.getElementsByTagName('li');
		tObjectArray = document.getElementsByTagName('object');
		tPArray = document.getElementsByTagName('p');
		tSpanArray = document.getElementsByTagName('span');
		tHrArray = document.getElementsByTagName('hr');
	};
};

document.getElementsByClassName = function(classNameReference) {
	var allElementsByClassName = new Array();

	var allElements = document.getElementsByTagName('*');

	for (var loop00 = 0; loop00 < allElements.length; loop00++) {
		// if (allElements[loop00].className.indexOf(classNameReference) != -1) {
		if (hasClass(allElements[loop00], classNameReference)) {
			allElementsByClassName[allElementsByClassName.length] = allElements[loop00];
		};
	};

	return allElementsByClassName;
};

document.getElementsByTagNameAndClassName = function(tagNameReference, classNameReference) {
	var allElementsByTagNameAndClassName = new Array();

	var allElements = document.getElementsByTagName('*');

	for (var loop00 = 0; loop00 < allElements.length; loop00++) {
		if ((allElements[loop00].tagName.toLowerCase() == tagNameReference.toLowerCase()) && (hasClass(allElements[loop00], classNameReference))) {
			allElementsByTagNameAndClassName[allElementsByTagNameAndClassName.length] = allElements[loop00];
		};
	};

	return allElementsByTagNameAndClassName;
};

function insertAfter(newNode, referenceNode) {
	referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
};

function replaceNode(newNode, oldNode, newAsClone) {
	if (typeof oldNode == 'string') {
		oldNode = document.getElementById(oldNode);
	};

	if (typeof newNode == 'string') {
		newNode = document.getElementById(newNode);
	};

	if (!oldNode || !newNode) {
		return null;
	};

	newNode = (newAsClone) ? newNode.cloneNode(true) : newNode;
	return oldNode.parentNode.replaceChild(newNode, oldNode);
};

function hasClass(cE, cN) { // currentElement, className
	if (cE) {
		var classNameRegExp = new RegExp('(\\s|^)' + cN + '(\\s|$)');
		return cE.className.match(classNameRegExp);
	};
};

function addClass(cE, cN) { // currentElement, className
	if (cE) {
		if (!this.hasClass(cE, cN)) {
			if (cE.className == '') {
				cE.className = cN;
			} else {
				cE.className += ' ' + cN;
			};
		};
	};
};

function removeClass(cE, cN) { // currentElement, className
	if (cE) {
		if (hasClass(cE, cN)) {
			var classNameRegExp = new RegExp('(\\s|^)' + cN + '(\\s|$)');
			cE.className = cE.className.replace(classNameRegExp, ' ');
		};
	};
};


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Flash and Quicktime player detection */

var flashinstalled = 0;
var flashversion = 0;
var FlashPlayerVersionMinor = 0;
var FlashPlayerVersionRevision = 0;

var FlashPlayerVersionRequired = 8;
var FlashPlayerPluginObject = '';

var QuickTimePlayerInstalled = 0;
var QuickTimePlayerVersion = 0;

var QuickTimePlayerVersionRequired = 6;
var QuickTimePlayerPluginObject = '';

// Internet Explorer
if (window.ActiveXObject) {
	// Flash detection
	try {
		FlashPlayerObject = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');

		if (FlashPlayerObject) {
			flashinstalled = 2;

			FlashPlayerVersionTemp = FlashPlayerObject.GetVariable('$version');
			FlashPlayerVersionTempArray = FlashPlayerVersionTemp.split(' ')[1].split(','); // .toLowerCase().split('win ');

			flashversion = parseInt(FlashPlayerVersionTempArray[0], 10);
			FlashPlayerVersionMinor = parseInt(FlashPlayerVersionTempArray[1], 10);
			FlashPlayerVersionRevision = parseInt(FlashPlayerVersionTempArray[2], 10);
		};
	} catch(err) {
			flashinstalled = 1;
	};

	// QuickTime Detection
	try {
		QuickTimePlayerObject = new ActiveXObject('QuickTimeCheckObject.QuickTimeCheck.1');

		if (QuickTimePlayerObject) {
			if (QuickTimePlayerObject.IsQuickTimeAvailable(0)) {
				QuickTimePlayerInstalled = 1;
				QuickTimePlayerVersion = Math.round((QuickTimePlayerObject.QuickTimeVersion.toString(16, 10) / 1000000) * 10) / 10;
			};
		};
	} catch(err) {
			
	};

// Else if the plugins array exists
} else if (navigator.plugins && (navigator.plugins.length > 0)) {
	FlashPlayerPluginObject = navigator.plugins['Shockwave Flash'];

	// Flash detection
	if (FlashPlayerPluginObject) {
		flashinstalled = 2;

		if (FlashPlayerPluginObject.description) {
			var pluginDescription = FlashPlayerPluginObject.description;

			flashversion = pluginDescription.split('.')[0].split('Shockwave Flash ')[1];

			FlashVersionSplitBy = '  r';
			if (pluginDescription.indexOf(' d') != -1) {
				FlashVersionSplitBy = ' d';
			};

			FlashPlayerVersionMinor = pluginDescription.split('.')[1].split(FlashVersionSplitBy)[0];
			FlashPlayerVersionRevision = pluginDescription.split('.')[1].split(FlashVersionSplitBy)[1];
		};

	} else {
		flashinstalled = 1;
		if (navigator.plugins['Shockwave Flash 2.0']) {
			flashinstalled = 2;
			flashversion = 2;
		};
	};

	// QuickTime Detection
	for (loop00 = 0; loop00 < navigator.plugins.length; loop00++) {
		if (navigator.plugins[loop00].name.indexOf('QuickTime') != -1) { 
			QuickTimePlayerInstalled = 1;
			QuickTimePlayerVersion = parseFloat(navigator.plugins[loop00].name.substring(18));
		};
	};

// Else
} else if ((navigator.mimeTypes) && (navigator.mimeTypes.length)) {
	FlashPlayerPluginObject = navigator.mimeTypes['application/FlashPlayerPluginObject-shockwave-flash'];

	if ((FlashPlayerPluginObject) && (FlashPlayerPluginObject.enabledPlugin)) {
		flashinstalled = 2;
	} else {
		flashinstalled = 1;
	};
};


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Flash and QuickTime object embedding */

var eFM_ObjectTagHTML = ''; // embeddedFlashMovie_ObjectTagHML
var eFM_EmbedTagHTML = ''; // embeddedFlashMovie_EmbedTagHTML

function embedFlashMovie(eFM_Filename, eFM_Container, eFM_PlayerVersion, eFM_Width, eFM_Height, eFM_OptionalParameters) {
	eFM_ObjectTagHTML = '';
	eFM_EmbedTagHTML = '';

	if (document.getElementById(eFM_Container)) {
		var e_FlashContainer = document.getElementById(eFM_Container); // FlashContainerElement

		var eFM_IdAttribute01HTML = '';
		var eFM_IdAttribute02HTML = '';

		if (eFM_OptionalParameters) {
			var eFM_Temp01 = eFM_OptionalParameters.split(',');

			for (loop00 = 0; loop00 < eFM_Temp01.length; loop00++) {
				eFM_Temp02 = eFM_Temp01[loop00].split('=');

				if (eFM_Temp02[0] == 'id') {
					eFM_IdAttribute01HTML += 'id="' + eFM_Temp02[1] + '" ';
					eFM_IdAttribute02HTML += 'name="' + eFM_Temp02[1] + '" ';
				};
			};
		};

		// if (eFM_Filename.indexOf('http:\/\/') == -1) {
		if (eFM_Filename.indexOf('\/') == -1) {
			eFM_Filename = fDPO + mFPO + 'media\/flash\/' + eFM_Filename;
		};

		eFM_ObjectTagHTML += '<object ' + eFM_IdAttribute01HTML + 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=' + eFM_PlayerVersion + ',0,0,0" width="' + eFM_Width + '" height="' + eFM_Height + '">';
		eFM_ObjectTagHTML += '<param name="movie" value="' + eFM_Filename + '" \/>';

		eFM_EmbedTagHTML += '<embed ' + eFM_IdAttribute02HTML + 'pluginspage="http:\/\/www.macromedia.com\/go\/getflashplayer" type="application\/x-shockwave-flash" src="' + eFM_Filename + '" width="' + eFM_Width + '" height="' + eFM_Height + '"';

		if (eFM_OptionalParameters) {
			for (loop00 = 0; loop00 < eFM_Temp01.length; loop00++) {
				eFM_Temp02 = eFM_Temp01[loop00].split('=');

				if (eFM_Temp02[0] != 'id') {
					eFM_ObjectTagHTML += '<param name="' + eFM_Temp02[0] + '" value="' + eFM_Temp02[1] + '" />';

					eFM_EmbedTagHTML += ' ' + eFM_Temp02[0] + '="' + eFM_Temp02[1] + '"';
				};
			};
		};

		eFM_EmbedTagHTML += '><\/embed>';
		eFM_ObjectTagHTML += eFM_EmbedTagHTML + '<\/object>';

		if ((flashinstalled == 2) && (flashversion >= eFM_PlayerVersion)) {
			e_FlashContainer.innerHTML = eFM_ObjectTagHTML;
		};
	} else {
		// alert('The necessary container element does NOT exist...');
	};
};

var eQTM_ObjectTagHTML = ''; // embeddedQuickTimeMovie_ObjectTagHML
var eQTM_EmbedTagHTML = ''; // embeddedQuickTimeMovie_EmbedTagHTML

function embedQuickTimeMovie(eQTM_Filename, eQTM_Container, eQTM_PlayerVersion, eQTM_Width, eQTM_Height, eQTM_OptionalParameters) {
	eQTM_ObjectTagHTML = '';
	eQTM_EmbedTagHTML = '';

	if (document.getElementById(eQTM_Container)) {
		var e_QuickTimeContainer = document.getElementById(eQTM_Container); // QuickTimeContainerElement

		var eQTM_IdAttribute01HTML = '';
		var eQTM_IdAttribute02HTML = '';

		if (eQTM_OptionalParameters) {
			var eQTM_Temp01 = eQTM_OptionalParameters.split(',');

			for (loop00 = 0; loop00 < eQTM_Temp01.length; loop00++) {
				eQTM_Temp02 = eQTM_Temp01[loop00].split('=');

				if (eQTM_Temp02[0] == 'id') {
					eQTM_IdAttribute01HTML += 'id="' + eQTM_Temp02[1] + '" ';
					eQTM_IdAttribute02HTML += 'name="' + eQTM_Temp02[1] + '" ';
				} else if ((eQTM_Temp02[0] == 'controller') && (eQTM_Temp02[1] == 'true')) {
					eQTM_Height += 16;
				};
			};
		};

		// if (eQTM_Filename.indexOf('http:\/\/') == -1) {
		if (eQTM_Filename.indexOf('\/') == -1) {
			eQTM_Filename = fDPO + mFPO + 'media\/quicktime\/' + eQTM_Filename;
		};

		eQTM_ObjectTagHTML += '<object ' + eQTM_IdAttribute01HTML + 'classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http:\/\/www.apple.com\/qtactivex\/qtplugin.cab" width="' + eQTM_Width + '" height="' + eQTM_Height + '">';
		eQTM_ObjectTagHTML += '<param name="type" value="video\/quicktime" \/>';
		eQTM_ObjectTagHTML += '<param name="src" value="' + eQTM_Filename + '" \/>';

		eQTM_EmbedTagHTML += '<embed ' + eQTM_IdAttribute02HTML + 'pluginspage="http:\/\/www.apple.com\/quicktime\/download\/" type="video\/quicktime" src="' + eQTM_Filename + '" width="' + eQTM_Width + '" height="' + eQTM_Height + '"';

		if (eQTM_OptionalParameters) {
			for (loop00 = 0; loop00 < eQTM_Temp01.length; loop00++) {
				eQTM_Temp02 = eQTM_Temp01[loop00].split('=');

				if (eQTM_Temp02[0] != 'id') {
					eQTM_ObjectTagHTML += '<param name="' + eQTM_Temp02[0] + '" value="' + eQTM_Temp02[1] + '" />';

					eQTM_EmbedTagHTML += ' ' + eQTM_Temp02[0] + '="' + eQTM_Temp02[1] + '"';
				};
			};
		};

		eQTM_EmbedTagHTML += '><\/embed>';
		eQTM_ObjectTagHTML += eQTM_EmbedTagHTML + '<\/object>';

		if (QuickTimePlayerInstalled && (QuickTimePlayerVersion >= eQTM_PlayerVersion)) {
			e_QuickTimeContainer.innerHTML = eQTM_ObjectTagHTML;
		};
	} else {
		// alert('The necessary container element does NOT exist...');
	};
};


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Writing CSS into the page */

var iSSHTML = '';

iSSHTML += ' html { visibility: hidden; }';

if (!(is_ie && !is_ie7up)) {
	iSSHTML += ' body#home h1 { text-indent: -999em; background: no-repeat -360px 0px url(http:\/\/www.newleafceramics.com\/media\/images\/_links_and_headings_bg.png); }';
	iSSHTML += ' body#pottery h1 { text-indent: -999em; background: no-repeat -360px -50px url(http:\/\/www.newleafceramics.com\/media\/images\/_links_and_headings_bg.png); }';
	iSSHTML += ' body#lessons h1 { text-indent: -999em; background: no-repeat -360px -100px url(http:\/\/www.newleafceramics.com\/media\/images\/_links_and_headings_bg.png); }';
	iSSHTML += ' body#parties h1 { text-indent: -999em; background: no-repeat -360px -150px url(http:\/\/www.newleafceramics.com\/media\/images\/_links_and_headings_bg.png); }';
	iSSHTML += ' body#services h1 { text-indent: -999em; background: no-repeat -360px -200px url(http:\/\/www.newleafceramics.com\/media\/images\/_links_and_headings_bg.png); }';
	iSSHTML += ' body#location h1 { text-indent: -999em; background: no-repeat -360px -250px url(http:\/\/www.newleafceramics.com\/media\/images\/_links_and_headings_bg.png); }';
	iSSHTML += ' body#pageNotFound h1 { text-indent: -999em; background: no-repeat -360px -300px url(http:\/\/www.newleafceramics.com\/media\/images\/_links_and_headings_bg.png); }';
	iSSHTML += ' body#gallery h1 { text-indent: -999em; background: no-repeat -360px -350px url(http:\/\/www.newleafceramics.com\/media\/images\/_links_and_headings_bg.png); }';
	iSSHTML += ' body#potteryPast h1 { text-indent: -999em; background: no-repeat -360px -400px url(http:\/\/www.newleafceramics.com\/media\/images\/_links_and_headings_bg.png); }';

	iSSHTML += ' a.primaryNav { text-indent: -999em; background: no-repeat -10px 0px url(http:\/\/www.newleafceramics.com\/media\/images\/_links_and_headings_bg.png); }';
	iSSHTML += ' a#primaryNavHomeLink {} a#primaryNavHomeLink:hover, a#primaryNavHomeLink.primaryNavOn { background-position: -190px 0px; }';
	iSSHTML += ' a#primaryNavPotteryLink { background-position: -10px -50px; } a#primaryNavPotteryLink:hover, a#primaryNavPotteryLink.primaryNavOn { background-position: -190px -50px; }';
	iSSHTML += ' a#primaryNavLessonsLink { background-position: -10px -100px; } a#primaryNavLessonsLink:hover, a#primaryNavLessonsLink.primaryNavOn { background-position: -190px -100px; }';
	iSSHTML += ' a#primaryNavPartiesLink { background-position: -10px -150px; } a#primaryNavPartiesLink:hover, a#primaryNavPartiesLink.primaryNavOn { background-position: -190px -150px; }';
	iSSHTML += ' a#primaryNavKilnServicesLink { background-position: -10px -200px; } a#primaryNavKilnServicesLink:hover, a#primaryNavKilnServicesLink.primaryNavOn { background-position: -190px -200px; }';
};

if (is_ie) {
	iSSHTML += ' hr { margin-top: 0px; }';

	if (!is_ie7up) {
		iSSHTML += ' html { background-image: url(http:\/\/www.newleafceramics.com\/media\/images\/_page_bg.gif); }';
		iSSHTML += ' body { background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=http:\/\/www.newleafceramics.com\/media\/images\/_body_bg.png, sizingMethod=scale); } body a, body img {position: relative; }';

		iSSHTML += ' ul#primaryNav { background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=http:\/\/www.newleafceramics.com\/media\/images\/_menu_bg.png, sizingMethod=crop); }';

		iSSHTML += ' ul#primaryNav li.primaryNavItemContainerOn, ul#primaryNav li.hover { background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=http:\/\/www.newleafceramics.com\/media\/images\/_menu_item_bg_hover.png, sizingMethod=crop); }';

		iSSHTML += ' div#bannerContainer { background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=http:\/\/www.newleafceramics.com\/media\/images\/_banner_bg.png, sizingMethod=crop); } div#bannerContainer iframe { position: relative; }';

		iSSHTML += ' .closebutton { background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=http:\/\/www.newleafceramics.com\/_highslide\/graphics\/close_greenish.png, sizingMethod=crop); }';
	};
};

if (is_iphone) {
	iSSHTML += ' a.tel, a.tel:link, a.tel:active, a.tel:hover, a.tel:visited { cursor: pointer !important; color: #497493; border-bottom: 1px dotted #497493; }';
	iSSHTML += ' a.footerNav.tel, a.footerNav.tel:link, a.footerNav.tel:active, a.footerNav.tel:hover, a.footerNav.tel:visited { color: #778e67; border-bottom: 1px dotted #96b382; }';
};

iSSHTML = '<style type="text\/css"><!-' + '-\n' + iSSHTML + '\n-' + '-><\/style>'; // media="screen"

if (document.write) {
	document.write(iSSHTML);
};


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Image preloading */

var logoReplacementImage = new Image();

if (document.images) {
	logoReplacementImage.src = 'http:\/\/www.newleafceramics.com\/media\/images\/logos\/nlc_logo_02.png';
};


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Page initialization and finalization */

function initializeHighslide() {
	hs.registerOverlay({
		html: '<div class="closebutton" onclick="return hs.close(this)" title="Close"></div>',
		position: 'top right',
		fade: 2 // fading the semi-transparent overlay looks bad in IE
	});

	hs.fadeInOut = true;
	hs.graphicsDir = 'http:\/\/www.newleafceramics.com\/_highslide\/graphics\/';
	hs.showCredits = false;
	hs.transitions = ['expand', 'crossfade'];
	hs.wrapperClassName = 'wide-border';
};

// Initialization image galleries
var slideshowSlideInterval = 5000;

function initializeHighslideGalleries() {
	e_highSlideImageGalleries = document.getElementsByTagNameAndClassName('div', 'highslide-gallery');

	for (var loop00 = 0; loop00 < e_highSlideImageGalleries.length; loop00++) {
		if (!e_highSlideImageGalleries[loop00].id) {
			e_highSlideImageGalleries[loop00].id = 'imageGallery' + (loop00 + 1);
		};

		// Add slideshow capability
		hs.addSlideshow({
			slideshowGroup: e_highSlideImageGalleries[loop00].id,
			interval: slideshowSlideInterval,
			repeat: false,
			useControls: true,
			fixedControls: 'fit',
			overlayOptions: {
				opacity: .75,
				position: 'bottom center',
				hideOnMouseOut: true
			}
		});
	};
};

function pI() { // pageInitialization

	e_html = document.getElementsByTagName('html').item(0);
	e_body = document.getElementsByTagName('body').item(0);

	e_pageContainerOuter = document.getElementById('pageContainerOuter');
	e_pageContainerInner = document.getElementById('pageContainerInner');

	e_logo = document.getElementById('logo');
	e_logoLink = e_logo.parentNode;

	e_content = document.getElementById('content');

	e_bannerContainer = document.getElementById('bannerContainer');
	e_banner = document.getElementById('banner');

	// Restyle logo
	if ((URL == 'http:\/\/localhost:8888') || (URL == 'http:\/\/localhost:8888\/') || (URL == 'http:\/\/localhost:8888\/index.html') || (URL == 'http:\/\/www.newleafceramics.com') || (URL == 'http:\/\/newleafceramics.com') || (URL == 'http:\/\/www.newleafceramics.com\/') || (URL == 'http:\/\/newleafceramics.com\/') || (URL == 'http:\/\/www.newleafceramics.com\/index.html') || (URL == 'http:\/\/newleafceramics.com\/index.html')) {
		addClass(e_logo, 'transparentPNG')
		e_logo.src = logoReplacementImage.src;
		e_logo.style.width = logoReplacementImage.width + 'px';
		e_logo.style.height = logoReplacementImage.height + 'px';
		e_logo.style.marginBottom = '5px';

		e_logoLink.style.cursor = 'default';
		e_logoLink.onclick = function() {
			return false;
		};
	};

	// Restyle banner
	// var bannerFlashFile = 'http://www.newleafceramics.com\/media\/flash\/three_pic_stop_04.swf';
	// var bannerFlashFileQueryString = '?baseURL=http%3A%2F%2Fwww.newleafceramics.com&path=&images=stock_lump_of_clay_01_224x300_@60.jpg,stock_wheel_03_450x300_@60.jpg,stock_wheel_04_224x300_@60.jpg';

	if (e_bannerContainer && e_banner) {
		e_bannerContainer.appendChild(e_banner);

		// Embed Flash version
		// embedFlashMovie(bannerFlashFile + bannerFlashFileQueryString, 'banner', 8, 900, 300, 'bgcolor=#f4f8f4,menu=false,quality=best,wmode=transparent');

		e_bannerContainer.style.display = 'block';
	};

	// Restyle links 
	var e_CL = ''; // currentLink
	var tempImages = new Array;

	for (loop00 = 0; loop00 < tAArray.length; loop00++) {
		e_CL = tAArray[loop00];

		// Menu items
		if (hasClass(e_CL, 'primaryNav')) {
			if (e_CL.href == URLMinusQueryString) {
				addClass(e_CL, 'primaryNavOn');
				addClass(e_CL.parentNode, 'primaryNavItemContainerOn');

				e_CL.onclick = function () { 
					this.blur(); 
					return false; 
				};
			} else {
				e_CL.onclick = function () { 
					this.blur(); 
				};
			};

			e_CL.onmouseover = function () { 
				addClass(this.parentNode, 'hover');
			};

			e_CL.onmouseout = function () {
				removeClass(this.parentNode, 'hover');
			};
		};

		// Tel links
		if (hasClass(e_CL, 'tel')) {
			if (!is_iphone) {
				e_CL.onclick = function () {
					return false;
				};
			};
		};

		// Gallery links
		if (hasClass(e_CL, 'gallery')) {
			if (e_CL.childNodes) {
				if (e_CL.childNodes[0].tagName == 'IMG') {
					e_CL.style.border = '0px dashed lime';

					if (e_CL.title) {

					} else {
						if (!e_CL.childNodes[0].alt) {
							if (is_ie) {
								e_CL.childNodes[0].removeAttribute('alt');
							};

							e_CL.title = ' View a larger image... ';
						} else {
							e_CL.title = e_CL.childNodes[0].alt;
						};
					};
				} else {
					if (e_CL.title) {
						tempImages[loop00] = document.createElement('img');
							tempImages[loop00].alt = e_CL.title;
							tempImages[loop00].style.display = 'none';

						e_CL.insertBefore(tempImages[loop00], e_CL.childNodes[0]);
					};
				};
			};

			e_CL.onclick = function() {
				// this.style.outline = 'none';
				// return hs.expand(this, { padToMinWidth: true, align: 'center', captionEval: 'this.thumb.alt' });

				this.style.outline = 'none';

				if ((this.childNodes[0].alt == '') || (!this.childNodes[0].getAttribute('alt'))) {
					// this.childNodes[0].setAttribute('alt', ' ');
				};

				if ((hasClass(this.parentNode, 'highslide-gallery')) || (hasClass(this.parentNode.parentNode, 'highslide-gallery'))) {
					if (this.parentNode.id) {
						return hs.expand(this, { slideshowGroup: this.parentNode.id, align: 'center', captionText: this.childNodes[0].alt });
					} else {
						return hs.expand(this, { slideshowGroup: this.parentNode.parentNode.id, thumbnailId: ('galleryGroupLink' + this.parentNode.parentNode.id.split('Container')[1]), align: 'center', captionText: this.childNodes[0].alt });
					};
				} else {
					return hs.expand(this, { slideshowGroup: this.parentNode.id, align: 'center', captionEval: 'this.thumb.alt' }); // padToMinWidth: true, 
					// return hs.expand(this, { slideshowGroup: this.parentNode.id, align: 'center', headingEval: 'this.thumb.alt' }); // padToMinWidth: true, 
				};
			};
		};

		// External links
		if (hasClass(e_CL, 'external')) {
			e_CL_WindowName = '_blank';

			if (e_CL.className.indexOf('external ') != -1) {
				// regExpStr03 = new RegExp(' ', 'g');
				e_CL_WindowName = e_CL.className.split(' ')[1]; // .replace(regExpStr03,'');
			};

			e_CL.setAttribute('target', e_CL_WindowName);

			if (!e_CL.getAttribute('title')) {
				e_CL.setAttribute('title', ' Link opens in a new window\/tab... ');
			};
		};

		// Photo gallery links
		if (e_CL.className == 'photoGallery') {
			iPLArray[iPLCount] = e_CL.href;
			iPLCount++;

			e_CL.onclick = function() { return false; };
			e_CL.title = e_CL.childNodes[0].alt;
		};
	};

	// Restyle cloaked email addresses
	for (loop00 = 0; loop00 < tSpanArray.length; loop00++) {
		e_CS = tSpanArray[loop00];

		if (hasClass(e_CS, 'cloakedEmail')) {
			if (e_CS.title.indexOf('(-at-)') != -1) {

				emailAddressHTMLTemp = e_CS.title.split('(-at-)');
				emailAddressHTML = emailAddressHTMLTemp[0] + '@' + emailAddressHTMLTemp[1]; // + '?Subject=Web site inquiry...';

				e_CS.title = '';
				e_CS.innerHTML = '<a class="emailLink" href="mailto:' + emailAddressHTML + '">' + e_CS.innerHTML + '<\/a>';

			} else if (e_CS.title.indexOf('%28-at-%29') != -1) {
				emailAddressHTMLTemp = e_CS.title.split('%28-at-%29');
				emailAddressHTML = emailAddressHTMLTemp[0] + '@' + emailAddressHTMLTemp[1]; // + '?Subject=Web site inquiry...';

				e_CS.title = '';
				e_CS.innerHTML = '<a class="emailLink" href="mailto:' + emailAddressHTML + '">' + e_CS.innerHTML + '<\/a>';
			};
		};
	};

	// Restyle images
	for (loop00 = 0; loop00 < tImgArray.length; loop00++) {
		e_CI = tImgArray[loop00];

		if (e_CI.className.indexOf('photoGallery') != -1) {
			e_CI.onclick = function() {
				// oPGI(this);
			};
		};

		if (is_ie && !is_ie7up) {
			if (e_CI.getAttribute('usemap')) {
				e_CI.style.border = 'none';
			};

			if (hasClass(e_CI, 'transparentPNG')) {
				imgWidth = e_CI.width;
				imgHeight = e_CI.height;
				imgSrc = e_CI.src;

				e_CI.width = imgWidth;
				e_CI.height = imgHeight;
				e_CI.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=' + "'true'" + ', src=' + "'" + imgSrc + "'" + ')';
				// e_CI.style.visibility = 'visible';
				e_CI.src = blank_transparent_image.src;
			};
		};
	};

	// Restyle content height
	dEV(); 	// determineEnvironmentVariables
	if (win_ISH <= win_IH) {
		e_html.style.height = '100%';
		e_body.style.height = '100%';
	};

	// Highslide initialization
	initializeHighslide();

	// Initialization image galleries
	initializeHighslideGalleries();

	// Make page visible
	setTimeout('e_html.style.visibility=' + "'visible';", 500);
};

var iPLArray = new Array;
var iPLImagesArray = new Array;
var iPLCount = 0;

function iPL() { // imagePreLoading
	for (loop00 = 0; loop00 < iPLArray.length; loop00++) {
		iPLImagesArray[loop00] = new Image;
		iPLImagesArray[loop00].src = iPLArray[loop00];
	};
};

function aPI() { // additionalPageInitialization
};

onload = function() {
	dEV(); 	// determineEnvironmentVariables
	gCOT(); // getCollectionsOfTags
	pI(); 	// pageInitialization
	aPI(); 	// additionalPageInitialization
	iPL();	// imagePreLoading
};


