var the_size;

function generator_loadbar(switcher)
{
    if(switcher > 0)
    {
        document.getElementById('generator_loadbar').style.visibility = 'visible';
    }
    else
    {
        document.getElementById('generator_loadbar').style.visibility = 'hidden';
    }
}

function generator_reload(ajaxRequest)
{
    if(ajaxRequest == undefined)
    {
        generator_loadbar(1);
        ajaxSend('get', 'generator/index.php', '', generator_reload);
    }
    else
    {
        display(ajaxRequest.responseText, 'livecontent');
        generator_loadbar(0);
    }
}

function generator_viewRSS(ajaxRequest)
{
    if(!ajaxRequest.responseText)
    {
        if(ajaxRequest != 0) generator_rss_adding(0);
        generator_loadbar(1);
        ajaxSend('post', 'generator/viewRSS.php', 'gpid='+ajaxRequest, generator_viewRSS);
    }
    else
    {
        response = ajaxRequest.responseText;
        document.getElementById('generator_rssinfo').innerHTML = response;
        document.getElementById('generator_whitematter').style.display = 'none';
        document.getElementById('generator_episodes').innerHTML = '';
        document.getElementById('generator_episodeinfo').innerHTML = '';
        generator_loadbar(0);
    }
}

function generator_viewEpisode(ajaxRequest)
{
    if(!ajaxRequest.responseText)
    {
        generator_loadbar(1);
        ajaxSend('post', 'generator/viewEpisode.php', 'eid='+ajaxRequest, generator_viewEpisode);
    }
    else
    {
        response = ajaxRequest.responseText;
        document.getElementById('generator_episodeinfo').innerHTML = response;
        generator_get_size(undefined, document.getElementById('generator_input_episode_enclosure').value);
        generator_loadbar(0);
    }
}

function generator_view_episodes(ajaxRequest)
{
    if(ajaxRequest == undefined)
    {
        generator_loadbar(1);
        gpid = document.getElementById('generator_gpid').value;
        ajaxSend('post', 'generator/view_episodes.php', 'gpid='+gpid, generator_view_episodes);
    }
    else
    {
        response = ajaxRequest.responseText;
        document.getElementById('generator_episodes').innerHTML = response;
        generator_loadbar(0);
    }
}

function print_r(theObj){
  if(theObj.constructor == Array ||
     theObj.constructor == Object){
    document.write("<ul>")
    for(var p in theObj){
      if(theObj[p].constructor == Array||
         theObj[p].constructor == Object){
document.write("<li>["+p+"] => "+typeof(theObj)+"</li>");
        document.write("<ul>")
        print_r(theObj[p]);
        document.write("</ul>")
      } else {
document.write("<li>["+p+"] => "+theObj[p]+"</li>");
      }
    }
    document.write("</ul>")
  }
}

function generator_update(id, switcher)
{
    document.getElementsByTagName('body')[0].focus();
    print_r(id);
    if(!id.responseText)
    {
      if(switcher == 1 || switcher == undefined)
      {
          id_element = document.getElementById('generator_'+id);
          if(id == 'rss_description')
          {
              input = '<textarea id="generator_input_'+id+'" class="generator_textarea_rss" onblur="generator_update(\''+id+'\', 0)"/>'+id_element.innerHTML+'</textarea>';
              id_element.innerHTML = input;
              if(!document.getElementById('generator_rss_image')) document.getElementById('generator_input_'+id).style.width = '100%';
          }
          else if(id == 'episode_description')
          {
              input = '<textarea id="generator_input_'+id+'" class="generator_textarea_episode" onblur="generator_update(\''+id+'\', 0)"/>'+id_element.innerHTML+'</textarea>';
              id_element.innerHTML = input;
          }
          else if(id == 'rss_image')
          {
              document.getElementById('generator_'+id+'_upload').style.display = 'block';
          }
          else if(id == 'episode_podcast')
          {
              document.getElementById('generator_'+id+'_floater').style.display = 'block';
          }
          else
          {
              try { input = '<input type="text" value="'+id_element.innerHTML+'" id="generator_input_'+id+'" class="generator_input" onblur="generator_update(\''+id+'\', 0)"/>';
              id_element.innerHTML = input; } catch(e) { }
          }
          try { document.getElementById('generator_input_'+id).focus(); } catch(e) { }
      }
      else
      {
          try { value = document.getElementById('generator_input_'+id).value; error = undefined } catch(e) { try { value = document.getElementById('generator_'+id).innerHTML; error = 'owszem' } catch(e) { } }
          if(id == 'rss_image')
          {
              if(document.getElementById('generator_'+id))
              {
                  document.getElementById('generator_'+id).src = value;
              }
              else
              {
                  document.getElementById('generator_rss_blank_image_div').innerHTML = '<img src="'+value+'" alt="" id="generator_rss_image"/>';
              }
              if(value == '')
              {
                  document.getElementById('generator_rss_blank_image_div').innerHTML = '';
              }
              document.getElementById('generator_'+id+'_upload').style.display = 'none';
          }
          else if(id == 'episode_podcast')
          {
              enclosure = document.getElementById('generator_input_episode_enclosure').value;
              document.getElementById('generator_episode_enclosure').innerHTML = '<a href="'+enclosure+'" target="_blank"><img src="generator/images/icon-podcast.png" alt="podkast" style="margin-bottom: -2px"/> &nbsp;'+enclosure;
              document.getElementById('generator_episode_size').innerHTML = the_size;
              document.getElementById('generator_'+id+'_floater').style.display = 'none';
          }
          else
          {
              if(error == undefined) document.getElementById('generator_'+id).innerHTML = value;
          }
          if(!document.getElementById('generator_eid')) eid = 0;
          else eid = document.getElementById('generator_eid').value;
          if(id == 'episode_podcast') ajaxSend('post', 'generator/update.php', 'id=episode_podcast&enclosure='+enclosure+'&gpid='+document.getElementById('generator_gpid').value+'&eid='+eid+'&mode=normal', generator_update);
          else ajaxSend('post', 'generator/update.php', 'id='+id+'&value='+value+'&gpid='+document.getElementById('generator_gpid').value+'&eid='+eid+'&mode=normal', generator_update);
      }
    }
    else alert(id.responseText);
}

function generator_delete_episode(ajaxRequest)
{
    if(ajaxRequest == undefined)
    {
        if(confirm("Kliknij OK, aby usunąć wybrany epizod.")) ajaxSend('post', 'generator/delete.php', 'gpid='+document.getElementById('generator_gpid').value+'&eid='+document.getElementById('generator_eid').value, generator_delete_episode);
    }
    else
    {
        generator_view_episodes();
        document.getElementById('generator_episodeinfo').innerHTML = '';
    }
}

function generator_delete_rss(ajaxRequest)
{
    if(ajaxRequest == undefined)
    {
        if(confirm("Kliknij OK, aby usunąć wybrany podkast.")) ajaxSend('post', 'generator/delete.php', 'gpid='+document.getElementById('generator_gpid').value, generator_delete_rss);
    }
    else
    {
        generator_reload();
    }
}

function generator_new(type)
{
    if(!type.responseText)
    {
        if(type == 'episode')
        {
            if(document.getElementById('generator_eid').value == 0)
            {
                title = document.getElementById('generator_input_episode_title').value;
                link = document.getElementById('generator_input_episode_link').value;
                date = document.getElementById('generator_input_episode_date').value;
                description = document.getElementById('generator_input_episode_description').value;
                enclosure = document.getElementById('generator_input_episode_enclosure').value;
                gpid = document.getElementById('generator_gpid').value;
                ajaxSend('post', 'generator/new.php', 'title='+title+'&link='+link+'&date='+date+'&description='+description+'&enclosure='+enclosure+'&type=episode&gpid='+gpid, generator_new);
            }
        }
        else
        {
            if(document.getElementById('generator_gpid').value == 0)
            {
                title = document.getElementById('generator_input_rss_title').value;
                link = document.getElementById('generator_input_rss_link').value;
                description = document.getElementById('generator_input_rss_description').value;
                image = document.getElementById('generator_input_rss_image').innerHTML;
                ajaxSend('post', 'generator/new.php', 'title='+title+'&link='+link+'&description='+description+'&image='+image+'&type=rss', generator_new);
            }
        }
    }
    else
    {
        if(type.responseText == 'oke')
        {
            generator_view_episodes();
            document.getElementById('generator_episodeinfo').innerHTML = '';
        }
        else if(type.responseText == 'okr')
        {
            generator_reload();
        }
        else
        {
            alert(type.responseText);
        }
    }
}

function generator_rss_adding(switcher)
{
    if(switcher == 1)
    {
        document.getElementById('generator_actions').innerHTML = '<div id="generator_whitematter"></div>'
        +'<div onclick="generator_update(\'rss_image\')">'
        +'  <img src="generator/images/actions-image_change.png" alt=""/>'
        +'  <span>Obrazek</span>'
        +'</div>'
        +'<div onclick="generator_new(\'rss\')">'
        +'  <img src="generator/images/actions-title_change.png" alt=""/>'
        +'  <span>Zapisz</span>'
        +'</div>';
    }
    else
    {
        document.getElementById('generator_actions').innerHTML = "<div id=\"generator_whitematter\"></div>"
        +"<div onclick=\"generator_view_episodes()\">"
        +"  <img src=\"generator/images/actions-view.png\" alt=\"\"/>"
        +"  <span>Epizody</span>"
        +"</div>"
        +"<div onclick=\"generator_update('rss_title')\">"
        +"  <img src=\"generator/images/actions-title_change.png\" alt=\"\"/>"
        +"  <span>Tytuł</span>"
        +"</div>"
        +"<div onclick=\"generator_update('rss_link')\">"
        +"  <img src=\"generator/images/actions-link_change.png\" alt=\"\"/>"
        +"  <span>Adres</span>"
        +"</div>"
        +"<div onclick=\"generator_update('rss_description')\">"
        +"  <img src=\"generator/images/actions-description_change.png\" alt=\"\"/>"
        +"  <span>Opis</span>"
        +"</div>"
        +"<div onclick=\"generator_update('rss_image')\">"
        +"  <img src=\"generator/images/actions-image_change.png\" alt=\"\"/>"
        +"  <span>Obrazek</span>"
        +"</div>"
        +"<div onclick=\"generator_delete_rss()\">"
        +"  <img src=\"generator/images/actions-delete.png\" alt=\"\"/>"
        +"  <span>Usuń</span>"
        +"</div>";
    }
}

function generator_flash()
{
    document.getElementById('generator_flashing_podcast').src = 'generator/images/actions-podcast_change.png';
    document.getElementById('generator_flashing_save').src = 'generator/images/actions-save.gif';
}

function generator_get_size(ajaxRequest, file_wget_url)
{
    if(ajaxRequest == undefined)
    {
        if(file_wget_url == undefined) file_tget_url = document.getElementById('generator_input_episode_enclosure').value;
        else file_tget_url = file_wget_url;
        ajaxSend('post', 'generator/get_filesize.php', 'file_tget_url='+file_tget_url, generator_get_size);
    }
    else
    {
        the_size = Math.ceil(ajaxRequest.responseText / 1024 / 1024);
        document.getElementById('generator_episode_size').innerHTML = the_size;
    }
}

function generator_ID3(ajaxRequest)
{
    if(ajaxRequest == undefined)
    {
        if(document.getElementById('generator_eid').value != 0)
        {
          if(confirm('Czy na pewno chcesz nadpisać dane?')) {
            generator_loadbar(1);
            file_tget_url = document.getElementById('generator_input_episode_enclosure').value;
            document.getElementById('generator_episode_enclosure').innerHTML = file_tget_url;
            ajaxSend('post', 'generator/getID3Tags.php', 'podcast_url='+file_tget_url, generator_ID3);
          }
        }
        else
        {
            generator_loadbar(1);
            file_tget_url = document.getElementById('generator_input_episode_enclosure').value;
            document.getElementById('generator_episode_enclosure').innerHTML = file_tget_url;
            ajaxSend('post', 'generator/getID3Tags.php', 'podcast_url='+file_tget_url, generator_ID3);
        }
    }
    else
    {
        response = ajaxRequest.responseText.split('!@#$%^&*');
        try {
          document.getElementById('generator_input_episode_title').value = response[0];
          document.getElementById('generator_input_episode_link').value = response[1];
          document.getElementById('generator_input_episode_description').value = response[2];
          error = undefined;
        } catch(e) {
          error = 'fail';
          document.getElementById('generator_episode_title').innerHTML = response[0];
          document.getElementById('generator_episode_link').innerHTML = response[1];
          document.getElementById('generator_episode_description').innerHTML = response[2];
        }
        document.getElementById('generator_episode_size').value = response[3];
        document.getElementById('generator_episode_podcast_floater').style.display = 'none';
        if(error != undefined) generator_save_changes();
        generator_loadbar(0);
    }
}

function generator_save_changes()
{
    generator_update('episode_title', 5);
    generator_update('episode_link', 5);
    generator_update('episode_date', 5);
    generator_update('episode_description', 5);
    generator_update('episode_enclosure', 5);
    generator_update('episode_size', 5);
}
