	var $myGlobals={};
	$myGlobals['imgReels']={};
	$myGlobals['activeReel']=0;
	$myGlobals['countReels']=0;
	$myGlobals['activeTestReel']=0;
	$myGlobals['countTestReels']=0;
	$myGlobals['pause']=true;
	
	window.onblur = function(){ pause(true);}
	window.onfocus = function(){ pause(false);}

	window.onload=function() {
		createImgReelItems();
		createTestReel();
		equalColumns();
		setTimeout('imgReel()',6000);
		setTimeout('testReel()',8000);
		startCarSelecter();
		document.getElementById('imageReel').onmouseover = function(){
            pause();
		};
        document.getElementById('imageReel').onmouseout = function(){
            pause();
		};
        document.getElementById('slider').onmouseover = function(){
            pause();
		};
        document.getElementById('slider').onmouseout = function(){
            pause();
		};
	}
	
	function startCarSelecter() {
		document.getElementById('carSelecterMake').onchange = function(){
            loadModel();
		}
	}
	
	var equalColumns = function() {
		$left = document.getElementById('contentArea');
		$right = document.getElementById('sideBar');
		if ($left.clientHeight>$right.clientHeight) {
			$right.style.height=($left.clientHeight-40)+'px';
			$left.style.height=($left.clientHeight-40)+'px';
		}
		else {
			$left.style.height=($right.clientHeight-40)+'px';
		}
	}

	var pause = function($bool) {
		if ($bool===true || $bool===false) {
			$myGlobals['pause']=$bool;
		}
		else if($myGlobals['pause']==false){
			$myGlobals['pause']=true;
		}
		else {
			$myGlobals['pause']=false;
		}
	}
	function createImgReelItems() {
		$imgReelDescs=(document.getElementById('imgReelDescs').innerHTML.replace(/\+/g, " "));
		$imgReelDescs = jsonParse($imgReelDescs);
		$imgReelImages=(document.getElementById('imgReelImages').innerHTML.replace(/\+/g, " "));
		$imgReelImages = jsonParse($imgReelImages);
		//remove(document.getElementById('imgReelImages'));
		//remove(document.getElementById('imgReelDescs'));
		if ($imgReelDescs.length>$imgReelImages.length) {
			$count=$imgReelImages.length;
		}
		else {
			$count=$imgReelDescs.length;
		}
		$myGlobals['countReels']=$count-1;
		$i=0;
		while ($i<$count) {
			$container = document.createElement('div');
			$container.id='reelContainer'+$i;
			$imgContainer = document.createElement('div');
			$imgContainer.setAttribute('class','imageContainer');
			$descContainer = document.createElement('div');
			$descContainer.setAttribute('class','descriptionContainer');
			$descBubContainer = document.createElement('div');
			$descBubContainer.setAttribute('class','descriptionBubble');
			$img = new Image();
			$img.src = 'http://swifttuning.co.uk/images/'+$imgReelImages[$i];
			$img.alt = 'Chip Tuning';
			$desc = unescape($imgReelDescs[$i]);
			
			$descBubContainer.innerHTML = $desc;
			$descContainer.appendChild($descBubContainer);
			$imgContainer.appendChild($img);
			$container.appendChild($imgContainer);
			$container.appendChild($descContainer);
			$myGlobals['imgReels'][$i]=$container;
			$i++;
		}
		setTimeout('pause()',4000);
	}

	function imgReel() {
		if ($myGlobals['pause']==false) {
			imgReelStart();
		}
		setTimeout('imgReel()',6000);
	}

	function imgReelStart() {
		if ($myGlobals['activeReel']+1>$myGlobals['countReels']) {
			prepareTransition(0);
			transition($myGlobals['activeReel']);
			$myGlobals['activeReel']=0;
		}
		else {
			prepareTransition($myGlobals['activeReel']+1);
			transition($myGlobals['activeReel']);
			$myGlobals['activeReel']++;
		}
		
		function prepareTransition($id) {
			$myGlobals['imgReels'][$id].setAttribute('style','display:shown;');
			document.getElementById('imageReel').appendChild($myGlobals['imgReels'][$id]);
			
		}
		function transition($id) {
			if (document.getElementById('reelContainer'+$id)==null) {
			}
			else {
				document.getElementById('reelContainer'+$id).setAttribute('style','position:absolute;');
				$('#reelContainer'+$id).animate({
					opacity: 'toggle'
				}, 600, function() {
					$('#reelContainer'+$id).remove();
				});
			}
		}
	}
	
	function createTestReel() {
		$myGlobals['activeTestReel'] = 1;
		$myGlobals['countTestReels'] = parseInt(document.getElementById('testCount').innerHTML);
	}

	function testReel() {
		if ($myGlobals['pause']===false) {
			testReelStart();
		}
		setTimeout('testReel()',8000);
	}

	function testReelStart() {
		if ($myGlobals['pause']===false) {
			if ($myGlobals['activeTestReel']+1>$myGlobals['countTestReels']) {
				$margin='0px';
				$myGlobals['activeTestReel'] = 1;
			}
			else {
				$margin = '-=265px';
				$myGlobals['activeTestReel']++;
			}
			$('#slider').animate({
				marginLeft: $margin
			}, 600, function() {
			});
		}
	}

	function timer($time) {
		var start = new Date().getTime();
		$time = $time*1000;
		var elapsed = new Date().getTime() - start;
		while (elapsed<$time) {
			var elapsed = new Date().getTime() - start;
		}
		return true;
	}

	function remove($el) {
		$el.parentNode.removeChild($el);
	}

	function replaceAll(txt, replace, with_this) {
		return txt.replace(new RegExp(replace, 'g'),with_this);
	}
	
	function loadModel() {
		loadCarList("loadModel('"+document.getElementById('carSelecterMake').value+"')", loadModelX);
	}
    
    function loadModelX($list){
		$modelWrap = document.getElementById('carSelecterModelWrap');
		$modelWrap.innerHTML = $list[0];
        $model = document.getElementById('carSelecterModel');
	    $model.onchange = loadFuel;
		$model.setAttribute('class', 'carSelecterLoaded');
		document.getElementById('carSelecterFuelWrap').innerHTML = '<select id="carSelecterFuel" class="carSelecter"><option>Select Fuel</option></select>';
		document.getElementById('carSelecterVariableWrap').innerHTML = '<select id="carSelecterVariable" class="carSelecter"><option>Select Variant</option></select>';
    }
	
	function loadFuel() {
		$make = document.getElementById('carSelecterMake').value;
		loadCarList("loadFuel('"+this.value+"','"+$make+"')", loadFuelX);
	}
    
    function loadFuelX($list){
		$fuelWrap = document.getElementById('carSelecterFuelWrap');
		$fuelWrap.innerHTML = $list[0];
	    $fuel = document.getElementById('carSelecterFuel');
        $fuel.onchange = loadVariable;
		$fuel.setAttribute('class', 'carSelecterLoaded');
		document.getElementById('carSelecterVariableWrap').innerHTML = '<select id="carSelecterVariable" class="carSelecter"><option>Select Variant</option></select>';
    }
	
	function loadVariable() {
		$make = document.getElementById('carSelecterMake').value;
		$model = document.getElementById('carSelecterModel').value;
		loadCarList("loadVariable('"+this.value+"','"+$model+"','"+$make+"')", loadVariableX);
	}
	
	
	function loadVariableX($list) {
		$variableWrap = document.getElementById('carSelecterVariableWrap');
		$variableWrap.innerHTML = $list[0];
        $variable = document.getElementById('carSelecterVariable');
	    $variable.onchange = loadCar;
		$variable.setAttribute('class', 'carSelecterLoaded');
	}
	
	function loadCar() {
		lightBox();
		loadCarList("loadCar('"+this.value+"')", loadCarX);
	}
    function loadCarX($list) {
        lightBoxContent($list[0]);
    }
	
	var loadNews = function($id) {
		if ($id[0] === true) {
			lightBoxContent($id[1]);
		}
		else {
			lightBox();
			ajax('getNewsAjax('+$id+')', loadNews)
		}
	}
	
	function loadTestimonial($id) {
		if ($id[0] === true) {
			lightBoxContent($id[1]);
		}
		else {
			lightBox();
			ajax('getTestimonialAjax('+$id+')', loadTestimonial)
		}
	}
	
	function lightBox($array) {
		var $overLay = document.createElement('div');
		$overLay.setAttribute('id', 'overLay');
		var $outerContainer = document.createElement('div');
		$outerContainer.setAttribute('id', 'outerContainer');
		var $closeContainer = document.createElement('div');
		$closeContainer.setAttribute('id', 'closeContainer');
		var $container = document.createElement('div');
		$container.setAttribute('id', 'container');
		$container.innerHTML = "<div style='text-align:center' > <img src='http://swifttuning.co.uk/images/loading.gif'/> </div>";
		var $removeOverLay = document.createElement('div');
		$removeOverLay.setAttribute('id', 'removeOverLay');
		$removeOverLay.onclick = function() {
			remove(document.getElementById('overLay'));
		}
		$closeContainer.onclick = function() {
			remove(document.getElementById('overLay'));
		}
		if ($array != undefined) {
			for (var i in $array) {
				$container.appendChild($array[i]);
			}
		}
		$outerContainer.appendChild($closeContainer);
		$outerContainer.appendChild($container);
		$overLay.appendChild($outerContainer);
		$overLay.appendChild($removeOverLay);
		document.body.appendChild($overLay);
	}
	
	function lightBoxContent($htmlContent) {
		$container = document.getElementById("container");
		$container.innerHTML = $htmlContent;
	}
	
	function lightBoxAddArray($array) {
		$container = document.getElementById("container");
		if ($array != undefined) {
			for (var i in $array) {
				$container.appendChild($array[i]);
			}
		}
	}
	
	function clearDefault($el, $txt) {
		var $e = window.event;
		if ($el.nodeName=='INPUT') {
			$value = $el.value;
			$default = $el.getAttribute('default');
			if ($default==$value && $e.type=='focus') {
				if ($txt!=undefined) {
					$el.value=$txt;
				}
				else {
					$el.value='';
				}
			}
			else if ($value=='' && $e.type=='blur') {
				$el.value=$default;
			}
		}
		else if ($el.nodeName=='TEXTAREA') {
			$value = $el.value;
			$default = $el.getAttribute('default');
			if ($value==$default && $e.type=='focus') {
				if ($txt!=undefined) {
					$el.innerHTML=$txt;
				}
				else {
					$el.innerHTML='';
				}
			}
			else if ($value=='' && $e.type=='blur') {
				$el.innerHTML=$default;
			}
		}
	}
	
	function formInfo($el) {
		var $e = window.event;
		if ($el.nodeName=='INPUT') {
			if ($e.type=='focus') {
				$el.parentNode.setAttribute('class','contactFormRowFocused');
			}
			else if ($e.type=='blur') {
				$el.parentNode.setAttribute('class','contactFormRow');
			}
		}
	}
	
	function formSubmit() {
		$container = document.getElementById('contactForm');
		$required = $container.getElementsByClassName('required');
		$error = 0;
		for (var i in $required) {
			if (isInt(i)) {
				if ($required[i].value == $required[i].getAttribute('default') || $required[i].value == '') {
					$required[i].parentNode.setAttribute('class','contactFormRowError');
					$error = 1;
				}
			}
		}
		if ($error === 0) {
			$name = escape(document.getElementById('name').value);
			$number = escape(document.getElementById('number').value);
			$email = escape(document.getElementById('email').value);
			$area = escape(document.getElementById('area').value);
			$carMake = escape(document.getElementById('carMake').value);
			$carModel = escape(document.getElementById('carModel').value);
			$carCapa = escape(document.getElementById('carCapa').value);
			$carFuel = escape(document.getElementById('carFuel').value);
			$carYear = escape(document.getElementById('carYear').value);
			$mess = escape(document.getElementById('message').value);
			$gets = "&name=" + $name + "&number=" + $number + "&email=" + $email + "&area=" + $area + "&carMake=" + $carMake + "&carModel=" + $carModel + "&carCapa=" + $carCapa + "&carFuel=" + $carFuel + "&carYear=" + $carYear + "&mess=" + $mess;
			ajax('sendForm()'+$gets, false);
			document.getElementById('formSubmit').innerHTML = 'Thank You';
				$('#contactForm').animate({
					height: '0px'
				}, 600, function() {
				});
			document.getElementById('contactForm').innerHTML = '<h2>Message Sent, We Will be in Contact Shortly</h2>'
				$('#contactForm').animate({
					height: '50px'
				}, 600, function() {
				});
		}
		return false;
	}
	
	function loadCarList($method, $returnCall)
	{
	document.getElementById('loadAreaCar').innerHTML = "<img src='http://swifttuning.co.uk/images/loading.gif'/>";
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	  {
	  if (xmlhttp.readyState==4 && xmlhttp.status==200)
		{
			document.getElementById('loadAreaCar').innerHTML = "";
			var $returnArray = [];
			$returnArray[0]=xmlhttp.responseText;
			$returnCall($returnArray);
		}
	  }
	xmlhttp.open("GET","http://swifttuning.co.uk/carSelecterLoad.php?f="+$method,true);
	xmlhttp.send();
	}
	
	function ajax($method, $returnCall, $returnArray)
	{
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	  {
	  if (xmlhttp.readyState==4 && xmlhttp.status==200)
		{
			if ($returnCall !== false) {
				var $returnArray = [];
				$returnArray[0]=true;
				$returnArray[1]=xmlhttp.responseText;
				$returnCall($returnArray);
			}
		}
	  }
	xmlhttp.open("GET","http://swifttuning.co.uk/ajax.php?f="+$method,true);
	xmlhttp.send();
	}
	
	document.getElementsByClassName = function(cl) {
		var retnode = [];
		var myclass = new RegExp('\\b'+cl+'\\b');
		var elem = this.getElementsByTagName('*');
		for (var i=0; i<elem.length; i++) {
			var classes = elem[i].className;
			if (myclass.test(classes)) retnode.push(elem[i]);
		}
		return retnode;
	}
	
	function isInt(s) {
		return (s.toString().search(/^-?[0-9]+$/) == 0);
	}
    
    function isArray(obj) {
        if(obj != undefined){
            return typeof(obj)=='object'&&(obj instanceof Array);
        }
        return false
    }
