var JSONobjList

function FS_init(){
//Set_Cookie( 'torrentsStatsVisibility', 'false', 365, '/', '', '' );
  if(Get_Cookie('vu') != null){
    Faucet.getAuthorizationCode(Get_Cookie('vu'),Get_Cookie('vp'))
    var recordlist = Faucet.getRecordingsList()
    if(recordlist == 'Unauthorized') {
      alert('Dati di login errati')
      return
    }
    if($('FS-login-box'))
      $('FS-login-box').style.display='none';
    if(recordlist!="null"){
      //recordlist = recordlist.substring(1,recordlist.length-1)
      JSONobjList = recordlist.evalJSON()
      $('faucet-user').innerHTML="Utente: "+Get_Cookie('vu');
      var output = "";
      for(var i=0; i<JSONobjList.length;i++){
        output += "<div id='"+JSONobjList[i].id_rec+"' class='faucet-entry'>"
          output += "<div class='colonna' style='width: 300px; margin-left: 10px; text-align: left'>"+FS_insertImages(JSONobjList[i].title, JSONobjList[i].channel)+"</div>"
          output += "<div class='colonna' style='width: 120px; margin-left: 320px'>"+FS_formatDate(JSONobjList[i].from_time)+"</div>"
          output += "<div class='colonna' style='width: 120px; margin-left: 430px'>"+FS_formatDate(JSONobjList[i].to_time,true)+"</div>"
          output += "<div class='colonna' style='width: 20px; margin-left: 530px; cursor: pointer;' onclick=\"Faucet.deleteRecordItem("+JSONobjList[i].id_rec+"); FS_init()\";><em title='Rimuovi' class='faucet-delete'></em></div>"
        output += "</div>"
      }
      $('recordings-list').innerHTML=output
    }
    else{
      $('recordings-list').innerHTML="Lista vuota"
    }
    
    FS_getRegistrazioni()
    FS_elementsList()
    // rimuovo gli avvisi su come registrarsi
    //$('faucetDiv').removeChild($('faucetDiv').firstChild)
    //$('faucetDiv').removeChild($('faucetDiv').firstChild)
  }
  else{
    if($('FS-login-box'))
      $('FS-login-box').style.display='block';
  }
}

function FS_getRegistrazioni(){
      new Ajax.Request("faucet_get_registrazioni.php", {
          method:       'get', 
          parameters:   '',
          asynchronous: true,
          onComplete:   function(transport){
                          var JSONarr = transport.responseText.evalJSON()
                          var output = '';
                          var skip = false;
                            for(var i=0; i<JSONarr.length;i++){
                              if(isDefined(JSONobjList)){
                                for(var o=0; o<JSONobjList.length;o++){
                                  $('strings').innerHTML = JSONarr[i].title
                                  var title = $('strings').innerHTML
                                  if(title==JSONobjList[o].title) { skip = true; continue; }
                                }
                              }
                              if(!skip){
                                output += "<div id='"+JSONarr[i].id_rec+"' class='faucet-entry'>"
                                  output += "<div class='colonna' style='width: 300px; margin-left: 10px; text-align: left'>"+FS_insertImages(JSONarr[i].title, JSONarr[i].ch_name)+"</div>"
                                  output += "<div class='colonna' style='width: 120px; margin-left: 320px'>"+FS_formatDate(JSONarr[i].from_time)+"</div>"
                                  output += "<div class='colonna' style='width: 120px; margin-left: 430px'>"+FS_formatDate(JSONarr[i].to_time,true)+"</div>"
                                  output += "<div class='colonna' style='width: 20px; margin-left: 530px; cursor: pointer;' onclick=\"FS_addRecordItem('"+FS_getRecordingDate(JSONarr[i].from_time)+"','"+JSONarr[i].ch_name+"','"+FS_getRecordingDate(JSONarr[i].to_time)+"','"+JSONarr[i].ch_type+"','"+JSONarr[i].retention+"','"+JSONarr[i].repeat+"','"+JSONarr[i].format+"','"+JSONarr[i].title+"'); FS_init()\";><em title='Registra' class='faucet-record'></em></div>"
                                output += "</div>"
                              }
                              skip = false
                            }
                            $('available-recordings-list').innerHTML=output
                            },
          onFailure: function(transport) { setTimeout("FS_getRegistrazioni()",2000) }
      });
    }
    
function FS_elementsList(){
  var JSONurl = Faucet.getRssURL()
  var url = JSONurl.evalJSON().feed_url
  var response = Faucet.forwardDataToProxy("req=links&url="+url)
  var arr = response.split("\n")
  var line = ''
  for(var i=0; i<arr.length; i++){
    if(arr[i].indexOf("Location") != -1){
      line = arr[i]
      break
    }
  }
  var url = line.split(" ")[1]
  var rssResponse = Faucet.forwardDataToProxy("req=links&url="+url).split("\n")
  var boolean = 0
  var rss = ''
  for(var i=0; i<rssResponse.length; i++){
    if(rssResponse[i].charAt(0)==" ") boolean = 1
    if(boolean){
      rss +=  rssResponse[i-1]+"\n"
    }
  }
  if (window.ActiveXObject)
  { //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async="false";
    xmlDoc.loadXML(rss);
  }
  else if (window.XMLHttpRequest) 
  { // if Mozilla, Safari etc
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(rss,"text/xml");
  }
  var items = xmlDoc.getElementsByTagName('item')
  var output = ''
  for (var i = 0 ; i < items.length ; i++) {
    var item = items[i]
    //alert(item.getElementsByTagName('guid')[0])
    //output += "<a href=\""+item.getElementsByTagName('guid')[0].firstChild.nodeValue+"\" target=\"_blank\" class=\"comm_text\">"
    output += "<a href=\"http://www.vcast.it/faucetpvr/\" target=\"_blank\" class=\"comm_text\">"
    output += item.getElementsByTagName('title')[0].firstChild.nodeValue
    output += "</a><br>"
  }
  var div = document.createElement('div')
  div.setAttribute("id","registrazioni-utente")
  if(output != ''){
    var html = "<div style=\"padding: 1px; width: 130; background-color: #E8E8E8 ;\">"
      html += "<div style=\"padding: 5px; border: 1px solid #989898 ; background-color: white;\">Le tue registrazioni</div>"
    html += "</div>"
    div.innerHTML = html+output
    //$('available-recordings-list').removeChild($('available-recordings-list').firstChild)
    $('available-recordings-list').appendChild(div)

  }
              
}
  
function FS_addRecordItem(from_time, ch_name, to_time, ch_type, retention, repeat, format, title){
  Faucet.setRecordItem(from_time, ch_name, to_time, ch_type, retention, repeat, format, title)
}
    
function FS_modifyAction(el,id_rec){
  var oldAct = el.innerHTML
  if(oldAct == "Registra"){
    el.innerHTML = "Rimuovi"
    el.setAttribute("onclick","Faucet.deleteRecordItem("+id_rec+"); var el = $('"+id_rec+"'); el.parentNode.removeChild(el); FS_getRegistrazioni()")
  }
}
    
function FS_login(user,pass){
  Faucet.getAuthorizationCode(user,pass)
    var recordlist = Faucet.getRecordingsList()
    if(recordlist == 'Unauthorized') {
      alert('Dati di login errati')
      return
    }
  Set_Cookie( 'vu', user, 365, '/', '', '' );
  Set_Cookie( 'vp', pass, 365, '/', '', '' );
  FS_init();
}
  
function FS_formatDate(datatime,onlyTime){
  var year = datatime.split("-")[0]
  var month = datatime.split("-")[1]
  var day = datatime.split("-")[2].split(" ")[0]
  var time = datatime.split(" ")[1]
  
  var monthName = FS_getMonthName(month)

  date =  new Date(monthName+' '+day+', '+year+' '+time);
  
  myDays= ["Domenica","Luned&igrave;","Marted&igrave;","Mercoled&igrave;","Gioved&igrave;","Venerd&igrave;","Sabato","Domenica"]

  if(onlyTime)
    return time
  else
    return myDays[date.getDay()]+" "+time
  
}
  
function FS_getRecordingDate(datatime){
  var year = datatime.split("-")[0]
  var month = datatime.split("-")[1]
  var day = datatime.split("-")[2].split(" ")[0]
  var time = datatime.split(" ")[1]
  
  var monthName = FS_getMonthName(month)

  date =  new Date(monthName+' '+day+', '+year+' '+time);
  
  var myDays= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]

  var regWeekDay = date.getDay();
  var regMonthDay = date.getDate();
  
  var currentWeekDay = new Date().getDay();
  var currentMonthDay = new Date().getDate();
  
  var finalWeekDay
  if(currentWeekDay > regWeekDay) {
    // prendo lo stesso giorno della prossima settimana
    finalMonthDay = currentMonthDay - (currentWeekDay - regWeekDay) +7;
  }
  else{
    if((currentWeekDay == regWeekDay) && new Date().getUTCHours() > parseInt(time.split(":")[0])){
    	toLog(new Date().getUTCHours() +" > "+ parseInt(time.split(":")[0]));
      finalMonthDay = currentMonthDay - (currentWeekDay - regWeekDay) +7;
    }
    else{
      finalMonthDay = regWeekDay - currentWeekDay + currentMonthDay;
    }
  }
  
  finalDate = new Date()
  finalDate.setDate(finalMonthDay)
  
  //finalDate.setTime(date.getTime())
  var finalDay = finalDate.getDate()
  if(finalDay < 10) finalDay = "0"+finalDay
  
  var finalMonth = finalDate.getMonth()+1
  if(finalMonth < 10) finalMonth = "0"+finalMonth
  
  return finalDate.getYear()+1900+"-"+finalMonth+"-"+finalDay+" "+time
  
  
}
  
function FS_getMonthName(month){
  var monthName = ''
  switch(month)
  {
  case '01': monthName = 'January'; break;
  case '02': monthName = 'February'; break;
  case '03': monthName = 'March'; break;
  case '04': monthName = 'April'; break;
  case '05': monthName = 'May'; break;
  case '06': monthName = 'June'; break;
  case '07': monthName = 'July'; break;
  case '08': monthName = 'July'; break;
  case '09': monthName = 'September'; break;
  case '10': monthName = 'October'; break;
  case '11': monthName = 'November'; break;
  case '12': monthName = 'December'; break;
  }
  
  return monthName
}
  
function FS_insertImages(title, channel){
    title = "<img src='images/canali_faucet/"+channel+".jpg'> <span style='vertical-align: top'>"+title+"</span>"
    return title
}


function FS_segnalazione(){
  var grayb = document.getElementById("richiesta");
  var content = "<div class=\"maskrichiesta\">"
      + "<div class=\"richiesta\">"
        + "<div class=\"headerrichiesta\">"
          + "<div class=\"titlerichiesta\">Segnalazione anime in TV</div>"
          + "<div id=\"closeButtonDiv\" onclick=\"hideRichiesta()\"></div>"
        + "</div>"
        + "<div class=\"containerrichiesta\">"
        + "<form onSubmit=\"return FS_checkSegnalazioneParams();\" action=\"#\" method=\"GET\">"
        if(Get_Cookie('sitoUser')!=null){
          content += "<div class=\"riga\">"
                        + "<span class=\"what\">Utente:</span>"
                        + "<label>"+Get_Cookie('sitoUser')+"</label>"
                        + "<span class=\"monitor\"></span>"
                      + "</div>"
        }
content  += "<div class=\"riga\">"
            + "<span class=\"what\">Titolo Anime:</span>"
            + "<input type=\"text\" id=\"animeTV\" class=\"input\" name=\"animeTV\">"
            + "<span class=\"monitor\"></span>"
          + "</div>"
          + "<div class=\"riga\">"
            + "<span class=\"what\">Canale TV:</span>"
            + "<input type=\"text\" id=\"canaleTV\" class=\"input\" name=\"canaleTV\">"
            + "<span class=\"monitor\"></span>"
          + "</div>"
          + "<div class=\"riga\">"
            + "<span class=\"what\">Orario:</span>"
            + "<input type=\"text\" id=\"orarioTV\" class=\"input\" name=\"orarioTV\">"
            + "<span class=\"monitor\"></span>"
          + "</div>"
          + "<div class=\"riga\">"
            + "<div id='segnalazione_error' style=\"padding: 3px; text-align: center\"></div>"
          + "</div>"
          + "<div class=\"riga\">"
              + "<div class=\"form-controlls-div\">"
                + "<input type=\"reset\" value=\"Azzera\">"
                + "<input type=\"submit\" value=\"Invia\">"
              + "</div>"
          + "</div>"
        + "</form>"
      + "</div>";
      + "</div>";
    + "</div>";       
    grayb.innerHTML=content
    $('richiesta').style.visibility="visible"
    $('richiesta').appear()        

}
    
    // segnalazione evento TV da registrare
    function FS_checkSegnalazioneParams(){
      var anime = document.getElementById("animeTV");
      var canale = document.getElementById("canaleTV");
      var orario = document.getElementById("orarioTV");

      if(anime.value==""||anime.value==null){
        anime.focus();
        anime.style.borderColor= "red";
        return false
      }
      else if(canale.value==""||canale.value==null){
        canale.focus();
        canale.style.borderColor= "red";
        return false
      }
      else if(orario.value==""||orario.value==null){
        orario.focus();
        orario.style.borderColor= "red";
        return false
      }
      var result = FS_inviaMailSegnalazione()
      if(result == "mailFalse"){
        $('segnalazione_error').style.color="red"
        $('segnalazione_error').innerHTML="Mail non valida"
        email.focus();
        email.select();
        email.style.borderColor= "red";
        return false
      }
      else if(result!="true"){
        $('segnalazione_error').style.color="red"
        $('segnalazione_error').innerHTML="Il server non &egrave; riuscito a creare un collegamento con la mail del webmaster.<br> Inviare una mail a: webmaster@subitanime.it con tutti i dati.<br> Scusate l'inconveniente.<br>Grazie."
      }
      else if(result=="true"){
        $('segnalazione_error').style.color="green"
        $('segnalazione_error').innerHTML="Grazie, per la segnalazione :)"
        setTimeout("hideRichiesta()",3000)
      }
      return false
    }
    function FS_inviaMailSegnalazione(){
      var canale = document.getElementById("canaleTV").value;
      var orario = document.getElementById("orarioTV").value;
      var anime = document.getElementById("animeTV").value;
      var utente = ""
      if(Get_Cookie('sitoUser')!=null)
        utente = Get_Cookie('sitoUser');
      var variabili="faucet=true&canaleTV="+canale+"&orario="+orario+"&anime="+anime+"&utente="+utente

      var response = request('sendmail.php',variabili)
      return response
    }
    
    function isDefined(variable){
      return (typeof(window[variable]) == "undefined")?  true: false;
    }

    
    