var currentCat;
var productCat;
var ch1_isWorking = false;
var ch2_isWorking = false;
var ch3_isWorking = false;
var isBanners;
var banners = new Array();
var preloaded = new Array();
var ch1_http = httpObject();
var ch2_http = httpObject();
var ch3_http = ch3_httpObject();
var currentbanner = 0;
var treetitle;

function rotate() {
	if(banners.length > 0) {

		if(currentbanner==banners.length) {
			currentbanner = 0;
		}
		var ad = document.getElementById('bannerad');
		var link = document.getElementById('bannerlink');
		ad.src = banners[currentbanner][1];
		ad.alt=banners[currentbanner][3];
		link.href=banners[currentbanner][2];
		currentbanner++;
	}
}

function processMenu(cid, prods) {  
	
	currentCat = cid;
	treetitle = document.getElementById('menutitle').innerHTML;
	document.getElementById('menutitle').innerHTML = "Loading...";
	if(prods) {
		productCat = prods;
	} else {
		productCat = cid;
	}

	if(!ch1_isWorking && ch1_http) {
		var url = "index.php?rm=menu&cid=" + cid + "&sig=" + Math.floor(Math.random()*101);
 
		ch1_http.open("GET", url, true);
		ch1_http.onreadystatechange = ch1_handleHttpResponse;
		ch1_isWorking = true;
		ch1_http.send(null);
  }	
}

function processCategory(cid) {
	ch3_isWorking=false;

	if (!ch3_isWorking && ch3_http) {
 	   var url = "index.php?rm=productlist&cid=" + cid + "&sig=" + Math.floor(Math.random()*101);
		ch3_http.open("GET", url, true);
		ch3_http.onreadystatechange = ch3_handleHttpResponse;
		ch3_isWorking = true;
		ch3_http.send(null);
	}
}

function processBanners(cid) {
	ch2_isWorking=false;
	if (!ch2_isWorking && ch2_http) {
		var url = "index.php?rm=banners&cid=" + cid + "&sig=" + Math.floor(Math.random()*101);
		ch2_http.open("GET", url, true);
		ch2_http.onreadystatechange = ch2_handleHttpResponse;
		ch2_isWorking = true;
		ch2_http.send(null);	
	}
}
function loadBanners(bannerstring) {
	
	var details = new Array();
	banners.length = 0;
	details = bannerstring.split(";");
	for(var i=0; i<details.length; i++) {
		var row = details[i].split(",");
		banners[banners.length] = row;
		preloaded[i] = new Image(468,60);
		preloaded[i].src = banners[i][1]; 
	}
}

function ch1_handleHttpResponse() {
  var results = null;
  if (ch1_http.readyState == 4) {

	if (ch1_http.responseText.indexOf('invalid') == -1) {
	    var results = ch1_http.responseText;
		if(results && results != "  ") {
			document.getElementById("menucontainer").innerHTML = results;
			processCategory(currentCat);
		}
		ch1_isWorking = false;

		if(!ch1_isWorking && !ch2_isWorking && !ch3_isWorking) {
			document.getElementById('menutitle').innerHTML = treetitle;
		}
	}
  }
}

function ch2_handleHttpResponse() {

  if (ch2_http.readyState == 4) {

	if (ch2_http.responseText.indexOf('invalid') == -1) {
	    var results = ch2_http.responseText;
		if(results && results != "  ") {
			loadBanners(results);
		}
		ch2_isWorking = false;
		
		if(!ch1_isWorking && !ch2_isWorking && !ch3_isWorking) {
			document.getElementById('menutitle').innerHTML = treetitle;
		}
	}
  }
}

function ch3_handleHttpResponse() {
	var results = false;
	if (ch3_http.readyState == 4) {
		if (ch3_http.responseText.indexOf('invalid') == -1) {
			var results = ch3_http.responseText;
			if(results && results != "  ") {
				document.getElementById("contentarea").innerHTML = results;
			}
			processBanners(currentCat);
			ch3_isWorking = false;
		}
		if(!ch1_isWorking && !ch2_isWorking && !ch3_isWorking) {
			document.getElementById('menutitle').innerHTML = treetitle;
		}
	} else {
		//alert("no");
	}
}

function httpObject() {

  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else {
	xmlhttp = false;
  }
  @end @*/

  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}
function ch3_httpObject() {

  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else {
	xmlhttp = false;
  }
  @end @*/

  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}

