var quotesArr = new Array();
quotesArr[0] = "(970) 834-1160";



function loadQuote(contObj)
{
	var quoteArrIdx = Math.floor(Math.random()*quotesArr.length);
	contObj.innerHTML = quotesArr[quoteArrIdx];
}

function joinNewsletter(formElmId)
{
	var emailAddress = document.getElementById(formElmId).value;

	if(! emailAddress || emailAddress == '')
		modalDialog("Error","You must enter an email address.");
	else if(! emailAddress.match(/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9-])+(\.[a-zA-Z0-9_-]+)+$/))
		modalDialog("Error","The email address entered is not valid. (eg. you@domain.com)");
	else
	{
		var reqParams = "newsletter_email=" + emailAddress;
		AJAXReq("POST","newsletter_add.php",reqParams,joinNewsletterResponse,true);
	}

	return false;
}

function joinNewsletterResponse(resObj)
{
	if(resObj.readyState==4 && resObj.status==200)
		modalDialog("Success!","You have successfully joined our e-Newsletter!");
}

function AJAXReq(rType,rURL,rParams,cbFunc,bExecInline)
{
	var XMLRequest = false;
	if(window.XMLHttpRequest){XMLRequest = new XMLHttpRequest();}
	else if(window.ActiveXObject){
		XMLRequest = new ActiveXObject("Msxml2.XMLHTTP");
		if(! XMLRequest){XMLRequest = new ActiveXObject("Microsoft.XMLHTTP");}}
	else if(window.createRequest){XMLRequest = window.createRequest;}
	if(! XMLRequest)
	{
		alert("Your browser does not support XML HTTP Requests. Please update or change to a browser able to perform this action.");return false;
	}
	else
	{
		XMLRequest.open(rType,rURL,true);
		XMLRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		XMLRequest.setRequestHeader("Content-length",rParams.length);
		XMLRequest.setRequestHeader("Connection","close");
		if(typeof(cbFunc)=="function")
			XMLRequest.onreadystatechange = function(){cbFunc(XMLRequest);};

		if(bExecInline)
			XMLRequest.send(rParams);
	
		return XMLRequest;
	}
}

function modalDialog(strHeader,strContent)
{
	dimBG(true);

	var boxObj = document.createElement("div");
	boxObj.className="modalDialog";
	
	var headerObj = document.createElement("h1");
	headerObj.appendChild(document.createTextNode(strHeader));
	boxObj.appendChild(headerObj);
	
	var contentObj = document.createElement("div");
	contentObj.className = "content";
	contentObj.innerHTML = strContent;
	boxObj.appendChild(contentObj);

	var buttonContObj = document.createElement("div");
	buttonContObj.className = "buttons";

	var buttonObj = document.createElement("div");
	buttonObj.appendChild(document.createTextNode("OK"));
	buttonObj.onclick=function(){
		xRemoveNode(boxObj,true);
		dimBG(false);
	};

	buttonContObj.appendChild(buttonObj);
	boxObj.appendChild(buttonContObj);
	document.getElementsByTagName("body")[0].appendChild(boxObj);
}

function dimBG(bDim)
{
	var dimBGs = getElementsByClassName("dimBG");
	for(var i=0; i < dimBGs.length; i++)
	{
		document.getElementsByTagName("body")[0].removeChild(dimBGs[i]);
	}

	if(bDim)
	{
		var dimBGElm = document.createElement("div");
		dimBGElm.className = "dimBG";
		dimBGElm.style.height = getPageDims().pageHeight + "px";
		document.getElementsByTagName("body")[0].appendChild(dimBGElm);
		opacity(dimBGElm,0.6);
	}
}

function opacity(obj,opacity)
{
	if(opacity > 0 && obj.style.visibility != "visible")
		obj.style.visibility="visible";

	obj.style.opacity = opacity;
	obj.style.filter = "alpha(opacity=" + opacity * 100 + ")"; 
}

function getElementsByClassName(classname,node)
{
	if(!node)
		node = document.getElementsByTagName("body")[0];

	var a = [];
	var re = new RegExp('\\b' + classname + '\\b');
	var els = node.getElementsByTagName("*");
	for(var i=0,j=els.length; i<j; i++)
		if(re.test(els[i].className))
			a.push(els[i]);
	return a;
}

function getPageDims()
{
	var pageHeight, pageWidth;

	if(window.innerHeight && window.scrollMaxY)
	{
		pageHeight = window.innerHeight + window.scrollMaxY;
		pageWidth = window.innerWidth + window.scrollMaxX;
	}
	else if(document.body.scrollHeight > document.body.offsetHeight)
	{
		pageHeight = document.body.scrollHeight;
		pageWidth = document.body.scrollWidth;
	}
	else
	{
		pageHeight = document.body.offsetHeight;
		pageWidth = document.body.offsetWidth;
  	}

	var winHeight, winWidth;

	if (self.innerHeight)
	{
		winWidth = self.innerWidth;
		winHeight = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	{
		winWidth = document.documentElement.clientWidth;
		winHeight = document.documentElement.clientHeight;
	}
	else if (document.body)
	{
		winWidth = document.body.clientWidth;
		winHeight = document.body.clientHeight;
	}	

	if(pageHeight < winHeight)
		pageHeight = winHeight;
	if(pageWidth < winWidth)
		pageWidth = winWidth;

	var xScroll, yScroll;

	if(self.pageYOffset)
	{
		yScroll = self.pageYOffset;
		xScroll = self.pageXOffset;
	}
	else if(document.documentElement && document.documentElement.scrollTop)
	{
		yScroll = document.documentElement.scrollTop;
		xScroll = document.documentElement.scrollLeft;
	}
	else if(document.body)
	{
		yScroll = document.body.scrollTop;
		xScroll = document.body.scrollLeft;
	}

	return {pageHeight:pageHeight, pageWidth:pageWidth, winHeight:winHeight, winWidth:winWidth, yScroll:yScroll, xScroll:xScroll};
}

function xRemoveNode(nodeObj,boolRemoveSelf)
{
	if(nodeObj.hasChildNodes())
	{
		while(nodeObj.childNodes.length > 0)
			xRemoveNode(nodeObj.firstChild,true);
	}

	if(boolRemoveSelf)
		nodeObj.parentNode.removeChild(nodeObj);
}