
if (!base_path) {
	var base_path = '/';
}

// The code to authorise AJAX requests
var ajax_request_code = "rtbdsnmee5t54hsjkws5";		
var search_current = "";

// Portal for an AJAX query
function ajax_query(url, data) {

	// Currently we're using jQuery

	var ajax_return = $.ajax({
		url: base_path + 'scripts/ajax/' + url + '?' + data,
		async: false
	}).responseText;

	return ajax_return;

}


// Format a price better
function formatPrice(price) {
	
	var pos = price.indexOf('.');
	if (pos > 3) {
		//var price_sep = price.substr(pos,price.length)
	}
		
	
}


// Populate the range list from what is in the manufacturer select box
function populate_range(manufacturer_id, range_dropdown, derivative_dropdown, range_id) {
		
	// See if an option is selected in the manufacturer dropdown
	if (true) {
		if (true) {
		//if (document.getElementById(manufacturer_dropdown).options[document.getElementById(manufacturer_dropdown).selectedIndex].value) {
		
			// Get the manufacturer ID
			//var manufacturer_id = document.getElementById(manufacturer_dropdown).options[document.getElementById(manufacturer_dropdown).selectedIndex].value;
			
			// Use AJAX to get the contents
			var data = ajax_query('populate_range.php', 'manufacturer_id=' + manufacturer_id + '&range_id=' + range_id + '&code=' + ajax_request_code);
				
			if (data) {

				if (document.getElementById(range_dropdown)) {
					document.getElementById(range_dropdown).innerHTML = data;
				}

				// LEASECHECK : Stupid IE Bug not understanding innerHTML
				// Explode the data into the option tags
				var option = data.split("\n");
				
				if (document.getElementById(range_dropdown)) {
					
					var dropdown = document.getElementById(range_dropdown);
					
					if (dropdown.hasChildNodes()) {
						while (dropdown.childNodes.length >= 1) {
							dropdown.removeChild(dropdown.firstChild);       
						} 
					}
					
					for (var option_count=0; option_count<option.length; option_count++) {
						
						if (option_count == 0) {
							option_selected = true;
						} else {
							option_selected = false;
						}
						
						// Split the returned line into the element details
						if (option[option_count]) {
							
							option[option_count] = option[option_count].split("|");
						
							$("#" + range_dropdown).addOption(option[option_count][0],option[option_count][1],option_selected);

						}
						
					}

				}

			} else {
			
				// Show an error
				alert("Could not populate models list");
			
			}
			
		}
	}
}



// Populate the model list from what is in the manufacturer select box
function populate_model(manufacturer_id, model_dropdown, derivative_dropdown, model_id) {

	// Empty the derivative menu
	if (derivative_dropdown) {
		if (document.getElementById(derivative_dropdown)) {
			//document.getElementById(derivative_dropdown).innerHTML = '<option value="0">Select a make...</option>';
		}
	}
	
	// See if an option is selected in the manufacturer dropdown
	if (true) {
		if (true) {
		
			// Get the manufacturer ID
			// var manufacturer_id = document.getElementById(manufacturer_dropdown).options[document.getElementById(manufacturer_dropdown).selectedIndex].value;
		
			// Use AJAX to get the contents
			var data = ajax_query('populate_model.php', 'manufacturer_id=' + manufacturer_id + '&model_id=' + model_id + '&code=' + ajax_request_code);
			if (data) {

				// LEASECHECK : Stupid IE Bug not understanding innerHTML
				// Explode the data into the option tags
				var option = data.split("\n");
				
				if (document.getElementById(model_dropdown)) {
					
					var dropdown = document.getElementById(model_dropdown);
					if (dropdown.hasChildNodes()) {
						while (dropdown.childNodes.length >= 1) {
							dropdown.removeChild(dropdown.firstChild);       
						} 
					} 
					
					for (var option_count=0; option_count<option.length; option_count++) {
						
						if (option_count == 0) {
							option_selected = true;
						} else {
							option_selected = false;
						}

						// Split the returned line into the element details
						if (option[option_count]) {
							
							option[option_count] = option[option_count].split("|");
							
							$("#" + model_dropdown).addOption(option[option_count][0],option[option_count][1],option_selected);
							
						}
						
					}

				}
				
			} else {
			
				// Show an error
				alert("Could not populate models list");
			
			}
			
		}
	}
}


// Populate the derivative list from what is in the model select box
function populate_derivative(model_id, derivative_dropdown, derivative_id) {

	// See if an option is selected in the manufacturer dropdown
	if (true) {
		if (true) {
		
			// Get the manufacturer ID
			//var model_id = document.getElementById(model_dropdown).options[document.getElementById(model_dropdown).selectedIndex].value;
			
			// Use AJAX to get the contents
			var data = ajax_query('populate_derivative.php', 'model_id=' + model_id + '&derivative_id=' + derivative_id + '&code=' + ajax_request_code);
			if (data) {
				
				// LEASECHECK : Stupid IE Bug not understanding innerHTML
				// Explode the data into the option tags
				var option = data.split("\n");		
				if (document.getElementById(derivative_dropdown)) {
					
					var dropdown = document.getElementById(derivative_dropdown);
					
					if (dropdown.hasChildNodes()) {
						while (dropdown.childNodes.length >= 1) {
							dropdown.removeChild(dropdown.firstChild);       
						} 
					}

					for (var option_count=0; option_count<option.length; option_count++) {
						
						if (option_count == 0) {
							option_selected = true;
						} else {
							option_selected = false;
						}
						
						if (option[option_count]) {
							
							// Split the returned line into the element details
							option[option_count] = option[option_count].split("|");
							$("#" + derivative_dropdown).addOption(option[option_count][0],option[option_count][1],option_selected);
							
						}

					}
					
					$("#" + derivative_dropdown)
					
				}
				
			} else {
			
				// Show an error
				alert("Could not populate derivatives list");
			
			}
			
		}
	}
}

// Enable or disabled the company name on the enquiry form depending on content of the quote type radios
function check_quote_type(business_check, company_name_input) {

	if (document.getElementById(business_check)) {
		
		// Get the value of the business checkbox
		if (document.getElementById(business_check).value == 2) {
			
			// Enable the company name checkbox
			if (document.getElementById(company_name_input)) {
				document.getElementById(company_name_input).disabled = false;
				document.getElementById(company_name_input).className = "form_input";
				document.getElementById(company_name_input + '_required').style.display = "inline";
			}
			
		} else {
			
			if (document.getElementById(company_name_input)) {
				document.getElementById(company_name_input).disabled = true;
				document.getElementById(company_name_input).className = "form_disabled";
				document.getElementById(company_name_input + '_required').style.display = "none";
			}
			
		}
	
	}
	
}

function check_term_type(term_type, term_limit) {

	if (document.getElementById(term_type)) {
		
		// Get the value of the business checkbox
		if (document.getElementById(term_type).value > 0) {
			
			if (document.getElementById(term_type).value == 1) {
				
				// Enable the company name checkbox
				if (document.getElementById(term_limit + 'clicks')) {
					document.getElementById(term_limit + 'field_clicks').disabled = false;
					document.getElementById(term_limit + 'clicks').style.display = "block";
				} 
				if (document.getElementById(term_limit + 'impressions')) {
					document.getElementById(term_limit + 'field_impressions').disabled = true;
					document.getElementById(term_limit + 'impressions').style.display = "none";
				}

			} else if (document.getElementById(term_type).value == 2) {
				
				// Enable the company name checkbox
				if (document.getElementById(term_limit + 'impressions')) {
					document.getElementById(term_limit + 'field_impressions').disabled = false;
					document.getElementById(term_limit + 'impressions').style.display = "block";
				} 
				if (document.getElementById(term_limit + 'clicks')) {
					document.getElementById(term_limit + 'field_clicks').disabled = true;
					document.getElementById(term_limit + 'clicks').style.display = "none";
				}

			}
			
		} else {
			
			if (document.getElementById(term_limit + 'clicks')) {
				document.getElementById(term_limit + 'clicks').disabled = true;
				document.getElementById(term_limit + 'clicks').style.display = "none";
			} 
			if (document.getElementById(term_limit + 'impressions')) {
				document.getElementById(term_limit + 'impressions').disabled = true;
				document.getElementById(term_limit + 'impressions').style.display = "none";
			}
			
		}
	
	}
	
}


// Toggle the equipment panels for a deal
function toggleDealPanels(id, off, on) {

	if (document.getElementById('panels')) {

		var panels = document.getElementById('panels').getElementsByTagName('fieldset');

		for (var count=0;count<panels.length;count++) {
			
			// See if that panel is the selected panel
			if (document.getElementById(panels[count].id)) {
				if (panels[count].id == 'panel_' + id) {
					document.getElementById(panels[count].id).className = on;
				} else {
					document.getElementById(panels[count].id).className = off;
				}
			}
		}
		
	}

}

function toggleEnquiryType() {
    if (document.getElementById('enquiry_lease_type_business')) {
		if (document.getElementById('enquiry_lease_type_business').checked == false) {
			document.getElementById('enquiry_enquirer_company').disabled = true;
			document.getElementById('enquiry_enquirer_company').className = "form_input form_varchar disabled";
		} else {
			document.getElementById('enquiry_enquirer_company').disabled = false;
			document.getElementById('enquiry_enquirer_company').className = "form_input form_varchar";
		}
	}
}


// Try to AJAX the coordinates for a postcode entered into a box
function getCoordinates(postcode_field) {

	// Check that the localSearch variable exists
	if (localSearch) {

		if (document.getElementById(postcode_field)) {
			
			var postcode = document.getElementById(postcode_field).value;

			// Check that the postcode isn't already in the database
			//if (ajax_query("check_coords.php", "postcode=" + postcode + "&code=" + ajax_request_code)) {
			if (checkPostcode(postcode)) {
				//alert(1);
				usePointFromPostcode(postcode,false);
			}
			
		}

	}

	/*		if (document.getElementById(postcode_field)) {
		alert(2);
			var postcode = document.getElementById(postcode_field).value;
	*/	
}


// Check that the postcode they have entered is valid
function checkPostcode(postcode) {

	// See if the postcode is less than 9 characters
	if (postcode.length < 9) {

		var postcode_validation = new RegExp("((GIR 0AA)|(TDCU 1ZZ)|(ASCN 1ZZ)|(BIQQ 1ZZ)|(BBND 1ZZ)|(FIQQ 1ZZ)|(PCRN 1ZZ)|(STHL 1ZZ)|(SIQQ 1ZZ)|(TKCA 1ZZ)|[A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]|[A-HK-Y][0-9]([0-9]|[ABEHMNPRV-Y]))|[0-9][A-HJKS-UW]) [0-9][ABD-HJLNP-UW-Z]{2})");
		
		if (postcode_validation.test(postcode)) {
			
			return true;
			
		} else {
			
			return false;
			
		}

	} else {
		
		return false;
		
	}

}


// When they move on the from the form, make sure they have not left an incorrect postcode
function checkPostcodeError(postcode) {

	if (document.getElementById('postcode_error')) {
		if (checkPostcode(postcode)) {
			document.getElementById('postcode_error').style.display = "none";
		} else {
			document.getElementById('postcode_error').style.display = "block";
		}
	}

}


// Check that the maximum price range they have specified is greater than the minimum
function checkPriceRange(min_price, max_price) {
	
	if (document.getElementById(min_price) && document.getElementById(max_price) && document.getElementById('price_range_error')) {
		
		var min_value = parseInt(document.getElementById(min_price).value);
		var max_value = parseInt(document.getElementById(max_price).value);
		
		if (min_value == 400 && max_value == 3000) {
			document.getElementById('price_range_error').style.display = "none";
		} else if (max_value <= min_value && max_value > 0) {
			document.getElementById('price_range_error').style.display = "block";
		} else {
			document.getElementById('price_range_error').style.display = "none";
		}
		
	}
	
}


// Toggle the opening/closing of blogs
function blogToggleYear(year) {
	
	if (document.getElementById('blog_year_' + year)) {
		
		if (document.getElementById('blog_year_' + year).className == "blog_year_close") {
			document.getElementById('blog_year_' + year).className = "blog_year_open";
		} else {
			document.getElementById('blog_year_' + year).className = "blog_year_close";
		}
		
	}
}

// Toggle the opening/closing of blogs
function blogToggleMonth(month, year) {
	
	if (document.getElementById('blog_month_' + month + '_' + year)) {
		
		if (document.getElementById('blog_month_' + month + '_' + year).className == "blog_month_close") {
			document.getElementById('blog_month_' + month + '_' + year).className = "blog_month_open";
		} else {
			document.getElementById('blog_month_' + month + '_' + year).className = "blog_month_close";
		}
		
		//blogToggleYear(year);
		
	}
}


function optionSelect(page) {
	
	document.location = page;
	
}

function ucwords(text) {
	switch(text) {
		case "id" : return "ID"; break;
		default : 
			return (text+'').replace(/^(.)|\s(.)/g, function ( $1 ) { return $1.toUpperCase( ); } );
	}
}

/*
$(document).ready(function() {
			
		
});
*/

function contactRefer(url, caller) {
	
	tb_show("Dealership Details",url);
	//caller.parent.tb_remove();
	
}


function openDefaultEnquiry(title,url) {
	
	tb_show(title,url);
	
}

function insurance_quote() {
	tb_show("Insurance Quote",'/insurance-quote.php?&keepThis=true&TB_iframe=true&height=350&modal=true&width=430');	
}

function close_window(deal_id) {

	// Open up the feedback window
	//tb_remove();
	tb_show("Help Us Improve Our Site",'/scripts/ajax/enquiry_feedback.php?deal_id=' + deal_id + '&amp;keepThis=true&amp;TB_iframe=true&amp;modal=false&amp;width=300&amp;height=220');

}

function emptyField(field,removeValue) {
	
	if (document.getElementById(field)) {
		if (document.getElementById(field).value == removeValue) {
			document.getElementById(field).value = "";
		}
	}
	
}