function displayArrow(a,b){var c="<img title='Strong positive impact' src='/static/images/uparrowlg.gif'/>";if(a>=0&&a<=0.3)c="<img title='Weak positive impact' src='/static/images/uparrow.gif'/>";if(a>=-0.3&&a<0)c="<img title='Weak negative impact' src='/static/images/dnarrow.gif'/>";if(a<-0.3)c="<img title='Strong negative impact' src='/static/images/dnarrowlg.gif'/>";$(b).innerHTML=c}function calcLeverChange(a,b,c){var d=(a-0.5)/0.5;c[b].change=d;var e=c[b].value+(d*c[b].range);$('levertext'+b).innerHTML=Math.round(e*100)/100}function calcLeverChangeRaw(a,b,c){var d=(a-0.5)/0.5;return d*c[b].range}function calculateChanges(a,b){var c=0;var d=0;for(var i=0;i<a.length;i++){var e=0;var f=0;var g=0;var h=0;for(var j=0;j<b.length;j++){var k=b[j].change*a[i]["leverimpacts"][b[j].leverid];if(isNaN(k))k=0;if(k>f){f=k;e=b[j].leverid}if(k<h){h=k;g=b[j].leverid}}var l=1;for(var j=0;j<b.length;j++){var m=b[j].change*a[i]["leverimpacts"][b[j].leverid];if(isNaN(m))m=0;if(m>0&&b[j].leverid!=e){m=m*0.5}if(m<0&&b[j].leverid!=g){m=m*0.5}l=l+m}if(l<a[i].minlimit)l=a[i].minlimit;changeGraph(a[i].tickerid,l*0.5);if(a[i].quantity!=0){c=c+a[i].quantity*a[i].price*l;d=d+a[i].quantity*a[i].price}else{c=c+l;d=d+1}}changeGraph('sum',0.5*c/d)}function changeGraph(a,b){if(b>1)b=1;if(b<0.02)b=0.02;$('graph'+a).style.width=b*200+'px';if(b<0.5)$('graph'+a).style.background='#990000';else $('graph'+a).style.background='#009900';var c=((b-0.5)/0.5)*100;c=Math.round(c*100)/100;$('text'+a).innerHTML=c+"%"}function runScenario(j,k,m,n,o){new Ajax.Request('/hl/action/getScenario.jsp?scenarioid='+j,{method:'get',onSuccess:function(a){var b=eval('('+a.responseText+')');var c=b["scenlevermap"];var d="";var e="";var f="";for(var g in c){f="<a href=\"scenario?scenid="+c[g].id+"\">Click here for stock suggestions and more on this scenario.</a>";d=c[g].description;e=c[g].outcome;break}for(var l=0;l<m.length;l++){var h=0.5;if(c[m[l].leverid])h=c[m[l].leverid].levervalue;calcLeverChange(h,l,m);n[l].setValue(h)}calculateChanges(k,m);var i="<p class='smalldefault'>"+f;if(o){$('scenarioOutcome').innerHTML=i;$('scenarioDesc').innerHTML="<p class='smalldefault'><b>"+d+"</b><p class='smalldefault'>"+e}},onFailure:function(){alert('Failure in Ajax request...')}})}function resetLevers(a,b,c,d){if(isNaN(a)){for(var i=0;i<d.length;i++){d[i].setValue(0.5)}}else runScenario(a,b,c,d,true)}function calcScenarioImpacts(a,b){for(var i=0;i<a.length;i++){var c=calcLeverChangeRaw(a[i].levervalue,i,a);var d=a[i].value+c;var e=c/a[i].value;if(a[i].value==0)e=c/a[i].range;if(a[i].unit=="%")a[i].pct=Math.round(c*100)/100;else a[i].pct=Math.round(e*100);a[i].newval=d.toFixed(2);var f=83;var g=0;if(e<0){f=f+e*80;if(f<2)f=2;g=83-f;$(b+a[i].leverid).style.background="#CC0000"}else{g=e*80;if(g>80)g=80}$(b+a[i].leverid).style.left=f+"px";$(b+a[i].leverid).style.width=g+"px"}}function showScenarioImpacts(a){for(var i=0;i<a.length;i++){$('graph'+a[i].leverid).style.visibility="visible";$('lvalue'+a[i].leverid).innerHTML=a[i].newval;if(a[i].unit=="%")$('lpct'+a[i].leverid).innerHTML=a[i].pct+" pts";else $('lpct'+a[i].leverid).innerHTML=a[i].pct+"%";if(jsonlevers[i].pct>=0){$('lpct'+a[i].leverid).style.color="#009900"}else{$('lpct'+a[i].leverid).style.color="#CC0000"}}}

