// JavaScript Document

window.onresize=checkVis;

var margin;
var int;
var timer;
var ele;
var blackOut;
var sponsorsSurround;
var purchaseSurround;
var posterSurround;
var poster;
var mapSurround;

/* For scrolling down function */
var scroller = 1;
var scrollTrack = 0;
var midway;
var tracker = 0;
var prevScroll;
var steps = 0;

/* For reel functions */
var reel;
var scrollTimer = 0;
var move = 0;
var position = -782;
var tracker = 0;

/* For logo fade cycle */
var logoLoc = "images/logos/";
var logos = new Array("kraftFoods.gif", "daffodil.gif", "ucas.gif", "rickerbys.gif", "cfs.gif", "target.gif", "bfi.gif", "cag.gif");
var fadeTimer = 0;
var fadeCounter = 0;
var logoIndex = 0;
var opacity = 1;
var opacityIE = 100;

function getEle(eleIn) {
	ele = document.getElementById(eleIn);
}

function deIndent() {
	margin2 = ele2.style.marginRight;
	int2 = parseInt(margin.substring(0, margin2.length - 2));
	int2 -= 1;
	margin2 = int2 + "px";
	ele2.style.marginRight = margin2;
	if(int2 > 0) {
		timer2 = setTimeout(deIndent, 25);
	} else {
		clearTimeout(timer2);
	}
}

function indent() {
	margin = ele.style.marginRight;
	if(margin == 0) {
		margin = "1px";
		int = 1;
	} else {
		int = parseInt(margin.substring(0, margin.length - 2));
		int += 1;
		margin = int + "px";
	}
	ele.style.marginRight = margin;
	if(int < 21) {
		timer = setTimeout(indent, 25);
	} else {
		clearTimeout(timer);
	}
}

function showSponsors() {
	blackOut = document.getElementById("blackOut");
	sponsorsSurround = document.getElementById("sponsorsSurround");
	blackOut.style.height = (document.body.clientHeight + 20) + "px";
	blackOut.style.visibility = "visible";
	sponsorsSurround.style.visibility = "visible";
	var space = document.body.clientWidth - 942;
	if(space > 0) {
		sponsorsSurround.style.left = space/2 + "px";
	} else {
		sponsorsSurround.style.left = 0 + "px";
	}
	getSponsorImgs();
}

function getSponsorImgs() {
	document.getElementById("sp1").src = "images/logos/pageLogos/kraftFoods.gif";
	document.getElementById("sp2").src = "images/logos/pageLogos/daffodil.gif";
	document.getElementById("sp3").src = "images/logos/pageLogos/rickerbys.gif";
	document.getElementById("sp4").src = "images/logos/pageLogos/target.gif";
	document.getElementById("sp5").src = "images/logos/pageLogos/ucas.gif";
	document.getElementById("sp6").src = "images/logos/pageLogos/cfs.gif";
	document.getElementById("sp7").src = "images/logos/pageLogos/summer.gif";
	document.getElementById("sp8").src = "images/logos/pageLogos/hdv.gif";
	document.getElementById("sp9").src = "images/logos/pageLogos/ge.gif";
	document.getElementById("sp10").src = "images/logos/pageLogos/pac.gif";
	document.getElementById("sp11").src = "images/logos/pageLogos/uog.gif";
	document.getElementById("sp12").src = "images/logos/pageLogos/audi.gif";
	document.getElementById("sp13").src = "images/logos/pageLogos/fgw.gif";
	document.getElementById("sp14").src = "images/logos/pageLogos/ajgp.gif";
	document.getElementById("sp15").src = "images/logos/pageLogos/bpc.gif";
	document.getElementById("sp16").src = "images/logos/pageLogos/bafta.gif";
	document.getElementById("sp17").src = "images/logos/pageLogos/bfi.gif";
	document.getElementById("sp18").src = "images/logos/pageLogos/shorts.gif";
	document.getElementById("sp19").src = "images/logos/pageLogos/cbs.gif";
	document.getElementById("sp20").src = "images/logos/pageLogos/coc.gif";
	document.getElementById("sp21").src = "images/logos/pageLogos/issa.gif";
	document.getElementById("sp22").src = "images/logos/pageLogos/cag.gif";
	document.getElementById("sp23").src = "images/logos/pageLogos/pathe.gif";
	document.getElementById("sp24").src = "images/logos/pageLogos/rise.gif";
	document.getElementById("sp25").src = "images/logos/pageLogos/spencer.gif";
	document.getElementById("sp26").src = "images/logos/pageLogos/thirteen.gif";
	document.getElementById("sp27").src = "images/logos/pageLogos/rbl.gif";
	document.getElementById("sp28").src = "images/logos/pageLogos/wc.gif";
	document.getElementById("sp29").src = "images/logos/pageLogos/cl.gif";
}

function hideSponsors() {
	document.getElementById("blackOut").style.visibility = "hidden";
	document.getElementById("sponsorsSurround").style.visibility = "hidden";
}

function scrollDown() {
	if(document.documentElement.scrollTop || document.body.scrollTop) {
		if(document.body.scrollTop) {
			scrollTrack = document.body.scrollTop;;
		} else {
			scrollTrack = document.documentElement.scrollTop;
		}
	}
	midway = (850 - scrollTrack) / 2;
	scrollD();
}

function scrollD() {
	prevScroll = scrollTrack;
	if(document.documentElement.scrollTop || document.body.scrollTop) {
		if(document.body.scrollTop) {
			scrollTrack = document.body.scrollTop;;
		} else {
			scrollTrack = document.documentElement.scrollTop;
		}
	}
	if(scrollTrack - prevScroll > 20 || prevScroll - scrollTrack > 20) {
		scroller = 1;
		scrollTrack = 0;
		tracker = 0;
		steps = 0;
		return;
	}
	if(scrollTrack < 850) {
		document.body.scrollTop += scroller;
		document.documentElement.scrollTop += scroller;
		if(tracker <= midway) {
			if(scroller < 20) {
				scroller++;
			} else {
				steps++;
			}
			tracker += scroller;
		} else if(steps > 0) {
			steps--;
		} else if(scroller > 1) {
			scroller--;
		}
		setTimeout(scrollD, 25);
	} else {
		scroller = 1;
		scrollTrack = 0;
		tracker = 0;
		steps = 0;
	}
}

function logoCycle() {
	setTimeout(fadeOut, 2000);
}

function fadeOut() {
	if(opacity > 0) {
		opacity -= 0.1;
		opacityIE -= 10;
		document.getElementById("sponsorsLogo").style.opacity = opacity;
		document.getElementById("sponsorsLogo").style.filter = "alpha(opacity=" + opacityIE + ")";
		fadeTimer = setTimeout(fadeOut, 25);
	} else {
		clearTimeout(fadeTimer);
		logoIndex++;
		if(logoIndex == logos.length) {
			logoIndex = 0;
		}
		document.getElementById("sponsorsLogo").src = logoLoc + logos[logoIndex];
		fadeTimer = setTimeout(fadeIn, 25);
	}
}

function fadeIn() {
	if(opacity < 1) {
		opacity += 0.1;
		opacityIE += 10;
		document.getElementById("sponsorsLogo").style.opacity = opacity;
		document.getElementById("sponsorsLogo").style.filter = "alpha(opacity=" + opacityIE + ")";
		fadeTimer = setTimeout(fadeIn, 25);
	} else {
		clearTimeout(fadeTimer);
		fadeTimer = setTimeout(fadeOut, 2000);
	}
};

/**
* Reel functions
*/
function reelRight() {
	reel = document.getElementById("reelContents");
	if(tracker < 20) {
		move++;
	}
	position -= move;
	reel.style.marginLeft = position + "px";
	tracker++;
	if(tracker < 39) {
		scrollTimer = setTimeout(reelRight, 25);
	} else if(tracker < 59) {
		move--;
		scrollTimer = setTimeout(reelRight, 25);
	} else if(tracker < 61) {
		move = 1;
		scrollTimer = setTimeout(reelRight, 25);
	} else {
		if(position == -6256) {
			position = -782;
			reel.style.marginLeft = position + "px";
		}
		move = 0;
		tracker = 0;
		clearTimeout(scrollTimer);
	}
}

function reelLeft() {
	reel = document.getElementById("reelContents");
	if(tracker < 20) {
		move++;
	}
	position += move;
	reel.style.marginLeft = position + "px";
	tracker++;
	if(tracker < 39) {
		scrollTimer = setTimeout(reelLeft, 25);
	} else if(tracker < 59) {
		move--;
		scrollTimer = setTimeout(reelLeft, 25);
	} else if(tracker < 61) {
		move = 1;
		scrollTimer = setTimeout(reelLeft, 25);
	} else {
		if(position == 0) {
			position = -5474;
			reel.style.marginLeft = position + "px";
		}
		move = 0;
		tracker = 0;
		clearTimeout(scrollTimer);
	}
}

function showPurchase() {
	var eles = document.getElementsByName("checkBox");
	for(var i = 0; i < eles.length; i++) {
		if(eles[i].checked == true) {
			eles[i].checked = false;
		}
	}
	blackOut = document.getElementById("blackOut");
	purchaseSurround = document.getElementById("purchaseSurround");
	blackOut.style.height = (document.body.clientHeight + 20) + "px";
	blackOut.style.visibility = "visible";
	purchaseSurround.style.visibility = "visible";
	if(document.documentElement.scrollTop) {
		purchaseSurround.style.marginTop = document.documentElement.scrollTop + 50 + "px";
	} else if(document.body.scrollTop) {
		purchaseSurround.style.marginTop = document.body.scrollTop + 50 + "px";
	}
	var space = document.body.clientWidth - 700;
	if(space > 0) {
		purchaseSurround.style.left = space/2 + "px";
	} else {
		purchaseSurround.style.left = 0 + "px";
	}
}

function hidePurchase() {
	document.getElementById("blackOut").style.visibility="hidden";
	document.getElementById("purchaseSurround").style.visibility="hidden";
}

function checkVis() {
	sponsorsSurround = document.getElementById("sponsorsSurround");
	purchaseSurround = document.getElementById("purchaseSurround");
	posterSurround = document.getElementById("posterSurround");
	mapSurround = document.getElementById("mapSurround");
	if(sponsorsSurround.currentStyle) {
		if(sponsorsSurround.currentStyle.visibility == "visible") {
			moveSponsors();
		} else if(purchaseSurround) {
			if(purchaseSurround.currentStyle.visibility == "visible") {
				movePurchase();
			} else if(posterSurround) {
				if(posterSurround.currentStyle.visibility == "visible") {
					movePoster();
				}
			}
		} else if(mapSurround) {
			if(mapSurround.currentStyle.visibility == "visible") {
				moveMap();
			}
		}
	} else if(getComputedStyle(sponsorsSurround, "").getPropertyValue("visibility") == "visible") {
		moveSponsors();
	} else if(purchaseSurround) {
		if(getComputedStyle(purchaseSurround, "").getPropertyValue("visibility") == "visible") {
			movePurchase();
		} else if(posterSurround) {
			if(getComputedStyle(posterSurround, "").getPropertyValue("visibility") == "visible") {
				movePoster();
			}
		}
	} else if(mapSurround) {
		if(getComputedStyle(mapSurround, "").getPropertyValue("visibility") == "visible") {
			moveMap();
		}
	}
}

function moveSponsors() {
	var space = document.body.clientWidth - 942;
	if(space > 0) {
		sponsorsSurround.style.left = space/2 + "px";
	} else {
		sponsorsSurround.style.left = 0 + "px";
	}
}

function movePurchase() {
	var space = document.body.clientWidth - 700;
	if(space > 0) {
		purchaseSurround.style.left = space/2 + "px";
	} else {
		purchaseSurround.style.left = 0 + "px";
	}
}

function movePoster() {
	var space = document.body.clientWidth - 457;
	if(space > 0) {
		posterSurround.style.left = space/2 + "px";
	} else {
		posterSurround.style.left = 0 + "px";
	}
}

function moveMap() {
	var space = document.body.clientWidth - 700;
	if(space > 0) {
		mapSurround.style.left = space/2 + "px";
	} else {
		mapSurround.style.left = 0 + "px";
	}
}

function radioSelect(eleIn) {
	var eles = document.getElementsByName("checkBox");
	for(var i = 0; i < eles.length; i++) {
		if(eles[i].checked == true) {
			eles[i].checked = false;
		}
	}
	document.getElementById(eleIn).checked = true;
	if(eleIn == "cameraA3") {
		document.getElementById("submitter").value = "JUKFPSNSH64PQ";
	} else if(eleIn == "cameraA2") {
		document.getElementById("submitter").value = "52KQBZGD8MV94";
	} else if(eleIn == "chairA3") {
		document.getElementById("submitter").value = "LNJS9UZ3WKX3E";
	} else if(eleIn == "chairA2") {
		document.getElementById("submitter").value = "CL3XV7NUWS9MA";
	} else if(eleIn == "clapperA3") {
		document.getElementById("submitter").value = "PH8225JH67XKW";
	} else if(eleIn == "clapperA2") {
		document.getElementById("submitter").value = "4CGBFNJFZN5VC";
	}
}

function checkPurchase() {
	var eles = document.getElementsByName("checkBox");
	for(var i = 0; i < eles.length; i++) {
		if(eles[i].checked == true) {
			return true;
		}
	}
	window.alert("Please check a purchase option before submitting.");
	return false;
}

function showPoster() {
	blackOut = document.getElementById("blackOut");
	posterSurround = document.getElementById("posterSurround");
	poster = document.getElementById("poster");
	blackOut.style.height = (document.body.clientHeight + 20) + "px";
	blackOut.style.visibility = "visible";
	posterSurround.style.visibility = "visible";
	var space = document.body.clientWidth - 457;
	if(space > 0) {
		posterSurround.style.left = space/2 + "px";
	} else {
		posterSurround.style.left = 0 + "px";
	}
}

function showPoster1() {
	showPoster();
	poster.style.backgroundImage = "url(images/chairPoster.jpg)";
}

function showPoster2() {
	showPoster();
	poster.style.backgroundImage = "url(images/cameraPoster.jpg)"
}

function showPoster3() {
	showPoster();
	poster.style.backgroundImage = "url(images/filmSlatePoster.jpg)"
}

function hidePoster() {
	document.getElementById("blackOut").style.visibility="hidden";
	document.getElementById("posterSurround").style.visibility="hidden";
}

function showMap() {
	blackOut = document.getElementById("blackOut");
	mapSurround = document.getElementById("mapSurround");
	blackOut.style.height = (document.body.clientHeight + 20) + "px";
	blackOut.style.visibility = "visible";
	mapSurround.style.visibility = "visible";
	if(document.documentElement.scrollTop) {
		mapSurround.style.marginTop = (document.documentElement.scrollTop - 10) + "px";
	} else if(document.body.scrollTop) {
		mapSurround.style.marginTop = (document.body.scrollTop - 10) + "px";
	}
	var space = document.body.clientWidth - 700;
	if(space > 0) {
		mapSurround.style.left = space/2 + "px";
	} else {
		mapSurround.style.left = 0 + "px";
	}
	loadMap();
}

function loadMap() {
	var latlng = new google.maps.LatLng(51.898, -2.080);
	var myOptions = {
		zoom: 14,
		center: latlng,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	var map = new google.maps.Map(document.getElementById("googleMap"),
			myOptions);
	var pacMarker = new google.maps.Marker({
      position: new google.maps.LatLng(51.898174, -2.08176),
      title:"Parabola Arts Centre"
  });
	var dafMarker = new google.maps.Marker({
      position: new google.maps.LatLng(51.892393, -2.08025),
      title:"The Daffodil"
  });
	var uogMarker = new google.maps.Marker({
      position: new google.maps.LatLng(51.8883, -2.08954),
      title:"The University of Gloucestershire"
  });
	var hdvMarker = new google.maps.Marker({
      position: new google.maps.LatLng(51.89856, -2.082866),
      title:"Hotel du Vin & Bistro"
  });
	var ctMarker = new google.maps.Marker({
      position: new google.maps.LatLng(51.899168, -2.0771),
      title:"Cheltenham Tourism"
  });
	var tbsMarker = new google.maps.Marker({
      position: new google.maps.LatLng(51.897594, -2.07426),
      title:"The Big Sleep Hotel"
  });
  pacMarker.setMap(map);
	dafMarker.setMap(map);
	uogMarker.setMap(map);
	hdvMarker.setMap(map);
	ctMarker.setMap(map);
	tbsMarker.setMap(map);
	var pacInfo = new google.maps.InfoWindow({
    content: "Parabola Arts Centre<br />Parabola Road<br />Cheltenham<br />GL50 3AA<br /><a href=\"http://www.parabolaartscentre.co.uk\" target=\"_blank\">www.parabolaartscentre.co.uk</a>",
	});
	var dafInfo = new google.maps.InfoWindow({
    content: "<div class=\"infoWindow\"><span class=\"header\">The Daffodil</span><br /><br />18-20 Suffolk Parade<br />Cheltenham<br />GL50 2AE<br /><a href=\"http://www.thedaffodil.com\" target=\"_blank\">www.thedaffodil.com</a></div>",
	});
	var uogInfo = new google.maps.InfoWindow({
    content: "<div class=\"infoWindow\"><span class=\"header\">University of Gloucestershire</span><br /><br />The Park Campus<br />Cheltenham<br />GL50 2RH<br /><a href=\"http://www.glos.ac.uk\" target=\"_blank\">www.glos.ac.uk</a></div>",
	});
	var hdvInfo = new google.maps.InfoWindow({
    content: "<div class=\"infoWindow\"><span class=\"header\">Hotel du vin & Bistro Cheltenham</span><br /><br />Parabola Road<br />Cheltenham<br />GL50 3AQ<br /><a href=\"http://www.hotelduvin.com/hotels/cheltenham\" target=\"_blank\">www.hotelduvin.com/hotels/cheltenham/</a></div>",
	});
	var ctInfo = new google.maps.InfoWindow({
    content: "<div class=\"infoWindow\"><span class=\"header\">Cheltenham Tourism</span><br /><br />77 Promenade<br />Cheltenham<br />GL50 1PJ<br /><a href=\"http://www.visitcheltenham.com\" target=\"_blank\">www.visitcheltenham.com</a></div>",
	});
	var tbsInfo = new google.maps.InfoWindow({
    content: "<div class=\"infoWindow\"><span class=\"header\">The Big Sleep Hotel</span><br /><br />Wellington Street<br />Cheltenham<br />GL50 1XZ<br /><a href=\"http://www.thebigsleephotel.com/home.asp?hotelid=3\" target=\"_blank\">www.thebigsleephotel.com</a></div>",
	});
	google.maps.event.addListener(pacMarker, "mouseover", function() {
  	pacInfo.open(map,pacMarker);
	});
	google.maps.event.addListener(dafMarker, "mouseover", function() {
		dafInfo.open(map, dafMarker);
	});
	google.maps.event.addListener(uogMarker, "mouseover", function() {
		uogInfo.open(map, uogMarker);
	});
	google.maps.event.addListener(hdvMarker, "mouseover", function() {
		hdvInfo.open(map, hdvMarker);
	});
	google.maps.event.addListener(ctMarker, "mouseover", function() {
		ctInfo.open(map, ctMarker);
	});
	google.maps.event.addListener(tbsMarker, "mouseover", function() {
		tbsInfo.open(map, tbsMarker);
	});
	google.maps.event.addListener(pacMarker, "mouseout", function() {
  	pacInfo.close();
	});
	google.maps.event.addListener(dafMarker, "mouseout", function() {
		dafInfo.close();
	});
	google.maps.event.addListener(uogMarker, "mouseout", function() {
		uogInfo.close();
	});
	google.maps.event.addListener(hdvMarker, "mouseout", function() {
		hdvInfo.close();
	});
	google.maps.event.addListener(ctMarker, "mouseout", function() {
		ctInfo.close();
	});
	google.maps.event.addListener(tbsMarker, "mouseout", function() {
		tbsInfo.close();
	});
  pacInfo.open(map,pacMarker);
	dafInfo.open(map, dafMarker);
}

function hideMap() {
	document.getElementById("blackOut").style.visibility="hidden";
	document.getElementById("mapSurround").style.visibility="hidden";
}

/* Input Box */
var colorInc = 0;
var timer;

function fadeInput() {
	if(document.getElementById("textBox").value.length > 0) {
		timer = setTimeout(fade, 2000);
	}
}

function fade() {
	colorInc += 15;
	document.getElementById("textBox").style.color = "rgb(" + colorInc + ", " + colorInc + ", " + colorInc + ")";
	if(colorInc < 255) {
		timer = setTimeout(fade, 50);
	} else {
		colorInc = 0;
		document.getElementById("textBox").value = "";
		document.getElementById("textBox").style.color = "rgb(" + colorInc + ", " + colorInc + ", " + colorInc + ")";
		clearTimeout(timer);
	}
}

function validateEmail() {
	var validEmail = /^.+@.+\..{2,3}$/;
	var email = document.getElementById("textBox").value;
	if(!validEmail.test(email)) {
		window.alert("The email address you entered did not appear to be valid. Please try again.");
		return false;
	}
	return true;
}

