
function addProduct(element, dropon, event) {
	sendData(element.id);
}

function addProductLink(id) {
	sendData(id);	
}
function sendData (prod) {
	var url    = '/cart.php';
	var rand   = Math.random(9999);
	var pars   = 'product_id=' + prod + '&rand=' + rand;
	var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, onLoading: showLoad, onComplete: showResponse} );
}		
function clearCart () {
	var url    = '/cart.php';
	var rand   = Math.random(9999);
	var pars   = 'clear=true&rand=' + rand;
	var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, onLoading: showLoad, onComplete: showResponse} );
}
function clearProduct (id) {
	var url    = '/cart.php';
	var rand   = Math.random(9999);
	var pars   = 'clearProduct=true&id=' + id + '&rand=' + rand;
	var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, onLoading: showLoad, onComplete: showResponse} );
}

// Update Basket contents upon completion of Add, remove or clear action
function showResponse (originalRequest) {
	$('loading').style.display = "none";
	$('clearCart').style.display = "block";

	if(!originalRequest.responseText=='') {
		//var prodInfo = eval('(' + originalRequest.responseText + ')');
		var prodInfo = originalRequest.responseText.parseJSON();
		//var i = parseInt(prodInfo.cartcount);
		if (prodInfo.basket.lastadded == '')
			var lastadded = 'There are no items in your basket.';
		else
			var lastadded = prodInfo.basket.lastadded;
		
		$('cart').innerHTML = '<small>Last item added to your basket:</small><br />'+
							  '<strong>'+lastadded+'</strong><br /><br />'+
							  '<small>Basket count:</small> <strong>'+prodInfo.basket.qtycount+' ('+prodInfo.basket.cartcount+' items)</strong><br />'+
							  '<small>Basket Sub-total:</small> <strong>£'+prodInfo.basket.subtotal; 
							  
							  //originalRequest.responseText;
	} else {
		$('cart').innerHTML = '<small>Last item added to your basket:</small><br /><strong>There are no items in your basket.</strong><br /><br />'+
							  '<small>Basket count:</small> <strong>0 (0 items)</strong><br />'+
							  '<small>Basket Sub-total:</small> <strong>£0.00';
	}

}
function sendEventRequest () {
	$('upcoming').innerHTML = '<div id="eventload" style="display:block;" align="center"><img src="/images/loading.gif" alt="loading..." /></div>';
	$('eventload').style.display = "block";
	var url    = '/calendar/json.php';
	var rand   = Math.random(9999);
	var pars   = 'rand=' + rand + '&feedBox=Upcoming_Events&action=SwitchCal&selectedCal=1';
	var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, onLoading: showEventLoad, onComplete: jsonUpcomingEvents} );
}

// Function to parse the JSON response string
function jsonUpcomingEvents (originalRequest) {
	$('eventload').style.display = "none";	
	$('upcoming').style.display = "none";

	var req = originalRequest.responseText.parseJSON();
	
	$('upcoming').innerHTML = '';

	// get dropins
	if (req.eventcalendar.dropins.length == 0) {
		//$('upcoming').innerHTML+= '<strong>Weekly Drop-Ins</strong>';
		//$('upcoming').innerHTML+= '<br />&nbsp; <i style="color:#880000;">no events</i>';	
	} else {
		$('upcoming').innerHTML+= '<br /><br /><strong>Weekly Drop-Ins</strong>';
		lim = 0;
		var num = req.eventcalendar.dropins.length; 
		for (var i=0;i <= num;i++)
		{
			lim++;
			if(req.eventcalendar.dropins[i] != null)
				$('upcoming').innerHTML+= '<br />'+req.eventcalendar.dropins[i].date+' - <a href="'+ req.eventcalendar.dropins[i].url +'">' + req.eventcalendar.dropins[i].title + '</a>';
			if(lim == 3) break;
		}
	}

	// get dances
	if (req.eventcalendar.dances.length == 0) {
		//$('upcoming').innerHTML+= '<br /><br /><strong>Weekend Dances</strong>';
		//$('upcoming').innerHTML+= '<br />&nbsp; <i style="color:#880000;">no events</i>';	
	} else {	
		$('upcoming').innerHTML+= '<br /><br /><strong>Weekend Dances</strong>';
		lim = 0;
		var num = req.eventcalendar.dances.length; 
		for (var i=0;i <= num;i++)
		{
			lim++;
			if(req.eventcalendar.dances[i] != null)
				$('upcoming').innerHTML+= '<br />'+req.eventcalendar.dances[i].date+' - <a href="'+ req.eventcalendar.dances[i].url +'">' + req.eventcalendar.dances[i].title + '</a>';
			if(lim == 3) break;
		}
	}

	// get workshops
	if (req.eventcalendar.workshops.length == 0) {
		//$('upcoming').innerHTML+= '<br /><br /><strong>Workshops & Mini-Courses</strong>';
		//$('upcoming').innerHTML+= '<br />&nbsp; <i style="color:#880000;">no events</i>';	
	} else {
		$('upcoming').innerHTML+= '<br /><br /><strong>Workshops & Mini-Courses</strong>';
		lim = 0;
		var num = req.eventcalendar.workshops.length; 
		for (var i=0;i <= num;i++)
		{
			lim++;
			if(req.eventcalendar.workshops[i] != null)
				$('upcoming').innerHTML+= '<br />'+req.eventcalendar.workshops[i].date+' - <a href="'+ req.eventcalendar.workshops[i].url +'">' + req.eventcalendar.workshops[i].title + '</a>';
			if(lim == 3) break;
		}
	}
	
	// get demos
	if (req.eventcalendar.demos.length == 0) {
		//$('upcoming').innerHTML+= '<br /><br /><strong>Street Demos</strong>';
		//$('upcoming').innerHTML+= '<br />&nbsp; <i style="color:#880000;">no events</i>';	
	} else {
		$('upcoming').innerHTML+= '<br /><br /><strong>Street Demos</strong>';
		lim = 0;
		var num = req.eventcalendar.demos.length; 
		for (var i=0;i <= num;i++)
		{
			lim++;
			if(req.eventcalendar.demos[i] != null)
				$('upcoming').innerHTML+= '<br />'+req.eventcalendar.demos[i].date+' - <a href="'+ req.eventcalendar.demos[i].url +'">' + req.eventcalendar.demos[i].title + '</a>';
			if(lim == 3) break;
		}
	}
	
	// get next eot ball
	if (document.getElementById("nexteotball")) {
		if (req.eventcalendar.eotballs.length == 0) {
			$('nexteotball').innerHTML= 'TBD';	
		} else {
			if(req.eventcalendar.eotballs[0] != null) {
				$('nexteotball').innerHTML= '<strong>'+req.eventcalendar.eotballs[0].title + ' ('+req.eventcalendar.eotballs[0].date+')</strong><br /><br />';
				$('eotballlink').href = req.eventcalendar.eotballs[0].url;
			}
		}
	}
	
	// get next swingeasy event
	if (document.getElementById("nextswingeasy")) {
		if (req.eventcalendar.swingeasy.length == 0) {
			$('nextswingeasy').innerHTML= '<em>Not yet scheduled</em>';	
		} else {
			if(req.eventcalendar.swingeasy[0] != null) {
				$('nextswingeasy').innerHTML= req.eventcalendar.swingeasy[0].output;
			}
		}
	}
	
	// get next pendulum swing event
	if (document.getElementById("nextpendswing")) {
		if (req.eventcalendar.pendulum.length == 0) {
			$('nextpendswing').innerHTML= '<em>Not yet scheduled</em>';	
		} else {
			if(req.eventcalendar.pendulum[0] != null) {
				$('nextpendswing').innerHTML= req.eventcalendar.pendulum[0].output;
			}
		}
	}
	
	Effect.BlindDown('upcoming', {duration:.5});
	
}
function getNodeValue(obj,tag)
{
	return obj.getElementsByTagName(tag)[0].firstChild.nodeValue;
}

function jsonSearch () {
	var url    = '/calendar/jsonsearch.php';
//	var url	   = '/includes/ajaxsearch.php';
	var rand   = Math.random(9999);
	var pars   = 'rand=' + rand + '&feedBox=Upcoming_Events&action=SwitchCal&selectedCal=1';
//	var pars   = 'rand=' + rand + '&title=' + $('find').value;
	var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, onLoading: showEventLoad, onComplete: showSearchResults} );
	clearTimeout(timer);
}

var timer;

function showSearchResults (originalRequest) {
	
	$('searchsuggestions').style.display = 'block';
	$('searchsuggestions').innerHTML = '';
	
	$('searchsuggestions').style.left = getLayerXPos( $('find') ) + 1;
	$('searchsuggestions').style.top = getLayerYPos( $('find') ) + 20;
	//$('searchsuggestions').style.width = $('find').style.width + 20;
	//$('searchsuggestions').style.height = '100%';

	var events = originalRequest.responseText.parseJSON();

	var num = events.searchresults.matches.length-1;
	for (var i=0; i<num; i++) {
		if (events.searchresults.matches[i].title != null) {
			var eventTitle = events.searchresults.matches[i].title.toLowerCase();
			if (eventTitle.indexOf($('find').value) > -1)
				$('searchsuggestions').innerHTML+= '<a href="/' + events.searchresults.matches[i].url + '">' + eventTitle + ' (' + events.searchresults.matches[i].date + ')</a>';
		}
	}

	// initiate a timer to hide the autocomplete div
	timer = window.setTimeout('hideSearchResults()',5000);
	
}

function hideSearchResults () {
	$('searchsuggestions').style.display = 'none';
	$('searchsuggestions').innerHTML = '';
}

function showLoad () {
	$('clearCart').style.display = "none";
	$('loading').style.display = "block";
}
function showEventLoad() {
	$('eventload').style.display = "block";	
}
