var textSize = 0;
var currentAvailabilityID;
onload_register('feature_init()');

// ======================================================
// feature_init() - inital call to start things
// ======================================================
function feature_init() {

	// avaiablity collapsing
	availRender();

}

// ======================================================
// setTextSize() -- 
// ======================================================
function getTextSize() {
	
	if(typeof(userData.featureTextSize) == "number"){
		setTextPref(userData.featureTextSize);
	}
	
}

// ======================================================
// setTextSize() -- 
// ======================================================
function setTextPref(num) {
	
	// set the pref and cookie
	userData.featureTextSize = num;
	Cookie.set('userdata', Json.toString(userData), {duration: 365, path: "/"});
	
	// set the new size
	$('vehicle_feature_body').removeClass('size_' + textSize);
	$('vehicle_feature_body').addClass('size_' + num);
	
	// turn old button off
	$('text_size_' + textSize).removeClass('on_state');
	$('text_size_' + textSize).addClass('off_state');
	
	// new button on
	$('text_size_' + num).removeClass('off_state');
	$('text_size_' + num).addClass('on_state');
	
	// set the textSize var to hold value
	textSize = num;
	
	
}

// -------------------------------------------------------------------------------------------------------------------------------------

// ======================================================
// availRender() -- the available features boxes show hide
// ======================================================
function availRender() {
	
	if($('availability')){
	//($$('#availability ul li span')[0]).addClass('open');
	
	//$$('#availability .list_item').length
		for (var i = 0; i < $$('#availability .list_item').length; i++) {
			var currentRenderli = $$('#availability .list_item')[i];
			currentRenderli.setProperty('id', 'availability_'+i);
			//currentRenderli.setStyle('cursor', 'pointer');
			currentRenderli.addEvent('click', function() {
				availabilityUserShowHide(this.id);
			});
			
			currentRenderli.addEvent('mouseenter', function() {
				this.addClass('availability_over');
			});
			
			currentRenderli.addEvent('mouseleave', function() {
				this.removeClass('availability_over');
			});
			
			var newHeight = currentRenderli.getFirst().getSize().size.y.toInt();
			currentRenderli.setStyle('height', newHeight + 'px');
			currentRenderli.setStyle('overflow', 'hidden');
			currentRenderli.setStyle('margin-bottom', '3px');
			currentRenderli.getFirst().getNext().setStyle('display', 'none');
			currentRenderli.addClass('availability_closed');
		}
		availabilityUserShowHide('availability_0');
	}
}

// ======================================================
// availabilityShowHide(curID)
// ======================================================
function availabilityShowHide(curID) {
	
	if(currentAvailabilityID != curID) {
	
		// if availability exists
		if($('availability')){
		
			// loop on all
			for (var i = 0; i < $$('#availability .list_item').length; i++) {
			
				// the currentRenderLi
				var currentRenderli = $$('#availability .list_item')[i];
			
				// turn off the next list item so it does now show when collapsed
				currentRenderli.getFirst().getNext().setStyle('display', 'none');
			
				// get the new height to shrink to
				var newHeight = currentRenderli.getFirst().getSize().size.y.toInt();
			
				// set the new height
				//currentRenderli.setStyle('height', newHeight + 'px');
				currentRenderli.setStyle('height', 'auto'); //this sets the height of the closed availability button
			
				currentRenderli.addClass('availability_closed');
			
				currentRenderli.addEvent('mouseenter', function() {
					this.addClass('availability_over');
				});
			
				currentRenderli.getFirst().removeClass('open');
		
			}
		
			$(curID).removeClass('availability_over');
			$(curID).removeClass('availability_closed');
		
			$(curID).getFirst().getNext().setStyle('display', 'block');
		
			var newHeight = ($(curID).getFirst().getSize().size.y + $(curID).getFirst().getNext().getSize().size.y).toInt();
			//$(curID).setStyle('height', newHeight + 'px');
			$(curID).setStyle('height', 'auto'); //height of selected availability sub item
		
			$(curID).getFirst().addClass('open');
			$(curID).addEvent('mouseenter', function() {
				this.removeClass('availability_over');
			});
			
			if(currentAvailabilityID) {
				linkTrack('availability', $(curID).getFirst().getText());
			}
		
			currentAvailabilityID = curID;
			

		}
	}
}

// ==================================================================
// availabilityUserShowHide(curID) - User Initiated Show/hide 3/19/09
// ==================================================================
function availabilityUserShowHide(curID) {
	
	
	//if(currentAvailabilityID != curID) {
		
		// if availability exists
		if($('availability')){
			
			// if we are open
			if($(curID).getFirst().hasClass('open')) {			
				
				$(curID).addClass('availability_closed');
				//console.log("I should close");					
				$(curID).getFirst().removeClass('open');
				$(curID).getFirst().addClass('close');								
			
				// set the new height
				var newHeight = ($(curID).getFirst().getSize().size.y).toInt();			
				$(curID).setStyle('height', newHeight + 'px');
				$(curID).getFirst().getNext().setStyle('display', 'none');
				
				//styles and gap for closed items
				//$(curID).setStyle('padding', '0');
				//$(curID).setStyle('margin-bottom', '3px');
				$(curID).addEvent('mouseenter', function() {
					this.addClass('availability_over');
				});
				
				
			// otherwise we are closed	
			} else {
				
				//console.log("I should open");			
				$(curID).removeClass('availability_over');
				$(curID).removeClass('availability_closed');
				$(curID).getFirst().addClass('open');
				
				// set the new height
				var newHeight = ($(curID).getFirst().getSize().size.y + $(curID).getFirst().getNext().getSize().size.y).toInt();
				$(curID).setStyle('height', newHeight + 'px');
				$(curID).getFirst().getNext().setStyle('display', 'block');
				
				//styles and gap for closed items
				
				$(curID).addEvent('mouseenter', function() {
					this.removeClass('availability_over');
				});
				
			}
			
			
			// loop on all
			for (var i = 0; i < $$('#availability .list_item').length; i++) {
			var currentRenderli = $$('#availability .list_item')[i];
				//$(curID).setStyle('padding-top', '0');
				//$(curID).setStyle('padding-bottom', '0');
				$(curID).setStyle('margin-bottom', '3px');
				
			}
						
			
				
			if(curID) {
				linkTrack('availability', $(curID).getFirst().getText());
			}
		
			//currentAvailabilityID = curID;
			
		}
	//} else {
		
	//console.log("open");
		
	//}
}


