// Load universal events (that will be required in all the pages)	
function initUniversalEvents() {
	// Add universal event listeners
	
	// Register and Login links
	var register          = document.getElementById('registerLink');
	var login             = document.getElementById('loginLink');
	// RSS link
	var rss               = document.getElementById('rssLink');
	// Search text box
	var searchBox         = document.getElementById('searchBox');
	// Vote button
	var voteButton        = document.getElementById('voteButton');
	// View Vote Results button
	var voteResultsButton = document.getElementById('viewResultsButton');
	var hidePollResults   = document.getElementById('hidePollResults');
	
	if (document.attachEvent) {	// IE 7
		if (register) {
			register.attachEvent('onclick', registerClicked);
		}
		login.attachEvent('onclick', loginClicked);
		rss.attachEvent('onclick', rssClicked);
		searchBox.attachEvent('onkeydown', searchBoxEnterPressed);
		voteButton.attachEvent('onclick', processVote);
		voteResultsButton.attachEvent('onclick', viewVoteResults);
		hidePollResults.attachEvent('onclick', hidePollResultsClicked);
	} else if (document.addEventListener) {	// Non-IE
		if (register) {
			register.addEventListener('click', registerClicked, false);
		}
		login.addEventListener('click', loginClicked, false);
		rss.addEventListener('click', rssClicked, false);
		searchBox.addEventListener('keydown', searchBoxEnterPressed, false);
		voteButton.addEventListener('click', processVote, false);
		voteResultsButton.addEventListener('click', viewVoteResults, false);
		hidePollResults.addEventListener('click', hidePollResultsClicked, false);
	} else {	// Older IE
		if (register) {
			register.onclick = registerClicked;
		}
		login.onclick = loginClicked;
		rss.onclick = rssClicked;
		pollsHeading.onclick = pollsHeadingClicked;
		voteButton.onclick = processVote;
		voteResultsButton.onclick = viewVoteResults;
		hidePollResults.onclick = hidePollResultsClicked;
	}
}

function registerClicked(e) {
	var loginDiv = document.getElementById('loginDiv');
	var registerDiv = document.getElementById('registerDiv');
	var registerLink = document.getElementById('registerLink');

	// Hide Login DIV in case it is visible
	loginDiv.style.display = 'none';
	
	// Show Register DIV
	removeAllNodes(registerDiv);
	registerDiv.style.display = 'block';
	
	var message = document.createElement('p');
	message.id = 'regMessage';
	message.innerHTML = 'Kindly take a moment to register &amp; avail unlimited features and facilities.';
	message.style.margin = '0 0 5px 0';
	message.style.padding = '5px';
	message.style.backgroundColor = '#4682B4';
	message.style.color = '#FFF';
	registerDiv.appendChild(message);
	
	// DIV for displaying error message for invalid name input
	var nameError = document.createElement('div');
	nameError.id = 'nameError';
	nameError.innerHTML = 'Full Name cannot be blank';
	nameError.className = 'regError';
	nameError.style.display = 'none';
	registerDiv.appendChild(nameError);
	
	var name = document.createElement('p');
	name.style.margin = '0 0 5px 0';
	name.id = 'nameCaption';
	var nameText = document.createTextNode('Full Name:');
	name.appendChild(nameText);
	var nameInput = document.createElement('input');
	nameInput.id = 'name';
	nameInput.type = 'text';
	nameInput.style.position = 'relative';
	nameInput.style.left = '3px';
	name.appendChild(nameInput);
	var nameIndicator = document.createElement('span');
	nameIndicator.innerHTML = '&nbsp;&nbsp;*';
	nameIndicator.style.color = '#FF4500';
	nameIndicator.id = 'nameIndicator';
	name.appendChild(nameIndicator);
	registerDiv.appendChild(name);
	
	// KeyUp event for name field to validate in real-time that it isn't blank.
	document.getElementById('name').onkeyup = function() {
		if 	(document.getElementById('name').value) {
			document.getElementById('nameError').style.display = 'none';
			document.getElementById('nameIndicator').innerHTML = '&nbsp;&nbsp;ok';
			document.getElementById('nameIndicator').style.color = '#3CB371';
		} else {
			document.getElementById('nameIndicator').innerHTML = '&nbsp;&nbsp;*';
			document.getElementById('nameIndicator').style.color = '#FF4500';
		}
	}

	// DIV for displaying error message for invalid email input
	var emailError = document.createElement('div');
	emailError.id = 'emailError';
	emailError.innerHTML = 'Invalid Email ID';
	emailError.className = 'regError';
	emailError.style.display = 'none';
	registerDiv.appendChild(emailError);
	
	var email = document.createElement('p');
	email.style.margin = '0 0 5px 0';
	email.id = 'emailCaption';
	var emailText = document.createTextNode('Email ID:');
	email.appendChild(emailText);
	var emailInput = document.createElement('input');
	emailInput.id = 'email';
	emailInput.type = 'text';
	emailInput.style.position = 'relative';
	emailInput.style.left = '13px';
	email.appendChild(emailInput);
	var emailIndicator = document.createElement('span');
	emailIndicator.innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*';
	emailIndicator.style.color = '#FF4500';
	emailIndicator.id = 'emailIndicator';
	email.appendChild(emailIndicator);
	registerDiv.appendChild(email);

	// TODO: KeyUp event for email field to validate in real-time.
	document.getElementById('email').onkeyup = function() {
		if 	(document.getElementById('email').value) {
			document.getElementById('emailError').style.display = 'none';
			document.getElementById('emailIndicator').innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ok';
			document.getElementById('emailIndicator').style.color = '#3CB371';
		} else {
			document.getElementById('emailIndicator').innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*';
			document.getElementById('emailIndicator').style.color = '#FF4500';
		}
	}

	// DIV for displaying error message for invalid Password
	var passwordError = document.createElement('div');
	passwordError.id = 'passwordError';
	passwordError.innerHTML = 'Password must be at least 8 chars';
	passwordError.className = 'regError';
	passwordError.style.display = 'none';
	registerDiv.appendChild(passwordError);
	
	var password = document.createElement('p');
	password.style.margin = '0 0 5px 0';
	password.id = 'passwordCaption';
	var passwordText = document.createTextNode('Password:');
	password.appendChild(passwordText);
	var passwordInput = document.createElement('input');
	passwordInput.id = 'password';
	passwordInput.type = 'password';
	passwordInput.style.position = 'relative';
	passwordInput.style.left = '4px';
	password.appendChild(passwordInput);
	var passwordIndicator = document.createElement('span');
	passwordIndicator.innerHTML = '&nbsp;&nbsp;*';
	passwordIndicator.style.color = '#FF4500';
	passwordIndicator.id = 'passwordIndicator';
	password.appendChild(passwordIndicator);
	registerDiv.appendChild(password);

	// KeyUp event for password field to validate in real-time.
	document.getElementById('password').onkeyup = function() {
		if 	(document.getElementById('password').value.length >=8) {
			document.getElementById('passwordError').style.display = 'none';
			document.getElementById('passwordIndicator').innerHTML = '&nbsp;&nbsp;ok';
			document.getElementById('passwordIndicator').style.color = '#3CB371';
		} else {
			document.getElementById('passwordIndicator').innerHTML = '&nbsp;&nbsp;*';
			document.getElementById('passwordIndicator').style.color = '#FF4500';
		}
	}

	// DIV for displaying error message for invalid Password Confirmation
	var passwordError2 = document.createElement('div');
	passwordError2.id = 'passwordError2';
	passwordError2.innerHTML = 'Password is NOT confirmed';
	passwordError2.className = 'regError';
	passwordError2.style.display = 'none';
	registerDiv.appendChild(passwordError2);
	
	var password2 = document.createElement('p');
	password2.style.margin = '0 0 5px 0';
	password2.id = 'passwordCaption2';
	var passwordText2 = document.createTextNode('Retype:');
	password2.appendChild(passwordText2);
	var passwordInput2 = document.createElement('input');
	passwordInput2.id = 'password2';
	passwordInput2.type = 'password';
	passwordInput2.style.position = 'relative';
	passwordInput2.style.left = '22px';
	password2.appendChild(passwordInput2);
	var passwordIndicator2 = document.createElement('span');
	passwordIndicator2.innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*';
	passwordIndicator2.style.color = '#FF4500';	// 3CB371
	passwordIndicator2.id = 'passwordIndicator2';
	password2.appendChild(passwordIndicator2);
	registerDiv.appendChild(password2);
	
	// KeyUp event for password field to validate in real-time.
	document.getElementById('password2').onkeyup = function() {
		if 	((document.getElementById('password').value.length >=8) &&
			(document.getElementById('password').value === document.getElementById('password2').value)) {
			document.getElementById('passwordError2').style.display = 'none';
			document.getElementById('passwordIndicator2').innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ok';
			document.getElementById('passwordIndicator2').style.color = '#3CB371';
		} else {
			document.getElementById('passwordIndicator2').innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*';
			document.getElementById('passwordIndicator2').style.color = '#FF4500';
		}
	}

	// DIV for displaying error message for invalid Agreement
	var agreeError = document.createElement('div');
	agreeError.id = 'agreeError';
	agreeError.innerHTML = 'You cannot register without agreeing';
	agreeError.className = 'regError';
	agreeError.style.display = 'none';
	registerDiv.appendChild(agreeError);

	var agree = document.createElement('p');
	agree.style.margin = '0 0 5px 0';
	agree.id = 'agreeCaption';
	var agreeCheck = document.createElement('input');
	agreeCheck.id = 'agreeCheck';
	agreeCheck.type = 'checkbox';
	agree.appendChild(agreeCheck);
	var text1 = document.createTextNode('I agree to the ');
	agree.appendChild(text1);
	var terms = document.createElement('a');
	terms.id = 'terms';
	terms.href = '';
	terms.innerHTML = 'Terms &amp; Conditions';
	agree.appendChild(terms);
	var text2 = document.createTextNode(' and ');
	agree.appendChild(text2);
	var privacy = document.createElement('a');
	privacy.id = 'terms';
	privacy.href = '';
	privacy.innerHTML = 'Privacy Policy';
	agree.appendChild(privacy);
	var text3 = document.createTextNode(' of upc-nei.org');
	agree.appendChild(text3);
	registerDiv.appendChild(agree);

	// DIV for displaying error message for unselected AGREE checkbox
	document.getElementById('agreeCheck').onclick = function() {
		if 	(document.getElementById('agreeCheck').checked) {
			document.getElementById('agreeError').style.display = 'none';
		}
	}

	// Progress indicator to show while data is being sent to the server
	var regProgress = document.createElement('p');
	regProgress.id = 'regProgress';
	regProgress.style.display = 'none';
	var regProgressImg = document.createElement('img');
	regProgressImg.id = 'regProgressImg';
	regProgressImg.src = '/images/loading.gif';
	regProgressImg.alt = '';
	regProgress.appendChild(regProgressImg);
	var regProgressText = document.createTextNode('Please wait while processing...');
	regProgress.appendChild(regProgressText);
	registerDiv.appendChild(regProgress);

	var registerButtonsDiv = document.createElement('div');
	registerButtonsDiv.id = 'regBtnsDiv';
	registerButtonsDiv.style.textAlign = 'center';
	registerButtonsDiv.style.paddingTop = '5px';
	registerButtonsDiv.style.borderTop = '1px solid #ADD8E6';
	
	var registerButton = document.createElement('input');
	registerButton.type = 'button';
	registerButton.id = 'registerButton';
	registerButton.value = 'Register';
	registerButton.style.width = '75px';
	registerButton.style.fontWeight = 'bold';
	registerButton.style.cursor = 'pointer';
	registerButton.style.color = '#00BFFF';
	registerButtonsDiv.appendChild(registerButton);

	var cancelButton = document.createElement('input');
	cancelButton.type = 'button';
	cancelButton.id = 'registerCancelButton';
	cancelButton.value = 'Cancel';
	cancelButton.style.width = '75px';
	cancelButton.style.cursor = 'pointer';
	cancelButton.style.color = '#00BFFF';
	registerButtonsDiv.appendChild(cancelButton);
	
	registerDiv.appendChild(registerButtonsDiv);
	
	// Specify action for Register button
	document.getElementById('registerButton').onclick = function() {
		var hming = document.getElementById('name');
		var email = document.getElementById('email');
		var pwd   = document.getElementById('password');
		var pwd2  = document.getElementById('password2');
		var agree   = document.getElementById('agreeCheck');
		
		// Validate all input data
		var inputError = false;
		// 1. Name
		if (!hming.value) {
			document.getElementById('nameError').style.display = 'block';
			hming.focus();
			inputError = true;
		} else {
			document.getElementById('nameError').style.display = 'none';
		}
		// TODO: 2. Email
		if (!email.value) {
			document.getElementById('emailError').style.display = 'block';
			email.focus();
			inputError = true;
		} else {
			document.getElementById('emailError').style.display = 'none';
		}
		// 3. Password
		if (pwd.value.length < 8) {
			document.getElementById('passwordError').style.display = 'block';
			pwd.focus();
			inputError = true;
		} else {
			document.getElementById('passwordError').style.display = 'none';
		}
		// 4. Password Confirmation
		if ((pwd.value.length >= 8) && (pwd.value !== pwd2.value)) {
			document.getElementById('passwordError2').style.display = 'block';
			pwd2.focus();
			inputError = true;
		} else {
			document.getElementById('passwordError2').style.display = 'none';
		}
		// 5. Agreement
		if (!agree.checked) {
			document.getElementById('agreeError').style.display = 'block';
			agree.focus();
			inputError = true;
		} else {
			document.getElementById('agreeError').style.display = 'none';
		}
		if (inputError) {
			return;
		}
		
		// Hide Elements while until request returns from server
		document.getElementById('nameCaption').style.display = 'none';
		document.getElementById('emailCaption').style.display = 'none';
		document.getElementById('passwordCaption').style.display = 'none';
		document.getElementById('passwordCaption2').style.display = 'none';
		document.getElementById('agreeCaption').style.display = 'none';
		document.getElementById('regBtnsDiv').style.display = 'none';

		document.getElementById('regProgress').style.display = 'block';
		
		// Ajax call to register.php for registering the user
		var xhr = new FactoryXMLHttpRequest();
		var URL = "/includes/register.php?hming=" + hming.value + "&email=" + email.value + "&pwd=" + pwd.value;
		xhr.onreadystatechange = myCallback;
		xhr.open('GET', URL, true);
		xhr.send('');
		function myCallback() {
			if (xhr.readyState === 4) {
				if (xhr.status === 200) {
					var result= xhr.responseText;
					var isError = false;
					registerDiv.style.display = 'block';
					if (result.substring(0, 5) === 'ERROR') {	// Error Occurred & Error message had been returned
						isError = true;
					}
					// If no error occurred
					if (!isError) {
						// Display successful registration message.
						document.getElementById('regMessage').innerHTML = 'REGISTRATION SUCCESSFUL';
						document.getElementById('regProgress').innerHTML =
							'Done! You have been registered!!!<br /><br />' + result;
						document.getElementById('regBtnsDiv').style.display = 'block';
						document.getElementById('registerButton').disabled = 'disabled';
						document.getElementById('registerButton').style.color = '#CCC';
						document.getElementById('registerCancelButton').value = 'Close';
						document.getElementById('registerCancelButton').focus();
					} else {
						document.getElementById('regProgress').style.display = 'none';
						//
						document.getElementById('nameCaption').style.display = 'block';
						document.getElementById('emailCaption').style.display = 'block';
						document.getElementById('passwordCaption').style.display = 'block';
						document.getElementById('passwordCaption2').style.display = 'block';
						document.getElementById('agreeCaption').style.display = 'block';
						document.getElementById('regBtnsDiv').style.display = 'block';
						alert(result);
						document.getElementById('name').focus();	
					}
				}
			}
		}
		
	}
	// Specify action for Cancel button
	document.getElementById('registerCancelButton').onclick = function() {
		removeAllNodes(registerDiv);
		registerDiv.style.display = 'none';
	}
	// Set focus to the name text box
	document.getElementById('name').focus();

	preventDefaultBehavior(e);
}

function loginClicked(e) {
	var registerDiv = document.getElementById('registerDiv');
	var loginDiv = document.getElementById('loginDiv');
	var loginLink = document.getElementById('loginLink');
	
	// Hide Register DIV in case it is visible
	registerDiv.style.display = 'none';
	
	// Show Login DIV
	removeAllNodes(loginDiv);
	loginDiv.style.display = 'block';

	// Display message depending on status (Login/Logout)
	if (loginLink.innerHTML === 'Login') {
		var email = document.createElement('p');
		email.style.margin = '0 0 5px 0';
		var emailText = document.createTextNode('Email ID:');
		email.appendChild(emailText);
		var emailInput = document.createElement('input');
		emailInput.id = 'loginEmail';
		emailInput.type = 'text';
		emailInput.style.position = 'relative';
		emailInput.style.left = '11px';
		email.appendChild(emailInput);
		loginDiv.appendChild(email);
		
		var password = document.createElement('p');
		password.style.margin = '0 0 5px 0';
		var passwordText = document.createTextNode('Password:');
		password.appendChild(passwordText);
		var passwordInput = document.createElement('input');
		passwordInput.id = 'password';
		passwordInput.type = 'password';
		passwordInput.style.position = 'relative';
		passwordInput.style.left = '2px';
		password.appendChild(passwordInput);
		loginDiv.appendChild(password);
		
		var loginButtonsDiv = document.createElement('div');
		loginButtonsDiv.style.textAlign = 'center';
		loginButtonsDiv.style.paddingTop = '5px';
		loginButtonsDiv.style.borderTop = '1px solid #ADD8E6';
		
		var loginButton = document.createElement('input');
		loginButton.type = 'button';
		loginButton.id = 'loginButton';
		loginButton.value = 'Login';
		loginButton.style.fontWeight = 'bold';
		loginButtonsDiv.appendChild(loginButton);

		var cancelButton = document.createElement('input');
		cancelButton.type = 'button';
		cancelButton.id = 'loginCancelButton';
		cancelButton.value = 'Cancel';
		loginButtonsDiv.appendChild(cancelButton);
		
		loginDiv.appendChild(loginButtonsDiv);
		
		// Specify action for Login button
		document.getElementById('loginButton').onclick = function() {
			alert('Login Now!');
			removeAllNodes(loginDiv);
			loginDiv.style.display = 'none';
		}
		// Specify action for Cancel button
		document.getElementById('loginCancelButton').onclick = function() {
			removeAllNodes(loginDiv);
			loginDiv.style.display = 'none';
		}
		// Set focus to the email text box
		document.getElementById('loginEmail').focus();
	} else {	// Logout
		var para = document.createElement('p');
		para.innerHTML = "Are you sure you want to logout?";	
		para.style.margin = '0 0 5px 0';
		loginDiv.appendChild(para);

		var loginButtonsDiv = document.createElement('div');
		loginButtonsDiv.style.textAlign = 'center';
		loginButtonsDiv.style.paddingTop = '5px';
		loginButtonsDiv.style.borderTop = '1px solid #ADD8E6';
		
		var yes = document.createElement('input');
		yes.type = 'button';
		yes.id = 'yes';
		yes.value = 'Yes';
		loginButtonsDiv.appendChild(yes);

		var no = document.createElement('input');
		no.type = 'button';
		no.id = 'no';
		no.value = 'No';
		loginButtonsDiv.appendChild(no);
		
		loginDiv.appendChild(loginButtonsDiv);
		
		// Specify action for Yes button
		document.getElementById('yes').onclick = function() {
			alert('Logout Now!');
			removeAllNodes(loginDiv);
			loginDiv.style.display = 'none';
		}
		// Specify action for No button
		document.getElementById('no').onclick = function() {
			removeAllNodes(loginDiv);
			loginDiv.style.display = 'none';
		}
	}
	
	preventDefaultBehavior(e);	
}

// Function to remove all child nodes of a given node
function removeAllNodes(node) {
	while (node.firstChild) {
		node.removeChild(node.firstChild);
	}
}

function rssClicked(e) {
	alert('RSS');
	preventDefaultBehavior(e);	
}

function leftMenuClicked(no) {
	var menuContents = document.getElementById('leftMenuContents' + no);
	var menuIcon = document.getElementById('leftMenuIcon' + no);
	if (menuContents.style.display == 'block') {
		menuContents.style.display = 'none';
		menuIcon.src = '/images/down.png';
		menuIcon.title =  "Show Menu";
	} else {
		menuContents.style.display = 'block';
		menuIcon.src = '/images/up.png';
		menuIcon.title =  "Hide Menu";
	}
}

/*******************************************************************/
function searchBoxFocus() {
	myBox = document.getElementById('searchBox');
	if (myBox.value === 'Type text to search...') {
		myBox.value = '';
		myBox.style.color = '#000';
	}
}
function searchBoxBlur() {
	myBox = document.getElementById('searchBox');
	if (myBox.value === '') {
		myBox.value = 'Type text to search...';
		myBox.style.color = '#B0C4DE';
	}
}
function searchBoxEnterPressed(e) {
	var e1 = e || window.event;
	if (e1.keyCode == 13) {
		searchClicked();
	}
}

function searchClicked(e) {
	var searchBox = document.getElementById('searchBox');
	var searchResults = document.getElementById('searchResults')
	if (searchBox.value === 'Type text to search...' || searchBox.value === '') {
		alert('Please enter text to search');
		searchBox.focus();
		return;
	}
	searchResults.style.display='block';
}

function closeSearchResultsClicked() {
	document.getElementById('searchResults').style.display = 'none';
}

/*******************************************************************/
function pollsHeadingClicked() {
	var pollsBody = document.getElementById('pollsBody');
	var pollsIcon = document.getElementById('pollsIcon');
	if (pollsBody.style.display == 'none') {
		pollsBody.style.display = 'block';
		pollsIcon.src = '/images/up.png';
		pollsIcon.title =  "Collapse Poll";
	} else {
		pollsBody.style.display = 'none';
		pollsIcon.src = '/images/down.png';
		pollsIcon.title =  "Expand Poll";
	}
}

function processVote() {
	var radioButtons = document.getElementsByName('voteOption');
	var i;
	var selectedOption;
	for (i=0; i<radioButtons.length; i++) {
		if (radioButtons[i].checked) {
			selectedOption = radioButtons[i].value;
			break;
		}
	}
	voteResults(selectedOption);
}

function viewVoteResults() {
	voteResults();
}

function voteResults(selectedOption) {
	var pollVote = document.getElementById('pollVote');
	var voteButtons = document.getElementsByName('voteOption');
	var pollResults = document.getElementById('pollResults');
	var loadingPollResults = document.getElementById('loadingPollResults');
	var userVote = document.getElementById('userVote');
	var pollResultsTable = document.getElementById('pollResultsTable');
	var totalVotes = document.getElementById('totalVotes');
	var hidePollResultsDiv = document.getElementById('hidePollResultsDiv');
	var selectedOptionText;
	var xhr = new FactoryXMLHttpRequest();
	var URL = "/voteResults.php";
	
	// Hide Poll Vote DIV
	pollVote.style.display = 'none';
	// Show Poll Results DIV and loading Icon
	pollResults.style.display = 'block';
	loadingPollResults.style.display = 'block';
	// Hide Results tags (to be shown again after loading data)
	userVote.style.display = 'none';
	pollResultsTable.style.display = 'none';
	totalVotes.style.display = 'none';
	hidePollResultsDiv.style.display = 'none';
	
	if (selectedOption) {
		var i;
		var selectedOptionText;
		for (i=0; i<voteButtons.length; i++) {
			if (voteButtons[i].checked) {
				break;
			}
		}
		switch(i) {
			case 0:
				selectedOptionText = 'Beautiful visual interface';
				break;
			case 1:
				selectedOptionText = 'User-friendly interface';
				break;
			case 2:
				selectedOptionText = 'Quality &amp; updated Info';
				break;
			case 3:
				selectedOptionText = 'Lots of photos';
				break;
			case 4:
				selectedOptionText = 'Highly interactive';
				break;
			case 5:
				selectedOptionText = 'Er... All of the above!';
				break;
		}
		userVote.innerHTML = 'You voted for:<br />' + selectedOptionText;
		// Submit current vote and get vote results from database table
		URL += "?selectedoption=" + selectedOption;
	} else {
		// Get vote results from database table
	}
	xhr.onreadystatechange = myCallback;
	xhr.open('GET', URL, true);
	xhr.send('');
	function myCallback() {
		if (xhr.readyState === 4) {
			if (xhr.status === 200) {
				var result= xhr.responseText;
				// Update Poll Results with the server's response data
				result = eval('(' + result + ')');
				var resultOption1 = document.getElementById('resultOption1');
				var resultOption2 = document.getElementById('resultOption2');
				var resultOption3 = document.getElementById('resultOption3');
				var resultOption4 = document.getElementById('resultOption4');
				var resultOption5 = document.getElementById('resultOption5');
				var resultOption6 = document.getElementById('resultOption6');
				resultOption1.innerHTML = result[0].beautiful_interface;
				resultOption2.innerHTML = result[0].userfriendly_interface;
				resultOption3.innerHTML = result[0].updated_info;
				resultOption4.innerHTML = result[0].photos;
				resultOption5.innerHTML = result[0].interactive;
				resultOption6.innerHTML = result[0].all_options;
				totalVotes.innerHTML =
					parseInt(result[0].beautiful_interface,10) + 
					parseInt(result[0].userfriendly_interface, 10) +
					parseInt(result[0].updated_info, 10) +
					parseInt(result[0].photos, 10) +
					parseInt(result[0].interactive, 10) +
					parseInt(result[0].all_options, 10);
				totalVotes.innerHTML = "Total Votes: " + totalVotes.innerHTML;
				// Hide loading Icon
				loadingPollResults.style.display = 'none';
				// Show Results tags
				if (selectedOption) {
					userVote.style.display = 'block';
				}
				pollResultsTable.style.display = 'block';
				totalVotes.style.display = 'block';
				hidePollResultsDiv.style.display = 'block';
			}
		}
	}
}

function hidePollResultsClicked() {
	var pollVote = document.getElementById('pollVote');
	var pollResults = document.getElementById('pollResults');
	pollResults.style.display = 'none';
	pollVote.style.display = 'block';
}

function preventDefaultBehavior(e) {
	var evt = e || window.event;
	if (evt.preventDefault) {
			evt.preventDefault();
	} else {
		evt.returnValue = false;
	}
}
