/**
 * 
 */

function load_car(add_car) {
    add_car = add_car.split('-');
            
    if ( add_car.length != 2 ) return false;

    var total_cars = $('.car_boxes li.has_car').size() + 1;
            
    if( total_cars > 5 ) {
        alert('All slots are full, please remove a car and try again.');
        return false;
    }
    var next_car = 0;
    $('.car_boxes>li').each(function(){
        next_car++;
        if (!$(this).hasClass('has_car')) {
            return false;
        }
    });

    switch ( add_car[0] ) {
        case 'USED':

            var thedata = {
                id: add_car[1],
                type: 'compare',
                slot: next_car
            }

            $('.car_' + next_car + ' .compare_content').load('/used-cars/ajax/', thedata);
            $('.car_' + next_car).addClass('has_car');
        break;
        case 'NEW':

            var thedata = {
                id: add_car[1],
                type: 'compare',
                slot: next_car
            }

            $('.car_' + next_car + ' .compare_content').load('/new-cars/ajax/', thedata);
            $('.car_' + next_car).addClass('has_car');
        break;
    }
}

$(document).ready(function(){
    
        $('.compare_content').each(function(){
            var add_car = $(this).attr('id');
            if ( add_car != '' ) {
            load_car(add_car);
            }
            
        })
        
        if ( $('.has_car').size() > 0 ) {
            $('#compare_car_box').animate({'height':'40px'}, 'slow');
             $('#comparison_hide').removeClass('comparison_hide');
            $('#comparison_hide').addClass('comparison_show');
        }
    
        $('.compare_car').click(function(){
            $('#compare_car_box').animate({'height':'300px'}, 'slow');
            
           
            
            var add_car = ($(this).attr('rel'));
            load_car(add_car);
        
            return false;
    	});
        
        $('.close_box').click(function(){
           $(this).parent().removeClass('has_car'); 
           $(this).parent().find('.compare_content').html(''); 
           
           var slot = $(this).parent().attr('id').substr(12)
           
           var thedata = {
                type: 'compare_remove',
                slot: slot
            }
           $.get('/new-cars/ajax/', thedata);
           return false;
        });
        
        $('#comparison_hide').click(function(){
            if ( $(this).hasClass('comparison_hide')) {
                $(this).removeClass('comparison_hide');
                $(this).addClass('comparison_show');
                $('#compare_car_box').animate({'height':'40px'}, 'slow');
            } else {
                $(this).removeClass('comparison_show');
                $(this).addClass('comparison_hide');
                $('#compare_car_box').animate({'height':'300px'}, 'slow');
            }
            return false;
        });
  
        
        $('#comparison_close').click(function(){
           
            $('#compare_car_box').animate({'height':'0px'}, 'slow');
            return false;
        });
	
	
	if ( $('#banner').size() > 0 ) {
		var banner_cycle = $('#banner').cycle({
				fx:    'scrollHorz', 
			    timeout: 2800,
			    before: function(curr, next, opts) { 
			    	if ( $('#banner_controls').size() == 0 ) return false;
					if ( $('#banner').attr('running') === undefined) {
						$('#banner').attr('running', true);
						return false;
					}
			    	$('#banner_controls ul li a').eq(opts.nextSlide).parent().parent().find('a.current').removeClass('current');
					$('#banner_controls ul li a').eq(opts.nextSlide).addClass('current');
					
			    }
	
		});
		if ( $('#banner_controls').size() > 0 ) {
			$('#banner_prev').click(function(){
				$('#banner').cycle('prev');
				return false;
			});
			$('#banner_next').click(function(){
				$('#banner').cycle('next');
				return false;
			});
			$('#banner_controls ul li a').click(function(){
				$('#banner').cycle(parseInt($(this).attr('rel'),10));
				
				return false;
			});
		}
		 $('#banner').hover(function(){
			 $('#banner').cycle('pause');
		 },function(){
			 $('#banner').cycle('resume'); 
		 });
	}
	
	
	function show_error(el_id, message) {
		if ( $('#error_' + el_id).size() == 0 ) {
			var html = '<div id="error_' + el_id + '" style="display:hidden;" class="error"></div>';
			$('#'+el_id).after(html);
		}
		$('#error_'+el_id).html(message).show('slow');
	}
	function hide_error(el_id) {
		$('#error_' + el_id).hide('slow');
	}
	
	$('#e_newsletter').click(function(){
		if ( $('dialog_newsletter').size() == 0 ) {
			$('body').append(
				'<div id="dialog_newsletter">' +
				'<a href="#" id="close_dialog_newsletter">Close</a>' +
				'<h3>E-Newsletter Signup.</h3>' +
				'<div id="dialog_newsletter_form">' +
				'<p>To receive our monthly E-Newsletter, please enter your email address below:</p>' +
				'<input id="newsletter_email" type="text" value="" />' +
				'<a id="submit_newsletter_dialog" href="#">Submit</a>' +
				'</div>' +
				'</div>');
			
				$('#dialog_newsletter').dialog({ 
					modal: true,
					autoOpen: false,
					dialogClass: 'newsletter_popup',
					resizable: false,
					width: 480,
					height: 210
				});
				
				$('#submit_newsletter_dialog').click(function(){
					var newsletter_email = $('#newsletter_email').val();
					if ( newsletter_email == '' ) {
						show_error('newsletter_email', 'Please enter your email address.');
						return false;
					}
					
					var data = {
						email: newsletter_email,
						type: 'register_newsletter'
					}
					
					$.ajax({
						  url: '/customers/ajax/',
						  dataType: 'json',
						  data: data,
						  success: function(result) {
							  if ( result.success === undefined || result.success !== true ) {
								  var error = result.error !== undefined ? result.error : 'An unknown error occured.';
								  show_error('newsletter_email', error);
								  return false;
							  }
							  $('#dialog_newsletter_form').html('<p>Your have been successfully added to our mailing list.</p>');
						  }
					});
					
					return false;
				});
				
				$('#close_dialog_newsletter').click(function(){
					$('#dialog_newsletter').dialog('close');
					return false;
				});
			}
				
		$('#dialog_newsletter').dialog('open');
		return false;
	});
	
	$("ul#ticker-tape").liScroll(); 
      /*  $('.tickercontainer').css('background-color', 'transparent');
        $('.tickercontainer').find('div').css('background-color', 'transparent');
        $('.tickercontainer').find('a').css('background-color', 'transparent');*/
        
        $(window).bind('beforeunload', function() {
            $('.newsticker').stop();
        });

	
	
	$('#manufacturer_logos li img').hover(function(){
		
		var top = $(this).parent().parent().find('.top');
		
		if(top.data('animating') === true ) return;
		top.data('animating', true); 
		top.stop().animate({marginTop:'-20px',marginBottom:'40px'}, 200).animate({marginTop:0,marginBottom:0}, 200, 'easeOutBounce');
				
		setTimeout(function(){
			top.data('animating', false); 
		},800);
		
	});
	
	
	/*
	 * The quick search	 
	 */
	if ( $('.tabs').size() > 0 ) {
		
		$('.tabs li').not('.active').children('a').each(function(){
			var href = $(this).attr('href').substring(1);
			$('#' + href).hide();
		});
		
		/*$('.tabs li a').hover(
			function(){
				$(this).click();
			},
			function(){

			}
		);*/
		
		$('.tabs li a').click(function(){
			//If the tab is active ignore...
			if ( $(this).parent().hasClass('active') ) return false;
			
			$(this).parent().siblings().removeClass('active');
			$(this).parent().addClass('active');
			
			$('.tabs li').not('.active').children('a').each(function(){
				var href = $(this).attr('href').substring(1);
				$('#' + href).hide();
			});
			
			var href = $(this).attr('href').substring(1);
			$('#' + href).show();
			
			return false;
		});
		
		$('#used_car_search_manufacturer').change(function(){
			$('#used_car_search_model').attr('disabled',true);
			$('#used_car_search_model option:first').attr('selected',true);
			
			if ($(this).val() == '' ) {
				return;
			}
			
			$('#used_car_search_model option:first').html('Loading...',true);
			
			var manufacturer_id = $(this).children('option:selected').attr('class');
			
			data = {
				type			: 'models',
				manufacturer_id	: manufacturer_id
			}
			
			$.getJSON('/used-cars/ajax/',data,function(res){
				var i = 0;
				$('#used_car_search_model option').each(function(){
					i++;
					if ( i <= 2 ) return;
					
					$(this).remove();
				});
				
				
				data = res.data;
				for(var i=0; i<data.length; i++) {
					var opt = '<option class="'+data[i].code+'" value="' + data[i].url_name + '">' + data[i].name + ' (' + data[i].total + ')</option>';
					$('#used_car_search_model').append(opt);
				}
				
				$('#used_car_search_model option:first').html('All Models',true);
				$('#used_car_search_model').attr('disabled',false);
			});
			
		});

                
                /*$('#nearly_new_car_search_manufacturer').change(function(){
			$('#nearly_new_search_model').attr('disabled',true);
			$('#nearly_new_search_model option:first').attr('selected',true);
			
			if ($(this).val() == '' ) {
				return;
			}
			
			$('#nearly_new_search_model option:first').html('Loading...',true);
			
			var manufacturer_id = $(this).children('option:selected').attr('class');
			
			data = {
				type			: 'nearly-new-models',
				manufacturer_id	: manufacturer_id
			}
			
			$.getJSON('/used-cars/ajax/',data,function(res){
				var i = 0;
				$('#nearly_new_search_model option').each(function(){
					i++;
					if ( i <= 2 ) return;
					
					$(this).remove();
				});
				
				
				data = res.data;
				for(var i=0; i<data.length; i++) {
					var opt = '<option class="'+data[i].code+'" value="' + data[i].url_name + '">' + data[i].name + ' (' + data[i].total + ')</option>';
					$('#nearly_new_search_model').append(opt);
				}
				
				$('#nearly_new_search_model option:first').html('All Models',true);
				$('#nearly_new_search_model').attr('disabled',false);
			});
			
		});*/
                        
                $('#nearly_new_car_search form').submit(function(){
                    var url = $(this).find('option:selected').attr('class');
                    if ( url != '' ) {
                        document.location.href = '/used-cars/' + url + '/nearly_new/';
                        
                    }
                    return false;
                });
		
		
	}
	
	if ( $('#used_van_search_category').size() == 1 ) {
		$('#used_van_search_category').change(function(){
			if ( $(this).find('option:selected').attr('class') == 1 ) {
				$('#used_van_search_type').attr('disabled', false);
			} else {
				$('#used_van_search_type').find('option:first').attr('selected',true);
				$('#used_van_search_type').attr('disabled', true);
			}
		});
	}
	
	if ( $('#used_van_search_manufacturer').size() == 1 ) {
		$('#used_van_search_manufacturer').change(function(){
			$('#used_van_search_model').attr('disabled',true);
			$('#used_van_search_model option:first').attr('selected',true);
			
			if ($(this).val() == '' ) {
				return false;
			}
			
			$('#used_van_search_model option:first').html('Loading...',true);
			
			var manufacturer_id = $(this).children('option:selected').attr('class');
			
			data = {
				type			: 'models',
				manufacturer_id	: manufacturer_id
			}
			
			$.getJSON('/vans/used/ajax/',data,function(res){
				var i = 0;
				$('#used_van_search_model option').each(function(){
					i++;
					if ( i <= 2 ) return;
					
					$(this).remove();
				});
				
				
				data = res.data;
				for(var i=0; i<data.length; i++) {
					var opt = '<option class="'+data[i].code+'" value="' + data[i].url_name + '">' + data[i].name + ' (' + data[i].total + ')</option>';
					$('#used_van_search_model').append(opt);
				}
				
				$('#used_van_search_model option:first').html('All Models',true);
				$('#used_van_search_model').attr('disabled',false);
			});
			
		});
	}
	
	if ( $('#new_van_search_manufacturer').size() == 1 ) {
		$('#new_van_search_manufacturer').change(function(){
			
			$('#new_van_search_manufacturer').css('border','none')
			
			/*$('#new_van_search_model').attr('disabled',true);
			$('#new_van_search_model option:first').attr('selected',true);*/
			
			if ($(this).val() == '' ) {
				$('#new_van_search_category').find('option:first').attr('selected',true);
				$('#new_van_search_category').attr('disabled',true);
				return false;
			}
			
			
			$('#new_van_search_category').attr('disabled',false);
			
			//$('#new_van_search_model option:first').html('Loading...',true);
			
			/*var manufacturer_id = $(this).children('option:selected').attr('rel');
			
			data = {
				type			: 'models',
				manufacturer_id	: manufacturer_id
			}
			
			$.getJSON('/vans/ajax/',data,function(res){
				var i = 0;
				$('#new_van_search_model option').each(function(){
					i++;
					if ( i <= 2 ) return;
					
					$(this).remove();
				});
				
				
				data = res.data;
				for(var i=0; i<data.length; i++) {
					var opt = '<option rel="'+data[i].id+'" value="' + data[i].range_url_name + '">' + data[i].name + '</option>';
					$('#new_van_search_model').append(opt);
				}
				
				$('#new_van_search_model option:first').html('All Models',true);
				$('#new_van_search_model').attr('disabled',false);
			});
			*/
		});
		
		$('#new_van_search_form').submit(function(){
			var manufacturer_url_name = $('#new_van_search_manufacturer').val();
			if ( manufacturer_url_name == '' ) {
				$('#new_van_search_manufacturer').css('border', 'solid 2px #c00');
				return false;
			}
			
			var url = '/vans/' + manufacturer_url_name + '/';
			var category_url_name = $('#new_van_search_category').val();
			if ( category_url_name != '' ) {
				url += category_url_name + '/';
			}
			
			document.location.href = url;
			
			return false;
		})
	}
        
        if ( $('#business_fleet_quick_search').size() == 1 ) {
            $('#frm_business_fleet_search').submit(function(){
               
               var manu = $('#business_fleet_search_manufacturer').val();
            
               if ( manu == '' ) return false;
               
               document.location.href = '/business-fleet/' + manu + '/';
               
               return false;
            });
        }
	
	if ( $('#motability_search_manufacturer').size() == 1 ) {
		$('#motability_search_manufacturer').change(function(){
			

			
			if ($(this).val() == '' ) {
				$('#motability_search_model').find('option:first').attr('selected',true);
				$('#motability_search_model').attr('disabled',true);
				return false;
			}
			
			
			$('#motability_search_model').attr('disabled',false);
			
			$('#motability_search_model option:first').html('Loading...',true);
			
			var manufacturer_id = $(this).children('option:selected').attr('value');

			data = {
				type			: 'models',
				manufacturer_id	: manufacturer_id
			}
			
			$.getJSON('/motability/ajax/',data,function(res){
				var i = 0;
				$('#motability_search_model option').each(function(){
					i++;
					if ( i <= 2 ) return;
					
					$(this).remove();
				});
				
				
				data = res.data;
				for(var i=0; i<data.length; i++) {
					var opt = '<option class="'+data[i].id+'" value="' + data[i].id + '">' + data[i].title + '</option>';
					$('#motability_search_model').append(opt);
				}
				
				$('#motability_search_model option:first').html('All Models',true);
				$('#motability_search_model').attr('disabled',false);
			});
		});
		

	}
	
});



function filterList(filterPattern, SBox) {
  var pattern = filterPattern.split(':')  
  var tarr = [];
  var sel = document.getElementById(SBox);
  sel.options.length = 0;
  for (i=0; i<allOptions.length; i++) {  
    tarr = allOptions[i].split(':');
    if (tarr[0].indexOf(filterPattern) != -1) {
      sel.options[sel.options.length] = new Option(tarr[1],tarr[0],false,false);
    }
  }
  sel.selectedIndex = 0;
}

var allOptions = [];
window.onload = function() {
  var obj = document.getElementById('mybox');
  for (var i=0; i<obj.options.length; i++) {
    allOptions.push(obj.options[i].value+':'+obj.options[i].innerHTML);
  }  //  alert(allOptions.join('\n'));
}



