var chevrolet = new Array('Aveo', 'Captiva', 'Cruze', 'Lacetti', 'Spark', 'Volt', 'Orlando');
var saab = new Array('9-3 Saloon', '9-3 Sport Wagon', '9-3 Convertible', '9-3X', '9-5 Saloon');
var vauxhall = new Array('Agila', 'Astra', 'Astra Sport Hatch', 'Antara', 'Corsa', 'Insignia', 'Meriva', 'Zafira', 'VRX', 'Ampera', 'Astravan', 'Combo', 'Corsavan', 'Movano', 'Vivaro');

function addElement(parentId, elementTag, elementId, html) {
	// Adds an element to the document
	var p = document.getElementById(parentId);
	var newElement = document.createElement(elementTag);
	newElement.setAttribute('id', elementId);
	newElement.innerHTML = html;
	p.appendChild(newElement);
}

function removeElement(elementId) {
	// Removes an element from the document
	count--;
	var element = document.getElementById(elementId);
	element.parentNode.removeChild(element);
}

function addDamage(damageTxt) {
	//
	// Example function showing how to add a file input box to an existing form
	//
	fileId++; // increment fileId to get a unique ID for the new element
	count++;
	var html = '<a href="" onclick="javascript:removeElement(\'file-' + fileId + '\'); return false;"><img src="/images/remove-button.jpg" alt="Remove this item" title="Remove this item" width="12" height="10" border="0" /></a>' +
			   '<input type="text" name="vehicleDamage" size="' + damageTxt.length + '" value="' + damageTxt + '" /><br />';
	addElement('damageDiv', 'span', 'file-' + fileId, html);
}

var fileId = 0; // used by the addFile() function to keep track of IDs
var count = 0;

function liveClock()  {
         var today  = new Date();
         var second = today.getSeconds();
         var minute = today.getMinutes();
         var hour   = today.getHours();
         var hour24 = today.getHours();
         var ampm   = "";
         
         var day    = today.getDay();
         var date   = today.getDate();
         var month  = today.getMonth();
         var year   = today.getFullYear();
         
         var days   = new Array();
          days[0]   = "Sunday";
          days[1]   = "Monday";
          days[2]   = "Tuesday";
          days[3]   = "Wednesday";
          days[4]   = "Thursday";
          days[5]   = "Friday";
          days[6]   = "Saturday";
          
         var mns   = new Array();
          mns[0]   = "January";
          mns[1]   = "February";
          mns[2]   = "March";
          mns[3]   = "April";
          mns[4]   = "May";
          mns[5]   = "June";
          mns[6]   = "July";
          mns[7]   = "August";
          mns[8]   = "September";
          mns[9]   = "October";
          mns[10]  = "November";
          mns[11]  = "December";
           
        if(second<10)
            {
                second = "0"+second;
            }
            
        if(minute<10)
            {
                minute = "0"+minute;
            }
            
        if(hour24<=11)
            {
                ampm = "AM";
            }
            
        else
            {
                ampm = "PM"
            }
            
        if(hour24>=13)
            {
                hour= hour-12;
            }
            
        if(hour24==0)
            {
                hour=12;
            }
        
        //document.getElementById('liveClock').innerHTML=(hour+":"+minute+":"+second+" "+ampm+' '+days[day]+', '+date+' '+mns[month]+' '+year);
		$('#timeDate').html(hour+':'+minute+':'+second+' '+ampm+'<br />'+days[day]+'<br />'+date+' '+mns[month]+' '+year);
}


function formSwitch(formName, formMake, formModel, formType, formInfo){
	
	if(formName == 'test-drive-booking'){
		if(formType == 'new'){
			formName = 'test-drive-booking-new';
		} else {
			formName = 'test-drive-booking-used';
		}
	}
	
	if(formName == 'vehicle-enquiry'){
		if(formType == 'new'){
			formName = 'vehicle-enquiry-new';
		} else {
			formName = 'vehicle-enquiry-used';
		}
	}
	
	$('#lowerFormArea').css('height', $('#lowerFormArea #actualForm #feedbackForm').height());
		$('#lowerFormArea #actualForm').fadeOut(300, function(){
			$('#lowerFormArea #actualForm #feedbackForm').remove();
			//$('#lowerFormArea').append('<div id="tempLoadingMsg" class="hidden">loading.....</div>')
			$('#lowerFormArea').append('<div id="tempLoadingMsg" class="hidden"><img src="/images/loading-bar.gif" width="80" height="12" /></div>')
			$('#tempLoadingMsg').fadeIn(300);
			$('#lowerFormArea #actualForm').load('/forms/' + formName + '.aspx', function(){
				$('#tempLoadingMsg').fadeOut(300, function(){
					$('#tempLoadingMsg').remove();
					
					$('#lowerFormArea #actualForm').fadeIn(300);
					$('#lowerFormArea').animate({
						height: $('#lowerFormArea #actualForm #feedbackForm').height()	
					}, 1000, 'easeOutExpo', function(){
						$('#lowerFormArea').removeAttr('style');
					});
					
					formSubjectChange();
					submitWireUp(formName, formMake, formModel, formType, formInfo);
			});
		})
	});
		
}

function submitWireUp(formName, formMake, formModel, formType, formInfo){
	
	var pageURL = window.location.href;
	$("#feedbackForm input[name='return']").val(pageURL);
	
	if(formName == 'vehicle-enquiry-new'){
		$('#feedbackForm input[name=Vehicle make]').val(formMake);
		$('#feedbackForm input[name=Vehicle model]').val(formModel);
	}
	
	if(formName == 'vehicle-enquiry-used'){
		$('#feedbackForm textarea[name=Vehicle details]').text(formInfo);
	}
	
	if(formName == 'test-drive-booking-new' || formName == 'brochure-request'){
		
		if(formName == 'test-drive-booking-new'){
			$('#feedbackForm input[name="Date for test drive"]').datepicker({
				dateFormat: 'dd-mm-yy'
			});
		}
		
		$("#feedbackForm select[name='Make of vehicle']").change(function(){
			var selectedVeh = $("#feedbackForm select[name='Make of vehicle'] :selected").text().toLowerCase()
			if(selectedVeh != ""){
				$("#feedbackForm select[name='Model of vehicle']").removeAttr('disabled');
				$("#feedbackForm select[name='Model of vehicle']").empty();
				$("#feedbackForm select[name='Model of vehicle']").append('<option value="" selected="selected"></option>');
				for(var i=0; i<eval(selectedVeh).length; i++) {
					var tempVal = eval(selectedVeh)[i];
					$("#feedbackForm select[name='Model of vehicle']").append('<option value="' + tempVal + '">' + tempVal + '</option>');
				}
			} else {
				$("#feedbackForm select[name='Model of vehicle']").empty();
				$("#feedbackForm select[name='Model of vehicle']").attr('disabled', 'disabled');
			}
		});
		
		if(formMake != ""){
			$("#feedbackForm select[name='Make of vehicle'] option:contains(" + formMake + ")").attr("selected", true);
			$("#feedbackForm select[name='Make of vehicle']").trigger('change');
			$("#feedbackForm select[name='Model of vehicle'] option[value=" + formModel + "]").attr("selected", true);
		}
	}
	
	if(formName == 'test-drive-booking-used'){
		
		$('#feedbackForm input[name="Date for test drive"]').datepicker({
			dateFormat: 'dd-mm-yy'
		});
		$('#feedbackForm textarea[name=Vehicle details]').text(formInfo);
	}
	
	if(formName == 'sell-my-car' || formName == 'parts-enquiry'){
		$.ajaxSetup({async: false});
		$.getScript('/scripts/VRMSearch.js');
		$.ajaxSetup({async: true});
	}
	
	if(formName == 'service-booking-local'){
		$.ajaxSetup({async: false});
		$.getScript('/scripts/VRMSearch.js');
		$.ajaxSetup({async: true});
		$('#feedbackForm input[name="Ideal date for service"]').datepicker({
			dateFormat: 'dd-mm-yy'
		});
	}
	
	if(formName == 'tell-a-friend'){
		$('#feedbackForm textarea[name=information]').text(formInfo);
		$('#feedbackForm input[name=subject]').val('Your friend wishes to let you know about a ' + formMake + " " + formModel + ' they have seen online');
		$('#feedbackForm input[name=vehicleLink]').val(formType);
		$('#feedbackForm input[name=vehicleMake]').val(formMake);
		$('#feedbackForm input[name=vehicleModel]').val(formModel);
	}
	
	//Bespoke email code for Whitmores
	$("#feedbackForm select[name='Preferred branch']").change(function(){
		$("#feedbackForm input[name='to_address']").val("");
		$("#feedbackForm input[name='to_address2']").val(""); 
		$("#feedbackForm input[name='to_address3']").val(""); 
		$("#feedbackForm input[name='to_address4']").val("");  
		
		if(formName == 'parts-enquiry' || formName == 'service-booking-local'){ // form is either parts enquiry or service booking
			if(formName == 'service-booking-local'){ // form is service booking
				if($(this).val() == "Chislehurst"){
					$("#feedbackForm input[name='to_address']").val("richard.hart@whitmoresvauxhall.co.uk");
				}
				if($(this).val() == "Sevenoaks"){
					$("#feedbackForm input[name='to_address']").val("mark.holmes@whitmoresvauxhall.co.uk");
					$("#feedbackForm input[name='to_address2']").val("becky.allard@whitmoresvauxhall.co.uk");
				}
				if($(this).val() == "Edenbridge"){
					$("#feedbackForm input[name='to_address']").val("clive.thomas@whitmoresvauxhall.co.uk");
				}
			} else { // form is parts enquiry
				if($(this).val() == "Chislehurst"){
					$("#feedbackForm input[name='to_address']").val("danny.smith@whitmoresvauxhall.co.uk");
				}
				if($(this).val() == "Sevenoaks"){
					$("#feedbackForm input[name='to_address']").val("danny.smith@whitmoresvauxhall.co.uk");
					$("#feedbackForm input[name='to_address2']").val("sevenoaks.parts@whitmoresvauxhall.co.uk");
				}
				if($(this).val() == "Edenbridge"){
					$("#feedbackForm input[name='to_address']").val("roy.collins@whitmoresvauxhall.co.uk");
				}
			}
		} else { // All other forms apart from parts enquiry and service booking
			if($(this).val() == "Chislehurst"){
				$("#feedbackForm input[name='to_address']").val("graham.masters@whitmoresvauxhall.co.uk");
				$("#feedbackForm input[name='to_address2']").val("ian.elmore@whitmoresvauxhall.co.uk");
				$("#feedbackForm input[name='to_address3']").val("trevor.graham@whitmoresvauxhall.co.uk");
			}
			if($(this).val() == "Sevenoaks"){
				$("#feedbackForm input[name='to_address']").val("ian.jones@whitmoresvauxhall.co.uk");
				$("#feedbackForm input[name='to_address2']").val("les.newby@whitmoresvauxhall.co.uk");
			}
			if($(this).val() == "Edenbridge"){
				$("#feedbackForm input[name='to_address']").val("bedul.cadur@whitmoresvauxhall.co.uk");
				$("#feedbackForm input[name='to_address']").val("adam.stevenson@whitmoresvauxhall.co.uk");
			}
		}
		
	});
	
	$(".button").click(function(e) {
		
		jQuery.validator.messages.required = "";
		$("#feedbackForm").validate({
			
			invalidHandler: function(e, validator) {
				var errors = validator.numberOfInvalids();
				if (errors) {
					var message = errors == 1
						? 'You missed 1 field.<br />It has been highlighted above'
						: 'You missed ' + errors + ' fields.<br />They have been highlighted above';
					$("div.formErrors").html('<div id="feedbackForm" class="formError"><img src="/images/form-error.jpg" width="50" height="50" alt="Form errors" class="left paddingRight" /><p>' + message + '</p></div>');
					$("div.formErrors").fadeIn(1000);
				} else {
					$("div.formErrors").fadeOut(1000);
				}
			},
			messages: {
				from_address: {
					required: "",
					email: "Invalid email address format"
				}
			},
			rules: {
     			from_address: {
       			required: true,
      			email: true
     			}
   			},
			success: function(label) {
				//label.addClass("valid").text("")
			},
			submitHandler: function(form){	
				$("div.formErrors").hide();
				e.preventDefault();
				
				if(formName == 'tell-a-friend'){
					
					$.ajax({
						type: "POST",
						url: "/forms/scripts/tell-a-friend.asp",
						data: $("#feedbackForm").serialize(),
						async: false,
						success: function(msg) {
							
							$('#lowerFormArea').css('height', $('#lowerFormArea #actualForm #feedbackForm').height());
							$('#lowerFormArea #actualForm').fadeOut(300, function(){
								$('#lowerFormArea #actualForm #feedbackForm').remove();
								if(msg != "successful"){ // error returned from server
									$('#actualForm').append('<div id="feedbackForm" class="formError"><h2>There was a problem sending your request..!!</h2><img src="/images/form-send-fail.jpg" width="110" height="110" alt="Enquiry failed" class="left paddingRight" /><p>The following error was returned by the server:<br />' + msg + '</p><div class="clear"></div></div>')
								} else { // request sent successfully
									$('#actualForm').append('<div id="feedbackForm" class="successful"><h2>Your friend has been emailed..!!</h2><img src="/images/form-send-sent.jpg" width="110" height="110" alt="Enquiry sent" class="left paddingRight" /><p>Thank you for letting your friend know about this vehicle</p><div class="clear"></div></div>')
								}
								$('#lowerFormArea #actualForm').fadeIn(300);
								$('#lowerFormArea').animate({
									height: $('#lowerFormArea #actualForm #feedbackForm').height()	
								}, 1000, 'easeOutExpo');
							});
							
						}	
					});
					
				} else {
				
					$.ajax({
						type: "POST",
						url: "/forms/scripts/feedback.asp",
						data: $("#feedbackForm").serialize(),
						async: false,
						success: function(msg) {
							
							$('#lowerFormArea').css('height', $('#lowerFormArea #actualForm #feedbackForm').height());
							$('#lowerFormArea #actualForm').fadeOut(300, function(){
								$('#lowerFormArea #actualForm #feedbackForm').remove();
								
								if(msg != "successful"){ // error returned from server
									$('#actualForm').append('<div id="feedbackForm" class="formError"><h2>There was a problem sending your request..!!</h2><img src="/images/form-send-fail.jpg" width="110" height="110" alt="Enquiry failed" class="left paddingRight" /><p>The following error was returned by the server:<br />' + msg + '</p><div class="clear"></div></div>')
								} else { // request sent successfully
									$('#actualForm').append('<div id="feedbackForm" class="successful"><h2>Your enquiry has been successfully sent..!!</h2><img src="/images/form-send-sent.jpg" width="110" height="110" alt="Enquiry sent" class="left paddingRight" /><p>Thank you.<br />We shall contact you soon.</p><div class="clear"></div></div>')
								}
								$('#lowerFormArea #actualForm').fadeIn(300);
								$('#lowerFormArea').animate({
									height: $('#lowerFormArea #actualForm #feedbackForm').height()	
								}, 1000, 'easeOutExpo');
							});
							
						}	
					});
				
				}
				return false;
			} // end of submit handler
		});
	}); // end of button press fuunction
}

function formSubjectChange(){
	
	$('#feedbackForm select[name=subject]').change(function(){
	
		var formName = $(this).val().toLowerCase().replace(/ /g,"-");
		formSwitch(formName);
	});
}

function formLinkWireUp(){
	
	$('a[data-event="openForm"]').click(function(){
		if($(this).attr('data-location')){ // open in the upper area
			
			$.scrollTo( 0, 500);
			$('#notificationArea').html('Loading....');
			$('#formArea').load('/forms/' + $(this).attr('data-name') + '.aspx', function(){
				
				if($('#formContainer').css('display') == 'block'){ // form area already open
					$('#formContainer').animate({
						height: $('#formArea').height()						
					}, 1000, 'easeOutExpo');
				} else { // form are not open yet
					$('#formContainer').slideDown(1000, 'easeOutExpo');
				}
				$('#formAreaClose img').click(function(){
					$('#formContainer').slideUp(1000, 'easeOutExpo', function(){
						$('#formArea').html('');
					});
				});
			
				$('#notificationArea').html('');
					
			});
			
		} else { // open in the lower area
			
			var scrollPoint = $('.miniFormBottom').position();
			$.scrollTo( scrollPoint.top, 500);
			var formName = $(this).attr('data-name');
			var formMake = $(this).attr('data-make');
			var formModel = $(this).attr('data-model');
			var formType = $(this).attr('data-type');
			var formInfo = $(this).attr('data-info');
			formSwitch(formName, formMake, formModel, formType, formInfo);
		}
		
	});
	
} 

function globalForm(){
		if (jQuery.support.ajax){}
}


$(document).ready(function(){
	
	$.ajaxSetup({async: false});
		$.getScript('/scripts/jquery/JQui-1.8.5.custom.min.js');
		$.getScript('http://s7.addthis.com/js/250/addthis_widget.js#username=xa-4b473c9a0c1b1dba');
	$.ajaxSetup({async: true});
	
	$('#returnTop').click(function() {
		$.scrollTo( 0, 500);
	return false;
	});
	
	$('#mainContentContainer').addClass('bg' + Math.floor(Math.random()*9))

	$('ul.sf-menu').superfish();
	
	$.ajaxSetup( {
		cache : false
	});
	
	$('#breadCrumbs #backButton').click(function(){
		history.go(-1);
	});
	
	setInterval('liveClock()', 1000);
	
	formLinkWireUp();
	formSubjectChange();
	submitWireUp();

});
