/* ----------------------------------------------- */
/* ---- Used by pages with pagination feature ---- */
/* ----------------------------------------------- */

// Globals
var objId = 'boxContent'; // content update in this (only used by paginate()), can overwrite this locally
var iframeId = 'iframePaginateContent'; // iframe obj (only used by paginate())

// Paginate through series of products
function paginate(o) {
var i=0, strContentUrl, strContentQuery;
	// get file and query to load
	strContentUrl = o.toString();
	strContentUrl = getFilenameAndQuerystring(strContentUrl);
	strContentQuery = getQuerystring(strContentUrl);

	// show temporary content
	document.getElementById(objId).innerHTML = "<p class=\"loading\">Loading . . .</p>";

	// load new content in hidden iframe
	objIframe = document.getElementById(iframeId);
	objIframe.src = strContentUrl;
}


// FUNCTION getContentFromIframe: Called from hidden iframe onload to switch content in page
/* 	
	objIframe: iframe id
	objIframeContent: content container within iframe
	objShowContent: container in which content is shown in page
*/
function getContentFromIframe(objIframe,objIframeContent,objShowContent, bDoSifr, bReFilterImages) {
var strNewContent = frames[objIframe].document.getElementById(objIframeContent).innerHTML;
	if (strNewContent != "") {
		o = document.getElementById(objShowContent);
		o.innerHTML = strNewContent;
	}

	// run sIFR against content loaded from iframe
	if (bDoSifr) {
		do_sIFR();
		}

	// run AlphaImageLoader against pngs loaded from iframe
	if (bReFilterImages) {
		reFilterImages();
		}
}


// Called from hidden iframe onload to switch pagination in page
function getPagNavFromIframe(objIframe,objIframeContent,objShowContent1,objShowContent2,strShowContentClass) {

	var strNewContent = frames[objIframe].document.getElementById(objIframeContent).innerHTML;

	if (strNewContent != "") {
		if (objShowContent1) { // first set of pagination links
			o = document.getElementById(objShowContent1);
			o.innerHTML = strNewContent;
		}
		if (objShowContent2) { // second set of pagination links
			o = document.getElementById(objShowContent2);
			o.innerHTML = strNewContent;
		}

		// add onclicks to pagination
		arrPaginationList = getElementsByClassName(document,'ul',strShowContentClass);
		for (j=0; j<arrPaginationList.length; j++) {
			addEventToTag('',arrPaginationList[j],'a','onclick','paginate');
		}	
	}
}


// Pass url, returns filename and query string
function getFilenameAndQuerystring(strUrl) {
	if (strUrl != ""){
		var urlParts = strUrl.split("/");
		var directoryFilename = urlParts.slice(3, urlParts.length);
		return "/" + directoryFilename.join("/");
	}
	else {
		return false;
	}
}


// Pass url, returns query string
function getQuerystring(strUrl) {
	if (strUrl != ""){
		return strUrl.substring(strUrl.lastIndexOf("?")+1,strUrl.length);
	}
	else {
		return false;
	}
}


// FUNCTION addEventToTag: Adds event to tag within object
/*
	objId - object container ID (should be null if objClass not)
	objClass - object container class (should be null if objId not)
	eventTag - element within objId to act on
	eventType - onclick, onmouseover, etc.
	eventFunctionName - function to call from event
*/
function addEventToTag(objId,objClass,eventTag,eventType,eventFunctionName) {

obj = (objId != '') ? document.getElementById(objId) : objClass; // only objId or objClass should have val

if(isW3C && (obj!='')) {
	objArray = obj.getElementsByTagName(eventTag);
	for (i=0; i<objArray.length; i++) {
		switch(eventType) {
			case "onclick":
			objArray[i].onclick = function(){eval(eventFunctionName)(this);return false;}
			break;
		}
	}
}

return;
}


// Called by paginate to run PNG AlphaImageLoader on loaded content
function reFilterImages() {
	var images = document.getElementsByTagName('img');
	var spacerImage = "/img/c.gif";
	for (var i=0;i<images.length;i++) {
		var orignalImage = images[i].src;
		var	htcCapable = /MSIE ((5\.5)|[6])/.test(navigator.userAgent) && navigator.platform == "Win32";
		if(htcCapable && /\.png$/.test(orignalImage)) {
			images[i].style.visibility = 'hidden';
			images[i].src = spacerImage;
			//escape source, but NOT the protocol
			if (orignalImage.substring(0,7) == 'http://'){
				orignalImage = 'http://'+escape(orignalImage.substring(7, orignalImage.length));
			} else if (orignalImage.substring(0,8) == 'https://') {
				orignalImage = 'http://'+escape(orignalImage.substring(8, orignalImage.length));
			} else {
				orignalImage = escape(orignalImage);
			}
			images[i].runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + orignalImage + "',sizingMethod='scale')";
			images[i].style.visibility = 'visible';
		}
	}
}

// Object detection
var isW3C = (document.getElementById && document.createTextNode) ? true : false;
var isAll = (document.all) ? true : false;
