// Joseph(01/28/2010): FAQs

var items = new Array();



// Joseph (01/20/2010) publication index 
//string trimming for the String object in JavaScript
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g,""); }
function Null()
{
}

function resultHandler(result) { 
	// used with ColdFusion.Ajax.submitForm
	//console.log('result handler ran...');
	//alert(result.trim());
	
	//ColdFusion.Window.create("gotopage","Find a Location","gotopage.cfm",{center:true,modal:true,draggable:true,width:550,height:375})

}

function mycallBack()
{
	//document.getElementById("callback").innerHTML = "<br><br><b>This is printed by the callback handler.</b>";
}
 
<!--- The error handler pops an alert with the error code and message. --->
function myerrorHandler(errorCode,errorMessage)
{
	alert("[In Error Handler]" + "\n\n" + "Error Code: " + errorCode + "\n\n" + "Error Message: " + errorMessage);
}
 
function navigateTo(url,container,fnCallBack,fnErrorHandler,method,form)
{
	ColdFusion.navigate(url,container,fnCallBack,fnErrorHandler,method,form)
}

function submitAZForm() 
{
	frm = document.frmAZIndex;
	navigateTo('azdetails.cfm', 'contextDiv', mycallBack, myerrorHandler, 'POST', 'frmAZIndex');
}

function setAZType(type)
{
	document.getElementById('AZType').value = type;
	document.getElementById('AZSeries').value = '';
	submitAZForm();
}

function submitAZURL(letter)
{

	setAZIndex();
	//document.getElementById('aztab_'+letter).style.backgroundColor = '0038B2';//'FFcc66';
	document.getElementById('aztab_'+letter).className = 'alphaBarOn';//'FFcc66';
	document.getElementById('AZType').value = '';
	document.getElementById('AZSeries').value = '';
	document.getElementById('AZLetter').value = letter;
	submitAZForm();
}

function setAZIndex()
{ 
	var myArray = getElementsByClassName(document, "td", "alphaBar");
	for ( var i=0, len=myArray.length; i<len; ++i ){
		myArray[i].className = 'alphaBar';
	}
	myArray = getElementsByClassName(document, "td", "alphaBarOn");
	for ( var i=0, len=myArray.length; i<len; ++i ){
		myArray[i].className = 'alphaBar';
	}	
	
}


function setSeries()
{
	document.getElementById('AZSeries').value = '0'; //any value would do
	document.getElementById('AZType').value = '';
	submitAZForm();
}


function submitAZURLqa(letter)
{

	setAZIndex();
	document.getElementById('aztab_'+letter).className = 'alphaBarOn';//'FFcc66';
	document.getElementById('AZLetter').value = letter;
	navigateTo('lstqaz.cfm', 'contextDiv', createitems, myerrorHandler, 'POST', 'frmAZIndex');


}



// ---
/*
    Written by Jonathan Snook, http://www.snook.ca/jonathan
    Add-ons by Robert Nyman, http://www.robertnyman.com

	Revised to support looking for multiple class names,
	no matter in which order they're applied to the element
*/
function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}
// ---
// Array support for the push method in IE 5
if(typeof Array.prototype.push != "function"){
	Array.prototype.push = ArrayPush;
	function ArrayPush(value){
		this[this.length] = value;
	}
}
// ---
/*
	Examples of how to call the function:
	
	To get all a elements in the document with a "info-links" class:
    getElementsByClassName(document, "a", "info-links");
    
	To get all div elements within the element named "container", with a "col" and a "left" class:
    getElementsByClassName(document.getElementById("container"), "div", ["col", "left"]);
*/
// ---



function foldup(obj) //
{
	
        if ( (obj != undefined) && (obj.id != undefined) )
	{
		obj.style.borderWidth = "";
		obj.style.borderStyle = "";
		obj.style.borderColor = "";
		obj.style.backgroundColor = "";
		if (obj.className.indexOf("hide") > -1) 
		{
			obj.className = obj.className.replace("hide","");
		}
		else
		{
			obj.className += "hide";
		}
	}
	else
	{
		this.style.borderWidth = "";
		this.style.borderStyle = "";
		this.style.borderColor = "";
		this.style.backgroundColor = "";
		if (this.className.indexOf("hide") > -1) 
		{
			this.className = this.className.replace("hide","");
		}
		else
		{
			this.className += "hide";
		}
	}
	
	if (this.parentNode&&this.parentNode.id)
	{
			var pid=this.parentNode.id;
			tag = document.getElementById(pid);
			if  ((tag != undefined) &&  (tag != null))
			{
				tags = tag.getElementsByTagName("*");
				for (var i=0; i<tags.length;i++) 
				{
					if ( (tags[i].className == "faqheaderhide"))
					{
						tags[i].className = tags[i].className.replace(/hide/g, "");
					}
					if ( (tags[i].className == "faq"))
					{
						tags[i].className = tags[i].className + 'hide';
					}
				}
				//break;
			}
	}
}




function assign(id,mode)
{
	var tags, tag;
	for (k=0; k<items.length; k++)
	{
		tag = document.getElementById(items[k].id);
		if  ((tag != undefined) &&  (tag != null) && (tag.id == id))
		{
			tags = tag.getElementsByTagName("*");
			for (var i=0; i<tags.length;i++) 
			{
				if ( (tags[i].className == "faqheader"))
				{
					tags[i].className = tags[i].className + 'hide';
				}
				if (  (tags[i].className == "faqhide"))
				{
					tags[i].className = tags[i].className.replace(/hide/g, "");
					//tags[i].onclick = foldup; //it works too
					//break;
				}
				if ( (tags[i].className == "faqfooterhide"))
				{
					tags[i].className = tags[i].className.replace(/hide/g, "");
					tags[i].onclick = foldup;
				}
			}
			//break;
		}
	}
	
	return;

}


function createitems() 
{
	
	var tag = getElementsByClassName(document, "div", "item");
	items.length = 0;
	for (i=tag.length-1;i>=0;i--)
	{
		items.push(tag[i]);
	}
}









