// the base of the code was written by Ryan Masuga and released under a CC-License
// ryan masuga, masugadesign.com
// ryan@masugadesign.com 
// Licensed under a Creative Commons Attribution 3.0 License.
// http://creativecommons.org/licenses/by/3.0/

// minor changes and additions by Christian Zenker

// feel free to use and change this script under the terms of the above license

function ReportBrokenLink(idlink) {
  decision = confirm("Soll dieser Link wirklich als \"defekt\" gemeldet werden?");
  if (decision == true) {
    var theUL = document.getElementById('report'+idlink);
    theUL.innerHTML = '<span class="loading"></span>';
    
    xmlhttp.open('get', 'ajax/brokenlink.php?link='+idlink);
    xmlhttp.onreadystatechange = handleResponse;
    xmlhttp.send(null); 
  }
}

function RateBand(idband,myvote) {
  var theUL = document.getElementById('ratingband');
  theUL.innerHTML = '<span class="loading"></span>';
  
  xmlhttp.open('get', 'ajax/rateband.php?band='+idband+'&v='+myvote);
  xmlhttp.onreadystatechange = handleResponse;
  xmlhttp.send(null); 
}

function RateTape(idmix,myvote) {
  var theUL = document.getElementById('ratingband');
  theUL.innerHTML = '<span class="loading"></span>';
  
  xmlhttp.open('get', 'ajax/ratetape.php?mix='+idmix+'&v='+myvote);
  xmlhttp.onreadystatechange = handleResponse;
  xmlhttp.send(null); 
}

function ReloadTracklist() {
  var theUL = document.getElementById('sampler_tracklist');
  if(theUL != null) {
    //theUL.innerHTML = '<span class="loading">Laden</span>';
    xmlhttp.open('get', 'ajax/showtracklist.php');
    xmlhttp.onreadystatechange = handleResponseShowTracklist;
    xmlhttp.send(null);
  } 
}


function handleResponseShowTracklist() {
  if(xmlhttp.readyState == 4){
    if (xmlhttp.status == 200){
      var response = xmlhttp.responseText;
      changeText('sampler_tracklist', response);
    }
  }
}

var xmlhttp
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  try {
    xmlhttp = new XMLHttpRequest();
  } catch (e) {
    xmlhttp=false
  }
}

function myXMLHttpRequest() {
  var xmlhttplocal;
  try {
    xmlhttplocal= new ActiveXObject("Msxml2.XMLHTTP")
  } catch (e) {
      try {
        xmlhttplocal= new ActiveXObject("Microsoft.XMLHTTP")
      } catch (E) {
          xmlhttplocal=false;
      }
  }

  if (!xmlhttplocal && typeof XMLHttpRequest!='undefined') {
    try {
      var xmlhttplocal = new XMLHttpRequest();
    } catch (e) {
      var xmlhttplocal=false;
      alert('couldn\'t create xmlhttp object');
    }
  }
  return(xmlhttplocal);
}



function handleResponse() {
  if(xmlhttp.readyState == 4){
    //alert(xmlhttp.status+'|'+xmlhttp.responseText);
    if (xmlhttp.status == 200){
      var response = xmlhttp.responseText;
      var update = new Array();
      
      if(response.indexOf('|') != -1) {
        update = response.split('|');
        changeText(update[0], update[1]);
      }
    }
  }else{
//     Debugging
//     var response = xmlhttp.responseText;
//     var update = new Array();
//     alert(xmlhttp.status+' '+response);
  }
}

function changeText( div2show, text ) {

  var IE = (document.all) ? 1 : 0;
  var DOM = 0; 
  if (parseInt(navigator.appVersion) >=5) {DOM=1};

  if (DOM) {
    var viewer = document.getElementById(div2show);
    viewer.innerHTML = text;
  }  else if(IE) {
    document.all[div2show].innerHTML = text;
  }
}

window.onload = ReloadTracklist;

