function swpArticleImage(imageSrc,caption,destElId, elId) {
var fullImage = document.getElementById(destElId);
var otherEl = document.getElementById(elId);
fullImage.src=imageSrc;
if (caption!=='') {
otherEl.innerHTML = caption;
}
}
function markPollComplete(pollId) {
setCookie('poll'+pollId, 'Y', new Date(2037,0,1), '/', 'thisislondon.co.uk', null);
}
function isPollComplete(pollId) {
if (getCookie('poll'+pollId) == 'Y') return true;
else return false;
}
function setPollChartBar(answerId,length) {
dwr.util.byId("pollOptBar_"+answerId).style.width = (length + "px");
}
function syncPollCompletionState(pollId,isComplete) {
if (isComplete) {
setPollStatusMsg(pollId,"Thank you for your vote");
} else {
setPollStatusMsg(pollId,"Vote now");
}
var el = dwr.util.byId("pollOpts_"+pollId);
if (isComplete) el.className = "pollbars";
else el.className = "pollbars active";
}
function setPollStatusMsg(pollId,msg) {
dwr.util.byId("pollConfirm_"+pollId).innerHTML = msg
}
function setPollStatusSending(pollId) {
setPollStatusMsg(pollId,"Sending your vote...");
}
function setPollChart(pollId,pct) {
var el = dwr.util.byId("pollChart_"+pollId);
(el!=null)&&(el.src = "http://i.thisislondon.co.uk/i/std/siteimages/eveningstandard/poll/poll_" + pct + ".gif");
el = dwr.util.byId("pollChart_"+pollId+"_small");
(el!=null)&&(el.src = "http://i.thisislondon.co.uk/i/std/siteimages/eveningstandard/poll/poll-small_" + pct + ".gif");
el = dwr.util.byId("pollChart_"+pollId+"_holder");
(el!=null)&&(el.style.display = "none");
}
function updatePoll(data, isPie) {
var responses = data;
var pollId = eval("pollIdForQ"+responses[0].questionId);
for (var idx in responses) {
dwr.util.setValue("pollOptPct_"+responses[idx].answerId, responses[idx].percentage + "%");
if (isPie) dwr.util.byId("pollOptPct_"+responses[idx].answerId).style.display="";
else setPollChartBar(responses[idx].answerId,responses[idx].barLength);
}
setPollChart(pollId,responses[0].percentage);
syncPollCompletionState(pollId,true);
markPollComplete(pollId);
}
function updatePollPie(data) {
updatePoll(data,true);
}
function updatePollBar(data) {
updatePoll(data,false);
}
function callUpdatePoll(pollId,answerId,isBinary) {
if (!isPollComplete(pollId)) {
setPollStatusSending(pollId);
try {
if (isBinary) AjaxController.getUpdatedPollResponses(pollId,answerId,updatePollPie);
else AjaxController.getUpdatedPollResponses(pollId,answerId,updatePollBar);
} catch(e) {
log('error','callUpdatePoll()',e,'');
return false;
}
}
return true;
}
function log(level,func,e,userMessage) {
var errStr;
if (e!=null) {
errStr='Error name ['+e.name+ '] - Error message ['+e.message+'] occured in javascript function ['+func+'] User message ['+userMessage+']';
} else if (userMessage!=null) {
errStr=userMessage;
}
switch (level) {
case 'debug': Logger.debug(errStr);
break;
case 'info': Logger.info(errStr);
break;
case 'warn': Logger.warn(errStr);
break;
case 'error': Logger.error(errStr);
break;
case 'fatal': Logger.fatal(errStr);
break;
}
}