
var poll_response;
var voter_response;

function sendPoll() {
	var poll_answer = getCheckedValue( document.forms['pollForm'].poll_answer );
	
	$.ajax({
		type: 'POST',
		url: 'process_poll.php',
		data: 'poll_answer=' + poll_answer + '&test=true',
		success: function( msg ) {
				poll_response = msg;
				
				if ( msg.indexOf( 'status=error' ) == -1 ) {
					if ( msg.indexOf( 'status=voted' ) != -1 ) {
						alert( 'This computer has already voted. If you are a new voter, please vote from another computer.' );
						return false;
					}
					sendVoter();
				} else {
					var resp_sep = poll_response.split( '&' );
					var err_msg = '';
					for ( var i = 0; i < resp_sep.length; i++ ) {
						if ( resp_sep[i].indexOf( 'msg=' ) != -1 ) {
							var tmp = resp_sep[i].split( '=' );
							err_msg = tmp[1];
						}
					}
					
					if ( err_msg.length <= 0 ) {
						alert( poll_response );
					} else {
						alert( 'Received response: \n' + eugenesReplace( '+', ' ', err_msg ) );
						
					}
				}
			},
		error: function( xml, stat, err ) {
				alert( 'SP: An error occurred while sending the request. Please check your Internet connectivity.' );
			}
	});
	
	return false;
}
function sendVoter() {
	//alert( 'Sending transaction' );
	var poll_answer = getCheckedValue( document.forms['pollForm'].poll_answer );
	var voter_name = document.forms['getVoterInfoForm'].name.value;
	var voter_email = document.forms['getVoterInfoForm'].email.value;
	var voter_zip = document.forms['getVoterInfoForm'].zip.value;
	
	$.ajax({
		type: 'POST',
		url: 'process_voter.php',
		data: 'poll_answer=' + poll_answer + '&voter_name=' + voter_name + '&voter_email=' + voter_email + '&voter_zip=' + voter_zip,
		success: function( msg ) {
				voter_response = msg;
				
				if ( msg.indexOf( 'status=error' ) == -1 ) {
					$('#getVoterInfoBox').fadeTo('slow', 0);
					setTimeout( 'ejSendVoterSuccess();', 1000 );
				} else {
					var resp_sep = voter_response.split( '&' );
					var err_msg = '';
					for ( var i = 0; i < resp_sep.length; i++ ) {
						if ( resp_sep[i].indexOf( 'msg=' ) != -1 ) {
							var tmp = resp_sep[i].split( '=' );
							err_msg = tmp[1];
						}
					}
					
					if ( err_msg.length <= 0 ) {
						alert( voter_response );
					} else {
						alert( 'Received response: \n' + eugenesReplace( '+', ' ', err_msg ) );
						document.getElementById( 'ejVoterInfoBoxClose' ).onclick = "";
						document.getElementById( 'ejVoterInfoBoxClose' ).disabled = true;
					}
				}
			},
		error: function( xml, stat, err ) {
				alert( 'SV: An error occurred while sending the request. Please check your Internet connectivity.' );
			}
	});
	
	return false;
}

function fetchResults() {
	
	$.ajax({
		type: 'POST',
		url: 'get_results.php',
		data: '',
		success: function( msg ) {
				$('#ejPollResultsContainer').html( msg );
				
				//$('#ejSeeResultsContainer').hide();
				$('#ejPollResultsContainer').show();
				
				if ( elem != null ) {
					document.body.removeChild( elem );
					elem = null;
				}
			},
		error: function( xml, stat, err ) {
				alert( 'FR: An error occurred while sending the request. Please check your Internet connectivity.' );
			}
	});
	
	return false;
}

function disablePollFormShowVoterForm() {
	document.forms['pollForm'].submit.disabled = true;
	var robj = document.forms['pollForm'].poll_answer;
	var rlen = robj.length;
	for ( var i = 0; i < rlen; i++ ) {
		robj[i].disabled = true;
	}
	$('#getVoterInfoBox').vCenter();
	document.getElementById( 'getVoterInfoBox' ).style.opacity = 0;
	document.getElementById( 'getVoterInfoBox' ).style.filter = 'alpha(opacity=0)';
	document.getElementById( 'getVoterInfoBox' ).style.display = "block";
	$('#getVoterInfoBox').fadeTo('slow', 1);
}

function enableForm( frm ) {
	for ( var i = 0; i < frm.length; i++ ) {
		if ( frm.type != 'hidden' ) {
			frm[i].disabled = false;
		}
	}
}
// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function eugenesReplace( srch, repl, string ) {
	var newString = string;
	while ( newString.indexOf( srch ) != -1 ) {
		newString = newString.replace( srch, repl );
	}
	
	return newString;
}

function ejSendVoterSuccess() {
	window.scrollTo(0,0);
	fetchResults();
	$('#ejDonateContainerRight').show();
}

function ejGetCookie( c_name ) {
	if (document.cookie.length>0) {
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start != -1) {
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return "";
}

function ejShowPollResults() {
	if ( ejGetCookie( 'voted' ) != "" ) {
		// show the results
		$('#ejSeeResultsContainer').hide();
		$('#ejPollResultsContainer').show();
	} else {
		alert( 'Please cast your vote to see the poll results.' );
	}
}

function forceShowResults() {
	$('#getVoterInfoBox').fadeTo('slow', 0);
	enableForm(document.getElementById('pollForm'));
	document.getElementById('pollWrapper').style.display='none';
	document.getElementById('submitBtn').style.display='none';
	fetchResults();
	setCookie( 'voted_200911', '1', 30 );
}

function setCookie( c_name, value, expiredays ) {
	var exdate = new Date();
	exdate.setTime( exdate.getTime() + (expiredays*1000*60*60*24) );
	
	//exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
		((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
