var gbwMembersArray = [];
var gbrMembersArray = [];
var gbbMembersArray = [];
var memberNames = [];
var carouselPosition = 0;
var carouselNext = 0;
var carouselOpacity = 0;
var carouselTimeout;

function showCategories() {
  if (!is_touch_device() && window.location.hash != "#categories") {
    var categoriesDiv = document.getElementById('categories');
    categoriesDiv.style.visibility = 'visible';
    categoriesDiv.style.display = 'block';
    var categoriesLink = document.getElementById('categories_link');
    categoriesLink.className = 'hover';
  }
}

function hideCategories() {
  if (!is_touch_device() && window.location.hash != "#categories") {
    var categoriesDiv = document.getElementById('categories');
    categoriesDiv.style.visibility = 'hidden';
    categoriesDiv.style.display = 'none';
    var categoriesLink = document.getElementById('categories_link');
    categoriesLink.className = '';
  }
}

function showDropDown(name) {
  var dropDownDiv = document.getElementById('dropDown_' + name);
  dropDownDiv.style.visibility = 'visible';
}

function hideDropDown(name) {
  var dropDownDiv = document.getElementById('dropDown_' + name);
  dropDownDiv.style.visibility = 'hidden';
}

function startCarousel() {
  var videoBarDiv = document.getElementById('video_bar');
  if (carouselPosition > 3) carouselPosition = 0;
  var carouselImg = document.getElementById('carousel_' + carouselPosition);
  var carouselLink = document.getElementById('carousel_link_' + carouselPosition);
  var nextImg = '';
  if (videoBarDiv.className == 'video_givebackworks') {
    if (carouselNext >= gbwMembersArray.length) carouselNext = 0;
	nextImg = gbwMembersArray[carouselNext];
  } else if (videoBarDiv.className == 'video_givebackrewards') {
    if (carouselNext >= gbrMembersArray.length) carouselNext = 0;
	nextImg = gbrMembersArray[carouselNext];
  } else {
    if (carouselNext >= gbbMembersArray.length) carouselNext = 0;
	nextImg = gbbMembersArray[carouselNext];
  }
  carouselImg.src = '/members/logos/' + nextImg + '.png';
  carouselLink.href = '/' + nextImg;
  carouselLink.title = memberNames[nextImg];
  carouselNext++;
  carouselPosition++;
  moveCarousel();
}

function moveCarousel() {
	if (carouselOpacity < 10) {
		var carouselImg = document.getElementById('carousel_' + (carouselPosition-1));
		carouselOpacity++;
		carouselImg.style.opacity = carouselOpacity/10;
		carouselImg.style.filter = 'alpha(opacity=' + carouselOpacity*10 + ')';
		carouselTimeout = setTimeout("moveCarousel()",80);
	} else {
		carouselOpacity = 0;
		carouselTimeout = setTimeout("startCarousel()",1000);
	}
}

function stopCarousel() {
  var carouselImg = document.getElementById('carousel_' + (carouselPosition-1));
  carouselOpacity++;
  carouselImg.style.opacity = 1;
  carouselImg.style.filter = 'alpha(opacity=100)';
  carouselOpacity = 0;
  clearTimeout(carouselTimeout);
}

function init() {
  if (is_touch_device() || window.location.hash == "#categories") {
    var categoriesDiv = document.getElementById('categories');
    categoriesDiv.style.visibility = 'visible';
    categoriesDiv.style.display = 'block';
    var categoriesLink = document.getElementById('categories_link');
    categoriesLink.className = 'hover';
  }
  loadXMLDoc('xml.php', updateCategories);
}

function loadXMLDoc(url, func) {
	var xmlhttp;
	if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp=new XMLHttpRequest();
	} else {// code for IE6, IE5
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp.onreadystatechange=function(){func(xmlhttp)};
	xmlhttp.open("GET",url,true);
	xmlhttp.send();
}

function updateCategories(xmlhttp) {
	if (xmlhttp.readyState==4 && xmlhttp.status==200) {
		var x = xmlhttp.responseXML.documentElement.getElementsByTagName("category");
		for (i = 0; i < x.length; i++) {
			var y;
			y = x[i].getElementsByTagName("name");
			var categoryName = y[0].firstChild.nodeValue;
			y = x[i].getElementsByTagName("shortname");
			var categoryNameShort = y[0].firstChild.nodeValue;
			y = x[i].getElementsByTagName("member");
			var dropDownDiv = document.getElementById('dropDown_' + categoryNameShort);
			var newHTML = '<span onmouseover="showDropDown(\'' + categoryNameShort + '\');" onmouseout="hideDropDown(\'' + categoryNameShort + '\');">' + categoryName + '</span>' +
			 '<div class="dropDownMenuContainer"><div class="dropDownMenu" onmouseover="showDropDown(\'' + categoryNameShort + '\');" onmouseout="hideDropDown(\'' + categoryNameShort + '\');">';
			for (j = 0; j < y.length; j++) {
				var z = y[j].getElementsByTagName("membername");
				var memberName = z[0].firstChild.nodeValue;
				var z = y[j].getElementsByTagName("microsite");
				var microSite = '';
				if (z[0].firstChild) microSite = z[0].firstChild.nodeValue;
				if (microSite != '') {
					newHTML += '<a href="/' + microSite + '" title="' + memberName + '"><img src="/members/logos/' + microSite + '.png" height="100" width="100" alt="' + memberName + '" /></a>';
					var z = y[j].getElementsByTagName("type");
					var type = z[0].firstChild.nodeValue;
					if (type == 1 || type == 2 || type == 3) {
						if (type == 1 || type == 3)  {
						gbrMembersArray.push(microSite);
						}
						if (type == 2 || type == 3) {
						gbwMembersArray.push(microSite);
						}
						gbbMembersArray.push(microSite);
						memberNames[microSite] = memberName;
					}
				}
			}
			newHTML += '</div></div>';
			try {
				dropDownDiv.innerHTML = newHTML;
			}
			catch (er) {
			}
		}
		carouselNext = Math.floor(Math.random()*gbbMembersArray.length);
		startCarousel();
	}
}

function is_touch_device() {  
  try {  
    document.createEvent("TouchEvent");  
    return true;  
  } catch (e) {  
    return false;  
  }  
}

function showVideo(name) {
  var featuresDiv = document.getElementById('features');
  var videoBarDiv = document.getElementById('video_bar');
  if (name == 'givebackworks') {
	document.getElementById('content').innerHTML='<iframe id="videoFrame" width="640" height="360" src="http://www.youtube.com/embed/lljR8g6sLoA?rel=0&amp;autoplay=1" frameborder="0"></iframe>';
	featuresDiv.innerHTML = '<ul id="features-list"><li>Receive referrals from 100s of other members</li>'
	 + '<li>Increased traffic to your own website</li>'
	 + '<li>Expose your business to 1000s of Rewards card holders</li>'
	 + '<li>Benefit from discounts with other members</li></ul>';
	 videoBarDiv.className = 'video_givebackworks';
  } else if (name == 'givebackrewards') {
	document.getElementById('content').innerHTML='<iframe id="videoFrame" width="640" height="360" src="http://www.youtube.com/embed/lljR8g6sLoA?rel=0&amp;autoplay=1" frameborder="0"></iframe>';
	featuresDiv.innerHTML = '<ul id="features-list"><li>Receive significant benefits/discounts</li>'
	 + '<li>Access to a fabulous online directory</li>'
	 + '<li>Support the local economy</li>'
	 + '<li>Piece of mind using reputable businesses</li></ul>';
	 videoBarDiv.className = 'video_givebackrewards';
  } else {
	document.getElementById('content').innerHTML='<iframe id="videoFrame" width="640" height="360" src="http://www.youtube.com/embed/gcrGx9mnrqY?rel=0&amp;autoplay=1" frameborder="0"></iframe>';
	featuresDiv.innerHTML = '<p>Select a video using the links at the top of the page to find out more about GiveBackWorks and GiveBackRewards.</p>';
	videoBarDiv.className = 'video_introduction';
  }
  return false;
}
