function changePageItems(items,defaultItems){
	var currentUrl=window.location.href;
	if(items==defaultItems){
		var jumpUrl=currentUrl.replace(/page\d*(\-\d+)?\.html/,'index.html');
	}else{
		var jumpUrl=currentUrl.replace(/page\d*(\-\d+)?\.html/,'page-'+items+'.html');
		jumpUrl=jumpUrl.replace(/index\.html/,'page-'+items+'.html');
	}
	//alert(jumpUrl);
	window.location.href=jumpUrl;
}

function submitCategoryOrder(orderby){
	if($('#categorySearchForm input:hidden[name="orderby"]').val()==orderby){
		if($('#categorySearchForm input:hidden[name="orderasc"]').val()=='desc'){
			$('#categorySearchForm input:hidden[name="orderasc"]').val('asc');
		}else{
			$('#categorySearchForm input:hidden[name="orderasc"]').val('desc');
		}
	}else{
		$('#categorySearchForm input:hidden[name="orderasc"]').val('asc');
	}
	$('#categorySearchForm input:hidden[name="orderby"]').val(orderby);
}

function sumbitCategorySearch(thisyear,page){

	var currentUrl=window.location.href;
	if(page){
		$('#categorySearchForm input:hidden[name="pagenum"]').val(page);
	}else{
		$('#categorySearchForm input:hidden[name="pagenum"]').val(1);
	}
	$('#categorySearchForm input:hidden[name="pageitems"]').val($('#pageitems').val());
	
	currentUrl=currentUrl.replace(/\/20\d\d\//,'/');  //remove year
	var y=$('#categorySearchForm input:radio[name="y"]:checked').val();
	if(y==thisyear){
		$('#categorySearchForm').attr('action',currentUrl);
	}else{
		$('#categorySearchForm').attr('action',currentUrl.replace(/\/index\.html/,'/'+y+'/index.html'));
	}
	$('#categorySearchForm').submit();
	
}

//ajax
function ajaxGetDivisions(target, defaultDivision){
	/* Add disabled class while AJAX call is being made */
	//target.toggleClass('disabled', 1);
    $.getJSON("newajax.php",
    		{
             ajax_action:"getDivisions"
            },
            function(data){
            	/* Remove disabled calss after AJAX call is done */
            	//target.toggleClass('disabled', 0);
            	target.html('<option value="0">Select a Make</option>');
            	$.each(data,function(i,item){ 
            		target.append('<option value="'+item+'" >'+i+'</option>');
            	});
            	
            	if(defaultDivision)
            	{
            		target.children('option[value="'+defaultDivision+'"]').attr('selected','selected');
            	}
            }
      );

}

function ajaxGetYears(target, divisionID, defaultYear){

    $.getJSON("newajax.php",
    		{
             ajax_action:"getYears",
             divisionID:divisionID
            },
            function(data){
            	target.html('<option value="0">Select a Year</option>');
            	$.each(data,function(i,item){ 
            		            		
            		target.append('<option value="'+item+'" >'+item+'</option>');	
            		
            	});
            	if(defaultYear){
            		target.children('option[value="'+defaultYear+'"]').attr('selected','selected');
            			
            	}
            }
      );
}

function ajaxGetModels(target,divisionID,modelYear, defaultModel){
    $.getJSON("newajax.php",
    		{
             ajax_action:"getModels",
             divisionID:divisionID,
             modelYear:modelYear
            },
            function(data){
            	target.html('<option value="0">Select a Model</option>');
            	$.each(data,function(i,item){ 
            		target.append('<option value="'+item.ModelID+'" >'+item.ModelName+'</option>');
            	});
            	if(defaultModel){
            		target.children('option[value="'+defaultModel+'"]').attr('selected','selected');
            	}	
            }
      ); 
} 

function ajaxGetModelsWithYear(target,divisionID){
    $.getJSON("newajax.php",
    		{
             ajax_action:"getModels",
             divisionID:divisionID,
            },
            function(data){
            	target.html('<option value="0">Select a Model</option>');
            	$.each(data,function(i,item){ 
            		target.append('<option value="'+item.ModelID+'" >'+item.ModelYear+' '+item.ModelName+'</option>');
            	});
            }
      ); 
} 


function ajaxGetStyles(target, modelYear, modelID, defaultStyle, allowNotSpecified)
{
	
	$.getJSON("newajax.php", 
			{ 
				ajax_action:"getStyles", 
				modelID:modelID,
				modelYear:modelYear
			},
			function(data)
			{
				if(allowNotSpecified){
					target.html('<option value="0">Not Specified</option>');
				}else{
					target.html('<option value="0">Select a Trim</option>');
				}
				$.each(data, function(i, item){
					target.append('<option value="'+item.StyleID+'" >'+item.StyleName+'</option>');
				});
				if(defaultStyle)
				{
					target.children('option[value="'+defaultStyle+'"]').attr('selected','selected');
				}
				
			}
	);	
}



function ajaxGetTechSpecs(targetID, styleID)
{
	$.getJSON("newajax.php",
	{
		ajax_action: "getTechSpecs",
		styleID: styleID,
		rand: Math.random() 
	},
	function(data)
	{
		// Loop through the data and display in DOM
		$.each(data, function(key, value) 
		{
			if(key == 'StyleID'){
				$('#pricquote2' + targetID + ' input[name=\'s\']').val(value);
				$('#dealer_quote1' + targetID + ' input[name=\'s\']').val(value);
				$('#pricquote2' + targetID).siblings('a').show();
				//$('#freequote' + targetID ).attr('href','dealer-quotes.php?s=' + value);
			}
			else if(key == 'ReviewURL')
			{
				$('#' + key + targetID).attr('href', value).show();
			}
			else if(key == 'Image')
			{
				$('#' + key + targetID).attr('src', value);
			}
			else if(key == 'ImageURL')
			{
				$('#' + key + targetID).attr('href', value);
			}
			else if(key == 'PriceQuoteURL')
			{
				$('#' + key + targetID).attr('href', value).show();
			}
			else if(key == 'InsuranceQuoteURL')
			{
				$('#' + key + targetID).attr('href', value).show();
			}
			else
			{
				$('#' + key + targetID).html(value);
			}
			
		});
	}
	);
	
	// Send data to bluekai when they select new models
	var manufacturer = $('#selectManufacturer' + targetID + ' option:selected').html();
	var year = $('#selectYear' + targetID + ' option:selected').html();
	var model = $('#selectModel' + targetID + ' option:selected').html();
	var trim = $('#selectStyle' + targetID + ' option:selected').html();

	if(manufacturer && year && model && trim)
	{
		bk_addPageCtx("Make", manufacturer);
		bk_addPageCtx("Model", year);
		bk_addPageCtx("Year", model);
		bk_addPageCtx("Style", trim);
		
		bk_doJSTag(2592,4);
	}
	
}

function ajaxCompareCars(styleID)
{
	var ids = new Array();

	$.each($('.style'), function(index, value) 
	{
		if($(this).val() != 0)
		{
			ids.push($(this).val());
		}
	});
	
	if(ids.length >= 1)
	{
		$.getJSON("newajax.php",
		{
			ajax_action: "compareCars",
			styleID: styleID,
			compareStyleIDs: ids,
			rand: Math.random() 
		},
		function(data)
		{
			$('#tab2').html(data[0]);
			$('#tab3').html(data[1]);
			
			if($('#tab1').is(":visible"))
			{
				$('#tab2').hide();
				$('#tab3').hide();
			}
			
			if($('#tab2').is(":visible"))
			{
				$('#tab1').hide();
				$('#tab3').hide();
			}
				
			if($('#tab3').is(":visible"))
			{
				$('#tab2').hide();
				$('#tab1').hide();
			}
		});
	}
	else
	{
		alert('Please select another vehicle to compare');
		return false;
	}
	
}

//@todo: make it better
var TrimNameSort='';
function sortTrimName(){
	if(TrimNameSort=='desc'){
		TrimNameSort='asc';
		jSortByTrimName();
	}else{
		TrimNameSort='desc';
		jSortByTrimNameDesc();
	}
}
function jSortByTrimName(){
	var rows = $('table#modelsTable').find('tbody > tr').get();
	rows.sort(function(a, b) {
	  var keyA = $(a).children('td').eq(0).text().toUpperCase();
	  var keyB = $(b).children('td').eq(0).text().toUpperCase();
	  if (keyA < keyB) return -1;
	  if (keyA > keyB) return 1;
	  return 0;
	});
	$.each(rows, function(index, row) {
		$('table#modelsTable').children('tbody').append(row);
	});
}
function jSortByTrimNameDesc(){
	var rows = $('table#modelsTable').find('tbody > tr').get();
	rows.sort(function(a, b) {
	  var keyA = $(a).children('td').eq(0).text().toUpperCase();
	  var keyB = $(b).children('td').eq(0).text().toUpperCase();
	  if (keyA > keyB) return -1;
	  if (keyA < keyB) return 1;
	  return 0;
	});
	$.each(rows, function(index, row) {
		$('table#modelsTable').children('tbody').append(row);
	});
}

var TrimMSRPSort='';
function sortTrimMSRP(){
	if(TrimMSRPSort=='desc'){
		TrimMSRPSort='asc';
		jSortByTrimMSRP();
	}else{
		TrimMSRPSort='desc';
		jSortByTrimMSRPDesc();
	}
}
function jSortByTrimMSRP(){
	var rows = $('table#modelsTable').find('tbody > tr').get();
	rows.sort(function(a, b) {
	  var keyA = $(a).children('td').eq(1).text().replace(/(\-.*)/g,'').replace(/[^\d\-\.]/g,'');
	  var keyB = $(b).children('td').eq(1).text().replace(/(\-.*)/g,'').replace(/[^\d\-\.]/g,'');
	  if (parseInt(keyA) < parseInt(keyB)) return -1;
	  if (parseInt(keyA) > parseInt(keyB)) return 1;
	  return 0;
	});
	$.each(rows, function(index, row) {
		$('table#modelsTable').children('tbody').append(row);
	});
}
function jSortByTrimMSRPDesc(){
	var rows = $('table#modelsTable').find('tbody > tr').get();
	rows.sort(function(a, b) {
	  var keyA = $(a).children('td').eq(1).text().replace(/(\-.*)/g,'').replace(/[^\d\-\.]/g,'');
	  var keyB = $(b).children('td').eq(1).text().replace(/(\-.*)/g,'').replace(/[^\d\-\.]/g,'');
	  if (parseInt(keyA) > parseInt(keyB)) return -1;
	  if (parseInt(keyA) < parseInt(keyB)) return 1;
	  return 0;
	});
	$.each(rows, function(index, row) {
		$('table#modelsTable').children('tbody').append(row);
	});
}

var TrimMileAge='';
function sortTrimMileAge(){
	if(TrimMileAge=='desc'){
		TrimMileAge='asc';
		jSortByTrimMileAge();
	}else{
		TrimMileAge='desc';
		jSortByTrimMileAgeDesc();
	}
}
function jSortByTrimMileAge(){
	var rows = $('table#modelsTable').find('tbody > tr').get();
	rows.sort(function(a, b) {
	  var keyA = $(a).children('td').eq(2).text().replace(/(\-.*)/g,'').replace(/[^\d\-\.]/g,'');
	  var keyB = $(b).children('td').eq(2).text().replace(/(\-.*)/g,'').replace(/[^\d\-\.]/g,'');
	  if (keyA < keyB) return -1;
	  if (keyA > keyB) return 1;
	  return 0;
	});
	$.each(rows, function(index, row) {
		$('table#modelsTable').children('tbody').append(row);
	});
}
function jSortByTrimMileAgeDesc(){
	var rows = $('table#modelsTable').find('tbody > tr').get();
	rows.sort(function(a, b) {
	  var keyA = $(a).children('td').eq(2).text().replace(/(\-.*)/g,'').replace(/[^\d\-\.]/g,'');
	  var keyB = $(b).children('td').eq(2).text().replace(/(\-.*)/g,'').replace(/[^\d\-\.]/g,'');
	  if (keyA > keyB) return -1;
	  if (keyA < keyB) return 1;
	  return 0;
	});
	$.each(rows, function(index, row) {
		$('table#modelsTable').children('tbody').append(row);
	});
}

var TrimEngine='';
function sortTrimEngine(){
	if(TrimEngine=='desc'){
		TrimEngine='asc';
		jSortByTrimEngine();
	}else{
		TrimEngine='desc';
		jSortByTrimEngineDesc();
	}
}
function jSortByTrimEngine(){
	var rows = $('table#modelsTable').find('tbody > tr').get();
	rows.sort(function(a, b) {
	  var keyA = $(a).children('td').eq(3).text().toUpperCase();
	  var keyB = $(b).children('td').eq(3).text().toUpperCase();
	  if (keyA < keyB) return -1;
	  if (keyA > keyB) return 1;
	  return 0;
	});
	$.each(rows, function(index, row) {
		$('table#modelsTable').children('tbody').append(row);
	});
}
function jSortByTrimEngineDesc(){
	var rows = $('table#modelsTable').find('tbody > tr').get();
	rows.sort(function(a, b) {
	  var keyA = $(a).children('td').eq(3).text().toUpperCase();
	  var keyB = $(b).children('td').eq(3).text().toUpperCase();
	  if (keyA > keyB) return -1;
	  if (keyA < keyB) return 1;
	  return 0;
	});
	$.each(rows, function(index, row) {
		$('table#modelsTable').children('tbody').append(row);
	});
}

function toggleOption(source){
	//hide input, show 'waiting' image
	source.parent().append('<img src="images/status.gif" />');
	source.parent().children('input').hide();
	
	$.getJSON("newajax.php",  
			{ 
				ajax_action: "toggleOption", 
				styleID: $('#styleID').val(),
				optionCode: source.val(),
				rand: Math.random()		//avoid IE cache
			},
			function(data)
			{
				//alert(data.configuration.options);
				var s='';

				source.parent().children('input').show();
				source.parent().children('img').remove();
				
				$('input.option').removeAttr("checked");
				//$('input.option').removeAttr("disabled");

				if(data.configuration.options){
					$.each(data.configuration.options,function(k,v){
						if(v.selectionState=='Excluded'){
							//$('#option_'+v.chromeOptionCode).removeAttr("checked");
							$('#option_'+v.chromeOptionCode).attr('disabled',true);
						}else if(v.selectionState=='Unselected'){
							$('#option_'+v.chromeOptionCode).removeAttr("disabled");
							//$('#option_'+v.chromeOptionCode).removeAttr("checked");
						}else if(v.selectionState=='Selected'){
							$('#option_'+v.chromeOptionCode).removeAttr("disabled");
							//$('#option_'+v.chromeOptionCode).attr('checked','checked');
						}else if(v.selectionState=='Included'){	
							$('#option_'+v.chromeOptionCode).removeAttr("disabled");
							//$('#option_'+v.chromeOptionCode).attr('checked','checked');
						}else if(v.selectionState=='Required'){	
							$('#option_'+v.chromeOptionCode).removeAttr("disabled");
							//$('#option_'+v.chromeOptionCode).attr('checked','checked');
						}else{
						}
					});
				}
				
				if(data.configuration.style.configurationState.selectedChromeOptionCodes){
					$.each(data.configuration.style.configurationState.selectedChromeOptionCodes,function(k,v){
						$('#option_'+v).removeAttr("disabled").attr('checked',true);
					});
				}
				
				//update Price
				$('#styleDisplayMsrp').html(data.displayMSRP);
				$('#styleDisplayInvoice').html(data.displayInvoice);
				
				if(data.debug_info){
					$('#debug_info').html(data.debug_info);
				}
				
			});

}

function updateColorImage(target,code){
	$.getJSON("newajax.php", 
			{ 
				ajax_action: "getStyleColorImage", 
				styleID: $('#styleID').val(),
				colorCode: code,
				rand: Math.random()		//avoid IE cache
			},
			function(data)
			{
				if(data){
					target.attr('src',data);
				}
			});
	
}

function updateMediumImage(target,styleID){
	$.getJSON("newajax.php",
			{ 
				ajax_action: "getMediumImagePath", 
				styleID: styleID,
				rand: Math.random()		//avoid IE cache
			},
			function(data)
			{
				if(data){
					target.attr('src',data);
				}
			});
	
}


function updateAvailableInteriorColors(code){
	$.getJSON("newajax.php", 
			{ 
				ajax_action: "getAvailableInteriorColors", 
				styleID: $('#styleID').val(),
				colorCode: code,
				rand: Math.random()		//avoid IE cache
			},
			function(data)
			{
				if(data){
					$('td.availableInteriorColors').empty().append('<img src="images/icons/icon-excluded.gif" title="Excluded">');
					$.each(data, function(k,v){
						$('#interior_'+v).empty().append('<img src="images/icons/icon-unselected.gif" title="Available">');
					});
				}
			});
	
}

function mark_review(reviewID, mark){
	if(mark!=1 && mark!=-1) return false;
	
	$.getJSON("newajax.php", 
			{ 
				ajax_action: "markReview", 
				reviewID: reviewID,
				mark: mark,
				rand: Math.random()		//avoid IE cache
			},
			function(data)
			{
				if(data){
					$('#helpful_'+reviewID).html('Thank you!');
				}
			}); 
}


function updateReviewVehicle(id, level){
	
	if(level=='model'){
		$.getJSON("newajax.php", 
			{ 
				ajax_action: "getModelInfo", 
				ModelID: id,
				rand: Math.random()		//avoid IE cache
			},
			function(data)
			{
				if(data){
					$('#reviewVehicleName').html(data.displayFullName);
					
					$('#styleBreadcrumbSpan').hide();
					
					$('#divisionBreadcrumb').attr('href',data.divisionUrl);
					$('#divisionBreadcrumb').html(data.divisionName)
					
					$('#yearBreadcrumb').attr('href',data.yearUrl);
					$('#yearBreadcrumb').html(data.modelYear)
					
					$('#modelBreadcrumb').attr('href',data.modelUrl);
					$('#modelBreadcrumb').html(data.modelName)
					
				}
			}); 
	}else{
		$.getJSON("newajax.php", 
			{ 
				ajax_action: "getStyleInfo",
				StyleID: id,
				rand: Math.random()		//avoid IE cache
			},
			function(data)
			{
				if(data){
					$('#reviewVehicleName').html(data.displayFullName);
					
					$('#divisionBreadcrumb').attr('href',data.divisionUrl);
					$('#divisionBreadcrumb').html(data.divisionName)
					
					$('#yearBreadcrumb').attr('href',data.yearUrl);
					$('#yearBreadcrumb').html(data.modelYear)
					
					$('#modelBreadcrumb').attr('href',data.modelUrl);
					$('#modelBreadcrumb').html(data.modelName)
					
					$('#styleBreadcrumbSpan a').attr('href',data.styleUrl);
					$('#styleBreadcrumbSpan a').html(data.styleName)
					
					$('#styleBreadcrumbSpan').show();
				}
			}); 
	}
	
}



