var rotateOffers = new Object();

rotateOffers.ajaxScript = '/modules/acms_cars/ajax.php';
rotateOffers.secondsBetweenSets = 8;

rotateOffers.offers = new Array();
rotateOffers.current = 0;
rotateOffers.readyForItems = true;

rotateOffers.autoRotate = true;

rotateOffers.init = function(){
	
	$('.special_offer_box').html('<p>Loading...</p>');
	
	$.ajax({
		type: "GET",
		url: carSearch.ajaxScript,
		data: "getOffers",
		success: function(xml){
			
			$(xml).find('offer').each(function(){
		   
				rotateOffers.offers[rotateOffers.offers.length]= new Object();
				var offer = rotateOffers.offers[rotateOffers.offers.length - 1];
				
				$(this).find('value').each(function(){
					offer[ $(this).attr('name') ] = $(this).text();
				});
			
			});
			
			$('.special_offer_box').html('<div id="offerControls"><a href="javascript: rotateOffers.controlPrev();">&lt;&lt;</a> <a href="javascript: rotateOffers.controlNext();">&gt;&gt;</a></div>');
			rotateOffers.afterClear();
			
			$('#offerControls').css({
				'opacity' : 0,
				'position' : 'absolute',
				'top' : '0px',
				'right' : '0px',
				'padding' : '5px'
			});
			
			$('#offerControls a').css({
				'text-decoration' : 'none'
			});
			
			$('.special_offer_box').css('position', 'relative');
			
			$('.special_offer_box').hover(
				function(){
					$('#offerControls').fadeTo(100, 1);
				},
				function(){
					$('#offerControls').fadeTo(100, 0);
				}
			);
			
		}
	});
	
}

rotateOffers.controlNext = function(){
	rotateOffers.autoRotate = false;
	rotateOffers.clearCurrent();
	
}
rotateOffers.controlPrev = function(){
	rotateOffers.autoRotate = false;
	
	rotateOffers.current -= 4;
	
	if(rotateOffers.current < 0){
		rotateOffers.current = rotateOffers.offers.length + rotateOffers.current;
	}
	
	rotateOffers.clearCurrent();
}

rotateOffers.clearCurrent = function(){
	rotateOffers.readyForItems = true;
	$('.special_offer_box .special_offer_item').fadeTo('slow', 0, rotateOffers.afterClear);
}

rotateOffers.afterClear = function(){
	if(rotateOffers.readyForItems == false){ return; }
	
	$('.special_offer_box .special_offer_item').remove();
	
	rotateOffers.count++;
	
	rotateOffers.appendNext();
	if(rotateOffers.offers.length > 1){
		rotateOffers.appendNext();
	}
	
	clearTimeout(rotateOffers.timeout);
	if(rotateOffers.autoRotate == true){
		rotateOffers.timeout = setTimeout(rotateOffers.nextSet, rotateOffers.secondsBetweenSets * 1000);
	}
	
	rotateOffers.readyForItems = false;
}

rotateOffers.nextSet = function(){
	rotateOffers.clearCurrent();
}

rotateOffers.appendNext = function(){
	
	if(rotateOffers.offers.length == 0){ return; }
	
	if(rotateOffers.current >= rotateOffers.offers.length){ rotateOffers.current = 0; }
	
	var offer = rotateOffers.offers[rotateOffers.current];
	
	var buffer = '';
	
	var url_manufacturer = offer.manufacturer.split(' ').join('-').toLowerCase();
	var url_model = offer.model.split(' ').join('-').toLowerCase();
	
	if(typeof(offer) == 'object'){
		buffer += '<div id="offer_' + offer.id + '" class="special_offer_item">';
		buffer += '<h3>' + offer.manufacturer + '</h3>';
		buffer += '<p>' + offer.model + '</p>'
		//buffer += '<p>' + offer.derivative + '</p>';
		buffer += '<p><strong>Only &pound;' + offer.offer_price + '</strong> ';
		buffer += '<a href="/car/' + offer.id + '/' + url_manufacturer + '-' + url_model + '">More info>></a></p>';
		
		//if(offer.now_price){
		//	buffer += '<span class="now">Now &pound;' + offer.now_price + '</span>';
		//}
		if(offer.was_price != '0'){
			buffer += '<span class="was">Was &pound;' + offer.was_price + '</span>';
		}
		if(offer.save_price != '0'){
			buffer += ' <span class="save">save &pound;' + offer.save_price + '</span>';
		}
		
		buffer += '</div>';
	}
	
	$('.special_offer_box').append(buffer);
	
	$('.special_offer_item:last').css('opacity', 0);
	$('.special_offer_item:last').fadeTo('slow', 1, function(){
		if(jQuery.browser.msie){
			this.style.removeAttribute('filter');
		}
	});
	
	rotateOffers.current++;
}

$(document).ready(rotateOffers.init);

/*
	<div class="special_offer_item">
		
	</div>
*/
