//function $(strId){ return document.getElementById(strId); }

function createXMLDoc(xmlData)
{
	// code for IE
	if (window.ActiveXObject)
	{
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.loadXML(xmlData);
	}
	// code for Mozilla, etc.
	else if (document.implementation && document.implementation.createDocument)
	{
		var parser = new DOMParser();
 		var xmlDoc = parser.parseFromString(xmlData,"text/xml");		
	}
	else
	{
		alert('Your browser cannot handle this script');
	}
	
	return xmlDoc;
}

function toggleBioInfo(name)
{
	if(document.getElementById(name+'FullContent').style.display == "none") // currently hidden
	{
		document.getElementById(name+'FullContent').style.display = "";
		document.getElementById(name+'ToggleTop').style.display = "none";
		document.getElementById(name+'ToggleBottom').style.display = "";
	}
	else // currently visible
	{
		document.getElementById(name+'FullContent').style.display = "none";
		document.getElementById(name+'ToggleTop').style.display = "";
		document.getElementById(name+'ToggleBottom').style.display = "none";
		window.location = '#AboutTheOwners';
	}
}


function AJAX_NewsletterOptIn(TitleId, TitleImgSrc)
{
	var NewsletterForm;
	var ImgCode;
	var EmailAddress;
	if(NewsletterForm = document.forms['NewsletterOptIn']) {
	var SubmitButton = document.getElementById('FinalNewsletterSubmitButton');
	SubmitButton.value = "Loading";
	SubmitButton.disabled = true;
	if((ImgCode = NewsletterForm.elements['ImgCode']) && (EmailAddress = NewsletterForm.elements['EmailAddress'])) {
		if (window.ActiveXObject)
		{
			var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		else if (window.XMLHttpRequest)
		{
			var xmlHttp = new XMLHttpRequest();
		}
		var POSTData = "ImgCode="+(ImgCode.value=='Bot Code'?'':ImgCode.value)+"&EmailAddress="+(EmailAddress.value=='Email Address'?'':EmailAddress.value);
		var workingPostPage = "/ajax/newsletterOptIn";
		xmlHttp.onreadystatechange = function () 
		{
			if (xmlHttp.readyState == 4)
			{
				if (xmlHttp.status == 200)
				{
					SubmitButton.value = "Submit";
					SubmitButton.disabled = false;
					var response = xmlHttp.responseText;
					if(response != "")
					{
						xmlDoc = createXMLDoc(response);
						var Status = 0;
						var Message = "There was an unknown error adding you to our mailing list.  Please try again later.";
						var StatusXML =  xmlDoc.getElementsByTagName('Status');
						var MessageXML =  xmlDoc.getElementsByTagName('Message');
						if(StatusXML.length == 1 && MessageXML.length == 1) {
							Status = (document.all) ? StatusXML[0].text : StatusXML[0].textContent;
							Message = (document.all) ? MessageXML[0].text : MessageXML[0].textContent;
						}
							
						if(Status == '-1')
						{
							ImgCode.value = "Bot Code";
							ImgCode.style.color = '#999999';
							ImgCode.blur();
							jAlert('<b>'+Message+'</b>', 'Newsletter Signup');
						}
						else
						{
							jAlert('<b>'+Message+'</b>', 'Newsletter Signup');
							ImgCode.value = "Bot Code";
							EmailAddress.value = "Email Address";
							ImgCode.style.color = '#999999';
							EmailAddress.style.color = '#999999';
							ImgCode.blur();
							EmailAddress.blur();
							document.getElementById('NewsletterOptInTR2').style.display = 'none';
							document.getElementById('NewsletterOptInTR1').style.display = '';
							document.getElementById(TitleId).src = TitleImgSrc+".jpg";
						}
						document.getElementById('BotImage').src = '/displayblob/getBotImage/'+(Math.floor(Math.random()*8304));
					}
					else
						alert('There was an unknown error adding you to our mailing list.  Please try again later.');
				}
				else if (xmlHttp.status == 404)
				{
					alert("404 : Page Not Found");
				}
				else
				{
					alert("Unknown Error: "+xmlHttp.status);	
				}
			}
		};
		xmlHttp.open("POST",workingPostPage,true);
		xmlHttp.setRequestHeader("Method", "POST " + self.location + " HTTP/1.1");
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHttp.send(POSTData);
	}}
}

function AJAX_DisplayNextXpression(NextXpressionSeqNum, FirstXpressionIn)
{
	FirstXpression = FirstXpressionIn || 0;
	if(document.getElementById('EthiXpressionSpan')) {
		var EthiXpressionSpan = document.getElementById('EthiXpressionSpan');
		if (window.ActiveXObject)
		{
			var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		else if (window.XMLHttpRequest)
		{
			var xmlHttp = new XMLHttpRequest();
		}
		var workingPostPage = "/ajax/getEthiXpressionMaxSeq";
		xmlHttp.onreadystatechange = function()
		{
			if (xmlHttp.readyState == 4)
			{
				if (xmlHttp.status == 200)
				{
					var response = xmlHttp.responseText;
					if(response != "")
					{
						var XMLDoc1 = createXMLDoc(response);
						var MaxSeqArray = XMLDoc1.getElementsByTagName('MaxSeq');
						if(MaxSeqArray.length != 1)
						{
							EthiXpressionSpan.innerHTML = 'EthiXpressions is currently down for maintenance.<br />Please check back soon!<br /><br /><span style="font-size:8px;">MS1</span>';
						}
						else
						{
							var MaxXpressionSeqNum = (document.all) ? MaxSeqArray[0].text : MaxSeqArray[0].textContent;
			
							if (window.ActiveXObject)
							{
								var xmlHttp2 = new ActiveXObject("Microsoft.XMLHTTP");
							}
							else if (window.XMLHttpRequest)
							{
								var xmlHttp2 = new XMLHttpRequest();
							}
							var workingPostPage2 = "/ajax/getEthiXpression/"+NextXpressionSeqNum;
							xmlHttp2.onreadystatechange = function () 
							{
								if (xmlHttp2.readyState == 4)
								{
									if (xmlHttp2.status == 200)
									{
										var response2 = xmlHttp2.responseText;
										if(response2 != "")
										{
											var XMLDoc = createXMLDoc(response2);
											var XpressionArray = XMLDoc.getElementsByTagName('EthiXpression');
											if(XpressionArray.length == 0)
											{
												EthiXpressionSpan.innerHTML = 'EthiXpressions is currently down for maintenance.<br />Please check back soon!<br /><br /><span style="font-size:8px;">MC1</span>';
											}
											else
											{
												var AllGood = true;
												
												if(XpressionArray[0].getElementsByTagName('Name')[0])
													XpressionName = (document.all) ? XpressionArray[0].getElementsByTagName('Name')[0].text : XpressionArray[0].getElementsByTagName('Name')[0].textContent;
												else
													AllGood = false;
													
												if(XpressionArray[0].getElementsByTagName('POS')[0])
													XpressionPOS = (document.all) ? XpressionArray[0].getElementsByTagName('POS')[0].text : XpressionArray[0].getElementsByTagName('POS')[0].textContent;
												else
													AllGood = false;
													
												if(XpressionArray[0].getElementsByTagName('Desc')[0])
													XpressionDesc = (document.all) ? XpressionArray[0].getElementsByTagName('Desc')[0].text : XpressionArray[0].getElementsByTagName('Desc')[0].textContent;
												else
													AllGood = false;
												if(XpressionArray[0].getElementsByTagName('ProjNum')[0])
													XpressionProjNum = (document.all) ? XpressionArray[0].getElementsByTagName('ProjNum')[0].text : XpressionArray[0].getElementsByTagName('ProjNum')[0].textContent;
												else
													AllGood = false;
											
												if(AllGood)
												{
													// fade old span data out
													var hex = 0;
												    setTimeout(fadeoutfunc = function() {
												    	if(hex<255 && !FirstXpression) { //If color is not white yet
														    hex+=9; // decrease color darkness
														    EthiXpressionSpan.style.color = "rgb("+hex+","+hex+","+hex+")";
														    setTimeout(fadeoutfunc, 35);
														}
														else
														{
															EthiXpressionSpan.style.color = "rgb(255,255,255)";
															// populate new span data
															Link = "";
															if(XpressionProjNum != 0)
																Link = '<tr><td><a href="http://www.ethixsystems.com/portfolio/show/'+XpressionProjNum+'">See Example</a></td></tr>';
															EthiXpressionSpan.innerHTML =
																'<table border="0" cellspacing="0" cellpadding="4">'+
																	'<tr><td><b>'+XpressionName+' ('+XpressionPOS+'):</b></td></tr>'+
																	'<tr><td><b>'+XpressionDesc+'</b></td></tr>'+
																	Link+
																'</table>';	
															
															// fade new span data in	
															hex = 255;
															setTimeout(fadeinfunc = function() {
														    	if(hex>0) { //If color is not black yet
																    hex-=9; // increase color darkness
																
																    EthiXpressionSpan.style.color = "rgb("+hex+","+hex+","+hex+")";
																    setTimeout(fadeinfunc, 35);
																}
																else
																{
																	hex = 0;
																	NewXpressionSeqNum = (NextXpressionSeqNum==MaxXpressionSeqNum) ? 1 : (NextXpressionSeqNum+1);
																	setTimeout('AJAX_DisplayNextXpression('+NewXpressionSeqNum+')', 7000);
																}
															},0);	
														}
												    },0); 
												}
												else
													EthiXpressionSpan.innerHTML = 'EthiXpressions is currently down for maintenance.<br />Please check back soon!<br /><br /><span style="font-size:8px;">MC2</span>';
											}
										}
										else
										{
											//EthiXpressionSpan.innerHTML = 'EthiXpressions is currently down for maintenance.<br />Please check back soon!<br /><br /><span style="font-size:8px;">MC3</span>';
											NewXpressionSeqNum = (NextXpressionSeqNum==MaxXpressionSeqNum) ? 1 : (NextXpressionSeqNum+1);
											AJAX_DisplayNextXpression(NewXpressionSeqNum);
										}
									}
									else if (xmlHttp2.status == 404)
									{
										alert("404 : Page Not Found");
									}
									else
									{
										EthiXpressionSpan.innerHTML = 'EthiXpressions is currently down for maintenance.<br />Please check back soon!<br /><br /><span style="font-size:8px;">NC</span>';
										//alert("Unknown Error: "+xmlHttp2.status);	
									}
								}
							};

							xmlHttp2.open("GET",workingPostPage2,true);
							xmlHttp2.send(null);
						}
					}
					else
						EthiXpressionSpan.innerHTML = 'EthiXpressions is currently down for maintenance.<br />Please check back soon!<br /><br /><span style="font-size:8px;">MC0</span>';
				}
				else if (xmlHttp.status == 404)
				{
					alert("404 : Page Not Found");
				}
				else
				{
					EthiXpressionSpan.innerHTML = 'EthiXpressions is currently down for maintenance.<br />Please check back soon!<br /><br /><span style="font-size:8px;">NC</span>';
					//alert("Unknown Error: "+xmlHttp.status);	
				}
			}
		};
		
		xmlHttp.open("GET",workingPostPage,true);
		xmlHttp.send(null);
	}
}