First Commit - Source Code from Reply
This commit is contained in:
737
dbcmnpsrc/FE/mnpdev/mnp/web/jsp/util.js
Normal file
737
dbcmnpsrc/FE/mnpdev/mnp/web/jsp/util.js
Normal file
@@ -0,0 +1,737 @@
|
||||
|
||||
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;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user