/*  Program: main.js
 *     Date: 9 Sep 2009
 *   Author: Steven James Tierney
 * Comments: JS for main page - call info for summary of stuff
 */

function f_DispNews ( ipContainerObj, ipNewsArray ) {
	// Show News
	var vSnapContDiv;
	var vSnapHeadDiv;
	var vH3;
	var vA;
	var vSnapBodyDiv;
	var vSnapTextDiv;
	var vPlainTextDiv;
	var vSpanBold;
	var vHr;
	var vSnapFootDiv;
	var vSpanText;

	ipNewsArray.each( function( vNews ) {
		vSnapContDiv = document.createElement('div');
		vSnapContDiv.id        = "news_" + vNews._ID;
		vSnapContDiv.className = "snap-container";
		ipContainerObj.appendChild(vSnapContDiv);

		vSnapHeadDiv = document.createElement('div');
		vSnapHeadDiv.id        = "newshead_" + vNews._ID;
		vSnapHeadDiv.className = "snap-head";
		vSnapContDiv.appendChild(vSnapHeadDiv);

		vH3 = document.createElement('h3');
		vH3.id        = "newsh3_" + vNews._ID;
		vSnapHeadDiv.appendChild(vH3);

		vA = document.createElement('a');
		vA.id        = "newsa_" + vNews._ID;
		vA.href      = f_GetBaseUrl() + "/www/site/showitem.php?type="+vNews._Type+"&id="+vNews._ID;
		vA.innerHTML = vNews._Headline;
		vH3.appendChild(vA);

		vSnapBodyDiv = document.createElement('div');
		vSnapBodyDiv.className = "snap-body";
		vSnapContDiv.appendChild(vSnapBodyDiv);

		vSnapTextDiv = document.createElement('div');
		vSnapTextDiv.className = "snap-body-text";
		vSnapBodyDiv.appendChild(vSnapTextDiv);

		vPlainTextDiv = document.createElement('div');
		vPlainTextDiv.className = "plaintext";
		vSnapTextDiv.appendChild(vPlainTextDiv);

		vSpanBold = document.createElement('span');
		vSpanBold.className = "boldtext";
		vSpanBold.innerHTML = vNews._Date;
		vPlainTextDiv.appendChild(vSpanBold);

		vSpanText = document.createElement('span');
		vSpanText.innerHTML = vNews._Text;
		vPlainTextDiv.appendChild(vSpanText);
		
		vHr = document.createElement('hr');
		vSnapTextDiv.appendChild(vHr);

		vSnapFootDiv = document.createElement('div');
		vSnapFootDiv.className = "snap-footer";
		vSnapContDiv.appendChild(vSnapFootDiv);

	}) // each

} // f_DispNews


function f_GetNews() {
	
	var vTargetDiv = $('clubnews_article');

	// Get the first two news articles
	new Ajax.Request(f_GetBaseUrl() + '/src/inc/ajax.php?action=fetch&type=Club&qty=2', {
		evalJS: false,
		onCreate: function () {
		  f_DispSpinner( vTargetDiv );
	      }, // onCreate
		onComplete: function (transport) {
		var vMsgArray = [];
		var vNewsArray = [];
		
		vTargetDiv.innerHTML = "";
		
		if (transport.responseText.isJSON()) {
			// alert("is json");
			// alert("transport.responseText\n" + transport.responseText);
			var vJSON = transport.responseText.evalJSON();
			// Use the JSON to create the News Objects & Message Objects
			vNewsArray = vJSON.Response[0].News;
			vMsgArray = vJSON.Response[1].Message;
			
			if (vMsgArray[0].msgtype == "Success") {
				if (vNewsArray.length > 0) {
					// Create & show the News objects
					vNewsArray = f_CreateNews( vNewsArray );
	
					// Display the News Articles
					f_DispNews( vTargetDiv, vNewsArray );
				} else {
					vTargetDiv.innerHTML = "No News items were found";
				} // zero-length array
			}
			else {
				f_DispErrors( vMsgArray );
			}
		}  // if Is JSON
		else {
			// alert('Error: News NOT JSON' + transport.responseText);
		}												 
	} // onComplete
	}); // new Ajax.Request
}


function f_GetLottery() {

	var vTargetDiv = $('lottery_article');
	
	// Get the first lottery article
	new Ajax.Request(f_GetBaseUrl() + '/src/inc/ajax.php?action=fetch&type=Lottery&qty=1', {
		evalJS: false,
		onCreate: function () {
			  f_DispSpinner( vTargetDiv );
		      }, // onCreate
		onComplete: function (transport) {
		var vNewsArray = [];
		
		vTargetDiv.innerHTML = "";
		
		if (transport.responseText.isJSON()) {
			// alert("is json");
			// alert("transport.responseText\n" + transport.responseText);
			var vJSON = transport.responseText.evalJSON();
			// Use the JSON to create the News Objects & Message Objects
			vNewsArray = vJSON.Response[0].News;
			vMsgArray = vJSON.Response[1].Message;
			
			if (vMsgArray[0].msgtype == "Success") {
				if (vNewsArray.length > 0) {
					// Create & show the News objects
					vNewsArray = f_CreateNews( vNewsArray );
	
					// Display the News Articles
					f_DispNews( vTargetDiv, vNewsArray );
				} else {
					vTargetDiv.innerHTML = "No Lottery news was found";
				} // zero-length array
			}
			else {
				f_DispErrors( vMsgArray );
			}
		}  // if Is JSON
		else {
			// alert('Error: Lottery NOT JSON' + transport.responseText);
		}												 
	} // onComplete
	}); // new Ajax.Request
}


function f_GetPrevFix() {

	var vTargetDiv = $('prevfix_article');
	
	// Get the previous two fixtures
	new Ajax.Request(f_GetBaseUrl() + '/src/inc/ajax.php?action=fetch&type=fixture&span=prev&qty=2', {
		evalJS: false,
		onCreate: function () {
			  f_DispSpinner( vTargetDiv );
		      }, // onCreate
		onComplete: function (transport) {
		var vFixtureArray = [];
		var vMsgArray = [];
		
		vTargetDiv.innerHTML = "";
		
		if (transport.responseText.isJSON()) {
			// alert("is json");
			// alert("transport.responseText\n" + transport.responseText);
			var vJSON = transport.responseText.evalJSON();
			// Use the JSON to create the News Objects & Message Objects
			vFixtureArray = vJSON.Response[0].Fixture;
			vMsgArray = vJSON.Response[1].Message;
			
			if (vMsgArray[0].msgtype == "Success") {
				if (vFixtureArray.length > 0) {
					// Create & show the Fixture objects
					vFixtureArray = f_CreateFixture( vFixtureArray );
	
					// Display the News Articles
					f_DispFixture( vTargetDiv, vFixtureArray );
				} else {
					vTargetDiv.innerHTML = "No Previous Fixtures were found";
				} // zero-length array
			}
			else {
				f_DispErrors( vMsgArray );
			}
		}  // if Is JSON
		else {
			// alert('Error: Fixture 1 NOT JSON' + transport.responseText);
		}												 
	} // onComplete
	}); // new Ajax.Request
}


function f_GetNextFix() {

	var vTargetDiv = $('nextfix_article');
	
	// Get the next two fixtures
	new Ajax.Request(f_GetBaseUrl() + '/src/inc/ajax.php?action=fetch&type=fixture&span=next&qty=2', {
		evalJS: false,
		onCreate: function () {
			  f_DispSpinner( vTargetDiv );
		      }, // onCreate
		onComplete: function (transport) {
		var vFixtureArray = [];
		var vMsgArray = [];
		
		vTargetDiv.innerHTML = "";
		
		if (transport.responseText.isJSON()) {
			// alert("is json");
			// alert("transport.responseText\n" + transport.responseText);
			var vJSON = transport.responseText.evalJSON();
			// Use the JSON to create the News Objects & Message Objects
			vFixtureArray = vJSON.Response[0].Fixture;
			vMsgArray = vJSON.Response[1].Message;
			
			if (vMsgArray[0].msgtype == "Success") {
				if (vFixtureArray.length > 0) {
					// Create & show the Fixture objects
					vFixtureArray = f_CreateFixture( vFixtureArray );
	
					// Display the Prev Fixture articles
					f_DispFixture( vTargetDiv, vFixtureArray );
				} else {
					vTargetDiv.innerHTML = "No Future Fixtures were found";
				} // zero-length array
			}
			else {
				f_DispErrors( vMsgArray );
			}
		}  // if Is JSON
		else {
			// alert('Error: Fixture 2 NOT JSON' + transport.responseText);
		}												 
	} // onComplete
	}); // new Ajax.Request
}


Event.observe(window,'load',function(){
	f_GetNews();
	f_GetLottery();
	f_GetPrevFix();
	f_GetNextFix();
	f_WatchForEmails();
}); // observe load 


