//	*********************************************************************************************		Author
//	*********************************************************************************************		

/*

Title:		ApInit - version NA

Author:		James Hall - www.astonprograms.co.uk

Uses:		ApCore - version 3.0.4

*/


//	*********************************************************************************************		ApAysnc	
//	*********************************************************************************************		

function ApAsync_GetLoadingContent()
{
	var div = document.createElement("div");
	div.className = "loading";
	
	var text = document.createElement("p");
	text.innerHTML = "Loading";
	
	div.appendChild(text);
	
	return div;
}

function ApAsyncDiv_Init(ApAsyncDiv_Details)
{
	var asyncDiv = null;
	var div = ApAsyncDiv_Details.widget;

	if(div != undefined)
	{		
		asyncDiv = new ApAsyncDiv(div);

		if(ApAsyncDiv_Details.loadingContent != undefined)
			asyncDiv.loadingContent = ApAsyncDiv_Details.loadingContent;	

		if(ApAsyncDiv_Details.executeScripts != undefined)
			asyncDiv.executeScripts = ApAsyncDiv_Details.executeScripts;	

		if(ApAsyncDiv_Details.passThrough != undefined)
			asyncDiv.passThrough = ApAsyncDiv_Details.passThrough;					

		if(ApAsyncDiv_Details.asyncLinks != undefined)
			asyncDiv.asyncLinks(ApAsyncDiv_Details.asyncLinks);
	}
	
	return asyncDiv;
}

//	*********************************************************************************************		ApSlideShow
//	*********************************************************************************************		

function ApSlideShow_Init(ApSlideShow_Details)
{
	var slideShow = null;
	var widget = document.getElementById(ApSlideShow_Details.widgetID);
	
	if(widget != null)
	{
		slideShow = new ApSlideShow(widget);

		if(ApSlideShow_Details.max_fps != undefined)
			slideShow.max_fps = ApSlideShow_Details.max_fps;	

		if(ApSlideShow_Details.pause != undefined)
			slideShow.pause = ApSlideShow_Details.pause;	;			

		if(ApSlideShow_Details.transition != undefined)
			slideShow.transition = ApSlideShow_Details.transition;					

		if(ApSlideShow_Details.startingSlide != undefined)
			slideShow.startingSlide = ApSlideShow_Details.startingSlide;	
			
		if(ApSlideShow_Details.slideClass != undefined)
			slideShow.slideClass = ApSlideShow_Details.slideClass;				
			
		if(ApSlideShow_Details.slideZIndex != undefined)
			slideShow.slideZIndex = ApSlideShow_Details.slideZIndex;	
			
		if(ApSlideShow_Details.pauseButton_pauseClass != undefined)
			slideShow.pauseButton_pauseClass = ApSlideShow_Details.pauseButton_pauseClass;				
			
		if(ApSlideShow_Details.pauseButton_playClass != undefined)
			slideShow.pauseButton_playClass = ApSlideShow_Details.pauseButton_playClass;
			
		if(ApSlideShow_Details.disabledClass != undefined)
			slideShow.disabledClass = ApSlideShow_Details.disabledClass;	
			
		if(ApSlideShow_Details.slidesURL != null)
			slideShow.loadFromURL(ApSlideShow_Details.slidesURL);			
	}	
	
	return slideShow;
}

//	*********************************************************************************************		DDM
//	*********************************************************************************************

function ApDDM_Init(ApDDM_Details)
{
	var menu = null;
	var widget = document.getElementById(ApDDM_Details.widgetID);
	
	if(widget != undefined)
	{
		menu = new ApDDM(widget, ApDDM_Details.offset);
		
		if(ApDDM_Details.collapseDelay != undefined)
			menu.collapseDelay = ApDDM_Details.collapseDelay;			

		if(ApDDM_Details.popupClass != undefined)
			menu.popupClass = ApDDM_Details.popupClass;	

		if(ApDDM_Details.hasChildrenClass != undefined)
			menu.hasChildrenClass = ApDDM_Details.hasChildrenClass;

		if(ApDDM_Details.selectedClass != undefined)
			menu.selectedClass = ApDDM_Details.selectedClass;	

		if(ApDDM_Details.subMenuOffset != undefined)
			menu.subMenuOffset = ApDDM_Details.subMenuOffset;							

		if(ApDDM_Details.parentLink != undefined)
			menu.parentLink = ApDDM_Details.parentLink;					
	}
	
	return menu;
}


//	*********************************************************************************************		ApCommandNav
//	*********************************************************************************************	

function ApCommandNav_Init(ApCommandNav_Details)
{
	var commandNav = new ApCommandNav(ApCommandNav_Details.asyncDiv);
	
	return commandNav;
}

//	*********************************************************************************************		
//	*********************************************************************************************

//	*********************************************************************************************		ImportScript

apImportScript = function(url)
{
	scriptObj = document.createElement("script");
	scriptObj.src = url;
	scriptObj.type="text/javascript";
	document.getElementsByTagName("head")[0].appendChild(scriptObj);
}


//	*********************************************************************************************		GoogleAnylitics 

function googleAnylitics()
{	
	
	try 
	{  
		var pageTracker = _gat._getTracker("UA-26275687-1");
		pageTracker._initData();
		pageTracker._trackPageview();
	}
	catch(err) {}
		
	
}

//	*********************************************************************************************		GoogleMaps

function GoogleMap(widget, address, zoom, alterable)
{
	try 
	{  
		var latlng = new google.maps.LatLng(51.02844,-0.33783);
		

		var myOptions;
		if(alterable)
			myOptions = { zoom: zoom, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP };
		else
			myOptions = { zoom: zoom, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP, disableDefaultUI: true, disableDoubleClickZoom: true, draggable: false, keyboardShortcuts: false, mapTypeControl: false, navigationControl: false, scaleControl: false, scrollwheel: false };

		this.map = new google.maps.Map(widget, myOptions);

		var geocoder = geocoder = new google.maps.Geocoder();
		geocoder.geocode({'address': address}, function(context){return function(results, status)
		{
			context.setAddress(results, status);
		}}(this));
	}
	catch(err) {}
}

GoogleMap.prototype.setAddress = function(results, status)
{
	if (status == google.maps.GeocoderStatus.OK) 
	{
		this.map.setCenter(results[0].geometry.location);
		var marker = new google.maps.Marker({ map: this.map,  position: results[0].geometry.location});
	}
	else
	{
		alert("Geocode of " + this.address + "\nwas not successful for the following reason: " + status + "\n\n\n" + results);
	}
}

//	*********************************************************************************************		ModifyTextBox 

function ModifyTextBox(id, selectedClass, defaultText)
{
	var textbox = document.getElementById(id);
	if(textbox != null)
	{
		textbox.selectedClass = selectedClass;
		textbox.defaultText = defaultText;
	
		textbox.onfocus = function()
		{
			this.className = this.selectedClass;
			if(this.value == this.defaultText)
				this.value = "";		
		}
		textbox.onblur= function()
		{
			if(this.value == "")
			{
				this.value = this.defaultText;
				this.className = "";
			}

		}	
	}
}

//	*********************************************************************************************		Loading

var Loading;
function SetLoading()
{
	var loadingImage = document.createElement("IMG");
	loadingImage.title = loadingImage.alt = "loading" ;
	loadingImage.src = "/templates/Whibleys_01/images/waiting.gif";		
	Loading = document.createElement("P");	
	Loading.appendChild(loadingImage);
	Loading.className = "loadingImage";	
}
SetLoading();
	
//	*********************************************************************************************		ProductOverlay


function SetProductOverlay()
{	
	var links = document.getElementById("products").getElementsByTagName("A");	
	var sharedData = { overlayed : null, timer : null }
	
	for(var i = 0; i < links.length; i++)
	{
		var link = links[i];
		if(link.id.substr(0, "product_".length) == "product_")
		{
			var overlay = link.nextSibling;
			while((overlay != null) && (overlay.className != "overlay"))
				overlay = overlay.nextSibling;

			if(overlay != null)
			{

				link.onmouseover = function(overlay, sharedData)
				{
					return function(e)
					{
						if(sharedData.overlayed != null)
							sharedData.overlayed.style.display = "none";

						clearTimeout(sharedData.timer);

						overlay.style.display = "block";

						sharedData.overlayed = overlay;
					}
				}(overlay, sharedData);

				link.onmouseout = function(overlay, sharedData)
				{
					return function(e)
					{
						sharedData.timer = setTimeout(function()
						{
							overlay.style.display = "none";
						}, 1000);					
					}
				}(overlay, sharedData);

				overlay.onmouseover = function(sharedData)
				{
					return function(e)
					{
						clearTimeout(sharedData.timer);
					}
				}(sharedData);

				overlay.onmouseout = function(overlay, sharedData)
				{
					return function(e)
					{
						sharedData.timer = setTimeout(function()
						{
							overlay.style.display = "none";
						}, 1000);					
					}
				}(overlay, sharedData);
			}
		}
	}
}

//	*********************************************************************************************		SetBasketOpacity

/*

function SetBasketOpacity()
{
	var basket = document.getElementById("basket");	
	if(basket != null)
	{
		if(basket.getElementsByTagName("LI").length == 0)
		{	
			basket.onmouseover = function()
			{
				ap.setOpacity(this, 100);
			};

			basket.onmouseout = function()
			{
				ap.setOpacity(this, 30);
			};
			
			if(ap.getBrowserType().indexOf("MSIE") >= 0)
			{
				ap.setOpacity(basket, 30);
			}
		}
		else
		{
			basket.onmouseover = function(){};
			basket.onmouseout = function(){};
			
			ap.setOpacity(basket, 100);
		}
	}
}

*/

//	*********************************************************************************************		SetFilterOpacity

/*

function SetFilterOpacity()
{	
	var filter = document.getElementById("filter");	
	if(filter != null)
	{
		filter.onmouseover = function()
		{
			ap.setOpacity(this, 100);
		};
		
		filter.onmouseout = function()
		{
			ap.setOpacity(this, 30);
		};
	}
}

*/

//	*********************************************************************************************		ApInit

var filtering;
var logout;
var loginAs;

function Ap_Init()
{

	/*	***	All Pages	***	*/
	
		
	if (logout != null) 
	{
	    ApAsyncLogin.Logout();
	}	
	
	var userDetail = document.getElementById("userDetail");
	if(userDetail != null)
		var apAsyncLogin = new ApAsyncLogin(userDetail);
	
	if(loginAs != null)
	{
		apAsyncLogin.setLoggedIn(apAsyncLogin.decode(loginAs));
    	}
	
	//var login = new Login(document.getElementById("userInformation"));


	// ApSlideShow
	var slideShow = ApSlideShow_Init({ widgetID : "slideshow", slidesURL : "/home/SlideShow_Slides.htm", pause : 3000 });
		
	//ModifyTextBox("search", "text", "search");
	
	// ApDDM
	var ddm;
	if((ap.getBrowserType() == "MSIE 8.0") || (ap.getBrowserType() == "MSIE 9.0"))
		ddm = ApDDM_Init({ widgetID : "menu", offset: { x : -1, y : 35}, subMenuOffset: { x : -1, y : 0 }, parentLink : "auto" });
	else if(ap.getBrowserType() == "MSIE 7.0")	
		ddm = ApDDM_Init({ widgetID : "menu", offset: { x : -1, y : 33}, subMenuOffset: { x : -2, y : 0 }, parentLink : "auto" });		
	else
		ddm = ApDDM_Init({ widgetID : "menu", offset: { x : -1, y : 35}, subMenuOffset: { x : -1, y : 0 }, parentLink : "auto" });

	// ApBasket
	var basketDiv = document.getElementById("basket");
	if(basketDiv != null)
	{
		var basket = new ApBasket(basketDiv);
		document.basket = basket;
	}

	var addButton = document.getElementById("addToBasket");
	if(addButton != null)
	{			
		addButton.onclick = function()
		{
			var productID = document.getElementById("ProductID").value;

			document.basket.add(productID)
		}
	}	

	// SetProductOverlay
	if(document.getElementById("products") != null)
	{
		SetProductOverlay();
	}

	// TABS
	var mapTab = document.getElementById("mapTab");
	if(mapTab != null)
	{
		mapTab.start = function()
		{
			var googleMap = document.getElementById("googleMap");
			if((googleMap != null) && (googleMap.loaded != true))
			{
				mapAddress = googleMap.childNodes[0].nodeValue;

				new GoogleMap(googleMap, mapAddress, 14, true);

				googleMap.loaded = true;
			}		
		};
	}
	
	var tabs = document.getElementById("tabs");
	if(tabs != null)
		new ApTabs(tabs);


	if(document.getElementById("products") != null)
	{
	 	filtering = new FilterProducts();
	 	document.getElementById("resetButton").onclick = function(){filtering.reset()};
	 }
		
	//googleAnylitics();	
	
}

//	*********************************************************************************************		Execute


apImportScript("/templates/Whibleys_01/scripts/ApCore.js");
apImportScript("/templates/Whibleys_01/scripts/ApAsync.js");
apImportScript("/templates/Whibleys_01/scripts/ApDDM.js");
apImportScript("/templates/Whibleys_01/scripts/ApSlideShow.js");
apImportScript("/templates/Whibleys_01/scripts/ApScroll.js");
apImportScript("/templates/Whibleys_01/scripts/ApBasket.js");
apImportScript("/templates/Whibleys_01/scripts/Login.js");
apImportScript("/templates/Whibleys_01/scripts/ApEvents.js");
apImportScript("/templates/Whibleys_01/scripts/ApCommandNav.js");
apImportScript("/templates/Whibleys_01/scripts/ApTabs.js");
apImportScript("/templates/Whibleys_01/scripts/ValidateSubmit.js");
apImportScript("/templates/Whibleys_01/scripts/ImageSwap.js");
apImportScript("/templates/Whibleys_01/scripts/Reviews.js");
apImportScript("/templates/Whibleys_01/scripts/RestrictTextArea.js");
apImportScript("/templates/Whibleys_01/scripts/Promotions.js");
apImportScript("/templates/Whibleys_01/scripts/FilterProducts.js");
apImportScript("/templates/Whibleys_01/scripts/ApAsyncLogin.js");

apImportScript("http://www.google-analytics.com/ga.js");

if(document.location.href.indexOf("contact") >= 0)
	googleMapHax();//apImportScript("http://maps.googleapis.com/maps/api/js?sensor=false");


window.onload = function(){setTimeout("Ap_Init()", 300)};

var loginAs = null;





//	*********************************************************************************************		CSS Hax


function Ap_importIECssHax()
{
	var browserType = Ap_getBrowserType();
	
	if(browserType == "MSIE 6")
	{
		Ap_importCSS("/templates/Whibleys_01/styles/ie6Hax.css");
	}
	if(browserType == "MSIE 7")
	{
		Ap_importCSS("/templates/Whibleys_01/styles/ie7Hax.css");
	}
	if(browserType == "MSIE 8")
	{
		Ap_importCSS("/templates/Whibleys_01/styles/ie8Hax.css");
	}	
	if(browserType == "MSIE 9")
	{
		Ap_importCSS("/templates/Whibleys_01/styles/ie8Hax.css");
	}	
	if(browserType == "Safari")
	{
		Ap_importCSS("/templates/Whibleys_01/styles/safariHax.css");
	}	
}

function Ap_importCSS(url)
{
	var head = document.getElementsByTagName("head")[0];

	var newStyle = document.createElement("link");
	newStyle.setAttribute("rel","stylesheet");
	newStyle.setAttribute("type", "text/css");
	newStyle.setAttribute("href", url);

	head.appendChild(newStyle);	
}

function Ap_getBrowserType()
{
	if(navigator.userAgent.indexOf("MSIE 6") > -1)
	{
		return "MSIE 6";
	}
	if(navigator.userAgent.indexOf("MSIE 7") > -1)
	{
		return "MSIE 7";
	}		
	if(navigator.userAgent.indexOf("MSIE 8") > -1)
	{
		return "MSIE 8";
	}	
	if(navigator.userAgent.indexOf("MSIE 9") > -1)
	{
		return "MSIE 9";
	}	
	if(navigator.userAgent.indexOf("Firefox") > -1)
	{
		return "Firefox";
	}	
	if(navigator.userAgent.indexOf("Safari") > -1)
	{
		return "Safari";
	}	
	if(navigator.userAgent.indexOf("Opera") > -1)
	{
		return "Opera";
	}		
	
	return "unknown";
}

Ap_importIECssHax();


function googleMapHax()
{
	window.google = window.google || {};
	google.maps = google.maps || {};
	(function() {

	  function getScript(src) {
	    document.write('<' + 'script src="' + src + '"' +
			   ' type="text/javascript"><' + '/script>');
	  }

	  var modules = google.maps.modules = {};
	  google.maps.__gjsload__ = function(name, text) {
	    modules[name] = text;
	  };

	  google.maps.Load = function(apiLoad) {
	    delete google.maps.Load;
	    apiLoad([null,[[["http://mt0.googleapis.com/vt?lyrs=m@162000000\u0026src=api\u0026hl=en-GB\u0026","http://mt1.googleapis.com/vt?lyrs=m@162000000\u0026src=api\u0026hl=en-GB\u0026"],null,null,null,null,"m@162000000"],[["http://khm0.googleapis.com/kh?v=94\u0026hl=en-GB\u0026","http://khm1.googleapis.com/kh?v=94\u0026hl=en-GB\u0026"],null,null,null,1,"94"],[["http://mt0.googleapis.com/vt?lyrs=h@162000000\u0026src=api\u0026hl=en-GB\u0026","http://mt1.googleapis.com/vt?lyrs=h@162000000\u0026src=api\u0026hl=en-GB\u0026"],null,null,"imgtp=png32\u0026",null,"h@162000000"],[["http://mt0.googleapis.com/vt?lyrs=t@127,r@162000000\u0026src=api\u0026hl=en-GB\u0026","http://mt1.googleapis.com/vt?lyrs=t@127,r@162000000\u0026src=api\u0026hl=en-GB\u0026"],null,null,null,null,"t@127,r@162000000"],null,[[null,0,7,7,[[[330000000,1246050000],[386200000,1293600000]],[[366500000,1297000000],[386200000,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-GB\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-GB\u0026"]],[null,0,8,8,[[[330000000,1246050000],[386200000,1279600000]],[[345000000,1279600000],[386200000,1286700000]],[[354690000,1286700000],[386200000,1320035000]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-GB\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-GB\u0026"]],[null,0,9,9,[[[330000000,1246050000],[386200000,1279600000]],[[340000000,1279600000],[386200000,1286700000]],[[348900000,1286700000],[386200000,1302000000]],[[368300000,1302000000],[386200000,1320035000]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-GB\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-GB\u0026"]],[null,0,10,19,[[[329890840,1246055600],[386930130,1284960940]],[[344646740,1284960940],[386930130,1288476560]],[[350277470,1288476560],[386930130,1310531620]],[[370277730,1310531620],[386930130,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-GB\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1.15\u0026hl=en-GB\u0026"]],[null,3,7,7,[[[330000000,1246050000],[386200000,1293600000]],[[366500000,1297000000],[386200000,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-GB\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-GB\u0026"]],[null,3,8,8,[[[330000000,1246050000],[386200000,1279600000]],[[345000000,1279600000],[386200000,1286700000]],[[354690000,1286700000],[386200000,1320035000]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-GB\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-GB\u0026"]],[null,3,9,9,[[[330000000,1246050000],[386200000,1279600000]],[[340000000,1279600000],[386200000,1286700000]],[[348900000,1286700000],[386200000,1302000000]],[[368300000,1302000000],[386200000,1320035000]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-GB\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-GB\u0026"]],[null,3,10,null,[[[329890840,1246055600],[386930130,1284960940]],[[344646740,1284960940],[386930130,1288476560]],[[350277470,1288476560],[386930130,1310531620]],[[370277730,1310531620],[386930130,1320034790]]],["http://mt0.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-GB\u0026","http://mt1.gmaptiles.co.kr/mt?v=kr1p.12\u0026hl=en-GB\u0026"]]],[["http://cbk0.googleapis.com/cbk?","http://cbk1.googleapis.com/cbk?"]],[["http://khmdb0.googleapis.com/kh?v=43\u0026hl=en-GB\u0026","http://khmdb1.googleapis.com/kh?v=43\u0026hl=en-GB\u0026"],null,null,null,null,"43"],[["http://mt0.googleapis.com/mapslt?hl=en-GB\u0026","http://mt1.googleapis.com/mapslt?hl=en-GB\u0026"]],[["http://mt0.googleapis.com/mapslt/ft?hl=en-GB\u0026","http://mt1.googleapis.com/mapslt/ft?hl=en-GB\u0026"]],[["http://mt0.googleapis.com/vt?hl=en-GB\u0026","http://mt1.googleapis.com/vt?hl=en-GB\u0026"]]],["en-GB","US",null,0,null,null,"http://maps.gstatic.com/mapfiles/","http://csi.gstatic.com","https://maps.googleapis.com","http://maps.googleapis.com"],["http://maps.gstatic.com/intl/en_gb/mapfiles/api-3/6/8","3.6.8"],[288786461],1.0,null,null,null,null,0,"",null,null,0,"http://khm.googleapis.com/mz?v=94\u0026"], loadScriptTime);
	  };
	  var loadScriptTime = (new Date).getTime();
	  getScript("http://maps.gstatic.com/intl/en_gb/mapfiles/api-3/6/8/main.js");
	})();
}
