var t;

function loadHeader(id){
	//alert(id);
	
	opacity('head'+id, 0, 100, 500);
	
	//Get Total of Features that go in the header
	//var actual = document.getElementById('actual_id').value;
	var max_id = document.getElementById('max_id').value;
	var min_id = parseInt(document.getElementById('finishHeader').value);
	
	
	//Loop through each one checking if it is the one to be displayed
	for(var i = max_id; i >= min_id; i--){
		if(document.getElementById('head'+i)){
			if(i == id){
				document.getElementById('head'+i).style.display = "block";
				var object = document.getElementById('head'+i).style;
			}else{
					document.getElementById('head'+i).style.display = "none";
					
			}
		}else{
			continue;
		}
			
	}
	
	
	//alert(actual);
	
	//Setting the timeout to reload a new Feature after 8 seconds, if it reaches the max id then it re-start from 1
	if((id-1) >= min_id){
		if(document.getElementById('head'+(id-1))){
			t = setTimeout('reloadHeader('+(id-1)+')', 8000);
		}else{
			for(var k=id-1; k >= 3; k--){
				if(document.getElementById('head'+k)){
					t = setTimeout('reloadHeader('+(k)+')', 8000);
					break;
				}
			}
		}
	}else{
		t = setTimeout('reloadHeader(document.getElementById(\'startHeader\').value)', 8000);
	}
	
	
	
	//alert(id+1);
}

function restart(id)
{
	clearTimeout(t);
	loadHeader(id);
}

function reloadHeader(id){
	
	opacity('head'+id, 0, 100, 500);
	t = setTimeout('loadHeader('+id+')', 1600);
	//loadHeader(id);
}



function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
		//setTimeout('alert(\'Surprise!\')', 1000)
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
		//setTimeout('alert(\'Surprise!\')', 1000)
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    if(document.getElementById(id)){
		var object = document.getElementById(id).style;
		object.opacity = (opacity / 100);
		object.MozOpacity = (opacity / 100);
		object.KhtmlOpacity = (opacity / 100);
		object.filter = "alpha(opacity=" + opacity + ")";
	}
} 


//load Recent Articles Component
function loadArticles(n,n2,section){
	
	opacity('loadRecentArticles', 0, 100, 1500);
	var articleRequest;  // The variable that makes Ajax possible!
	
	try{
		// Opera 8.0+, Firefox, Safari
		articleRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			articleRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				articleRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	articleRequest.onreadystatechange = function(){
		if(articleRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('loadRecentArticles');
			ajaxDisplay.innerHTML = articleRequest.responseText;
		}
	}
	
	
	articleRequest.open("GET", "includes/recent-articles-component.php?start=" + n + "&selected=" + n2 + "&type=" + section, true);
	articleRequest.send(null);
	
	
}



function valid_form(){
	
	var fName = document.getElementById('firstName');
	var lName = document.getElementById('lastName');
	var email = document.getElementById('email');
	var msg = document.getElementById('message');
	
	var add = "";
	
	var patternName = /^([a-zA-Z0-9])+$/;
	if (!patternName.test(fName.value)) {
		add += "Please provide a valid First Name\n"; 
	}
	
	var patternlName = /^([a-zA-Z0-9\s])+/;
	if (!patternlName.test(lName.value)) {
		add += "Please provide a valid Last Name\n"; 
	}
	
	var patternEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!patternEmail.test(email.value)) {
		add += "Please provide a valid email address\n" ;
	}
	
	var patternName = /^([a-zA-Z0-9])+/;
	if (!patternName.test(msg.value)) {
		add += "Please type a Message"; 
	}
	
	if(add != ""){
		alert(add);
		return false;
	}
	
	return true;
	
}

function valid_story(){
	
	var fName = document.getElementById('firstName');
	var lName = document.getElementById('lastName');
	var email = document.getElementById('email');
	var story = document.getElementById('yourStory');
	var photo = document.getElementById('photoYourStory');
	
	var add = "";
	/*
	var patternName = /^([a-zA-Z0-9])+$/;
	if (!patternName.test(fName.value)) {
		add += "Please provide a valid First Name\n"; 
	}
	
	if (!patternName.test(lName.value)) {
		add += "Please provide a valid Last Name\n"; 
	}
	*/
	var patternEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!patternEmail.test(email.value)) {
		add += "Please provide a valid email address\n" ;
	}
	
	var patternStory = /(.zip|.ZIP|.txt|.TXT|.doc|.DOC|.pdf|.PDF)+/;
	if (!patternStory.test(story.value)) {
		add += "\nExtensions allowed for \"Your Story\" file are:\n.zip, .txt, .doc or .pdf.\n"; 
	}
	
	var patternPhoto = /(.jpg|.JPG|.jpeg|.JPEG|.gif|.GIF|.png|.PNG)+/;
	if (!patternPhoto.test(photo.value)) {
		add += "\nExtensions allowed for \"Story Photo\" file are:\n.jpg, .jpeg, .gif or .png."; 
	}
	
	if(add != ""){
		alert(add);
		return false;
	}else{
		document.getElementById("submitStory").style.display = "none";
		document.getElementById("loader").style.display = "block";
	}
	
	return true;
	
}


function valid_join(){
	
	var fName = document.getElementById('firstName');
	var lName = document.getElementById('lastName');
	var email = document.getElementById('email');
	var nick = document.getElementById('nickName');
	var password = document.getElementById('password');
	var repeatPassword = document.getElementById('repeatPassword');
	
	var add = "";
	
	var patternName = /^([a-zA-Z0-9])+$/;
	if (!patternName.test(fName.value)) {
		add += "Please provide a valid First Name\n"; 
	}
	
	if (!patternName.test(lName.value)) {
		add += "Please provide a valid Last Name\n"; 
	}
	
	var patternEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!patternEmail.test(email.value)) {
		add += "Please provide a valid Email address\n" ;
	}
	
	if(document.getElementById("catch")){
		add += "The email provided is already a registered email\n";
	}
	
	if (!patternName.test(nick.value)) {
		add += "Please provide a valid Nickname\n"; 
	}
	
	var patternPassw = /([a-zA-Z0-9_\.\-])+/;
	if (!patternPassw.test(password.value)) {
		add += "Please provide a valid password.\n"; 
	}
	
	if (repeatPassword.value != password.value) {
		add += "Please provide the same password as above."; 
	}
	
	
	
	if(add != ""){
		alert(add);
		return false;
	}else{
		document.getElementById("submitStory").style.display = "none";
		document.getElementById("loader").style.display = "block";
		return true;
	}
	
	return true;
	
}

function validEmailJoin(){
	var httpRequest;  // The variable that makes Ajax possible!
	
	try{
		// Opera 8.0+, Firefox, Safari
		httpRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	httpRequest.onreadystatechange = function(){
		if(httpRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('verifyEmail');
			ajaxDisplay.innerHTML = httpRequest.responseText;
		}
	}
	
	
	httpRequest.open("GET", "includes/validEmail.php?email=" + document.getElementById('email').value, true);
	httpRequest.send(null);	
}


function valid_login(){
	
	var email = document.getElementById('email');
	var password = document.getElementById('Password');
	
	var add = "";
	
	var patternEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!patternEmail.test(email.value)) {
		add += "Please provide a valid Email address\n" ;
	}
	
	var patternPassw = /([a-zA-Z0-9_\.\-])+/;
	if (!patternPassw.test(password.value)) {
		add += "Please provide a valid password.\n"; 
	}
	
	if(add != ""){
		alert(add);
		return false;
	}
	
	return true;
	
	
}

function valid_comment(){
	
	var comment = document.getElementById('comment');
	
	var add = "";
	
	var patternComment = /^(["'-.a-zA-Z0-9])+/;
	if (!patternComment.test(comment.value)) {
		add += "Please provide a valid Comment.\n" ;
	}
	
	if(add != ""){
		alert(add);
		return false;
	}
	
	return true;
	
	
}

function showHideLogin(id){
	
	if(document.getElementById(id).style.display=="none"){
		document.getElementById(id).style.display="block";
	}else{
		document.getElementById(id).style.display="none";
		
	}
	
	if(id == "showComments"){
			if(document.getElementById("commentsIcon2").style.display == "none"){
				
				document.getElementById("commentsIcon").style.display="none";
				document.getElementById("commentsIcon2").style.display="block";
				
			}else{
				
				document.getElementById("commentsIcon").style.display="block";
				document.getElementById("commentsIcon2").style.display="none";
				
			}
		}
}

function updateStatus(form){
	form.submit();	
}

//function to show/hide the Forgot Email form
function forgotPassw(){
	if(document.getElementById('recoverPassw').style.display != 'block'){
		document.getElementById('recoverPassw').style.display='block';
	}else{
		document.getElementById('recoverPassw').style.display='none';
	}
}

//function to check if the entered email is valid
function validEmail(){
	var add = "";
	email = document.getElementById('emailForgot');
	
	var patternEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!patternEmail.test(email.value)) {
		add += "Please provide a valid Email address\n" ;
	}
	
	if(add != ""){
		alert(add);
		return false;
	}else{
		alert("We have e-mailed you a link which will enable you to reset your password.\nPlease check your e-mail account.");
	}
	
	return true;
	
}
	




// Testing

function valid_joinTest(){
	
	var fName = document.getElementById('firstName');
	var lName = document.getElementById('lastName');
	var email = document.getElementById('email');
	var nick = document.getElementById('nickName');
	var password = document.getElementById('password');
	var repeatPassword = document.getElementById('repeatPassword');
	
	var add = "";
	
	var patternName = /^([a-zA-Z0-9])+$/;
	if (!patternName.test(fName.value)) {
		add += "Please provide a valid First Name\n";
		fName.style.border="1px solid #FF0000";
	}else{
		fName.style.border="1px solid #ccc";
	}
	
	if (!patternName.test(lName.value)) {
		add += "Please provide a valid Last Name\n"; 
		lName.style.border="1px solid #FF0000";
	}else{
		lName.style.border="1px solid #ccc";
	}
	
	var patternEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!patternEmail.test(email.value)) {
		add += "Please provide a valid Email address\n" ;
		email.style.border="1px solid #FF0000";
	}else{
		email.style.border="1px solid #ccc";
	}
	
	if(document.getElementById("catch")){
		add += "The email provided is already a registered email\n";
	}
	
	var patternNick = /^([a-zA-Z0-9])+/;
	if (!patternNick.test(nick.value)) {
		add += "Please provide a valid Nickname\n"; 
		nick.style.border="1px solid #FF0000";
	}else{
		nick.style.border="1px solid #ccc";
	}
	
	var patternPassw = /([a-zA-Z0-9_\.\-])+/;
	if (!patternPassw.test(password.value)) {
		add += "Please provide a valid password.\n"; 
		password.style.border="1px solid #FF0000";
	}else{
		password.style.border="1px solid #ccc";
	}
	
	if (repeatPassword.value != password.value) {
		add += "Please provide the same password as above.";
		repeatPassword.style.border="1px solid #FF0000";
	}else{
		repeatPassword.style.border="1px solid #ccc";
	}
	
	
	
	if(add != ""){
		alert(add);
		return false;
	}else{
		document.getElementById("submitStory").style.display = "none";
		document.getElementById("loader").style.display = "block";
		return true;
	}
	
	return true;
	
}