/* AJAX REQUESTS ============================================================================= */

var contentArrayHolder = new Array();
var contentHashtable = new Object();
var contentSize = 0;
var selected = 0;
var ran_number= Math.random()*1000000000000; 
function makeRequest(url, func, flags) {
  var http_request = false;

  if (window.XMLHttpRequest) {
    // Mozilla, Safari,...
    http_request = new XMLHttpRequest();

    if (http_request.overrideMimeType) {
      http_request.overrideMimeType('text/xml');
    }

  } else if (window.ActiveXObject) {
    // IE
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }

  if (!http_request) {
    alert('Giving up :( Cannot create an XMLHTTP instance');
    return false;
  }



  if (func == "xmlAddMainMenu") {
    // Get image data for preview window.
    http_request.onreadystatechange = function() {
      xmlAddMainMenu(http_request, flags);
    };

    http_request.open('GET', url, true);
    http_request.send(null);
    
  } else if (func == "xmlDrawPage") {
    // Get image data for preview window.
    http_request.onreadystatechange = function() {
      xmlDrawPage(http_request, flags);
    };

    http_request.open('GET', url, true);
    http_request.send(null);
      } else if (func == "xmlDeleteContent") {
    // Get image data for preview window.
    http_request.onreadystatechange = function() {
      xmlDeleteContent(http_request, flags);
    };

    http_request.open('GET', url, true);
    http_request.send(null);
    
    } else if (func == "xmlLoadContent") {
    // Get content data
    http_request.onreadystatechange = function() {
      xmlLoadContent(http_request, flags);
    };

    http_request.open('GET', url, true);
    http_request.send(null);

    } else if (func == "xmlLoadSingleContent") {
    // Get content data
    http_request.onreadystatechange = function() {
      xmlLoadSingleContent(http_request, flags);
    };

    http_request.open('GET', url, true);
    http_request.send(null);
    } else if (func == "xmlUpdateContent") {
    // Get content data
    http_request.onreadystatechange = function() {
      xmlUpdateContent(http_request, flags);
    };
    http_request.open('GET', url, true);
    http_request.send(flags[0]);

/*
    http_request.open("POST", url, true);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=ISO-8859-1");
    http_request.setRequestHeader("Content-length", flags[0].length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send( flags[0] );
*/
//    http_request.open('GET', url, true);
//    http_request.send(null);
    } else if (func == "xmlInsertContent") {
    // Get content data
    http_request.onreadystatechange = function() {
      xmlInsertContent(http_request, flags);
    };
    http_request.open('GET', url, true);
    http_request.send(null);

/*/
    http_request.open("POST", url, true);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=ISO-8859-1");
    http_request.setRequestHeader("Content-length", flags[0].length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send( flags[0] );
*/
//    http_request.open('GET', url, true);
//    http_request.send(null);
    }
  return false;
}


// XML get main menu HANDLER
function xmlDrawPage(http_request, flags){
  if (http_request.readyState == 4) {
    if (http_request.status == 200) {
      var xmldoc = http_request.responseXML;
      var root = xmldoc.getElementsByTagName('response').item(0);

            var mLevel = "";
      var sLevel = "";
      var cLevel = "";
      var userStatus = "";


//      var display01 = "";
//      var display02 = "";
//      var display03 = "";

      var contentHolder0 = "";
      var contentHolder1 = "";      
      var fid = "-1";            
      var fidScat = "-1";
      for (iNode = 0; iNode < root.childNodes.length; iNode++) {
          var node = root.childNodes.item(iNode);
            if (node.nodeName == "accountStatus"){
              for (i = 0; i < node.childNodes.length; i++){
                if (node.childNodes.item(i).nodeName == "status") {
                  userStatus = node.childNodes.item(i).firstChild.data;
                } else if (node.childNodes.item(i).nodeName == "mlevel") {
                  mLevel = node.childNodes.item(i).firstChild.data;
                }
              }
            }

          if (node.nodeName == "contentSize"){
            for (i = 0; i < node.childNodes.length; i++){
              if (node.childNodes.item(i).nodeName == "size") {
                contentSize = node.childNodes.item(i).firstChild.data;
              }
            }
          }
                
          if (node.nodeName == "contentSelected"){
            for (i = 0; i < node.childNodes.length; i++){
              if (node.childNodes.item(i).nodeName == "selected") {
                selected = node.childNodes.item(i).firstChild.data;
              }
            }
          }

          if (node.nodeName == "catValues") {
              //we have a categorie!.
              var id = "";
              var name = "";
              var desc = "";
              var visual = "";
              var type = "";
              
            for (i = 0; i < node.childNodes.length; i++){


                var nname = "";
                var ndata = "";
                if (node.childNodes.item(i).nodeName != null){
                    nname = node.childNodes.item(i).nodeName;
                }

                if (node.childNodes.item(i).firstChild != null){
                    ndata = node.childNodes.item(i).firstChild.data;
                }

//                alert("nodename: " + node.childNodes.item(i).nodeName);
//                alert("data: " + node.childNodes.item(i).firstChild.data);
              if (nname == "catId") {
                id = ndata;
                if (fid == "-1") fid = id;
              } else if (nname == "catName") {
                  name = ndata;
              } else if (nname == "catDesc") {
                  desc = ndata;
              } else if (nname == "catVisual") {
                  visual = ndata;
              } else if (nname == "catType") {
                  type = ndata;
                  if (fidScat == "-1") {
                      if (type == "subcat") fidScat = "scat";
                  }
              }


            }
//          alert("Cat: " + id + " sort: " + sort + " name: " + name + " desc: " + desc + " visual: " + visual);
            //mainNavString += "<a href=\"#mLvl" + id + "\">" + name + "</a>&nbsp;" + sort + "<br>\n";
            
                    
            var ttype = "mLvl";
            if (type != "null") {
                ttype = "sLvl";
                //contentHolder0 += "<a href=\"#sLvl" + id + "\" onclick=\"getContent(0);\">" + name + "</a><br>\n";
                //if (id == fid) {
                  //contentHolder0 += "<div id=\"slvh1" + id + "\" onclick=\"loadContent2(" + id + ", " + fid + ");\">" + name + "</div>\n";                    
                //} else {
                  contentHolder0 += "<div id=\"slvh1" + id + "\" onclick=\"loadContent2(" + id + ", " + fid + ");\"><a href=\"#na2\">" + name + "</a></div>\n";
                //}
            } else {
                contentHolder0 += "<a href=\"#mLvl" + id + "\" onclick=\"changeLevel(" + id +"," + type + ");\">" + name + "</a><br>\n";
            }

            contentHolder0 +="<div id=\"fidholder\" style=\"display: none;\">" + fid + "</div>";
          }
                // reset navigation
//      manageNavBar();

      }


      if (type == "null") {
          // main display 1:st time.
          document.getElementById("tdcHolder").style.backgroundColor = "#000000";
          contentHolder0 = "<br>" + contentHolder0 +
                                                    "<br>" + 
                                                    "<span class=\"infotext\">contact</span><br>" +
                                                    "<a href=\"mailto:info@ackerup.com\">info@ackerup.com</a>" +
                                                    "<span class=\"infotextItalic\">&nbsp;site</span><br>" +
                                                    "<a href=\"http://www.adamsky.se\" target=\"_blank\">adamsky.se</a>" +
                                                    "<span class=\"infotextItalic\">&nbsp;work<br></span>";

          contentHolder1 = "<br><br><br><div onclick=\"changeLevel(0,0);\" id=\"logoid\">ackerup.com</div>";
      } else {
          document.getElementById("tdcHolder").style.backgroundColor = "#000000";
          contentHolder1 = "<br><br><br><div onclick=\"changeLevel(0,0);\" id=\"logoid\"><a href=\"#na\">ackerup.com</a></div><br><br>" + contentHolder0;
          contentHolder0 = "";
          // action is in the house!.
      }
      
      document.getElementById("display01").innerHTML = contentHolder1;
      document.getElementById("display01").style.display = "";
      document.getElementById("display02").innerHTML = contentHolder0;
      document.getElementById("display02").style.display = "";
      
      //alert(contentSize);
      if (contentSize == 0) {
          document.getElementById("display03").style.display = "none";
          
      }
      if (fid != "-1") {
          if ( fidScat != "-1") {
              // autoload 1:st content information.
            //loadContent(fid);
          }
      }
      


    } else {
      alert("xmlDrawPage error. (" + http_request.status + ")");
    }
  }
}



function xmlLoadContent(http_request, flags){
  if (http_request.readyState == 4) {
    if (http_request.status == 200) {
      var xmldoc = http_request.responseXML;
      var root = xmldoc.getElementsByTagName('response').item(0);
      
      var contentid = "";
      var contentmcat = "";
      var contentscat = "";
      var contentname = "";
      var contenturl = "";
      var contenttext = "";
      var contenttype = "";

      
      
      for (iNode = 0; iNode < root.childNodes.length; iNode++) {
        var node = root.childNodes.item(iNode);
          if (node.nodeName == "accountStatus"){
            for (i = 0; i < node.childNodes.length; i++){
              if (node.childNodes.item(i).nodeName == "status") {
                userStatus = node.childNodes.item(i).firstChild.data;
              } else if (node.childNodes.item(i).nodeName == "mlevel") {
                mLevel = node.childNodes.item(i).firstChild.data;
              }
            }
          }

          if (node.nodeName == "contentSize"){
            for (i = 0; i < node.childNodes.length; i++){
              if (node.childNodes.item(i).nodeName == "size") {
                contentSize = node.childNodes.item(i).firstChild.data;
              }
            }
          }

          if (node.nodeName == "contentSelected"){
            for (i = 0; i < node.childNodes.length; i++){
              if (node.childNodes.item(i).nodeName == "selected") {
                selected = node.childNodes.item(i).firstChild.data;
              }
            }
          }
                
                
          if (node.nodeName == "content"){
            for (i = 0; i < node.childNodes.length; i++){
              if (node.childNodes.item(i).nodeName == "contentid") {
                contentid = node.childNodes.item(i).firstChild.data;
              } else if (node.childNodes.item(i).nodeName == "contentmcat") {
                contentmcat = node.childNodes.item(i).firstChild.data;
              } else if (node.childNodes.item(i).nodeName == "contentscat") {
                contentscat = node.childNodes.item(i).firstChild.data;
              } else if (node.childNodes.item(i).nodeName == "contentname") {
                contentname = node.childNodes.item(i).firstChild.data;
              } else if (node.childNodes.item(i).nodeName == "contenturl") {
                contenturl = node.childNodes.item(i).firstChild.data;
              } else if (node.childNodes.item(i).nodeName == "contenttext") {
                contenttext = node.childNodes.item(i).firstChild.data;
              } else if (node.childNodes.item(i).nodeName == "contenttype") {
                contenttype = node.childNodes.item(i).firstChild.data;
              }
            }
            var content = "";
//alert("contentype:" + contenttype );
          if (contenttype == "img") {
              content = "<img src=\"content/" + contenturl + "\" border=\"0\" width=\"780\" height=\"520\">";
          } else if (contenttype == "txt"){
              //content = "<p width=\"780\" height=\"520\">" + contenttext + "</p>";
              content = "<br><br><span class=\"infotext\"><pre>" + contenttext + "</pre></span>";
          } else if (contenttype == "flv") {
              contenttext = "<script language=\"javascript\">" + 
	"if (AC_FL_RunContent == 0) {" + 
		"alert(\"This page requires AC_RunActiveContent.js.\");" + 
	"} else {" + 
		"AC_FL_RunContent(" + 
			"'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'," + 
			"'width', '780'," + 
			"'height', '520'," + 
			"'src', 'index'," + 
			"'quality', 'high'," + 
			"'pluginspage', 'http://www.macromedia.com/go/getflashplayer'," + 
			"'align', 'middle'," + 
			"'play', 'true'," + 
			"'loop', 'true'," + 
			"'scale', 'noscale'," + 
			"'wmode', 'window'," + 
			"'devicefont', 'false'," + 
			"'id', 'index'," + 
			"'bgcolor', '#000000'," + 
			"'name', 'index'," + 
			"'menu', 'true'," + 
			"'allowFullScreen', 'false'," + 
			"'allowScriptAccess','sameDomain'," + 
			"'movie', 'index'," + 
			"'salign', ''" + 
			");" +  //end AC code
	"}" + 
"</script>" + 
"<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" id=\"index\" align=\"middle\" width=\"780\" height=\"520\">" + 
	"<param name=\"allowScriptAccess\" value=\"sameDomain\">" + 
	"<param name=\"allowFullScreen\" value=\"false\">" + 
	"<param name=\"movie\" value=\"/index.swf\"><param name=\"quality\" value=\"high\"><param name=\"scale\" value=\"noscale\"><param name=\"bgcolor\" value=\"#000000\">	<embed src=\"/index.swf\" quality=\"high\" scale=\"noscale\" bgcolor=\"#000000\" name=\"index\" allowscriptaccess=\"sameDomain\" allowfullscreen=\"false\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" align=\"middle\" width=\"780\" height=\"520\">" + 
	"</object>"; 
              
              content = "<span class=\"infotext\">" + contenttext + "</span>";
          }

          document.getElementById("display02").innerHTML = content;
          }
          
          manageNavBar();

        }
    } else {
      alert("xmlLoadContent error. (" + http_request.status + ")");
    }
  }
}

function manageNavBar(){
    var dispstring = "";
    var stepi = selected;
    stepi++;
    
    
    //alert(stepi);
    if (contentSize > 0) {
        for (i=0; i < contentSize; i++){
              
              if (i == (stepi-1)) {
                  dispstring += (i+1) + "</a> \n";
              } else {
                  dispstring += "<a href=\"#"+ i + "\" onclick=\"loadSingleContent('" + i + "')\">" + (i+1) + "</a> \n";
              }
        }
        if (stepi < contentSize){
            dispstring += "<a href=\"#"+ stepi + "\" onclick=\"loadSingleContent('" + stepi + "')\">></a> \n";
        } else {
            dispstring += ">\n";
        }
        if (stepi > 1){
            stepi = stepi -2;
            dispstring = "<a href=\"#"+ stepi + "\" onclick=\"loadSingleContent('" + stepi + "')\"><</a> \n" + dispstring;
        } else {
            dispstring = "<\n" + dispstring;
        }
        
      document.getElementById("display03").innerHTML = dispstring; 
      document.getElementById("display03").style.display = "";
    } else {
      document.getElementById("display03").innerHTML = ""; 
    }
}


function valXmlTag(tagIn){
      if (tagIn != null) {
          return tagIn.data;
      } else {
        return "";
      }
}



function xmlInsertContent(http_request, flags){
  if (http_request.readyState == 4) {
    if (http_request.status == 200) {
        window.location.href = "admin.jsp?ran=" + ran_number;
    } else {
      alert("xmlInsertContent error. (" + http_request.status + ")");
    }
  }
}

function xmlUpdateContent(http_request, flags){
  if (http_request.readyState == 4) {
    if (http_request.status == 200) {
        window.location.href = "admin.jsp?ran=" + ran_number;
    } else {
      alert("xmlUpdateContent error. (" + http_request.status + ")");
    }
  }
}


function xmlDeleteContent(http_request, flags){
  if (http_request.readyState == 4) {
    if (http_request.status == 200) {
        window.location.href = "admin.jsp?ran=" + ran_number;
    } else {
      alert("xmlDeleteContent error. (" + http_request.status + ")");
    }
  }
}

function xmlLoadSingleContent(http_request, flags){
  if (http_request.readyState == 4) {
    if (http_request.status == 200) {
      var xmldoc = http_request.responseXML;
      var root = xmldoc.getElementsByTagName('response').item(0);
      
      var contentid = "";
      var contentmcat = "";
      var contentscat = "";
      var contentname = "";
      var contenturl = "";
      var contenttext = "";
      var contenttype = "";

      
      
      for (iNode = 0; iNode < root.childNodes.length; iNode++) {
        var node = root.childNodes.item(iNode);
          if (node.nodeName == "contentSelected"){
            for (i = 0; i < node.childNodes.length; i++){
              if (node.childNodes.item(i).nodeName == "selected") {
                selected = node.childNodes.item(i).firstChild.data;
              }
            }
          }

          if (node.nodeName == "content"){
            for (i = 0; i < node.childNodes.length; i++){
              if (node.childNodes.item(i).nodeName == "contentid") {
                contentid = node.childNodes.item(i).firstChild.data;
              } else if (node.childNodes.item(i).nodeName == "contentmcat") {
                contentmcat = node.childNodes.item(i).firstChild.data;
              } else if (node.childNodes.item(i).nodeName == "contentscat") {
                contentscat = node.childNodes.item(i).firstChild.data;
              } else if (node.childNodes.item(i).nodeName == "contentname") {
                contentname = node.childNodes.item(i).firstChild.data;
              } else if (node.childNodes.item(i).nodeName == "contenturl") {
                contenturl = node.childNodes.item(i).firstChild.data;
              } else if (node.childNodes.item(i).nodeName == "contenttext") {
                contenttext = node.childNodes.item(i).firstChild.data;
              } else if (node.childNodes.item(i).nodeName == "contenttype") {
                contenttype = node.childNodes.item(i).firstChild.data;
              }
            }
            var content = "";
            if (contenttype == "img") {
                content = "<img src=\"content/" + contenturl + "\" border=\"0\" width=\"780\" height=\"520\">";
            } else if (contenttype == "txt"){
                content = "<br><br><span class=\"infotext\"><pre>" + contenttext + "</pre></span>";
                
            //}


          } else if (contenttype == "flv") {
              contenttext = "<script language=\"javascript\">" + 
	"if (AC_FL_RunContent == 0) {" + 
		"alert(\"This page requires AC_RunActiveContent.js.\");" + 
	"} else {" + 
		"AC_FL_RunContent(" + 
			"'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'," + 
			"'width', '780'," + 
			"'height', '520'," + 
			"'src', 'index'," + 
			"'quality', 'high'," + 
			"'pluginspage', 'http://www.macromedia.com/go/getflashplayer'," + 
			"'align', 'middle'," + 
			"'play', 'true'," + 
			"'loop', 'true'," + 
			"'scale', 'noscale'," + 
			"'wmode', 'window'," + 
			"'devicefont', 'false'," + 
			"'id', 'index'," + 
			"'bgcolor', '#000000'," + 
			"'name', 'index'," + 
			"'menu', 'true'," + 
			"'allowFullScreen', 'false'," + 
			"'allowScriptAccess','sameDomain'," + 
			"'movie', 'index'," + 
			"'salign', ''" + 
			");" +  //end AC code
	"}" + 
"</script>" + 
"<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" id=\"index\" align=\"middle\" width=\"780\" height=\"520\">" + 
	"<param name=\"allowScriptAccess\" value=\"sameDomain\">" + 
	"<param name=\"allowFullScreen\" value=\"false\">" + 
	"<param name=\"movie\" value=\"/index.swf\"><param name=\"quality\" value=\"high\"><param name=\"scale\" value=\"noscale\"><param name=\"bgcolor\" value=\"#000000\">	<embed src=\"/index.swf\" quality=\"high\" scale=\"noscale\" bgcolor=\"#000000\" name=\"index\" allowscriptaccess=\"sameDomain\" allowfullscreen=\"false\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" align=\"middle\" width=\"780\" height=\"520\">" + 
	"</object>"; 
              
              content = "<span class=\"infotext\">" + contenttext + "</span>";
          }



//          alert("jaha?");
          document.getElementById("display02").innerHTML = content;
          }
          
                //alert(selected);
          manageNavBar();

        }
    } else {
      alert("xmlDrawPage error. (" + http_request.status + ")");
    }
  }
}
