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; } }