var tl;
function onLoad( elID )
{
	var eventSource = new Timeline.DefaultEventSource();
	
	var bandInfos = [
				Timeline.createBandInfo({
								eventSource:    eventSource,
								date:           "Oct 01 2009 00:00:00 GMT",
								width:          "70%",
								intervalUnit:   Timeline.DateTime.MONTH,
								intervalPixels: 200 
							}),
				Timeline.createBandInfo({
                                                                overview:       true,
								eventSource:    eventSource,
                                                                date:           "Oct 01 2009 00:00:00 GMT",
 								width:          "30%",
								intervalUnit:   Timeline.DateTime.YEAR,
								intervalPixels: 200
							})
			];

	bandInfos[1].syncWith = 0;
        bandInfos[1].highlight = true;

	tl = Timeline.create(document.getElementById( elID ), bandInfos);

 //       var bandInfos2 = [
   //                             Timeline.createBandInfo({
     //                                                           eventSource:    eventSource,
       //                                                         date:           "Aug 15 2009 00:00:00 GMT",
         //                                                       width:          "100%",
           //                                                     intervalUnit:   Timeline.DateTime.MONTH,
             //                                                   intervalPixels: 40
               //                                         })
                 //       ];

//        t2 = Timeline.create(document.getElementById( elID + "2" ), bandInfos2);

	Timeline.loadXML("./include/timeline.xml", function(xml, url) { eventSource.loadXML(xml, url); });

       // Timeline.OriginalEventPainter.prototype._showBubble = function(x, y, evt)
	//{
	//}
}

var resizeTimerID = null;

function onResize()
{
	if (resizeTimerID == null)
	{
		resizeTimerID = window.setTimeout(
							function()
							{
								resizeTimerID = null;
								tl.layout();
							},
							500
						 );
	}
}

function whichElement(e)
{
	var obj;
	if (!e)
		var e = window.event;
	if (e.target)
		obj = e.target;
	else if (e.srcElement)
		obj = e.srcElement;
	if (obj.nodeType == 3) // defeat Safari bug
		obj = obj.parentNode;
		
	return obj
}

sendDynamic = function( method, eSenderName, eAddress, eSubject, eBody )
{
	var http = createXMLHttpRequest();
	
	var errColor = "#ff7777";

	if( eSenderName.value == "" || eSenderName.value == "Your Full Name" )
	{
		eSenderName.style.background = errColor;
		eSenderName.select();
		return false;
	}
	else
	{
		eSenderName.style.background = "#efefef";	
	}

	if( eAddress.value == "" || eAddress.value == "Your Friend`s Email Address" )
	{
		eAddress.style.background = errColor;
		eAddress.select();
		return false;
	}
	else
	{
		eAddress.style.background = "#efefef";	
	}

	if( eSubject.value == "" )
	{
		eSubject.style.background = errColor;
		eSubject.select();
		return false;
	}
	else
	{
		eSubject.style.background = "#efefef";	
	}

	if( eBody.value == "" || eBody.value == "Your message." )
	{
		eBody.value = "";
	}
	
	if( eBody.value.length > 2000 )
	{
		eBody.style.background = "#ffaaaa";
		eBody.select();
		alert( "Your message is too long ( " + eBody.value.length + " characters now ), please keep it to 2000 characters or less, thanks." );
		return false;
	}
	else
	{
		eBody.style.background = "#efefef";	
	}

	http.onreadystatechange = function()
	{
		/* Make sure that the transaction has finished. The XMLHttpRequest object 
			has a property called readyState with several states:
			0: Uninitialized
			1: Loading
			2: Loaded
			3: Interactive
			4: Finished */

		if( http.readyState == 4 )
		{
			var response = http.responseText;
			
			if( response == 1 )
			{
				if( method == "email" )
				{
					alert( "Success!\r\nYour message has been sent.\r\n\r\nThank you for spreading the word about Wasatch Cooperative Market!" );
					eAddress.value = "Your Friend`s Email Address";					
					eSubject.value = "A consumer owned cooperative grocery in SLC!";					
					eBody.value = "Your message.";
				}
				else
				{
					alert( "Success!\r\nYour message has been sent.\r\n\r\nThank you!" );
				}
			}
			else
			{
				if( response == "Invalid Email Address." )
				{
					alert( "There was a problem sending your email.\r\n\r\nProblem: " + response + "\r\n\r\nPlease enter a valid email address." );
					eAddress.style.background = errColor;
					eAddress.select();					
				}
				else
				{
					alert( "There was a problem sending your email.\r\n\r\nWe apologize for the inconvenience, please try again later.\r\n\r\n[" + response + "]" );
				}				
			}
		}
	}

	http.open( 'POST', './include/dynamic.php', true );

	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http.send( 'method=' + method + '&eSenderName=' + eSenderName.value + '&eAddress=' + eAddress.value + '&eSubject=' + eSubject.value + '&eBody=' + eBody.value );
};

// AJAX Calls ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
createXMLHttpRequest = function()
{
	try{ return new ActiveXObject( "Msxml2.XMLHTTP" ); } catch (e) {}
	try{ return new ActiveXObject( "Microsoft.XMLHTTP" ); } catch (e) {}
	try{ return new XMLHttpRequest(); } catch (e) {}
	alert( "XMLHttpRequest not supported." );
	return null;
};
// AJAX Calls ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
