var onpage_global = '';

function changeCampaign1(str, pid, onpage) {
  xmlhttpCampaign1 = GetXmlHttpObject();
  onpage_global = onpage;

  if(xmlhttpCampaign1 == null) {
    alert("Browser does not support HTTP Request");
    return;
  }
  var url = "scripts/getcampaign.php";
  url = url + "?q=" + str;
  if(pid != null) url = url + "&pid=" + pid;
  url = url + "&onpage=" + onpage;
  url = url + "&sid=" + Math.random();
  xmlhttpCampaign1.onreadystatechange = stateChangedCampaign1;
  xmlhttpCampaign1.open("GET",url,true);
  xmlhttpCampaign1.send(null);
  return true;
}

function stateChangedCampaign1() {
  if(xmlhttpCampaign1.readyState == 4) {
    if (xmlhttpCampaign1.status == 200) {
      var xmldoc = xmlhttpCampaign1.responseXML.documentElement;
      if(xmldoc.tagName == "campaign") {
        var campaigns1div = document.getElementById('campaigns1div');
        if(campaigns1div) campaigns1div.innerHTML = xmldoc.firstChild.nodeValue;
        var campaigns2div = document.getElementById('campaigns2div');
        if(campaigns2div) campaigns2div.innerHTML = '';
        var campaigns2 = document.getElementById('campaigns2');
        if(campaigns2) changeCampaign2(campaigns2.options.item(campaigns2.selectedIndex).value, onpage_global);
      }
    } else {
      alert('There was a problem with the request.');
    }
  }
}

function changeCampaign2(str, onpage) {
  xmlhttpCampaign2 = GetXmlHttpObject();

  if(xmlhttpCampaign2 == null) {
    alert("Browser does not support HTTP Request");
    return;
  }
  var url = "scripts/getcampaign.php";
  url = url + "?q=" + str;
  url = url + "&onpage=" + onpage;
  url = url + "&sid=" + Math.random();
  xmlhttpCampaign2.onreadystatechange = stateChangedCampaign2;
  xmlhttpCampaign2.open("GET",url,true);
  xmlhttpCampaign2.send(null);
  return true;
}

function stateChangedCampaign2() {
  if(xmlhttpCampaign2.readyState == 4) {
    if (xmlhttpCampaign2.status == 200) {
      var xmldoc = xmlhttpCampaign2.responseXML.documentElement;
      if(xmldoc.tagName == "campaign") {
        var campaigns2div = document.getElementById('campaigns2div');
        if(campaigns2div) campaigns2div.innerHTML = xmldoc.firstChild.nodeValue;
      }
    } else {
      alert('There was a problem with the request.');
    }
  }
}

function changeCard(fid) {
  xmlhttpCard = GetXmlHttpObject();
  if(xmlhttpCard == null) {
    alert("Browser does not support HTTP Request");
    return;
  }
  var url = "scripts/getcard.php";
  url = url + "?q=" + fid;
  url = url + "&sid=" + Math.random();
  xmlhttpCard.onreadystatechange = stateChangedCard;
  xmlhttpCard.open("GET",url,true);
  xmlhttpCard.send(null);
  return true;
}

function stateChangedCard() {
  if(xmlhttpCard.readyState == 4) {
    if (xmlhttpCard.status == 200) {
      var xmldoc = xmlhttpCard.responseXML.documentElement;
      if(xmldoc.tagName == "cardinfo") {
        document.getElementById('card_info_table').innerHTML = xmldoc.firstChild.nodeValue;

        // clipboard button
        var clip = new ZeroClipboard.Client();
        clip.addEventListener( 'mouseDown', function(client) { 
          clip.setText(tableToText(document.getElementById('card_table_itself')));
        } );
        clip.glue( 'd_clip_button' );
	    }
    } else {
      alert('There was a problem with the request.');
    }
  }
}

function changeDesc(str) {
  xmlhttpDesc = GetXmlHttpObject();
  if(xmlhttpDesc == null) {
    alert("Browser does not support HTTP Request");
    return;
  }
  var url = "scripts/getdesc.php";
  url = url + "?q=" + str;
  url = url + "&sid=" + Math.random();
  xmlhttpDesc.onreadystatechange = stateChangedDesc;
  xmlhttpDesc.open("GET",url,true);
  xmlhttpDesc.send(null);
  return true;
}

function stateChangedDesc() {
  if(xmlhttpDesc.readyState == 4) {
    if (xmlhttpDesc.status == 200) {
      var xmldoc = xmlhttpDesc.responseXML.documentElement;
      if(xmldoc.tagName == "data") {
        var desc = xmldoc.getElementsByTagName('desc')[0];
        if(desc.firstChild.nodeValue != "") {
          document.getElementById("descdiv").innerHTML = desc.firstChild.nodeValue;
        } else {
          parentdesc = xmldoc.getElementsByTagName('parentdesc')[0];
          document.getElementById("descdiv").innerHTML = parentdesc.firstChild.nodeValue;
        }
      }
    } else {
      alert('There was a problem with the request.');
    }
  }
}

function changeSelect(str,pid) {
  xmlhttpSelect = GetXmlHttpObject();

  if(xmlhttpSelect == null) {
    alert("Browser does not support HTTP Request");
    return;
  }
  var url = "scripts/getselect.php";
  url = url + "?q=" + str;
  if(pid != null) url = url + "&pid=" + pid;
  url = url + "&sid=" + Math.random();
  xmlhttpSelect.onreadystatechange = stateChangedSelect;
  xmlhttpSelect.open("GET",url,true);
  xmlhttpSelect.send(null);
  return true;
}

function stateChangedSelect() {
  if(xmlhttpSelect.readyState == 4) {
    if (xmlhttpSelect.status == 200) {
      var xmldoc = xmlhttpSelect.responseXML.documentElement;
      if(xmldoc.tagName == "subpurpose") {
        document.getElementById('subpurposediv').innerHTML = xmldoc.firstChild.nodeValue;
      }
    } else {
      alert('There was a problem with the request.');
    }
  }
}

function GetXmlHttpObject() {
  if(window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    return new XMLHttpRequest();
  }
  if(window.ActiveXObject) {
    // code for IE6, IE5
    return new ActiveXObject("Microsoft.XMLHTTP");
  }
  return null;
}

