// JavaScript Document

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function clearField(id, showValue) {
	if(document.getElementById(id).value == showValue) {
		document.getElementById(id).value = "";
	}
}

function checkField(id, showValue) {
	if(document.getElementById(id).value == "") {
		document.getElementById(id).value = showValue;
	}
}

function getHTTPObject(){
	if (window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else {
		alert("Your browser does not support AJAX.");
		return null;
	}
}

function popup(url, width, height, name) {
	if (!name) {
		name = '_popup';
	}

	window.open(url.replace(/&amp;/g, '&' ), name, 'height=' + height + ',resizable=yes,scrollbars=yes, width=' + width);
	return false;
}

function changeFontSize(action) {

	var minFontSize   = 10;
	var maxFontSize   = 18;
	var fontSize      = document.getElementById('article_content').style.fontSize;
	var lineHeight    = document.getElementById('article_content').style.lineHeight;

	fontSize.replace("px","") ;
	lineHeight.replace("px","") ;

	if(fontSize == "") {
		fontSize = parseInt(13);
	}

	if(lineHeight == "") {
		lineHeight = parseInt(18);
	}

	// decrease font size //
	if(action == "-" && parseInt(fontSize) >= minFontSize) {
		document.getElementById('article_content').style.fontSize   = (parseInt(fontSize) - 2) + "px";
		document.getElementById('article_content').style.lineHeight = (parseInt(lineHeight) - 2) + "px";
	}

	// increase font size //
	if(action == "+" && parseInt(fontSize) <= maxFontSize) {
		document.getElementById('article_content').style.fontSize   = (parseInt(fontSize) + 2) + "px";
		document.getElementById('article_content').style.lineHeight = (parseInt(lineHeight) + 2) + "px";
	}

}


function checkUser() {
	var username = document.registerForm.r_username.value;

	httpObject = getHTTPObject();

	if (httpObject != null) {

		httpObject.open("GET", "/includes/ajax/checkuser.php?username=" + username, true);
		httpObject.send(null);
		httpObject.onreadystatechange = verifyUser;

	}
}

function verifyUser() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;

		// if the users browser is Internet Explorer //
		if(navigator.appName == "Microsoft Internet Explorer") {
			document.getElementById("availability").style.display = 'inline';
		} else {
			document.getElementById("availability").style.display = 'table-row';
		}

		// if username is available
		if(getResponse == "true") {
			document.getElementById("availability").innerHTML = '<br />Yes! the name is available';
		// if username is taken
		} else if(getResponse == "false") {
			document.getElementById("availability").innerHTML = '<br />Sorry, that Screen Name is already taken. Please select another.';
		// if username field is empty
		} else if(getResponse == "empty") {
			document.getElementById("availability").innerHTML = '<br />Please enter a Screen Name';
		}
	}
}

function verifyRegisterForm() {
	r_username = document.getElementById('r_username').value;
	r_email    = document.getElementById('r_email').value;
	r_password = document.getElementById('r_password').value;
	r_confirm  = document.getElementById('r_confirm').value;
	var errors = false;

	// determines browser and what status change based on that browser
	if(navigator.appName == "Microsoft Internet Explorer") {
		type = 'inline';
	} else {
		type = 'table-row';
	}

	// preg_match email address chars
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	// if email isn't valid
	if(reg.test(r_email) == false) {
		// set error fields
		errors = true;
		document.getElementById('ast_r_email').style.display = type;
		document.getElementById('ast_r_email').innerHTML = "<br />In-Valid E-Mail";
	} else {
		// unset error fields
		document.getElementById('ast_r_email').style.display = 'none';
		document.getElementById('ast_r_email').innerHTML = "&nbsp;";
	}

	// if values are less than 7 characters
	if(document.getElementById('r_password').value.length < 7 || document.getElementById('r_confirm').value.length < 7) {

		errors = true;

		// if password value is less than 7 characters
		if(document.getElementById('r_password').value.length < 7) {
			document.getElementById('ast_r_password').style.display = type;
			document.getElementById('ast_r_password').innerHTML = "<br />Min. 7 Characters Needed";
		} else {
			document.getElementById('ast_r_password').style.display = 'none';
			document.getElementById('ast_r_password').innerHTML = "&nbsp;";
		}

		// if confirm value is less than 7 characters
		if(document.getElementById('r_confirm').value.length < 7) {
			document.getElementById('ast_r_confirm').style.display = type;
			document.getElementById('ast_r_confirm').innerHTML = "<br />Min. 7 Characters Needed";
		} else {
			document.getElementById('ast_r_confirm').style.display = 'none';
			document.getElementById('ast_r_confirm').innerHTML = "&nbsp;";
		}

	// otherwise
	} else {

		// if passwords don't match
		if(r_password != r_confirm) {
			document.getElementById('ast_r_password').style.display = type;
			document.getElementById('ast_r_confirm').style.display = type;
			document.getElementById('ast_r_password').innerHTML = "*";
			document.getElementById('ast_r_confirm').innerHTML = "*";
			errors = true;
		} else {
			document.getElementById('ast_r_password').style.display = 'none'
			document.getElementById('ast_r_confirm').style.display = 'none';
			document.getElementById('ast_r_password').innerHTML = "&nbsp;";
			document.getElementById('ast_r_confirm').innerHTML = "&nbsp;";
		}

	}

	// check if user has read terms and conditions
	if(document.getElementById('readterms').checked == true) {
		document.getElementById('termsAgree').innerHTML = "&nbsp;";
		document.getElementById('termsAgree').style.display = 'none';
	} else {
		document.getElementById('termsAgree').innerHTML = "You must agree to the Terms &amp; Conditions";
		document.getElementById('termsAgree').style.display = type;
		errors = true;
	}

	if(errors == false) {
		document.registerForm.submit();
	}

}

function logout() {
	var answer = confirm("ALERT!!!\nAre you sure you want to Logout?");

	if(answer) {
		document.getElementById('logout').value = 'yes';
		document.logoutForm.submit();
	}
}

function forgotpassword() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;
		document.getElementById('passwordfield').innerHTML = getResponse;
	}
}

function resetPassword() {
	var r_email = document.getElementById("f_email").value;

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/forgotpassword.php?email=" + r_email, true);
		httpObject.send(null);
		httpObject.onreadystatechange = forgotpassword;			
	}
}

function postComments(asset_type) {
	var commentBox = escape(document.getElementById('commentBox').value);
	var asset_id   = document.getElementById('asset_id').value;
	var error = false;

	if(commentBox == "") {
		alert('Please enter a comment');
		error = true;
	}

	if(error == false) {
		httpObject = getHTTPObject();

		if (httpObject != null) {

			httpObject.open("GET", "/includes/ajax/postComment.php?asset_type=" + asset_type + "&asset_id=" + asset_id + "&commentBox=" + commentBox, true);
			httpObject.send(null);
			httpObject.onreadystatechange = addComment;

		}
	}
}

function addComment() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;
		document.getElementById("postcomments").style.display = 'none';
		document.getElementById("showcomments").innerHTML = getResponse;
	}
}

function changePostDate(url) {
	popup(url, 500, 600, '_date');
	return false;
}

function reccomendArticleEmail() {
	var yourname	   = document.getElementById('yourname').value;
	var youremail  	   = document.getElementById('youremail').value;
	var recepientname  = document.getElementById('recepientname').value;
	var recepientemail = document.getElementById('recepientemail').value;
	var errors		   = false;

	// determines browser and what status change based on that browser
	if(navigator.appName == "Microsoft Internet Explorer") {
		type = 'inline';
	} else {
		type = 'table-row';
	}

	// preg_match email address chars
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	// if user's name is empty
	if(yourname == "") {
		errors = true;
		document.getElementById('r_yourname').style.display = type;
		document.getElementById('r_yourname').innerHTML = "&nbsp;Enter Name";
	} else {
		document.getElementById('r_yourname').style.display = 'none';
		document.getElementById('r_yourname').innerHTML = "&nbsp;";
	}

	// if user email isn't valid
	if(reg.test(youremail) == false) {
		errors = true;
		document.getElementById('r_youremail').style.display = type;
		document.getElementById('r_youremail').innerHTML = "&nbsp;Invalid E-Mail";
	} else {
		document.getElementById('r_youremail').style.display = 'none';
		document.getElementById('r_youremail').innerHTML = "&nbsp;";
	}

	// if recepient name is empty
	if(recepientname == "") {
		errors = true;
		document.getElementById('r_recepientname').style.display = type;
		document.getElementById('r_recepientname').innerHTML = "&nbsp;Enter Name";
	} else {
		document.getElementById('r_recepientname').style.display = 'none';
		document.getElementById('r_recepientname').innerHTML = "&nbsp;";
	}

	// if recepient email isn't valid
	if(reg.test(recepientemail) == false) {
		errors = true;
		document.getElementById('r_recepientemail').style.display = type;
		document.getElementById('r_recepientemail').innerHTML = "&nbsp;Invalid E-Mail";
	} else {
		document.getElementById('r_recepientemail').style.display = 'none';
		document.getElementById('r_recepientemail').innerHTML = "&nbsp;";
	}

	if(errors == false) {
		document.sendEmail.submit();
	}
}

function changeVideoPage(page, section_id, limit) {

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/videopage.php?page=" + page + "&section_id=" + section_id + "&limit=" + limit, true);
		httpObject.send(null);
		httpObject.onreadystatechange = updateVideos;			
	}

}

function changeMultimediaPage(page, section_id, limit) {

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/multimediapage.php?page=" + page + "&section_id=" + section_id + "&limit=" + limit, true);
		httpObject.send(null);
		httpObject.onreadystatechange = updateMultimedia;			
	}

}

function changeVideoType(section_id, limit) {

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/videopage.php?page=1&section_id=" + section_id + "&limit=" + limit, true);
		httpObject.send(null);
		httpObject.onreadystatechange = updateVideos;			

		if(section_id == 'featured') {
			document.getElementById('videoFeatured').className = 'navBold';
			document.getElementById('videoReviews').className  = 'navReg';
		} else {
			document.getElementById('videoFeatured').className = 'navReg';
			document.getElementById('videoReviews').className  = 'navBold';
		}

	}

}

function changePhotoType(section_id, limit) {

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/multimediapage.php?page=1&section_id=" + section_id + "&limit=" + limit, true);
		httpObject.send(null);
		httpObject.onreadystatechange = updateMultimedia;			

		if(section_id == 'all') {
			document.getElementById('multimediaAll').className 	   	  = 'navBold';
			document.getElementById('multimediaPhotos').className 	  = 'navReg';
			document.getElementById('multimediaVideos').className 	  = 'navReg';
		} else if(section_id == 'photos') {
			document.getElementById('multimediaAll').className 		  = 'navReg';
			document.getElementById('multimediaPhotos').className	  = 'navBold';
			document.getElementById('multimediaVideos').className	  = 'navReg';
		} else if(section_id == 'videos') {
			document.getElementById('multimediaAll').className		  = 'navReg';
			document.getElementById('multimediaPhotos').className	  = 'navReg';
			document.getElementById('multimediaVideos').className	  = 'navBold';
		}

	}

}

function updateVideos() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;
		document.getElementById('videos').innerHTML = getResponse;
	}
}

function updateMultimedia() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;
		document.getElementById('photos').innerHTML = getResponse;
	}
}

function changeFeaturedRecipe(start) {

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/featured_recipes.php?start=" + start, true);
		httpObject.send(null);
		httpObject.onreadystatechange = update_recipes;			
	}

}

function update_recipes() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;
		document.getElementById('featuredRecipes').innerHTML = getResponse;
	}
}

function changeFeaturedArticle(start) {

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/featured_articles.php?start=" + start, true);
		httpObject.send(null);
		httpObject.onreadystatechange = update_articles;			
	}

}

function update_articles() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;
		document.getElementById('featuredArticle').innerHTML = getResponse;
	}
}

function changeRecipePage(page, limit, recipe_type) {

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/recipes.php?page=" + page + "&limit=" + limit + "&recipe_type=" + recipe_type, true);
		httpObject.send(null);
		httpObject.onreadystatechange = change_recipe_page;			
	}

}

function change_recipe_page() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;
		document.getElementById('recipe_display').innerHTML = getResponse;
	}
}

function changeRestaurantPage(page, limit, restaurant_region) {

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/restaurants.php?page=" + page + "&limit=" + limit + "&restaurant_region=" + restaurant_region, true);
		httpObject.send(null);
		httpObject.onreadystatechange = change_restaurant_page;			
	}

}

function change_restaurant_page() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;
		document.getElementById('restaurant_display').innerHTML = getResponse;
	}
}

function changeRecipeType(type, limit) {

	switch(type) {
		case "1":
			document.getElementById('Appitizers').className = 'recipe_select';
			document.getElementById('Salads').className		= 'recipe_unselect';
			document.getElementById('Main').className 		= 'recipe_unselect';
			document.getElementById('Desserts').className 	= 'recipe_unselect';
			document.getElementById('Drinks').className 	= 'recipe_unselect';
		break;

		case "2":
			document.getElementById('Appitizers').className = 'recipe_unselect';
			document.getElementById('Salads').className		= 'recipe_select';
			document.getElementById('Main').className 		= 'recipe_unselect';
			document.getElementById('Desserts').className 	= 'recipe_unselect';
			document.getElementById('Drinks').className 	= 'recipe_unselect';
		break;

		case "3":
			document.getElementById('Appitizers').className = 'recipe_unselect';
			document.getElementById('Salads').className		= 'recipe_unselect';
			document.getElementById('Main').className 		= 'recipe_select';
			document.getElementById('Desserts').className 	= 'recipe_unselect';
			document.getElementById('Drinks').className 	= 'recipe_unselect';
		break;

		case "4":
			document.getElementById('Appitizers').className = 'recipe_unselect';
			document.getElementById('Salads').className		= 'recipe_unselect';
			document.getElementById('Main').className 		= 'recipe_unselect';
			document.getElementById('Desserts').className 	= 'recipe_select';
			document.getElementById('Drinks').className 	= 'recipe_unselect';
		break;

		case "5":
			document.getElementById('Appitizers').className = 'recipe_unselect';
			document.getElementById('Salads').className		= 'recipe_unselect';
			document.getElementById('Main').className 		= 'recipe_unselect';
			document.getElementById('Desserts').className 	= 'recipe_unselect';
			document.getElementById('Drinks').className 	= 'recipe_select';
		break;
	}

	// set search type
	document.getElementById('searchtype').value = type;

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/recipes.php?page=1&limit=" + limit + "&recipe_type=" + type, true);
		httpObject.send(null);
		httpObject.onreadystatechange = change_recipe_page;			
	}

}

function changeRestaurantType(type, limit) {

	switch(type) {
		case "1":
			document.getElementById('Burlington').className  = 'restaurant_select';
			document.getElementById('Milton').className		 = 'restaurant_unselect';
			document.getElementById('Mississauga').className = 'restaurant_unselect';
			document.getElementById('Oakville').className 	 = 'restaurant_unselect';
			document.getElementById('OutofTown').className 	 = 'restaurant_unselect';
		break;

		case "2":
			document.getElementById('Burlington').className  = 'restaurant_unselect';
			document.getElementById('Milton').className		 = 'restaurant_select';
			document.getElementById('Mississauga').className = 'restaurant_unselect';
			document.getElementById('Oakville').className 	 = 'restaurant_unselect';
			document.getElementById('OutofTown').className 	 = 'restaurant_unselect';
		break;

		case "3":
			document.getElementById('Burlington').className  = 'restaurant_unselect';
			document.getElementById('Milton').className		 = 'restaurant_unselect';
			document.getElementById('Mississauga').className = 'restaurant_select';
			document.getElementById('Oakville').className 	 = 'restaurant_unselect';
			document.getElementById('OutofTown').className 	 = 'restaurant_unselect';
		break;

		case "4":
			document.getElementById('Burlington').className  = 'restaurant_unselect';
			document.getElementById('Milton').className		 = 'restaurant_unselect';
			document.getElementById('Mississauga').className = 'restaurant_unselect';
			document.getElementById('Oakville').className 	 = 'restaurant_select';
			document.getElementById('OutofTown').className   = 'restaurant_unselect';
		break;

		case "5":
			document.getElementById('Burlington').className  = 'restaurant_unselect';
			document.getElementById('Milton').className		 = 'restaurant_unselect';
			document.getElementById('Mississauga').className = 'restaurant_unselect';
			document.getElementById('Oakville').className 	 = 'restaurant_unselect';
			document.getElementById('OutofTown').className   = 'restaurant_select';
		break;
	}

	// set search type
	document.getElementById('searchtype').value = type;

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/restaurants.php?page=1&limit=" + limit + "&restaurant_region=" + type, true);
		httpObject.send(null);
		httpObject.onreadystatechange = change_restaurant_page;			
	}
}

function showPollResults(poll_id) {

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/show_poll_results.php?poll_id=" + poll_id, true);
		httpObject.send(null);
		httpObject.onreadystatechange = updatePollContent;			
	}

}

function showPollQuestions() {

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", "/includes/ajax/show_poll_questions.php", true);
		httpObject.send(null);
		httpObject.onreadystatechange = updatePollContent;			
	}

}

function vote(poll_id) {
	var response = "";

	for (i=0; i<document.pollForm.question.length; i++) {
		if (document.pollForm.question[i].checked==true) {
			response = document.pollForm.question[i].value;
		}
	}

	if(response == "") {
		alert("Please select a question");
	} else {
		// open ajax connection
		httpObject = getHTTPObject();

		// check if user is available
		if (httpObject != null) {
			// cookie details
			var cookie_name  = "poll_result";
			var cookie_value = escape(poll_id);
			var expires 	 = new Date ();
			var path         = "/";
			var domain       = "westofthecity.com";

			// set date expiry time
			expires.setTime(expires.getTime() + 1000 * 60 * 60 * 24 * 1);

			// set cookie
			document.cookie = cookie_name + "=" + cookie_value + "; expires=" + expires + "; path=" + path + "; domain=" + domain + ";";

			httpObject.open("GET", "/includes/ajax/user_vote.php?poll_id=" + poll_id + "&response=" + response, true);
			httpObject.send(null);
			httpObject.onreadystatechange = updatePollContent;			
		}
	}
}

function updatePollContent() {
	if(httpObject.readyState == 4) {
		var getResponse = httpObject.responseText;
		document.getElementById('poll_details').innerHTML = getResponse;
	}
}

function switchTab(tabName) {
	switch(tabName) {
		case "restaurant":
			document.getElementById('restaurant').className = 'restaurant_white';
			document.getElementById('recipes').className    = 'recipe_grey';
			var openFile = "/includes/widgets/restaurants.inc.php?preLoad=true";
		break;

		case "recipe":
			document.getElementById('restaurant').className = 'restaurant_grey';
			document.getElementById('recipes').className    = 'recipe_white';
			var openFile = "/includes/widgets/recipes.inc.php?preLoad=true";
		break;
	}

	// open ajax connection
	httpObject = getHTTPObject();

	// check if user is available
	if (httpObject != null) {
		httpObject.open("GET", openFile, true);
		httpObject.send(null);
		httpObject.onreadystatechange = function updateLocator() {
			if(httpObject.readyState == 4) {
				var getResponse = httpObject.responseText;

				document.getElementById("locator_workspace").innerHTML = getResponse;
			}
		}
	}

}
