// require portalParams.js.php, prototype.js
var PID= PD.RID;
var Lng= PD.Lng;
var BikePlanner= new Object();
BikePlanner.ImagesCache= new Object();
BikePlanner.ImagesCache.images= Array();
BikePlanner.controlTimeout= Array();
BikePlanner.ImagesCache.in_array= function(ago) {
   var a= BikePlanner.ImagesCache.images;
   for(var i=0; i<a.length; i++) {
        if(a[i]==ago) return i;
   }
   return false; 
}
BikePlanner.counter=0;
BikePlanner.lampeggia= function(idelemento,ct) {
    if(BikePlanner.counter==0) document.getElementById(idelemento).style.visibility='visible';
    document.getElementById(idelemento).style.visibility= (document.getElementById(idelemento).style.visibility=="hidden")? "visible" : "hidden";
    BikePlanner.counter++;
    if(BikePlanner.counter==5) {
        document.getElementById(idelemento).style.visibility='visible';
        clearInterval(BikePlanner.controlTimeout[ct]);
        BikePlanner.counter=0;
    }    
}
BikePlanner.add= function(img,type,element,uid) {
    var postBodyVars= "Function=Suitcase&method=set&view="+PID+"&type=BikePlanner&Language="+Lng+"&ElementType="+encodeURIComponent(type)+"&ElementRID="+element+"&uid="+uid;
    img.style.cursor='wait';
    new Ajax.Request('../xml/XMLInterface.phtml?'+postBodyVars, {
      method: 'get',
      onSuccess: function(transport) {
      img.style.cursor='default';
      img.title=''; 
        var Challenge = transport.responseXML;
        if(Challenge.getElementsByTagName("State")[0].firstChild.nodeValue=="Success") {
            // ok!
            if(img.src.split("_on.").length==2) {
                img.src= img.src.split("_on.").join("_ok.");    
            }else {
                img.src= img.src.split("_off.").join("_ok."); 
            }
            img.onclick= function() {
                // do nothing
            }
            BikePlanner.doLeftList(Challenge.getElementsByTagName("currentGroup")[0].firstChild.nodeValue);
        }
      },
      onFailure: function(request) {
        alert("Error: Please retry later");
      }
    }
    );   
}
BikePlanner.remove= function(erid,img,uid) {
    img.style.cursor='wait';
    var postBodyVars= "Function=Suitcase&method=delete&view="+PID+"&type=BikePlanner&Language="+Lng+"&uid="+uid+"&ElementRID="+erid;
    new Ajax.Request('../xml/XMLInterface.phtml?'+postBodyVars, {
      method: 'get',
      onSuccess: function(transport) {
        var Challenge = transport.responseXML;
        if(Challenge.getElementsByTagName("State")[0].firstChild.nodeValue=="Success") {
            BikePlanner.doLeftList(Challenge.getElementsByTagName("currentGroup")[0].firstChild.nodeValue);
        }
      },
      onFailure: function(request) {
        alert("Error: Please retry later");
      }
    }
    ); 
}

BikePlanner.changeImage= function(a) {
    var newim= new Image;
    if(a.src.split("_on.").length==2) {
        newim.src= a.src.split("_on.").join("_off."); 
    }else {
        newim.src= a.src.split("_off.").join("_on.");
    }
    if(BikePlanner.ImagesCache.in_array(newim)) {
        var i= BikePlanner.ImagesCache.in_array(newim);
        a.src= BikePlanner.ImagesCache.images[i].src;
    }else {
        BikePlanner.ImagesCache.images.push(newim);
        a.src= newim.src;
    }
}

BikePlanner.doLeftList= function(grp) {
     new Ajax.Request('./WebserviceHandler.php?modulType=BIKEPLANNER&RID='+PID+'&xsltType=pec&siteDir=.%2Fpeculiar2%2Flecce%2F&lng='+Lng+'&xslt=suitcaseBoxList.xsl&verbose=long&BPGroup='+encodeURIComponent(grp), {
      method: 'get',
      onSuccess: function(transport) {
        var Challenge = transport.responseText;
        top.document.getElementById("holidayPlannerBoxContent").innerHTML=Challenge
      },
      onFailure: function(request) {
        alert("Error: Please retry later");
      }
    })        
}


BikePlanner.goUp= function(idrow,myclick,uid) {
    var spd= idrow.split("_");
    if(!BikePlanner.elementi) {
        BikePlanner.elementi= Array();
        var i=1;
        var rid= "";
        var tempObj= new Object();
        while(document.getElementById(spd[0]+"_"+i)) {
            rid= document.getElementById(spd[0]+"_"+i).getElementsByTagName("input")[0].value;
            tempObj= new Object();
            tempObj["el"]= document.getElementById(spd[0]+"_"+i);
            tempObj["rid"]= rid
            BikePlanner.elementi.push(tempObj);
            i++;
        }
    }
    var t1= document.getElementById(idrow);
    var ptable= t1.parentNode;
    var tempvar= Array();
    for(i=0; i<BikePlanner.elementi.length; i++) {
        if(BikePlanner.elementi[i]["el"]==t1) {
            if(i==0) {
                clearInterval(BikePlanner.controlTimeout[2]);
                BikePlanner.controlTimeout[2]=undefined;
                return false;
            }
            tempvar[0]= BikePlanner.elementi[i-1];
            BikePlanner.elementi[i-1]= BikePlanner.elementi[i];
            BikePlanner.elementi[i]= tempvar[0];
            break;
        }
    }
   // ptable.innerHTML="";
    for(i=0; i<BikePlanner.elementi.length; i++) {
        ptable.appendChild(BikePlanner.elementi[i]["el"]);
    }
    clearTimeout(BikePlanner.controlTimeout[0]);;
    BikePlanner.controlTimeout[0]= setTimeout("BikePlanner.saveOrder('"+uid+"')",2000);
}
BikePlanner.goFirst= function(idrow,myclick,uid) {
    clearInterval(BikePlanner.controlTimeout[2]); 
    BikePlanner.controlTimeout[2]= setInterval("BikePlanner.goUp('"+idrow+"','"+myclick+"','"+uid+"')",50);
}
BikePlanner.goLast= function(idrow,myclick,uid) {
    clearInterval(BikePlanner.controlTimeout[2]); 
    BikePlanner.controlTimeout[2]= setInterval("BikePlanner.goDown('"+idrow+"','"+myclick+"','"+uid+"')",50);
}
BikePlanner.goDown= function(idrow,myclick,uid) {
    var spd= idrow.split("_");
    if(!BikePlanner.elementi) {
        BikePlanner.elementi= Array();
        var i=1;
        var rid= "";
        var tempObj= new Object();
        while(document.getElementById(spd[0]+"_"+i)) {
            rid= document.getElementById(spd[0]+"_"+i).getElementsByTagName("input")[0].value;
            tempObj= new Object();
            tempObj["el"]= document.getElementById(spd[0]+"_"+i);
            tempObj["rid"]= rid
            BikePlanner.elementi.push(tempObj);
            i++;
        }
    }
    var t1= document.getElementById(idrow);
    var ptable= t1.parentNode;
    var tempvar= Array();
    for(i=0; i<BikePlanner.elementi.length; i++) {
        if(BikePlanner.elementi[i]["el"]==t1) {
            if(i==BikePlanner.elementi.length-1) {
                clearInterval(BikePlanner.controlTimeout[2]);
                BikePlanner.controlTimeout[2]=undefined;
                 return false;
            }
            tempvar[0]= BikePlanner.elementi[i+1];
            BikePlanner.elementi[i+1]= BikePlanner.elementi[i];
            BikePlanner.elementi[i]= tempvar[0];
            break;
        }
    }
   // ptable.innerHTML="";
    for(i=0; i<BikePlanner.elementi.length; i++) {
        ptable.appendChild(BikePlanner.elementi[i]["el"]);
    }
    clearTimeout(BikePlanner.controlTimeout[0]);
    BikePlanner.controlTimeout[0]= setTimeout("BikePlanner.saveOrder('"+uid+"')",2000);
}
BikePlanner.saveOrder= function(uid) {
    var temparr= new Array();
    for(var i=0; i<BikePlanner.elementi.length; i++) {
        temparr.push(BikePlanner.elementi[i]["rid"]);        
    }
    var postBodyVars= "Function=Suitcase&method=setOrder&view="+PID+"&type=BikePlanner&Language="+Lng+"&uid="+uid+"&ElementsArray="+temparr.join(",");
    new Ajax.Request('../xml/XMLInterface.phtml?'+postBodyVars, {
      method: 'get',
      onSuccess: function(transport) {
        var Challenge = transport.responseXML;
        if(Challenge.getElementsByTagName("State")[0].firstChild.nodeValue=="Success") {
            BikePlanner.doLeftList(Challenge.getElementsByTagName("currentGroup")[0].firstChild.nodeValue);
        }
      },
      onFailure: function(request) {
        alert("Error: Please retry later");
      }
    }
    );   
}
BikePlanner.deleteElements= function(a,uid) {
    var arr= Array();
    if(typeof(a)=='object')  {
        if(a.checked) {
           if(a.checked) {
                arr.push(a.value);
            } 
        } else {
            for(var i=0; i<a.length; i++) {
                if(a[i].checked) {
                    arr.push(a[i].value);
                }
            }
        }
    }else {
        alert("Error! Please try later");
        return false;
    }
    
    if(arr.length==0) {
        clearInterval(BikePlanner.controlTimeout[1]);
        alert("Nessun elemento selezionato");
        BikePlanner.controlTimeout[1]= setInterval("BikePlanner.lampeggia('BikePlannerBigArrow',1)",500);
        return false;
    }
    if(!confirm("Sicuro di voler cancellare gli elementi selezionati?")) return false;
    var postBodyVars= "Function=Suitcase&method=delete&view="+PID+"&type=BikePlanner&Language="+Lng+"&uid="+uid+"&ElementRID="+arr.join(",");
    new Ajax.Request('../xml/XMLInterface.phtml?'+postBodyVars, {
      method: 'get',
      onSuccess: function(transport) {
        var Challenge = transport.responseXML;
        if(Challenge.getElementsByTagName("State")[0].firstChild.nodeValue=="Success") {
            self.location.reload();
        }
      },
      onFailure: function(request) {
        alert("Error: Please retry later");
      }
    }
    ); 
}
BikePlanner.moveInGroup= function(eridoption,namegroup,me,uid) {
    var temparr= Array();
    if(!eridoption.checked) {
        for(var i=0; i<eridoption.length; i++) {
            if(eridoption[i].checked) {
                temparr.push(eridoption[i].value);
            } 
        }
    }else {
    
        temparr.push(eridoption.value);
    }
    if(temparr.length==0) {
        alert("Nessun elemento selezionato");
        me.selectedIndex=0;
        return false;    
    }
    if(namegroup=="myNewGroup") {
        namegroup= prompt("Scegli il nome del gruppo","");
        if(!namegroup) {
            me.selectedIndex=0;
            return false;
        }
    }
    
    var postBodyVars= "Function=Suitcase&method=moveInGroup&view="+PID+"&type=BikePlanner&Language="+Lng+"&group="+encodeURIComponent(namegroup)+"&uid="+uid+"&ElementsArray="+temparr.join(",");
    new Ajax.Request('../xml/XMLInterface.phtml?'+postBodyVars, {
      method: 'get',
      onSuccess: function(transport) {
        var Challenge = transport.responseXML;
        if(Challenge.getElementsByTagName("State")[0].firstChild.nodeValue=="Success") {
            self.location.reload();
        }
      },
      onFailure: function(request) {
        alert("Error: Please retry later");
      }
    }
    );  
}
BikePlanner.printElements= function(a,uid) {
    var arr= Array();
    if(typeof(a)=='object')  {
        if(a.checked) {
           if(a.checked) {
                arr.push(a.value);
            } 
        } else {
            for(var i=0; i<a.length; i++) {
                if(a[i].checked) {
                    arr.push(a[i].value);
                }
            }
        }
    }else {
        alert("Error! Please try later");
        return false;
    }
    
    if(arr.length==0) {
        clearInterval(BikePlanner.controlTimeout[1]);
        if(confirm("Nessun elemento selezionato. Procedere con la stampa di tutti gli elementi?")) {
            for(var i=0; i<a.length; i++) {
                arr.push(a[i].value);
            }
            if(!a.length) arr.push(a.value);    
        }else {
            BikePlanner.controlTimeout[1]= setInterval("BikePlanner.lampeggia('BikePlannerBigArrow',1)",500);
            return false;
        }
    }
    var postBodyVars= "Function=Suitcase&method=print&view="+PID+"&type=BikePlanner&Language="+Lng+"&uid="+uid+"&ElementRID="+arr.join(",");
    new Ajax.Request('../xml/XMLInterface.phtml?'+postBodyVars, {
      method: 'get',
      onSuccess: function(transport) {
        var Challenge = transport.responseXML;
        if(Challenge.getElementsByTagName("State")[0].firstChild.nodeValue=="Success") {
            var datasource= Challenge.getElementsByTagName("datasource")[0].firstChild.nodeValue;
            var schema= Challenge.getElementsByTagName("schema")[0].firstChild.nodeValue;
            var report= Challenge.getElementsByTagName("report")[0].firstChild.nodeValue;
            window.open("http://www.dmsiv.it:81/TicReporter/TicReporter.aspx?datasource="+datasource+"&schema="+schema+"&report="+report);
        }
      },
      onFailure: function(request) {
        alert("Error: Please retry later");
      }
    }
    ); 
}
BikePlanner.selDesAll= function(rel,el) {
  if (el) {
    var onoff= rel.checked;
    if(el["checked"]== undefined) {
        for(var i=0; i<el.length; i++) {
            el[i].checked= onoff;
        }
    } else {
        el.checked= onoff;
    }
  }
}
BikePlanner.printBikeElement= function(type,rid) {
    var postBodyVars= "Function=Suitcase&method=printElement&view="+PID+"&type=BikePlanner&Language="+Lng+"&ElementType="+type+"&ElementRID="+rid+"";
    new Ajax.Request('../xml/XMLInterface.phtml?'+postBodyVars, {
      method: 'get',
      onSuccess: function(transport) {
        var Challenge = transport.responseXML;
        if(Challenge.getElementsByTagName("State")[0].firstChild.nodeValue=="Success") {
            var datasource= Challenge.getElementsByTagName("datasource")[0].firstChild.nodeValue;
            var schema= Challenge.getElementsByTagName("schema")[0].firstChild.nodeValue;
            var report= Challenge.getElementsByTagName("report")[0].firstChild.nodeValue;
            window.open("http://www.dmsiv.it:81/TicReporter/TicReporter.aspx?datasource="+datasource+"&schema="+schema+"&report="+report);
        }
      },
      onFailure: function(request) {
        alert("Error: Please retry later");
      }
    }
    ); 
}
