// Global baynote_request and XML document objects
var baynote_req;

// Global page number
var baynote_pageNumber = 0;

// Global number of pages
var baynote_pageCount;

// Global pages
var baynote_pages = new Array();

var xmlreqcomplete = 0;
var whichguide;

function checkfile(brandcode) {
                // create an instance of the proxy. 
                var e = new FileExist();
			//	e.setCallbackHandler(baynote_storeRecommendations);
            //    e.setErrorHandler(myErrorHandler);

				return (e.FileExist(brandcode));
}

function genbrandname(brandname) {  


                var e = new FileExist();

				return (e.FormatBrandName(brandname));
				
}



// Retrieve XML document
function baynote_loadXMLDoc(brandcode, guide) {
	
	var urlVars = "guide=" + guide; 
	urlVars += "&attrList=ItemNumber,Title,Price,ThumbUrl,Brand,BrandCode,CategoryInformation";
	urlVars += "&url=http://www.famous-smoke.com/cigars/search/sr.cfm/st/1/bc/" + brandcode;
	urlVars += "&attrFilter=BrandFlag:true";
	urlVars += "&startingDocNum=1";
	urlVars += "&resultsPerPage=4";
	urlVars += "&brand=" + brandcode;
	urlVars += "&v=1";
	
	whichguide = guide;
	
//	if(guide == "b_mostpopcigbrands"){
//	  var headerrow = document.getElementById("recommendationHead");
//	  $(headerrow).html("&nbsp;Our Most Popular Brands&nbsp;");
//	}
	
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        baynote_req = new XMLHttpRequest();
        baynote_req.onreadystatechange = baynote_processReqChange;
        baynote_req.open("GET", "/cigars/include/scripts/getbaynotexml.cfm?" + urlVars, true);
        baynote_req.send(null); 
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
		
        baynote_req = new ActiveXObject("Microsoft.XMLHTTP");
        if (baynote_req) {
            baynote_req.onreadystatechange = baynote_processReqChange;
            baynote_req.open("GET", "/cigars/include/scripts/getbaynotexml.cfm?" + urlVars, true);
            baynote_req.send();
        }
    }
}

// Handle onreadystatechange event of baynote_req object
function baynote_processReqChange() { 
    // only if baynote_req shows "loaded"
	
    if (baynote_req.readyState == 4) {
        // only if "OK"
        if (baynote_req.status == 200) { 
			baynote_storeRecommendations();
         } else {
            alert("There was a problem retrieving the XML data:\n" +
                baynote_req.statusText);
         }
    }
}

// Get the next page of recommendations
function baynote_nextPage() {
	baynote_pageNumber++;
	baynote_injectRecommendations();
	baynote_checkArrows();
}

// Get the previous page of recommendations
function baynote_previousPage() {
	baynote_pageNumber--;
	baynote_injectRecommendations();
	baynote_checkArrows();
}

// Store the recommendations
function baynote_storeRecommendations() { 
   /* var recos = baynote_req.responseXML.getElementsByTagName("recommendation-page");*/
   var numperpage = 4; 
   try {
		var guide = baynote_req.responseXML.getElementsByTagName("guides");
	}
	catch(e) { 
       baynote_loadXMLDoc("","b_mostpopcigbrands");
	   return;
	}
   
  if (guide[0].getAttribute('rtn') == "0")  {
    baynote_loadXMLDoc("","b_mostpopcigbrands");
   }
   
   
   var recos = baynote_req.responseXML.getElementsByTagName("r");
   var page = "";
   var thumbimg = "";
   var brandname = "";
   var brandcode = "";
   var formatbrand = "";
//   alert(recos.length);
//   var recosa = recos[0].getElementsByTagName("a");
//   alert(recosa.length);
	if (!recos) return;
	var pageno = 0;
	for (var i = 0; i < recos.length; i++) {
		if (recos[i].childNodes.length > 1) 
			for (var j = 0; j < recos[i].childNodes.length; j++) {
			//	var display = recos[i].getElementsByTagName('display');
			//	thumbimg = display[0].childNodes[0].getAttribute('v');
				
			    if(recos[i].childNodes[j].getAttribute('v') && (recos[i].childNodes[j].getAttribute('n') == "Brand")) 
				  brandname = recos[i].childNodes[j].getAttribute('v');
				if(recos[i].childNodes[j].getAttribute('v') && (recos[i].childNodes[j].getAttribute('n') == "BrandCode")) 
				  brandcode = recos[i].childNodes[j].getAttribute('v');
				  
			//	if (recos[i].childNodes[j].nodeValue.indexOf("baynote") > -1)
			//		baynote_pages[i] = recos[i].childNodes[j].nodeValue;
		}
		else {
			baynote_pages[i] = recos[i].firstChild.nodeValue;
		}
		page += "<tr>";
		page += "<td class=\"bn_welcome\" align = \"center\" width=\"25%\" style=\"padding-bottom: 8px;\">";
			
		thumbimg = checkfile(brandcode);
		formatbrand = genbrandname(brandname);
		page += "<a href=\"/brand/" + formatbrand + "\" title=\"" + brandname + "\"><img src=\"" + thumbimg + "\" style=\"border: 1px solid #e9dfce;\"></a><br />";
	//	page += "<a href=\"" + recos[i].getAttribute('u') + "\">"; 
	    page += "<a href=\"/brand/" + formatbrand + "\" title=\"" + brandname + "\">";
		page += brandname + "</a></td></tr>";
		baynote_pages[pageno] = page;
		if (i % numperpage == 3) {
			 pageno++;
		}
	    
		thumbimg = "";
		brandcode = "";
		brandname = "";
		formatbrand = "";
	}
	baynote_pageCount = baynote_pages.length;
	baynote_pageNumber = 0;
	baynote_pageNumber++;
	xmlreqcomplete = 1;
	//alert("loaded");
	//baynote_nextPage();
}

function delay_inject()  {
	
	if (xmlreqcomplete > 0)
	   baynote_injectRecommendations();
	else
	   setTimeout('delay_inject()', 500);
}

// Inject the recommendations from the current XML document
function baynote_injectRecommendations() {
	var headerrow = document.getElementById("recommendationHead");
	if(whichguide == "b_mostpopcigbrands")
	  $(headerrow).html("&nbsp;Our Most Popular Brands&nbsp;");
	else
	$(headerrow).html("&nbsp;Brands You May Also Like&nbsp;");
	
	var row = document.getElementById("recommendationRow");
	if (!row) return;
	//row.innerHTML = baynote_pages[baynote_pageNumber - 1];
	$(row).html(baynote_pages[baynote_pageNumber - 1]);
}

// Hide or display the paging arrows
function baynote_checkArrows() {
	var previous = document.getElementById("previousArrow");
	var prevSpacer = document.getElementById("previousSpacer");
	var next = document.getElementById("nextArrow");
	var nextSpacer = document.getElementById("nextSpacer");
	if (!previous || !next || !prevSpacer || !nextSpacer) return;
	if (baynote_pageNumber <= 1) {
		previous.style.display = "none";
		prevSpacer.style.display = "inline";
	} else {
		previous.style.display = "inline";
		prevSpacer.style.display = "none";
	}
	if (baynote_pageNumber >= baynote_pageCount) {
		next.style.display = "none";
		nextSpacer.style.display = "inline";
	} else {
		next.style.display = "inline";
		nextSpacer.style.display = "none";
	}
}

// Load all the recommendations
function baynote_initializeRecommendations(brandcode) {
	/*var url = "reco.xml";*/
	var guide="Auto";
	
	try {
		baynote_loadXMLDoc(brandcode,guide);
	}
	catch(e) {
		var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Unknown Error");
		alert("Unable to get XML data:\n" + msg);
		return;
	}
}







