738 lines
20 KiB
JavaScript
738 lines
20 KiB
JavaScript
|
|
function setDefaultPointer() {
|
|
document.body.style.cursor="default";
|
|
var buttons = document.getElementsByTagName("INPUT");
|
|
for(i=0;i<buttons.length;i++)
|
|
buttons[i].style.cursor = "default";
|
|
}
|
|
|
|
|
|
function setWaitPointer() {
|
|
document.body.style.cursor="wait";
|
|
var buttons = document.getElementsByTagName("BUTTON");
|
|
for(i=0;i<buttons.length;i++) {
|
|
//alert("name=" + buttons[i].name);
|
|
buttons[i].style.cursor = "wait";
|
|
}
|
|
}
|
|
|
|
function setCursorStyle(cursorStyleName) {
|
|
document.body.style.cursor=cursorStyleName;
|
|
var buttons = document.getElementsByTagName("INPUT");
|
|
for(i=0;i<buttons.length;i++)
|
|
buttons[i].style.cursor = cursorStyleName;
|
|
}
|
|
|
|
|
|
function showProps(obj, obj_name) {
|
|
var result = "";
|
|
for (var i in obj)
|
|
result += obj_name + "." + i + " = " + obj[i] + "<BR>";
|
|
return result
|
|
}
|
|
|
|
function UnformatNumber(n) {
|
|
nn = n.replace(/\./g,"");
|
|
nn = nn.replace(/\,/g,".");
|
|
return nn;
|
|
}
|
|
|
|
function checkField(f){
|
|
// f deve essere un element HTML (input o altro)
|
|
// non sono tutti necessariamente implementati
|
|
|
|
var ok = 0;
|
|
|
|
if (f.getAttribute("notCheck") == 1)
|
|
return ok;
|
|
|
|
var label = f.getAttribute("label");
|
|
var dataFormat = f.getAttribute("dataFormat");
|
|
var notNull = f.getAttribute("notNull");
|
|
|
|
// INPUT
|
|
|
|
if (f.type == "text" || f.type == "hidden" || f.type == "file") {
|
|
if (f.value.length == 0){
|
|
if (notNull == 1)
|
|
return "Il campo " + label + " deve essere valorizzato";
|
|
else
|
|
return ok;
|
|
}
|
|
if (f.value.length > f.maxLength && f.maxLength != -1)
|
|
return "Il campo " + label + " deve avere una lunghezza massima di " + f.maxLength + " caratteri";
|
|
if (f.getAttribute("minLength") && f.value.length < parseFloat(f.getAttribute("minLength")))
|
|
return "Il campo " + label + " deve avere una lunghezza minima di " + f.getAttribute("minLength") + " caratteri";
|
|
switch (f.getAttribute("dataType")) {
|
|
case "String":
|
|
break;
|
|
case "Number": //numero anche con decimali
|
|
if (isNaN(UnformatNumber(f.value)))
|
|
return -10;
|
|
break;
|
|
case "Integer":
|
|
break;
|
|
case "Date":
|
|
if (dataFormat){
|
|
if (isDate(f.value,dataFormat))
|
|
return ok;
|
|
else
|
|
return "Il campo " + label + " deve essere inserito nel formato " + dataFormat;
|
|
}
|
|
else{
|
|
return "Formato data non definito";
|
|
}
|
|
break;
|
|
case "Digit": //stringa di soli numeri interi
|
|
if(!isDigit(f.value))
|
|
return "Il campo " + label + " deve essere composto da caratteri numerici";
|
|
break;
|
|
}
|
|
}
|
|
|
|
// TEXTAREA
|
|
|
|
else if (f.type == "textarea"){
|
|
if (f.getAttribute("notNull") && f.value.length==0)
|
|
return "Il campo " + label + " deve essere valorizzato";
|
|
if (f.value.length > f.maxLength && f.maxLength != -1)
|
|
return "Il campo " + label + " deve avere una lunghezza massima di " + f.maxLength + " caratteri";
|
|
if (f.getAttribute("minLength") && f.value.length < f.minLength)
|
|
return "Il campo " + label + " deve avere una lunghezza minima di " + f.getAttribute("minLength") + " caratteri";
|
|
}
|
|
|
|
return ok;
|
|
|
|
}
|
|
|
|
function isAlphaNumeric(s){
|
|
if (s.value.match(/[a-zA-Z0-9]/g).length == s.value.length)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
|
|
function isDigit(s){
|
|
if (!s || !s.match(/[0-9]/g))
|
|
return false;
|
|
if (s.match(/[0-9]/g).length == s.length)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
|
|
function isDate(d,formatType){
|
|
//formatType: 1 dd/mm/yyyy
|
|
|
|
fff = formatType.toLowerCase();
|
|
switch (fff){
|
|
case "dd/mm/yyyy":
|
|
dd = d.substr(0,2);
|
|
mm = d.substr(3,2);
|
|
yy = d.substr(6,4);
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
if (!isDigit(dd))
|
|
return false;
|
|
if (!isDigit(mm))
|
|
return false;
|
|
if (!isDigit(yy))
|
|
return false;
|
|
dddd = new Date(yy,mm-1,dd);
|
|
yyy=dddd.getFullYear().toString();
|
|
mmm=(dddd.getMonth()+1).toString();
|
|
mmm=mmm.length==1?"0"+mmm:mmm
|
|
ddd=dddd.getDate().toString();
|
|
ddd=ddd.length==1?"0"+ddd:ddd
|
|
if (!(ddd==dd && mmm==mm && yyy==yy))
|
|
return false;
|
|
else
|
|
return true;
|
|
}
|
|
|
|
function toDate(d,formatType){
|
|
//formatType: 1 dd/mm/yyyy
|
|
//in caso di errore ritorna undefined
|
|
|
|
if (isDate(d,formatType)){
|
|
fff = formatType.toLowerCase();
|
|
switch (fff){
|
|
case "dd/mm/yyyy":
|
|
dd = d.substr(0,2);
|
|
mm = d.substr(3,2);
|
|
yy = d.substr(6,4);
|
|
break;
|
|
default:
|
|
return undefined;
|
|
}
|
|
return new Date(yy,mm-1,dd);
|
|
}
|
|
else{
|
|
return undefined;
|
|
}
|
|
}
|
|
|
|
function getDate(f){
|
|
//dato un field f ritorna la Date relativa
|
|
//in caso di errore ritorna undefined
|
|
|
|
var label = f.getAttribute("label");
|
|
var dataFormat = f.getAttribute("dataFormat");
|
|
if (!dataFormat)
|
|
return undefined;
|
|
return toDate(f.value, dataFormat);
|
|
}
|
|
|
|
function checkNow(f){
|
|
//controlla se la data nel field f è superiore alla data odierna
|
|
if (f.value.length == 0)
|
|
return 0;
|
|
var label = f.getAttribute("label");
|
|
d = getDate(f);
|
|
if (d){
|
|
now = new Date();
|
|
if (d > now)
|
|
return "La data " + label + " deve essere inferiore o uguale alla data odierna.";
|
|
}
|
|
else{
|
|
return "Errore nel campo " + label + ".";
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
function checkDateDiff(f1, f2){
|
|
//controlla se la data f1 è <= alla data f2
|
|
var label1 = f1.getAttribute("label");
|
|
var label2 = f2.getAttribute("label");
|
|
d1 = getDate(f1);
|
|
if (!d1)
|
|
return 0;
|
|
d2 = getDate(f2);
|
|
if (!d2)
|
|
return 0;
|
|
if (d1 > d2)
|
|
return label1 + " deve essere inferiore o uguale a " + label2 + "."
|
|
|
|
return 0;
|
|
}
|
|
|
|
function checkDateBetween(f1, f2){
|
|
//controllo di due field data DA e A
|
|
//return false se ok altrimenti il messaggio di errore
|
|
//i field devono avere gli attributi label
|
|
//il formato data è sempre lo stesso
|
|
|
|
dateFormat = "dd/mm/yyyy";
|
|
label1 = f1.getAttribute("label");
|
|
label2 = f2.getAttribute("label");
|
|
d1 = toDate(f1.value, dateFormat);
|
|
d2 = toDate(f2.value, dateFormat);
|
|
if (!d1 && d2)
|
|
return "Attenzione, il campo " + label1 + " deve essere valorizzato.";
|
|
if (d1 && d2){
|
|
if (d1 > d2)
|
|
return "Attenzione, " + label1 + " deve essere minore o uguale a " + label2 + "."
|
|
}
|
|
return false;
|
|
|
|
}
|
|
|
|
function composeDate(f,fD,fM,fY){
|
|
|
|
ok = 0;
|
|
if(fD.value.length==0 || fM.value.length==0 || fY.value.length==0){
|
|
f.value = "";
|
|
return;
|
|
}
|
|
if(!isDigit(fD.value) || !isDigit(fM.value) || !isDigit(fY.value)){
|
|
f.value = "";
|
|
return;
|
|
}
|
|
dd=fD.value.length==1?"0"+fD.value:fD.value
|
|
mm=fM.value.length==1?"0"+fM.value:fM.value
|
|
if (fY.value<100)
|
|
yy=parseFloat(fY.value)+2000;
|
|
else if (fY.value<1000)
|
|
yy=parseFloat(fY.value)+1000;
|
|
else
|
|
yy=fY.value;
|
|
fD.value = dd;
|
|
fM.value = mm;
|
|
fY.value = yy;
|
|
f.value = dd + "/" + mm + "/" + yy;
|
|
}
|
|
|
|
function setListVisibility(e,radioChecked){
|
|
for (i=0;i<e.length;i++){
|
|
if (e[i].getAttribute("radioVisibility")!=undefined){
|
|
if (e[i].getAttribute("radioVisibility") == radioChecked)
|
|
e[i].style.display="block";
|
|
else
|
|
e[i].style.display="none";
|
|
}
|
|
}
|
|
}
|
|
|
|
function myHRef(actionDescr, url, check, waitPointer){
|
|
|
|
//richiesta conferma utente
|
|
if (check){
|
|
ok =confirm("Procedere con l'operazione di " + actionDescr + "?");
|
|
if (!ok) return;
|
|
}
|
|
|
|
//set hourglass pointer
|
|
if (waitPointer)
|
|
setWaitPointer();
|
|
|
|
//href
|
|
try {
|
|
document.location.href=url;
|
|
}
|
|
catch(e){
|
|
alert("Errore: "+ e.message);
|
|
//set default pointer
|
|
setDefaultPointer();
|
|
}
|
|
return;
|
|
|
|
}
|
|
|
|
function mySubmitNoCheck(action, formIndex){
|
|
mySubmit("", action, formIndex, false, false, false, true);
|
|
return;
|
|
}
|
|
|
|
function mySubmit(actionDescr, action, formIndex, check, validate, checkLocal, waitPointer){
|
|
|
|
//get del form tramite l'indice
|
|
f = document.getElementsByTagName('FORM')[formIndex];
|
|
|
|
//struts form validation
|
|
if(validate){
|
|
ok=localValidate(f);
|
|
if (!ok) return;
|
|
}
|
|
|
|
//richiesta conferma utente
|
|
if (check){
|
|
if (!checkLocal)
|
|
ok =confirm("Procedere con l'operazione di " + actionDescr + "?");
|
|
else
|
|
ok =localCheck("\nProcedere con l'operazione di " + actionDescr + "?");
|
|
if (!ok) return;
|
|
}
|
|
|
|
//set hourglass pointer
|
|
if (waitPointer)
|
|
setWaitPointer();
|
|
|
|
//submit
|
|
f.action=action;
|
|
try {
|
|
f.submit();
|
|
}
|
|
catch(e){
|
|
alert("Errore:"+e.message);
|
|
setDefaultPointer();
|
|
}
|
|
return;
|
|
}
|
|
|
|
function invertElementVisibility(elementName,defaultVisibility){
|
|
e = document.getElementsByName(elementName)[0];
|
|
if (e){
|
|
if (e.style.display == "block")
|
|
e.style.display = "none";
|
|
else if (e.style.display == "none")
|
|
e.style.display = "block";
|
|
else
|
|
e.style.display = defaultVisibility;
|
|
}
|
|
return;
|
|
}
|
|
|
|
function myShowCalendar(inputName){
|
|
f = document.getElementsByName(inputName)[0];
|
|
format="dd/mm/yyyy";
|
|
popUpCalendar(f, f, format);
|
|
}
|
|
|
|
function setAllSelect(sourceName, destSearchName) {
|
|
//in base al valore della select sourceName valorizza le select dest
|
|
//trovate mediante la ricerca del destSearchName
|
|
index = document.getElementsByName(sourceName)[0].selectedIndex;
|
|
combo = document.getElementsByTagName('SELECT');
|
|
for(i=0;i<combo.length;i++) {
|
|
if(combo[i].name.search(destSearchName)!=-1){
|
|
combo[i].selectedIndex=index;
|
|
}
|
|
}
|
|
}
|
|
|
|
function disableField(fieldName, value){
|
|
|
|
f = document.getElementsByName(fieldName)[0];
|
|
f.disabled = value;
|
|
if (value){
|
|
f.className="readonly " + f.className;
|
|
}
|
|
else{
|
|
re=/readonly/gi;
|
|
f.className=f.className.replace(re,"");
|
|
}
|
|
}
|
|
|
|
function disableFieldByCheckbox(fieldName,checkboxName){
|
|
v = document.getElementsByName(checkboxName)[0].checked;
|
|
disableField(fieldName,v);
|
|
}
|
|
|
|
function enableFieldByCheckbox(fieldName,checkboxName){
|
|
v = !document.getElementsByName(checkboxName)[0].checked;
|
|
disableField(fieldName,v);
|
|
}
|
|
|
|
function enableFieldByCheckboxNamed(fieldName){
|
|
re=/\_checkbox/gi;
|
|
enableFieldByCheckbox(fieldName.replace(re,''),fieldName);
|
|
return;
|
|
}
|
|
|
|
function setFieldValue(fieldName,fieldValue){
|
|
f = document.getElementsByName(fieldName)[0];
|
|
if (f.type == "text" || f.type == 'hidden' || f.type == 'textarea' || f.type == 'file' || f.type == 'password'){
|
|
f.value = fieldValue;
|
|
}
|
|
else if (f.type == "checkbox"){
|
|
f.checked = fieldValue;
|
|
}
|
|
return;
|
|
}
|
|
|
|
function getFieldValue(fieldName){
|
|
f = document.getElementsByName(fieldName)[0];
|
|
if (f.type == "text" || f.type == "select-one" || f.type == 'hidden' || f.type == 'textarea' || f.type == 'file' || f.type == 'password'){
|
|
return f.value;
|
|
}
|
|
else if (f.type == "checkbox"){
|
|
return f.checked;
|
|
}
|
|
return "";
|
|
}
|
|
|
|
function setSelectValue(selectName,value){
|
|
|
|
s = document.getElementsByName(selectName)[0];
|
|
l=s.length;
|
|
for(j=0;j<l;j++) {
|
|
if(s[j].value == value){
|
|
s.selectedIndex=j;
|
|
return;
|
|
}
|
|
}
|
|
return;
|
|
|
|
}
|
|
|
|
function enableSelect(select) {
|
|
s = document.getElementsByName(select)[0];
|
|
s.disabled = false;
|
|
}
|
|
|
|
//data la selezione una combo ne riempie un'altra con i valori dell'array value
|
|
function setSelectFromSelect(nameFrom,nameTo,values,valueIndex,textIndex,checkIndex){
|
|
|
|
sFrom = document.getElementsByName(nameFrom)[0];
|
|
selectedValue = sFrom[sFrom.selectedIndex].value;
|
|
sTo = document.getElementsByName(nameTo)[0];
|
|
resizeSelect(sTo,1);
|
|
sToOptions= sTo.options;
|
|
for(i=0;i<values.length;i++) {
|
|
isInSelect=false;
|
|
l=sToOptions.length;
|
|
//verifica che non sia già presente nella lista di valori
|
|
for(j=0;j<l;j++) {
|
|
if(sToOptions[j].value == values[i][valueIndex])
|
|
isInSelect=true;
|
|
}
|
|
if ((selectedValue==values[i][checkIndex] || selectedValue == "" ) && !isInSelect){
|
|
sToOptions[l] = new Option(values[i][textIndex]);
|
|
sToOptions[l].value = values[i][valueIndex];
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
//data la selezione una combo ne riempie un'altra con i valori dell'array value
|
|
function setSelectFromSelectWithoutCheck(nameFrom,nameTo,values,valueIndex,textIndex,checkIndex){
|
|
|
|
sFrom = document.getElementsByName(nameFrom)[0];
|
|
selectedValue = sFrom[sFrom.selectedIndex].value;
|
|
sTo = document.getElementsByName(nameTo)[0];
|
|
resizeSelect(sTo,1);
|
|
sToOptions= sTo.options;
|
|
for(i=0;i<values.length;i++) {
|
|
isInSelect=false;
|
|
l=sToOptions.length;
|
|
if ((selectedValue==values[i][checkIndex] || selectedValue == "" )){
|
|
sToOptions[l] = new Option(values[i][textIndex]);
|
|
sToOptions[l].value = values[i][valueIndex];
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
//dalla selezione dei dati in due combo ne riempie un'altra con i valori dell'array value
|
|
function setSelectFromJoin(nameFrom1, nameFrom2, nameTo, values, valueIndex, textIndex, checkIndex1, checkIndex2){
|
|
|
|
sFrom1 = document.getElementsByName(nameFrom1)[0];
|
|
sFrom2 = document.getElementsByName(nameFrom2)[0];
|
|
selectedValue1 = sFrom1[sFrom1.selectedIndex].value;
|
|
selectedValue2 = sFrom2[sFrom2.selectedIndex].value;
|
|
sTo = document.getElementsByName(nameTo)[0];
|
|
resizeSelect(sTo,1);
|
|
sToOptions= sTo.options;
|
|
for(i=0;i<values.length;i++) {
|
|
l=sToOptions.length;
|
|
if ( (selectedValue1==values[i][checkIndex1]|| selectedValue1 == "") && (selectedValue2==values[i][checkIndex2] || selectedValue2=="") ){
|
|
sToOptions[l] = new Option(values[i][textIndex]);
|
|
sToOptions[l].value = values[i][valueIndex];
|
|
}
|
|
}
|
|
}
|
|
|
|
function resizeSelect(obj,n){
|
|
obj.options.length=n;
|
|
}
|
|
|
|
function addOption(select,value,text){
|
|
o=select.options;
|
|
l=o.length;
|
|
o[l] = new Option(text);
|
|
o[l].value = value;
|
|
}
|
|
|
|
/******************************************************************************/
|
|
/* gestione menu */
|
|
error={ok:0, ko:-1};
|
|
|
|
/* inverte la visibilità di sub menu (show/hide) */
|
|
function shideSubMenu(subMenuName,menuName){
|
|
|
|
subMenu = document.getElementsByName(subMenuName)[0];
|
|
menu = document.getElementsByName(menuName)[0];
|
|
if (subMenu && menu){
|
|
shideObjPos(subMenu,menu);
|
|
shideClass(menu,"open");
|
|
}
|
|
return error.ok;
|
|
|
|
}
|
|
|
|
/* visualizza il sub menu sotto e al centro del menu selezionato e set il focus sul menu in modo che si possa chiudere su onblur */
|
|
function showSubMenu(subMenuName,menuName){
|
|
|
|
subMenu = document.getElementsByName(subMenuName)[0];
|
|
menu = document.getElementsByName(menuName)[0];
|
|
if (subMenu && menu){
|
|
showPos(subMenu,menu);
|
|
menu.focus();
|
|
}
|
|
return error.ok;
|
|
|
|
}
|
|
|
|
/* nasconde il sub menu */
|
|
function hideSubMenu(subMenuName){
|
|
|
|
subMenu = document.getElementsByName(subMenuName)[0];
|
|
if (subMenu){
|
|
hide(subMenu);
|
|
}
|
|
return error.ok;
|
|
|
|
}
|
|
|
|
/******************************************************************************/
|
|
/* gestione tree */
|
|
|
|
/* inverte la visibilità di sub tree (show/hide) */
|
|
function shideSubTree(subTreeName,treeName){
|
|
|
|
tree = document.getElementsByName(treeName)[0];
|
|
subTree = document.getElementsByName(subTreeName)[0];
|
|
|
|
if (subTree && tree){
|
|
shideObj(subTree);
|
|
shideClass(tree,"open");
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/******************************************************************************/
|
|
/* gestione obj */
|
|
|
|
/* inverte la visibilità di obj (show/hide) e lo posiziona */
|
|
function shideObjPos(obj,posObj){
|
|
|
|
if (obj.style.display == "block")
|
|
hide(obj);
|
|
else
|
|
showPos(obj,posObj);
|
|
return error.ok;
|
|
|
|
}
|
|
|
|
/* inverte la visibilità di obj (show/hide) */
|
|
function shideObj(obj){
|
|
|
|
if (obj.style.display == "block")
|
|
hide(obj);
|
|
else
|
|
show(obj);
|
|
|
|
return error.ok;
|
|
|
|
}
|
|
|
|
/* visualizza obj posizionato sotto e al centro di posObj */
|
|
function showPos(obj,posObj){
|
|
|
|
var newX = findPosX(posObj)-2;
|
|
var newY = findPosY(posObj) + posObj.offsetHeight;
|
|
obj.style.top = newY + 'px';
|
|
obj.style.left = newX + 'px';
|
|
obj.style.display = "block";
|
|
return error.ok;
|
|
|
|
}
|
|
|
|
/* visualizza obj senza posizionarlo */
|
|
function show(obj,posObj){
|
|
|
|
obj.style.display = "block";
|
|
return error.ok;
|
|
}
|
|
|
|
/* nasconde obj */
|
|
function hide(obj){
|
|
|
|
obj.style.display = "none";
|
|
return error.ok;
|
|
|
|
}
|
|
|
|
/* trova la posizione x di obj */
|
|
function findPosX(obj){
|
|
|
|
var curleft = 0;
|
|
if (obj.offsetParent)
|
|
{
|
|
while (obj.offsetParent)
|
|
{
|
|
curleft += obj.offsetLeft
|
|
obj = obj.offsetParent;
|
|
}
|
|
}
|
|
else if (obj.x)
|
|
curleft += obj.x;
|
|
|
|
return curleft;
|
|
|
|
}
|
|
|
|
/* trova la posizione y di obj */
|
|
function findPosY(obj){
|
|
|
|
var curtop = 0;
|
|
if (obj.offsetParent)
|
|
{
|
|
while (obj.offsetParent)
|
|
{
|
|
curtop += obj.offsetTop
|
|
obj = obj.offsetParent;
|
|
}
|
|
}
|
|
else if (obj.y)
|
|
curtop += obj.y;
|
|
|
|
return curtop;
|
|
|
|
}
|
|
|
|
/* aggiunge/elimina la class di obj */
|
|
function shideClass(obj,class0){
|
|
|
|
if (obj.className.match(class0))
|
|
removeClass(obj,class0)
|
|
else
|
|
addClass(obj,class0)
|
|
|
|
return error.ok;
|
|
|
|
}
|
|
|
|
/* aggiunge la class di obj */
|
|
function addClass(obj,class0){
|
|
|
|
obj.className=class0 + " " + obj.className;
|
|
return error.ok;
|
|
|
|
}
|
|
|
|
/* elimina la class di obj */
|
|
function removeClass(obj,class0){
|
|
|
|
re=new RegExp(class0, "g");
|
|
obj.className=obj.className.replace(re,"");
|
|
return error.ok;
|
|
|
|
}
|
|
|
|
/**/
|
|
function initSelectData(){
|
|
}
|
|
|
|
//kit luglio 07 settaggio filtro canale acquisizione vendita
|
|
|
|
function setSelectFromJoinCanale(nameTipoCliente, nameToCanale, disabledFilter,clusterCanale,valoreCodiceCanaleIndex, descrizioneCanaleIndex, checkIndex1tipoCliente){
|
|
|
|
sDisabledFilter=document.getElementsByName(disabledFilter)[0]
|
|
sFrom1TipoCliente = document.getElementsByName(nameTipoCliente)[0];// prendo il filtro tipo cliente per acquisire il valore scelto
|
|
selectedTipoCliente = sFrom1TipoCliente[sFrom1TipoCliente.selectedIndex].value; //prendo il valore del filtro tipo cliente ('BU' - 'CO')
|
|
sTo = document.getElementsByName(nameToCanale)[0]; //prendo il filtro canale acquisizione
|
|
resizeSelect(sTo,1); // svuoto il filtro canale acquisizione
|
|
sToOptions= sTo.options; //prendo il vettore di opzioni nel filtro canale acquisizione già vuoto per riempirlo in base al tipo cliente
|
|
|
|
if(selectedTipoCliente=="" || selectedTipoCliente=='null'){ // se non ho selezionato nessun valore di tipo cliente o 'tutti', aggiungo al filtro tutti i valori possibili del canale
|
|
for(j=0; j<clusterCanale.length;j++){
|
|
l=sToOptions.length;
|
|
sToOptions[l] = new Option(clusterCanale[j][descrizioneCanaleIndex]);
|
|
sToOptions[l].value = clusterCanale[j][valoreCodiceCanaleIndex];
|
|
}
|
|
|
|
}
|
|
else{
|
|
for(i=0;i<clusterCanale.length;i++) {
|
|
l=sToOptions.length;
|
|
if(selectedTipoCliente==clusterCanale[i][checkIndex1tipoCliente]){
|
|
sToOptions[l] = new Option(clusterCanale[i][descrizioneCanaleIndex]);
|
|
sToOptions[l].value = clusterCanale[i][valoreCodiceCanaleIndex];
|
|
}
|
|
}
|
|
|
|
}
|
|
if(selectedTipoCliente!='BU')
|
|
sDisabledFilter.disabled=false;
|
|
else{
|
|
sDisabledFilter.selectedIndex=0
|
|
sDisabledFilter.disabled=true;
|
|
|
|
}
|
|
}
|
|
|