function hideElement(id) {
var a = document.getElementById(id);
if (a) a.style.display = 'none';
}
function showElement(id) {
var a = document.getElementById(id);
if (a) a.style.display = 'block';
}
function checkVote(id) {
var type = document.getElementById('type_' + id).value;
var voted = readCookie( type + '_id' );
if (!voted) {
return;
}
var voted_array = voted.split(',');
for (var poll in voted_array) {
if (voted_array[poll] == id) {
var form_name = type + '-form-' + id;
var results = type + '-results-' + id;
hideElement( form_name );
var div = document.getElementById(results);
if (!div.innerHTML) {
document.forms[form_name].results_only.value = '1';
submitVote(id);
}
}
}
}
function viewResults(id) {
var type = document.getElementById('type_' + id).value;
var form_name = type + '-form-' + id;
document.forms[form_name].results_only.value = '1';
submitVote(id);
showElement( form_name );
}
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else {
var expires = "";
}
var cur = readCookie(name);
if (cur) {
value = cur + ',' + value;
}
document.cookie = name+"="+value+','+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
var Action;
function submitVote(id) {
var type = document.getElementById('type_' + id).value;
var handleSuccess = function(o) {
var results = type + '-results-' + id;
var div = document.getElementById(results);
if(o.responseText !== undefined){
if ( o.responseText.match('unpublished') ) {
div.innerHTML = '<p class="unpublished">' + o.responseText + '</p>';
}
else if ( o.responseText.match('currently closed') ) {
div.innerHTML = '<p class="currently-closed">' + o.responseText + '</p>';
}
else if ( o.responseText.match('not a valid option') ) {
showElement( type + '-form-' + id );
div.innerHTML = '<p class="error">' + o.responseText + '</p>';
}
else { // Successful vote
div.innerHTML = o.responseText;
var form_name = type + '-form-' + id;
if (document.forms[form_name].results_only.value=='0') {
createCookie(type +'_id',id,999);
}
document.forms[form_name].results_only.value = '0';
}
}
};
var handleFailure = function(o) {
showElement( type + '-form-' + id );
var results = type + '-results-' + id;
var div = document.getElementById(results);
if (o.responseText !== undefined) {
div.innerHTML = "<p><strong>Error</strong><br />";
div.innerHTML += "Transaction id: " + o.tId + "<br />";
div.innerHTML += "HTTP status: " + o.status + "</br />";
div.innerHTML += "Status code message: " + o.statusText + "</p>";
}
};
var callback =
{
success:handleSuccess,
failure:handleFailure
};
var form_name = type + '-form-' + id;
// Check that visitor has selected an option before submitting
for (var i = 0; i < document.forms[form_name].poll_choice.length; i++) {
if (document.forms[form_name].poll_choice[i].checked) {
var selected = 1;
}
}
if ( selected || (document.forms[form_name].results_only.value == '1') ) {
var formObject = document.getElementById(form_name);
YAHOO.util.Connect.setForm(formObject);
var sUrl = "http://www.nytermlimits.com/cgi-sys/cgiwrap/ipractic/managed-mt/plugins/PollPosition/vote.cgi";
var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback);
var results = type + '-results-' + id;
document.getElementById(results).innerHTML = '<img src="http://www.nytermlimits.com/mt-static/images/indicator.gif" width="66" height="66" />';
hideElement( type + '-form-' + id );
return false;
}
else {
alert('Please make a selection before submitting to this ' + type);
return false;
}
}