var xmlhttp;
var xmlDoc;
function loadXMLDoc(theFile) {
  xmlhttp=null;
  if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } 
  else if (window.ActiveXObject) { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }

  if (xmlhttp!=null) {
    xmlhttp.onreadystatechange=loaded;
    xmlhttp.open("GET",theFile,true);
    xmlhttp.send(null);
  } else { alert('Sorry, your browser can\'t handle this script'); return; }
}

function checkReadyState(obj) {
  if(obj.readyState == 4) {
    if(obj.status == 200) {return true;  }
    else { alert("Problem retrieving XML data"); }
  }
}

function loaded() {	
  if(checkReadyState(xmlhttp)) {
    xmlDoc=xmlhttp.responseXML.documentElement;
	featuredshowTags('brand','featuredproductSort');
  }
}
function featuredshowTags(theTag,thePlace) {
  function getTag(tag) { 
    var tmp='';
    xx=x[i].getElementsByTagName(tag);
	
    try { tmp=xx[0].firstChild.data; } 
    catch(er) { tmp=''; }    
    return(tmp); 
  }

  var xx; var x; var txt;
  x = xmlDoc.getElementsByTagName(theTag);
  txt='<div id="featuredpoop">'; 
  for (i=0; i<x.length; i++) { 

  	featuredproductName=xmlDoc.getElementsByTagName("brand")[i].getAttribute("name");
	featuredheinzUrl=xmlDoc.getElementsByTagName("brand")[i].getAttribute("url");
	featuredImage=xmlDoc.getElementsByTagName("brand")[i].getAttribute("image"); 
	isPowerBrand=xmlDoc.getElementsByTagName("brand")[i].getAttribute("powerbrand");
	
	if(isPowerBrand == "true") {
				txt+='<div id="featuredpanel" class="featuredpanel">';
				txt+='<a class="productLink" href="/our-food/' + featuredheinzUrl +'">';
				txt+='<img src="' + featuredImage + '" border="0" alt="' + featuredproductName +'" />';
				txt+='</a>';
				txt+='</div>';
				};
 	 }
  txt+="</div>";

  document.getElementById(thePlace).innerHTML=txt;
  this.featuredslidingGallery.init();
}


var featuredslidingGallery={
	init:function(){
		featuredslidingGallery.Features.init();
		
	},
	Features:{
		init:function(){
			if(featuredsmartContent.featuredpanels.length > 0) {
				featuredsmartContent.featuredpanels.length = 0;
				featuredsmartContent.init($(".featuredpanels"));
			}
			else {featuredsmartContent.init($(".featuredpanels"));}
		}
	}
}

var featuredsmartContent={
	container:null,
	featuredpanels:Array(),
	init:function(container){
		featuredsmartContent.container=$(container);
		$('.featuredpanel',featuredsmartContent.container).each(
			function(i){
				var newfeaturedpanel={};
				newfeaturedpanel.element=this;
				newfeaturedpanel.id=this.id;
				newfeaturedpanel.index=i;
				featuredsmartContent.featuredpanels[i]=newfeaturedpanel;
			}
		)
		featuredsmartContent.createfeaturedtoggles();
		featuredsmartContent.showfeaturedpanel(featuredsmartContent.featuredpanels[0]);
	},
	removeElement:function(){
		var d = document.getElementById('featuredproductSort');
		var d_nested = document.getElementById('featuredtoggle');
		if (d_nested.parentNode == d) { d.removeChild(d_nested)};
		
		featuredsmartContent.createfeaturedtoggles();
		featuredsmartContent.showfeaturedpanel(featuredsmartContent.featuredpanels[0]);
	},
		createfeaturedtoggles:function(){
		var featuredsmartContentParent=$(".featuredslidingGalleryContainer")[0];
		var featuredtoggleBtnBarLeft=document.createElement("div");
		featuredtoggleBtnBarLeft.className="featuredtoggleButtonsLeft";
		featuredtoggleBtnBarLeft.setAttribute('id',"featuredtoggle");
		featuredsmartContentParent.appendChild(featuredtoggleBtnBarLeft);
		
		var featuredtoggleBtnBarRight=document.createElement("div");
		featuredtoggleBtnBarRight.className="featuredtoggleButtonsRight";
		featuredtoggleBtnBarRight.setAttribute('id',"featuredtoggle");
		featuredsmartContentParent.appendChild(featuredtoggleBtnBarRight);

		next=document.createElement("a");
		next.className="featurednext";
		next.href="#";
		$(next).click(function() {featuredsmartContent.showNextfeaturedpanel(); return false;})

		previous=document.createElement("a");
		previous.className="featuredprevious";
		previous.href="#";
		$(previous).click(function() {featuredsmartContent.showPreviousfeaturedpanel(); return false;})

		featuredtoggleBtnBarRight.appendChild(next);
		featuredtoggleBtnBarLeft.appendChild(previous);

	},
	showfeaturedpanel:function(featuredpanel){
		var featuredpanelWidth = ($(".featuredpanel")[0].clientWidth);
		var featuredpanelIndex = featuredpanel.index;
		var l =featuredpanelWidth*featuredpanelIndex;
		
		featuredsmartContent.container.animate({left:"-"+l+"px"},'slow',"easeboth");
		featuredsmartContent.activefeaturedpanelIndex=featuredpanel.index;
	},
	
	showNextfeaturedpanel:function(){
		var bigContainer = ($(".featuredslidingGalleryContainer")[0].clientWidth);
		var individualContainers = ($(".featuredpanel")[0].clientWidth); 
		var traceEnd = bigContainer/individualContainers;
		if (featuredsmartContent.activefeaturedpanelIndex<(featuredsmartContent.featuredpanels.length-[traceEnd])){
			nextIndex=featuredsmartContent.activefeaturedpanelIndex+1;
		}
		else{
			nextIndex=0;
		}
		featuredsmartContent.showfeaturedpanel(featuredsmartContent.featuredpanels[nextIndex]);
	},
	
	showPreviousfeaturedpanel:function(featuredpanel){
		var traceStart = ($(".featuredslidingGalleryContainer")[0].clientWidth)/($(".featuredpanel")[0].clientWidth);
		if (featuredsmartContent.activefeaturedpanelIndex>(0)){
			nextIndex=featuredsmartContent.activefeaturedpanelIndex-1;
		}else{
			nextIndex=featuredsmartContent.featuredpanels.length-1;
		}
		featuredsmartContent.showfeaturedpanel(featuredsmartContent.featuredpanels[nextIndex]);
	}	
}

this.xmlFile = "../../data/brands.xml";
window.onload=function(){
 loadXMLDoc(xmlFile);
}