window.onload = function()
	{
	initAfterDashboard();
	}

function initAfterDashboard()
	{
	if(!fpUIC.windowInit)
		{
		setTimeout("initAfterDashboard()", 100);
		return false;
		}
	fpUIC.attachEvent(window, 'resize', scaleBackground.updateWH);
	fpVDGC.init();
	}


document.getElementsByClassName = function(tag, elemClass)
	{
	var elementsList = [];
	for(var i=0; i < document.getElementsByTagName(tag).length; i++)
		{
		if(document.getElementsByTagName(tag)[i].className == elemClass) elementsList.push(document.getElementsByTagName(tag)[i]);
		}
	return elementsList;
	}


Array.prototype.remove=function(s)
	{
	for(i=0;i<this .length;i++)
		{
		if(s==this[i]) this.splice(i, 1);
		}
	}

	
var fpVDGC = 
	{
	tempPos		: 0,
	scrollPos	: 0,
	timer		: false,
	container	: false,
	tempContainer: false,

	navigation	:
				{
				'home' :
					{
					bgrImage	: 'bgr_0001.jpg'
					},
				'news' :
					{
					bgrImage	: 'bgr_0002.jpg'
					},
				'sponsors' :
					{
					bgrImage	: 'bgr_0003.jpg'
					},
				'links' :
					{
					bgrImage	: 'bgr_0004.jpg'
					},
				'location' :
					{
					htmlContent	: 'map'
					}
				},
	
	init : function()
		{
		this.container = document.getElementsByClassName("DIV", "mainContent")[0];
		this.tempContainer = document.getElementsByClassName("DIV", "loadContent")[0];
		this.attachLinks();
		},

	attachLinks : function()
		{
		var links = document.getElementsByClassName("UL", 'topnavi')[0].getElementsByTagName("A");
		for(var i=0; i<links.length; i++)
			{
			links[i]._bgr = i;
			if(fpVDGC.navigation[links[i].name])
				{
				var bgrImageContainer = document.createElement("DIV");
				bgrImageContainer.className = "imageContainer";
				bgrImageContainer.style.left = i*100+"%";
				bgrImageContainer.style.top = 0+"px";

				if(fpVDGC.navigation[links[i].name].bgrImage)
					{
					var bgrImage = document.createElement("IMG");
					bgrImage.src = "images/lifestyle/"+fpVDGC.navigation[links[i].name].bgrImage;
					bgrImage.className="becurious";
					bgrImageContainer.appendChild(bgrImage);
					scaleBackground.init(bgrImage);
					}

				if(fpVDGC.navigation[links[i].name].htmlContent)
					{
					var mapContainer = document.createElement("DIV");
					mapContainer.className = "myMap";
					bgrImageContainer.appendChild(mapContainer);
					fpBM.init(mapContainer);
					}
				document.getElementsByClassName("DIV",'backgroundContainer')[0].appendChild(bgrImageContainer);
				}

			var testi = links[i].href;
			if(testi.indexOf(window.location.hash.slice(2).split("/")) != -1)
				{
				fpVDGC.openLink(links[i]);
				}

			links[i].onclick = function()
				{
				fpVDGC.openLink(this);
				return false;
				}
			}
		},

	openLink: function(elem)
		{
		var links = document.getElementsByClassName("UL", 'topnavi')[0].getElementsByTagName("A");
		if(elem.parentNode.className.indexOf('selected') != -1) return false;
		for(var x=0; x < links.length; x++)
			{
			links[x].parentNode.className = "";
			}
		elem.parentNode.className="selected";
		fpVDGC.change(elem._bgr, elem.href);
		var newURL = elem.href.split('\/');
		newURL = newURL[newURL.length-1];
		window.location = "./#/"+newURL;
		},

	change: function(direction, linkHREF)
		{
		var newURL = linkHREF.split('\/');
		newURL = newURL[newURL.length-1];
		
		fpTools.animate.init({obj:fpVDGC.container, styleProperty: animate._alpha, startValue:100, endValue:0, iteration:2, speed:30})
		fpAF.addToLine({content: 'content_'+newURL+'.php', target:fpVDGC.tempContainer, onscreen:true, runafter:this.contentFadeIn, disableCache:false});

		if(direction == this.tempPos) return false;
		var promotions = document.getElementsByClassName("DIV", "imageContainer");
		fpVDGC.scrollPos = direction;
		for(var i=0; i <promotions.length; i++)
			{
			elem = promotions[i];
			fpTools.animate.init({obj:elem, styleProperty: animate._x, startValue:i*100+(-1*(fpVDGC.tempPos*100)), endValue:i*100+(-1*(direction*100)), iteration:3, speed:30, px:'%'})
			}
		fpVDGC.tempPos = direction;
		},

	contentFadeIn: function()
		{
		fpVDGC.container.innerHTML = fpVDGC.tempContainer.innerHTML;
		if(fpVDGC.tempContainer.getElementsByTagName("SCRIPT").length > 0)
			{
			eval(fpVDGC.container.getElementsByTagName("script")[0].innerHTML);
			}
		fpTools.animate.init({obj:fpVDGC.container, styleProperty: animate._alpha, startValue:0, endValue:100, iteration:2, speed:30})
		},

	toggle: function(elemID, elem)
		{
		var toggleCount = document.getElementsByClassName("section", "position").length;
		for(var i=0; i < toggleCount; i++)
			{
			document.getElementsByClassName("section", "position")[i].style.display = (i != elemID) ? "none" : "block";
			document.getElementsByClassName("a", "recruitment")[i].style.background = (i != elemID) ? "#6e00a7" : "#c50084";
			}
		},
	hideToggle: function()
		{
		var toggleCount = document.getElementsByClassName("section", "position").length;
		for(var i=0; i < toggleCount; i++)
			{
			document.getElementsByClassName("section", "position")[i].style.display = "none";
			}
		}
	}



/* Fixed Point Bing maps v0.1 */
fpBM = {
	fpBMContainer : null,
	credentials	: 'AurhwokImaI-U_2dK1GnrhTxMCOk3ywqxxb24yW58JzBUyQLIjhND1jjYoWIArqt',
	boxCount		: [],
	favLocations	:
					{
					0:	{
						id			: 0,
						locationLat	: 60.26732844357724,
						locationLong: 24.43415310471624,
						title		: 'Veikkolan frisbeegolfrata',
						content		: 'Eerikinkartanontie 58<br />02880 Veikkola',
						owner		: false
						},

					1: {
						id			: 1,
						locationLat	: 60.26910,
						locationLong: 24.44350,
						title		: 'K-Supermarket Veikkola',
						content		: '',
						owner		: false
						},
					2:{
						id			: 2,
						locationLat	: 60.269918,
						locationLong: 24.44198,
						title		: 'Mariannen Salonki',
						content		: 'Eerikinkartanontie<br />02880 Veikkola<br />p. (09) 2566 196<p><a href="http://www.mariannensalonki.com">www.mariannensalonki.com</a></p>',
						owner		: false
						},
					
					3:{
						id			: 3,
						locationLat	: 60.269663,
						locationLong: 24.442087,
						title		: '10 - Kymppi Veikkola',
						content		: 'Koskentori, <br />puh.(09) 256 8807. ',
						owner		: false
						},

					4:{
						id			: 4,
						locationLat	: 60.275941,
						locationLong: 24.446486,
						title		: 'Helsingin JAVEKI Oy',
						content		: 'Könninkuja 1<br />02880 Veikkola<p><a href="http://www.jussi-keittiot.com">www.jussi-keittiot.com</a></p>',
						owner		: false
						},

					5:{
						id			: 5,
						locationLat	: 60.268684,
						locationLong: 24.445027,
						title		: 'S-Market Veikkola',
						content		: 'Koskentie 2<br />02880 Veikkola<br />puh. (09) 863 4470<p><a href="http://www.s-kanava.fi/vk/asiakasomistajalle/toimipaikat/fi/542862123">www.s-kanava.fi</a></p> ',
						owner		: false
						},

					6:{
						id			: 6,
						locationLat	: 60.269759,
						locationLong: 24.44286,
						title		: 'Länsi-Uudenmaan Kiinteistökeskus<br />Länsi-Uudenmaan OP',
						content		: '<a href="http://www.osuuspankki.fi">www.osuuspankki.fi</a><br /><a href="http://www.opkk.fi">www.opkk.fi</a>',
						owner		: false
						}
					},
	
	init: function(elem)
		{
		if(typeof(Microsoft) != 'object') return false;
		this.fpBMContainer = new Microsoft.Maps.Map(elem, {credentials: fpBM.credentials,  showDashboard: false, center: new Microsoft.Maps.Location(60.26732844357724, 24.43415310471624), zoom: 16});
		this.viewMap();
		},

	viewMap: function()
		{
		this.fpBMContainer.entities.clear(); 
		for(var i in fpBM.favLocations)
			{
	//		var pushpinOptions = {icon: 'images/map_pin.png', width: 27, height: 57};
			var pushpinOptions = {};
			var pushpin= new Microsoft.Maps.Pushpin(new Microsoft.Maps.Location(fpBM.favLocations[i].locationLat, fpBM.favLocations[i].locationLong), pushpinOptions);
			pushpin.id = fpBM.favLocations[i].id;
			this.fpBMContainer.entities.push(pushpin);
			pushpinClick= Microsoft.Maps.Events.addHandler(pushpin, 'click', fpBM.hideInfoBoxes); 

			var infoboxOptions = {
//								showPointer		: true,
//								showCloseButton	: true,
//								width			: 270
								};
			var defaultInfobox = new Microsoft.Maps.Infobox(new Microsoft.Maps.Location(fpBM.favLocations[i].locationLat, fpBM.favLocations[i].locationLong), infoboxOptions );

			var visibility = (fpBM.favLocations[i].id == 0) ? 'block' : 'none';
			defaultInfobox.setHtmlContent(
								'<div class="infoboxcontainer" onclick="fpBM.toggleVisibility(this);" id="infobox'+fpBM.favLocations[i].id+'" style="display: '+visibility+';"><div class="infoboxcontent">'
								+ ((typeof(fpBM.favLocations[i].image) != 'undefined') ? '<img src="'+fpBM.favLocations[i].image+'" />' : '')
								+'<p><b>'+fpBM.favLocations[i].title+'</b><br />'
								+''+fpBM.favLocations[i].content+'</p>'
								+'<i>'+((fpBM.favLocations[i].owner) ? '-'+fpBM.favLocations[i].owner : '')+'</i>'
								+'</div></div>'
								);
			fpBM.fpBMContainer.entities.push(defaultInfobox);
			fpBM.boxCount.push(fpBM.favLocations[i].id);
			}
		},
	
	hideInfoBoxes: function(e)
		{
		for(var i=0; i < fpBM.boxCount.length; i++)
			{
			if(document.getElementById("infobox"+fpBM.boxCount[i]) != null)
				{
				if(e.target.id != fpBM.boxCount[i])
					{
					document.getElementById("infobox"+fpBM.boxCount[i]).style.display = "none";
					}
				else{
					document.getElementById("infobox"+fpBM.boxCount[i]).style.display = "block";
					}
				}
			}
		},
		
	toggleVisibility: function(elem)
		{
		elem.style.display = (elem.style.display == 'block' || !elem.style.display) ? 'none' : 'block';
		}
	}




/* Scale background image */
scaleBackground = 
	{
	aspectRatio : false,
	scaleFullScreen : true,
	sw	: fpUIC.screenWidth,
	sh	: fpUIC.screenHeight,
	imagesInit: 0,
	
	init: function()
		{
		var bgImage = document.getElementsByClassName("DIV", "imageContainer");
		for(var i=scaleBackground.imagesInit; i < bgImage.length; i++)
			{
			if(document.getElementsByClassName("DIV", "imageContainer")[i].getElementsByTagName("IMG").length != 0)
				{
				if(!document.getElementsByClassName("DIV", "imageContainer")[i].getElementsByTagName("IMG")[0].complete)
					{
					scaleBackground.imagesInit = 0;
					setTimeout("scaleBackground.init()", 100);
					return false;
					}
				var elem = document.getElementsByClassName("DIV", "imageContainer")[i].getElementsByTagName("IMG")[0];
				this.aspectRatio = elem.width / elem.height;
				this.resize(elem);
				}
			}
		 },

	 updateWH: function()
		{
		if(fpUIC.screenWidth != this.sw || fpUIC.screenHeight != this.sh)
			{
			scaleBackground.imagesInit = 0;
			scaleBackground.init();
			}
		},

	resize: function(elem)
		{
		elem.className = "";
		elem.style.cssText = "";
		if(scaleBackground.scaleFullScreen)
			{
			elem.className = ((fpUIC.screenWidth/fpUIC.screenHeight) < scaleBackground.aspectRatio) ? 'bgheight' : 'bgwidth';
			if(fpUIC.screenHeight-elem.scrollHeight < 0)
				{
				elem.style.position = "absolute";
				elem.style.left = Math.floor((fpUIC.screenWidth-elem.scrollWidth)/2) + "px";
				elem.style.top = Math.floor((fpUIC.screenHeight-elem.scrollHeight)/2) + "px";
				}
			}
		else
			{
			elem.className = ((fpUIC.screenWidth/fpUIC.screenHeight) < scaleBackground.aspectRatio) ? 'bgwidth' : 'bgheight';
			}
		}
	}


