function Condition(){this.indicator=new Object();this.operand="<";this.value=0;this.index=99;this.type="AND"}function Signal(){this.type="BUY";this.conditions=new Object()}function syncSignalType(){var a=YAHOO.util.Dom.get("selSignalType");var b=a.options[a.selectedIndex].value;signalDefinition.type=b;applyStateChangeToButton("btnSaveElement",true)}function onAddCondition(){var a=YAHOO.util.Dom.get("selAddIndic");var e=a.options[a.selectedIndex].value;var d=YAHOO.util.Dom.getElementsByClassName("numberBullet","span","conditions");var b="/signal/ajax-add-condition/type/"+escape(e)+"/num/"+escape(nbCond+1)+"/bul/"+(d.length+1);var c=YAHOO.util.Connect.asyncRequest("POST",b,cbOnAddCondition);YAHOO.util.Dom.get("condition"+(nbCond+1).toString()).innerHTML='<div style="width: 30px;margin:auto"><img src="/img/global/ajaxBusy.gif"></div>'}var cbOnAddCondition={success:function(b){nbCond=nbCond+1;var e=YAHOO.lang.JSON.parse(b.responseText);var a=YAHOO.util.Dom.get("conditions");var c=document.createElement("div");c.id="condition"+(nbCond+1).toString();a.appendChild(c);var k=YAHOO.util.Dom.get("condition"+(nbCond).toString());k.innerHTML=e.html;YAHOO.util.Dom.addClass(k,"conditionDiv");if(nbCond%2){YAHOO.util.Dom.addClass(k,"oddDiv")}else{YAHOO.util.Dom.addClass(k,"evenDiv")}YAHOO.util.Event.addListener("condCompare"+nbCond,"change",onChangeCompareField,new elObj("condCompare"+nbCond,nbCond));YAHOO.util.Event.addListener("condOperand"+nbCond,"change",onChangeOperandField,new elObj("condOperand"+nbCond,nbCond));YAHOO.util.Event.addListener("condCompareBase"+nbCond,"change",onChangeCompareBaseField,new elObj("condCompareBase"+nbCond,nbCond));if(nbCond>0){YAHOO.util.Event.addListener("condType"+nbCond,"change",onChangeTypeField,new elObj("condType"+nbCond,nbCond))}var h=new Condition();for(name in e.params){if(e.params.hasOwnProperty(name)){switch(name){case"html":case"params":case"":break;case"type":h.indicator.type=e.params[name];break;default:h.indicator[name]=e.params[name];YAHOO.util.Event.addListener("condInd"+name+nbCond,"change",onChangeIndParam,new elObj("condInd"+name+nbCond,nbCond,name));break}}}h.index=e.num;signalDefinition.conditions[h.index]=h;addDeleteButton(nbCond);var d=YAHOO.util.Dom.getElementsByClassName("conditionDiv","div","conditions");var f=0;for(var g=0;g<=d.length-1;g++){f=g+1;YAHOO.util.Dom.removeClass(d[g],"oddDiv");YAHOO.util.Dom.removeClass(d[g],"evenDiv");if(f%2){YAHOO.util.Dom.addClass(d[g],"oddDiv")}else{YAHOO.util.Dom.addClass(d[g],"evenDiv")}}applyStateChangeToButton("btnSaveElement",true)},failure:function(a){alert(_("Error in the function")+" onAddCondition");alert(a.responseText)},cache:false};function addDeleteButton(a){var b=YAHOO.util.Dom.get("btnDeleteCond"+a);YAHOO.util.Event.addListener(b,"click",onDeleteCondition,new elObj("btnDeleteCond"+a,a))}function onChangeCompareField(g,i){var h=YAHOO.util.Dom.get(i.elementId);var f=h.options[h.selectedIndex].value;var c="/signal/ajax-get-indic-params/type/"+escape(f)+"/num/"+escape(i.elementIndex);var d=YAHOO.util.Connect.asyncRequest("POST",c,cbOnGetIndicParams);var b=nbCond-1;var a="condCompareParams"+b.toString();applyStateChangeToButton("btnSaveElement",true)}var cbOnGetIndicParams={success:function(d){var c=YAHOO.lang.JSON.parse(d.responseText);syncCompareFields(c);var b=c.num;var a="condCompareParams"+b.toString();YAHOO.util.Dom.get(a).innerHTML=c.html;for(name in c.params){if(c.params.hasOwnProperty(name)){switch(name){case"html":case"params":case"":case"type":break;default:YAHOO.util.Event.addListener("condCompareParam"+name+b,"change",onChangeCompareParam,new elObj("condCompareParam"+name+b,b,name));break}}}},failure:function(a){alert("Erreur dans la fonction syncCompareFields");alert(a.responseText)},cache:false};function onChangeTypeField(b,d){var c=YAHOO.util.Dom.get(d.elementId);var a=c.options[c.selectedIndex].value;var f=d.elementIndex;signalDefinition.conditions[f].type=a;applyStateChangeToButton("btnSaveElement",true)}function onChangeOperandField(b,d){var c=YAHOO.util.Dom.get(d.elementId);var a=c.options[c.selectedIndex].value;var f=d.elementIndex;signalDefinition.conditions[f].operand=a;applyStateChangeToButton("btnSaveElement",true)}function onChangeCompareBaseField(b,c){var a=YAHOO.util.Dom.get(c.elementId).value;var d=c.elementIndex;signalDefinition.conditions[d]["value"]=a;applyStateChangeToButton("btnSaveElement",true)}function syncCompareFields(a){var b=new Array();b=a.params;if(a.params["type"]=="VALUE"){signalDefinition.conditions[a.num]["value"]=0;YAHOO.util.Event.addListener("condCompareBase"+(nbCond),"change",onChangeFixedValueParam,new elObj("condCompareBase",(nbCond)))}else{if(b[0]==null){signalDefinition.conditions[a.num]["value"]=new Object();signalDefinition.conditions[a.num]["value"]["type"]=a.params["type"]}else{signalDefinition.conditions[a.num]["value"]=b}}for(name in b){if(b.hasOwnProperty(name)){YAHOO.util.Event.addListener("condCompareParam"+name+(nbCond-1),"change",onChangeCompareParam,new elObj("condCompareParam"+name+nbCond,(nbCond-1),name))}}}function onDeleteCondition(g,h){var b=YAHOO.util.Dom.get("condition"+h.elementIndex);b.parentNode.removeChild(b);delete signalDefinition.conditions[h.elementIndex];var d=YAHOO.util.Dom.getElementsByClassName("numberBullet","span","conditions");var a=0;for(var c=0;c<=d.length-1;c++){a=c+1;d[c].innerHTML=a}var f=YAHOO.util.Dom.getElementsByClassName("conditionDiv","div","conditions");for(var c=0;c<=f.length-1;c++){a=c+1;YAHOO.util.Dom.removeClass(f[c],"oddDiv");YAHOO.util.Dom.removeClass(f[c],"evenDiv");if(a%2){YAHOO.util.Dom.addClass(f[c],"oddDiv")}else{YAHOO.util.Dom.addClass(f[c],"evenDiv")}}applyStateChangeToButton("btnSaveElement",true)}function onChangeIndParam(a,b){signalDefinition.conditions[b.elementIndex].indicator[b.elementParam]=YAHOO.util.Dom.get("condInd"+b.elementParam+b.elementIndex).value;applyStateChangeToButton("btnSaveElement",true)}function onChangeCompareParam(a,b){signalDefinition.conditions[b.elementIndex].value[b.elementParam]=YAHOO.util.Dom.get("condCompareParam"+b.elementParam+b.elementIndex).value;applyStateChangeToButton("btnSaveElement",true)}function onChangeFixedValueParam(a,b){signalDefinition.conditions[b.elementIndex].value=parseInt(YAHOO.util.Dom.get("condCompareBase"+b.elementIndex).value);applyStateChangeToButton("btnSaveElement",true)}function newSignal(){location.href="/"+i18n.USER_LANGUAGE+"/signal/index/id/new"}function changeSignal(){var b=YAHOO.util.Dom.get("selElementList");var a=b.options[b.selectedIndex].value;if(a==0){newSignal()}location.href="/"+i18n.USER_LANGUAGE+"/signal/index/id/"+a+"/"}var orgSignalName="";function saveSignal(){if(signalName==_("New")+" "+_("signal")){YAHOO.util.Dom.get("dlgSimplePrompt-nameParam").value=signalName;YAHOO.util.Dom.get("dlgSimplePrompt-paramsParam").value=YAHOO.lang.JSON.stringify(signalDefinition);YAHOO.util.Dom.get("dlgSimplePrompt-idParam").value=signalId;YAHOO.util.Dom.get("dlgSimplePrompt-typeParam").value=signalDefinition.type;YAHOO.core.prompt.oSimplePrompt.show()}else{var a="/signal/ajax-save/id/"+signalId+"/type/"+signalDefinition.type+"/params/"+encodeURIComponent(YAHOO.lang.JSON.stringify(signalDefinition))+"/name/"+encodeURIComponent(signalName);var b=YAHOO.util.Connect.asyncRequest("POST",a,cbSaveSignal);YAHOO.util.Dom.get("feedbackManager").innerHTML="<img src='/img/global/ajaxBusy.gif'>"}}var cbSaveSignalOk=function(b){var a=YAHOO.lang.JSON.parse(b.responseText);defaultSuccessAction(b.responseText);if(a.status=="ok"){signalName=a.name}else{signalName=orgSignalName}if(signalId==0&&a.status=="ok"){oListbox=YAHOO.util.Dom.get("selElementList");FormUtil.addOption(oListbox,signalName,a.id,true);oListbox.selectedIndex=(oListbox.length)-1;signalId=a.id;YAHOO.util.Dom.get("signalName").innerHTML='&nbsp;>&nbsp;<a id="edtSignalName">'+signalName+"</a>";YAHOO.util.Event.addListener("edtSignalName","click",editTitle,new elObj("edtSignalName",renameSignal,cancelRenameSignal,"signalName"))}else{if(signalId==0&&a.status=="ko"){signalName=_("New")+" "+_("signal")}}if(a.status=="ok"){applyStateChangeToButton("btnSaveElement",false)}};var cbSaveSignalKo=function(a){signalName=orgSignalName;YAHOO.util.Dom.get("feedbackManager").innerHTML=_("Error in the function")+" saveSignal"};var cbSaveSignal={success:cbSaveSignalOk,failure:cbSaveSignalKo,cache:false};function deleteSignal(){var c=YAHOO.util.Dom.get("selElementList");if(c){var b=c.options[c.selectedIndex].text;var f=c.options[c.selectedIndex].value;if(confirm(_("Are you sure you want to delete the ")+_("signal")+' "'+b+'" ?')){if(f==signalId){location.href="/"+i18n.USER_LANGUAGE+"/signal/delete/id/"+f+"/"}else{if(f==0){location.href="/"+i18n.USER_LANGUAGE+"/signal/index/id/0/"}else{var a="/signal/delete/id/"+f+"/";var d=YAHOO.util.Connect.asyncRequest("POST",a,cbDeleteSignal);YAHOO.util.Dom.get("feedbackManager").innerHTML="<img src='/img/global/ajaxBusy.gif'>"}}}else{return}}else{var e={message:_("You can delete a signal only if it has been saved before."),status:"ko"};defaultSuccessAction(YAHOO.lang.JSON.stringify(e))}}var cbDeleteSignal={success:function(b){defaultSuccessAction(b.responseText);var a=YAHOO.util.Dom.get("selElementList");a.remove(a.selectedIndex)},failure:function(a){YAHOO.util.Dom.get("feedbackManager").innerHTML=_("Error in the function")+" deleteSignal"},cache:false};function copySignal(){if(!signalId){var a=new Object();a.status="message";a.message=_("You can copy a signal only if it has been saved before.");defaultSuccessAction(YAHOO.lang.JSON.stringify(a));return}else{var b=_("copy2").ucFirst()+" "+signalName;if(!b){return}}location.href="/"+i18n.USER_LANGUAGE+"/signal/copy/id/"+signalId+"/name/"+encodeURIComponent(b)}function renameSignal(){newName=YAHOO.util.Dom.get("inputTitleId").value;if(newName==signalName||!newName){if(!newName){return}var a=new Object();a.status="message";a.message=_("You must enter a new name for your ")+_("signal");defaultSuccessAction(YAHOO.lang.JSON.stringify(a));return}else{if(signalId==0){signalName=newName;saveSignal();return}var b="/signal/ajax-rename/id/"+signalId+"/name/"+newName+"/";var c=YAHOO.util.Connect.asyncRequest("POST",b,cbRenameSignal);YAHOO.util.Dom.get("feedbackManager").innerHTML="<img src='/img/global/ajaxBusy.gif'>"}}var cbRenameSignal={success:function(d){defaultSuccessAction(d.responseText);var b=YAHOO.lang.JSON.parse(d.responseText);if(b.status=="ok"){var f=b.name;var c=b.id;if(c==signalId){signalName=f}var e=YAHOO.util.Dom.get("selElementList");e.options[e.selectedIndex].text=f;var a=YAHOO.util.Dom.get("signalName");a.innerHTML='&nbsp;>&nbsp;<a id="edtSignalName">'+signalName+"</a>";YAHOO.util.Event.addListener("edtSignalName","click",editTitle,new elObj("edtSignalName",renameSignal,cancelRenameSignal,"signalName"));if(ieVersion==6){registerIeHover("edtSignalName","yellow","white")}}},failure:function(a){YAHOO.util.Dom.get("feedbackManager").innerHTML=_("Error in the function")+" renameSignal"},cache:false};function cancelRenameSignal(a,b){b.elementId.innerHTML='&nbsp;>&nbsp;<a id="edtSignalName">'+b.elementParam+"</a>";YAHOO.util.Event.addListener("edtSignalName","click",editTitle,new elObj("edtSignalName",renameSignal,cancelRenameSignal,"signalName"));if(ieVersion==6){registerIeHover("edtSignalName","yellow","white")}}YAHOO.util.Event.onDOMReady(function(){roundCorners("divSignalType",5);if(ieVersion!=6&&ieVersion!=7){roundCorners("addIndicator",5)}YAHOO.util.Event.addListener("selSignalType","change",syncSignalType);if(ieVersion==6){registerIeHover("edtSignalName","yellow","white")}YAHOO.util.Event.addListener("edtSignalName","click",editTitle,new elObj("edtSignalName",renameSignal,cancelRenameSignal,"signalName"))});