// --- Browser --- //

var page;
var oldVal;

var IE;
if (navigator.appName == "Microsoft Internet Explorer") {
	IE = true;
}
if (!IE) {
	document.captureEvents(Event.MOUSEMOVE);
}
// --- AJAX --- //

function getData(url) {
	var xmlHttp;
	if (IE) {
		xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	} else {
		xmlHttp = new XMLHttpRequest();
	}
	if (!xmlHttp) {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (!xmlHttp) {
		alert ("Sorry, your browser does not support AJAX");	
	}
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState==4) {
			if (xmlHttp.responseText == 'failed') {
				document.getElementById('loginInfo').innerHTML = '<br />Invalid login details.<br />Please try again.';
				setTimeout('resetLogin()',3000);
			} else if (xmlHttp.responseText == 'regsucc') {
				document.getElementById('registerInfo2').innerHTML = 'Registration successful. You may now enter the competition!';
			} else if (xmlHttp.responseText == 'regfail1') {
				document.getElementById('registerInfo2').innerHTML = 'The nickname you supplied has already been taken.<br />Please <a href="javascript:resetRegister()">try again...</a>';
			} else if (xmlHttp.responseText == 'regfail2') {
				document.getElementById('registerInfo2').innerHTML = 'The email you supplied already has an account with us.<br />Please <a href="javascript:resetRegister()">try again...</a>';
			} else if (xmlHttp.responseText.substr(0,9) == 'admindone') {
				document.getElementById(xmlHttp.responseText.substr(9)).innerHTML = '';
			} else if (xmlHttp.responseText.substr(0,5) == 'voted') {
				document.getElementById(xmlHttp.responseText.substr(5)).innerHTML = '<span style="color:#5A4514; font-size:10px;">Thankyou for voting</span>';
			} else if (xmlHttp.responseText == 'skip') {
				
			} else {
				document.getElementById('loginInfo').innerHTML = xmlHttp.responseText;
			}
		}
	}
	//
	url = url+'&ran='+Math.random();
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

// --- Button Animation --- //

function rollOver(it) {
	it.src = it.src.substr(0,it.src.length-4) + 'Over.gif';
}
function rollOut(it) {
	it.src = it.src.substr(0,it.src.length-8) + '.gif';
}

function rollOverB(it) {
	it.style.background = 'url(images/sortbarOver.gif) no-repeat';
}
function rollOutB(it) {
	it.style.background = 'url(images/sortbar.gif) no-repeat';
}

// --- Log in --- //

function login() {
	var username = document.getElementById('username');
	var password = document.getElementById('password');
	var rememberMe = document.getElementById('rememberMe');
	
	getData('login.php?username='+username.value+'&password='+password.value+'&rememberMe='+rememberMe.checked);
	document.getElementById('loginInfo').innerHTML = '<br />Loading...';
}

function resetLogin() {
	if (page == "register") {
		document.getElementById('loginInfo').innerHTML = '<form action="" onsubmit="login()"><table cellpadding="0px" cellspacing="10px"><tr><td colspan="2">Already registered? Please login here.<br /><br /></td></tr><tr><td>Email address:</td><td>Password:</td></tr><tr><td><input type="text" id="username" value="" size="35" /></td><td><input type="password" id="password" value="" size="35" /></td></tr><tr><td colspan="2"><input id="rememberMe" type="checkbox" />Remember me</td></tr><tr><td colspan="2"><a href="#" onclick="javascript:window.open(\'forgot.php\',\'_blank\',\'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=200,height=100,left=400,top=300\')">Forgot password?</a></td></tr></table><br /><div align="center"><input type="image" src="images/Submit.jpg" onmousedown="login()" /></div></form>';	
	} else {
		document.getElementById('loginInfo').innerHTML = '<form action="" onsubmit="login()"><input id="username" type="text" value="Username" /><br /><input id="password" type="password" value="Password" /><br /><div style="position:absolute; top:80px; left:45px;"><input type="image" src="images/submit.gif" width="52" height="25" onmousedown="login()" /></div><input id="rememberMe" type="checkbox" />Remember me<br /><a href="#" onclick="javascript:window.open(\'forgot.php\',\'_blank\',\'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=200,height=100,left=400,top=300\')">Forgot password?</a></form>';
	}
}

// --- Register --- //

function register() {
	document.getElementById('registerInfo').style.visibility = 'hidden';
	var nickname = document.getElementById('nickname');
	var first = document.getElementById('first');
	var last = document.getElementById('last');
	var genderMale = document.getElementById('genderMale');
	var genderFemale = document.getElementById('genderFemale');
	var day = document.getElementById('day');
	var month = document.getElementById('month');
	var year = document.getElementById('year');
	var address1 = document.getElementById('address1');
	var address2 = document.getElementById('address2');
	var city = document.getElementById('city');
	var county = document.getElementById('county');
	var postcode = document.getElementById('postcode');
	var country = document.getElementById('country');
	var mobile = document.getElementById('mobile');
	var mobiletick = document.getElementById('mobiletick');
	var email = document.getElementById('email');
	var regpassword = document.getElementById('regpassword');
	var confirmpassword = document.getElementById('confirmpassword');
	var consent = document.getElementById('consent');
	var promotions = document.getElementById('promotions');
	var error = '';
	if (day.value != "DD" && month.value != "MM" && year.value != "YYYY") {
		if ((parseInt(year.value) > 1991 && consent.checked == true) || parseInt(year.value) <= 1990) {
			if (nickname.value.length > 3 && first.value.length > 3 && last.value.length > 3) {
				if (regpassword.value.length > 3 && regpassword.value == confirmpassword.value) {
					if (genderMale.checked == true || genderFemale.checked == true) {
						getData('reg.php?promotions='+promotions.checked+'&consent='+consent.checked+'&confirmpassword='+confirmpassword.value+'&regpassword='+regpassword.value+'&email='+email.value+'&mobiletick='+mobiletick.checked+'&mobile='+mobile.value+'&country='+country.value+'&postcode='+postcode.value+'&county='+county.value+'&city='+city.value+'&address2='+address2.value+'&address1='+address1.value+'&year='+year.value+'&month='+month.value+'&day='+day.value+'&genderFemale='+genderFemale.checked+'&genderMale='+genderMale.checked+'&last='+last.value+'&first='+first.value+'&nickname='+nickname.value);
						document.getElementById('registerInfo2').innerHTML = '<br />Loading...';
					} else {
						error += "Please specify your gender<br />";	
					}
				} else {
					error += 'Invalid password.<br />';	
				}
			} else {
				error += 'You missed a required field.<br />';	
			}
		} else {
			error += 'You need your parent/guardians permission to sign up for the competition.<br />';	
		}
	} else {
		error += 'Invalid date of birth.<br />';	
	}
	if (error != '') {
		error += 'Please <a href="javascript:resetRegister()">try again...</a><br />';
		document.getElementById('registerInfo2').innerHTML = error;
	}
}

function resetRegister () {
	document.getElementById('registerInfo').style.visibility = 'visible';
	document.getElementById('registerInfo2').innerHTML = '';
}

// Validating data

function charCount() {
	var field = document.getElementById('comments');
	if (field.value.length <= 250) {
		var obj = document.getElementById('charsLeft');
		obj.innerHTML = (250-field.value.length)+' characters remaining';
		oldVal = field.value;
	} else {
		field.value = oldVal;	
	}
}

// Admin

function accept (id) {
	
	getData('moderate.php?id='+id+'&accept=yes');
}

function decline (id) {
	
	getData('moderate.php?id='+id+'&accept=no');
}

// Transparency

function hide (it, it2, it3) {
	document.getElementById('galleryImage').src = it;
	document.getElementById('galleryTitle').innerHTML = it2;
	document.getElementById('galleryComment').innerHTML = it3;
	if (parseInt(document.getElementById('galleryImage').widt) > 600) {
		document.getElementById('galleryImage').width = 600;
	}
	if (parseInt(document.getElementById('galleryImage').height) > 400) {
		document.getElementById('galleryImage').height = 400;
	}
	window.scroll(0,0);
	bod = document.getElementsByTagName('body')[0];
	bod.style.overflow = 'hidden';
	htm = document.getElementsByTagName('html')[0];
	htm.style.overflow = 'hidden';
	document.getElementById('overlay').style.visibility = "visible";
}

function show () {
	bod = document.getElementsByTagName('body')[0];
	bod.style.overflow = 'auto';
	htm = document.getElementsByTagName('html')[0];
	htm.style.overflow = 'auto';
	document.getElementById('overlay').style.visibility = "hidden";
}

// Voting

function starOver (id,it) {
	for (i=1;i<=id;i++) {
		document.getElementById('star'+it+i).src = 'images/starOver.gif';	
	}
}

function starOut (id,it) {
	for (i=1;i<=id;i++) {
		document.getElementById('star'+it+i).src = 'images/star.gif';	
	}
}

function vote (targ, score, eid) {
	
	getData('vote.php?eid='+eid+'&score='+score+'&targ='+targ);
}