// JavaScript Document
window.onload = initAll;
window.onunload = finishLoading;

/*Global variable and index.html slide show images defined*/
var imageBankArray = new Array();
var currentImageNumber = 0;

imageBankArray[0] = ["assets/images/vehicles/caravan_Side.jpg"];
imageBankArray[1] = imageBankArray[0];
imageBankArray[2] = ["assets/images/other/memberOfGoodGarageLogo.jpg"];
imageBankArray[3] = ["assets/images/vehicles/sportsCarSide.jpg"];
imageBankArray[4] = ["assets/images/other/eighteenYearsLogo.jpg"];
imageBankArray[5] = ["assets/images/vehicles/motorhome.jpg"];
imageBankArray[6] = ["assets/images/other/oneLocationLogo.jpg"];




function initAll()
{
	displayImages();
	fontSizeSet();
	setFontOnClickProperty();
	setMapClickedProperty();
	googleMapLoad();
	menuList();
	
}

function googleMapLoad() 
{
	if(document.getElementById("location"))
	{
		if (GBrowserIsCompatible()) 
		{
    		var map = new GMap2(document.getElementById("map"));
			var xCoord, yCoord = 0;
			xCoord = 51.515399923572600;
			yCoord = -3.406612329864502;
			map.setCenter(new GLatLng(xCoord, yCoord), 13);
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
   		    window.setTimeout(function() 
			{
        	 	var point = new GLatLng(xCoord, yCoord);
  				map.addOverlay(createMarker(point, 1));
				map.panTo(new GLatLng(xCoord, yCoord));
				var center = map.getCenter();
       		}, 1000);
    	}	
	}
}



// Creates a marker at the given point with the given number label
function createMarker(point, number) {
  var marker = new GMarker(point);
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml("AutoMaster South Wales Ltd<br /> Unit 3,<br /> Llywna Farm,<br /> Llanharri Road,<br /> Brynsadler,<br /> Pontyclun,<br /> Mid Glamorgan,<br /> CF72 9DB");
  });
  return marker;
}

function finishLoading()
{
  	var title = getActiveStyleSheet();
  	createCookie("cookie_1", title, 0);	
	
}


/*---------------------------------Index.html slide show code-------Start-----------------------------------------*/

/*----The following opacity script is based upon a script from http://brainerror.net/scripts_js_blendtrans.php. This has been amended in parts to suit this site's needs.----*/

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    /*CSS 3 method*/
	object.opacity = (opacity / 100);
	/*This is set to 101 to avoid flicker that occurs in Firefox when opacity goes from 99 to 100%*/
    object.MozOpacity = (opacity / 101); 
    /*For Konquerer on Linux and MacOS*/
	object.KhtmlOpacity = (opacity / 100);
	/*Fo IE*/
    object.filter = "alpha(opacity=" + opacity + ")";
} 

function blendimage(imageid,divid,millisec) {
    var speed = Math.round(millisec / 50);
    var timer = 0;
        
	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
    //make image transparent
    changeOpac(0, imageid);
    
    if (currentImageNumber == imageBankArray.length-1)
	{
		currentImageNumber = 0;
	}
	else
	{
		currentImageNumber++;
	}
	//make new image
    document.getElementById(imageid).src = imageBankArray[currentImageNumber];

    //fade in image
    for(i = 1; i <= 100; i++) {
        setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
        timer++;
    }
	setTimeout("blendimage('productImage','imagePlate',500)",5000);
}

/*---------------------------End of amended opacity script-----------------------------*/

function displayImages()
{

	if(document.all || document.getElementById)
	{
		if(document.getElementById("indexPage"))
		{
			blendimage("productImage","imagePlate",500);		
		}
	}
}

/*---------------------------------Index.html slide show code-------End-----------------------------------------*/





/*---------------------------------Index.html slide show code-------Start-----------------------------------------*/
/*Creates a mouseover/out function for displaying drop down menus for the page navigation - Searches for all the first level list elements in the navigation,
e.g. Caravan, Car, About us etc, and adds the 'over' class to its class declarations so that the relevant CSS code can run*/

function menuList()
{
	if(document.all && document.getElementById)
	{
		var nav = document.getElementById("navigation");
		var node;
		for(var i=0; i<=nav.childNodes.length;i++)
		{
			node = nav.childNodes[i];
			if(node.nodeName == "LI")
			{
				node.onmouseover = function()
				{
					/*Adds 'over' to the relevant high level navigation element e.g.Caravan, so that the CSS code that changes its visibility status can run, 
					especially in IE*/
					this.className+= " over";
				}
				node.onmouseout = function()
				{
					/*Removes the drop down menu from view, by removing 'over' from the high level navigation element's class declaration*/
					this.className = this.className.replace(" over", "");	
				}
			}
		}
	}
}

/*---------------------------------Index.html slide show code-------End-----------------------------------------*/



function setMapClickedProperty()
{
	if(document.getElementById("locationImageMaps"))
	{
		document.getElementById("map1").onclick = function()
		{
			setMapImage("map1");
		}
		document.getElementById("map2").onclick = function()
		{
			setMapImage("map2");
		}
		document.getElementById("map3").onclick = function()
		{
			setMapImage("map3");
		}
		document.getElementById("map4").onclick = function()
		{
			setMapImage("map4");
		}
	}
}

function setMapImage(mapNumber)
{
	var imgSrc;
	if (mapNumber == "map1")
	{
		document.locationImageMaps.mapImageHolder.src = "offM4_Large.jpg";
	}
	if (mapNumber == "map2")
	{
		document.locationImageMaps.mapImageHolder.src = "followA4119_Large.jpg";
	}
	if (mapNumber == "map3")
	{
		document.getElementById("mapImageHolder").src= "followA42222_Large.jpg";
	}
	if (mapNumber == "map4")
	{
		document.getElementById("mapImageHolder").src= "automaster_Large.jpg";
	}
}



/*--------------------------------Dealing with different stylesheets for page font sizes---Start---------------------------------------------------*/
function fontSizeSet()
{
	var buttonClicked = "";
	var cookie = readCookie("cookie_1");
  	var title = cookie ? cookie : getPreferredStyleSheet();
  	setActiveStyleSheet(title,false);
}

function setFontOnClickProperty()
{
	document.getElementById("large").onclick = function()
	{
		setActiveStyleSheet("largeText",true);
	}
	document.getElementById("medium").onclick = function()
	{
		setActiveStyleSheet("mediumText",true);
	}
	document.getElementById("small").onclick = function()
	{
		setActiveStyleSheet("smallText",true);
	}
}

/*
var i = 0;
	var b,c,d,e,f;
	b = document.getElementById("fontSizing");
	c = b.childNodes;
	
	for(i=0; i < c.length; i++)
	{
		if(c[i].tagName == "LI")
		{
			d = c[i].getElementsByTagName("a");
			
			if(d.length != 0)
			{
				for(var j=0; j < d.length; j++)
				{
			if (d[j].id == "large")
			{
				d[j].onclick = setActiveStyleSheet("largeText");
			}
			else if (d[j].id == "medium")
			{
				document.getElementById("medium").onclick = setActiveStyleSheet("mediumText");
			}
			else if (d[j].id == "small")
			{
				d[j].onclick = setActiveStyleSheet("smallText");
			}
				}
			}

		}
	}
}
*/

function setActiveStyleSheet(title,updateCookieStatus) 
{
  var i, a;
   
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) 
  {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) 
	{
      a.disabled = true;
      if(a.getAttribute("title") == title)
	  {
		  a.disabled = false;
		  if(updateCookieStatus = true)
		  {
		  	createCookie("cookie_1",title,0);
			if (title == "smallText")
			{
				document.getElementById("small").style.background = "#000000";
				document.getElementById("medium").style.background = "#800000";
				document.getElementById("large").style.background = "#800000";
			}
			else if (title == "mediumText")
			{
				document.getElementById("medium").style.background = "#000000";
				document.getElementById("small").style.background = "#800000";
				document.getElementById("large").style.background = "#800000";
			}
			else
			{
				document.getElementById("large").style.background = "#000000";
				document.getElementById("small").style.background = "#800000";
				document.getElementById("medium").style.background = "#800000";	
			}
		  }
	  }
    }
  }
}

function getActiveStyleSheet() 
{
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) 
  {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled)
	{
		return a.getAttribute("title");
	}
  }
  return null;
}

function getPreferredStyleSheet() 
{
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) 
  {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("rel").indexOf("alt") == -1 && a.getAttribute("title"))
	{
		return a.getAttribute("title");
	}
  }
  return null;
}

function createCookie(name,value,days) 
{
  if (days) 
  {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else 
  {
	  expires = "";
  }
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) 
{
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) 
  {
    var c = ca[i];
    while (c.charAt(0)==' ') 
	{
		c = c.substring(1,c.length);
	}
    if (c.indexOf(nameEQ) == 0) 
	{
		return c.substring(nameEQ.length,c.length);
	}
  }
  return null;
}
/*
window.onload = function(e) {
  var cookie = readCookie("cookie_1");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title,false);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("cookie_1", title, 0);
}


function getActiveStyleSheet() {
var i, a;
 for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
  if(a.getAttribute("rel").indexOf("style") != -1
  && a.getAttribute("title")
  && !a.disabled) return a.getAttribute("title");
  }
  return null;
}


function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
  return false;
}*/
/*--------------------------------Dealing with different stylesheets for page font sizes---End---------------------------------------------------*/