// JavaScript Document
var dataArray = new Array();
var xhr = false;
var preloadActive = true;
var preloadAnimTimer = 0;
var preloadFrame=1;
var imgLoader = new Array();
var homeSlideCurrentIndex=1000;
var homeAutoTimer = 0;
var numberOfSlides = 4;
var slideWidth=256;
var product_slide_index=0;
var maxClicks;
var visitedIndexArray = new Array();
var fullScreenImageLoader = new Image(); 
var fullscreenSlideIndex=1000;
var preloadFrameArray=new Array();

$(function(){
	if(page=="index")
	{
		activateSubmenu();
		activatePreload_home();
		loadXML("xml/ApparelincXML.xml");
	}
	else if(page=="products")
	{
		activateSubmenu();
	}
	else if(page=="products_tshirts"||page=="products_polos"||page=="products_wovenshirts"||page=="products_hoodies")
	{
		activateSubmenu();
		loadXML("xml/ApparelincXML.xml");
		
	}
	else if (page =="sitemap")
	{
		activateSubmenu();
	}
	else if (page=="about")
	{
		activateSubmenu();
	}
	else if (page =="styles_tshirts"||page =="styles_polos"||page =="styles_hoodies"||page =="styles_wovenshirts")
	{
		activateSubmenu();
		loadXML("xml/ApparelincXML.xml");
	}
});


function loadXML(url)
{
			
			if (window.XMLHttpRequest) {
				xhr = new XMLHttpRequest();
			}
			else {
				if (window.ActiveXObject) {
					try {
						xhr = new ActiveXObject("Microsoft.XMLHTTP");
					}
					catch (e) { }
				}
			}
			if(xhr)
			{
				xhr.onreadystatechange = setArray;
				xhr.open ("GET", url, true);
				xhr.send (null);
			}
}

function setArray()
{
	if (xhr.readyState == 4) {
			if (xhr.status == 200) 
			{
						if(page=="index")
						{
								var myImages = xhr.responseXML.getElementsByTagName("homeSlide");
								for(var i = 0; i < myImages.length; i++)
								{
									dataArray[i] = xhr.responseXML.getElementsByTagName("homeSlide")[i].firstChild.nodeValue;
								}
								loadHomeSlideImages();
						}
						else if(page=="products_tshirts")
						{
								var myProducts = xhr.responseXML.getElementsByTagName("product_tshirt");
								for(var i = 0; i < myProducts.length; i++)
								{
									
									var myTemp=new Array();
									myTemp["buttonImg"]=xhr.responseXML.getElementsByTagName("buttonImage_product_tshirt")[i].firstChild.nodeValue;
									myTemp["fullscreenImg"]=xhr.responseXML.getElementsByTagName("fullscreenImage_product_tshirt")[i].firstChild.nodeValue;
									myTemp["downloadImg"]=xhr.responseXML.getElementsByTagName("downloadImage_product_tshirt")[i].firstChild.nodeValue;
									myTemp["productName"]=xhr.responseXML.getElementsByTagName("name_product_tshirt")[i].firstChild.nodeValue;
									myTemp["productDescription"]=xhr.responseXML.getElementsByTagName("description_product_tshirt")[i].firstChild.nodeValue;
									myTemp["logo"]=xhr.responseXML.getElementsByTagName("logo_product_tshirt")[i].firstChild.nodeValue;
									dataArray[i] = myTemp;
								}
								maxClicks = dataArray.length-numberOfSlides;
								loadProductPage();
						}
						else if(page=="products_polos")
						{
								var myProducts = xhr.responseXML.getElementsByTagName("product_polo");
								for(var i = 0; i < myProducts.length; i++)
								{
									
									var myTemp=new Array();
									myTemp["buttonImg"]=xhr.responseXML.getElementsByTagName("buttonImage_product_polo")[i].firstChild.nodeValue;
									myTemp["fullscreenImg"]=xhr.responseXML.getElementsByTagName("fullscreenImage_product_polo")[i].firstChild.nodeValue;
									myTemp["downloadImg"]=xhr.responseXML.getElementsByTagName("downloadImage_product_polo")[i].firstChild.nodeValue;
									myTemp["productName"]=xhr.responseXML.getElementsByTagName("name_product_polo")[i].firstChild.nodeValue;
									myTemp["productDescription"]=xhr.responseXML.getElementsByTagName("description_product_polo")[i].firstChild.nodeValue;
									myTemp["logo"]=xhr.responseXML.getElementsByTagName("logo_product_polo")[i].firstChild.nodeValue;
									dataArray[i] = myTemp;
								}
								maxClicks = dataArray.length-numberOfSlides;
								loadProductPage();
						}
						else if(page=="products_hoodies")
						{
								var myProducts = xhr.responseXML.getElementsByTagName("product_hoodie");
								for(var i = 0; i < myProducts.length; i++)
								{
									
									var myTemp=new Array();
									myTemp["buttonImg"]=xhr.responseXML.getElementsByTagName("buttonImage_product_hoodie")[i].firstChild.nodeValue;
									myTemp["fullscreenImg"]=xhr.responseXML.getElementsByTagName("fullscreenImage_product_hoodie")[i].firstChild.nodeValue;
									myTemp["downloadImg"]=xhr.responseXML.getElementsByTagName("downloadImage_product_hoodie")[i].firstChild.nodeValue;
									myTemp["productName"]=xhr.responseXML.getElementsByTagName("name_product_hoodie")[i].firstChild.nodeValue;
									myTemp["productDescription"]=xhr.responseXML.getElementsByTagName("description_product_hoodie")[i].firstChild.nodeValue;
									myTemp["logo"]=xhr.responseXML.getElementsByTagName("logo_product_hoodie")[i].firstChild.nodeValue;
									dataArray[i] = myTemp;
								}
								maxClicks = dataArray.length-numberOfSlides;
								loadProductPage();
						}
						else if(page=="products_wovenshirts")
						{
								var myProducts = xhr.responseXML.getElementsByTagName("product_wovenshirt");
								for(var i = 0; i < myProducts.length; i++)
								{
									
									var myTemp=new Array();
									myTemp["buttonImg"]=xhr.responseXML.getElementsByTagName("buttonImage_product_wovenshirt")[i].firstChild.nodeValue;
									myTemp["fullscreenImg"]=xhr.responseXML.getElementsByTagName("fullscreenImage_product_wovenshirt")[i].firstChild.nodeValue;
									myTemp["downloadImg"]=xhr.responseXML.getElementsByTagName("downloadImage_product_wovenshirt")[i].firstChild.nodeValue;
									myTemp["productName"]=xhr.responseXML.getElementsByTagName("name_product_wovenshirt")[i].firstChild.nodeValue;
									myTemp["productDescription"]=xhr.responseXML.getElementsByTagName("description_product_wovenshirt")[i].firstChild.nodeValue;
									myTemp["logo"]=xhr.responseXML.getElementsByTagName("logo_product_wovenshirt")[i].firstChild.nodeValue;
									dataArray[i] = myTemp;
								}
								maxClicks = dataArray.length-numberOfSlides;
								loadProductPage();
						}
						else if(page=="styles_tshirts")
						{
								var myProducts = xhr.responseXML.getElementsByTagName("style_tshirt");
								for(var i = 0; i < myProducts.length; i++)
								{
									var myTemp=new Array();
									myTemp["fullscreenImg"]=xhr.responseXML.getElementsByTagName("fullscreenImage_style_tshirt")[i].firstChild.nodeValue;
									myTemp["downloadImg"]=xhr.responseXML.getElementsByTagName("downloadImage_style_tshirt")[i].firstChild.nodeValue;
									dataArray[i] = myTemp;
								}
						}
						else if(page=="styles_polos")
						{
								var myProducts = xhr.responseXML.getElementsByTagName("style_polo");
								for(var i = 0; i < myProducts.length; i++)
								{
									var myTemp=new Array();
									myTemp["fullscreenImg"]=xhr.responseXML.getElementsByTagName("fullscreenImage_style_polo")[i].firstChild.nodeValue;
									myTemp["downloadImg"]=xhr.responseXML.getElementsByTagName("downloadImage_style_polo")[i].firstChild.nodeValue;
									dataArray[i] = myTemp;
								}
						}
						else if(page=="styles_wovenshirts")
						{
								var myProducts = xhr.responseXML.getElementsByTagName("style_wovenshirt");
								for(var i = 0; i < myProducts.length; i++)
								{
									var myTemp=new Array();
									myTemp["fullscreenImg"]=xhr.responseXML.getElementsByTagName("fullscreenImage_style_wovenshirt")[i].firstChild.nodeValue;
									myTemp["downloadImg"]=xhr.responseXML.getElementsByTagName("downloadImage_style_wovenshirt")[i].firstChild.nodeValue;
									dataArray[i] = myTemp;
								}
						}
						else if(page=="styles_hoodies")
						{
								var myProducts = xhr.responseXML.getElementsByTagName("style_hoodie");
								for(var i = 0; i < myProducts.length; i++)
								{
									var myTemp=new Array();
									myTemp["fullscreenImg"]=xhr.responseXML.getElementsByTagName("fullscreenImage_style_hoodie")[i].firstChild.nodeValue;
									myTemp["downloadImg"]=xhr.responseXML.getElementsByTagName("downloadImage_style_hoodie")[i].firstChild.nodeValue;
									dataArray[i] = myTemp;
								}
						}
			}
			else {
				var outMsg = "There was a problem with the request " + xhr.status;
			}
		}
}

function activateSubmenu()
{

	$(".submenu_li").each(
							function()
							{
								$(this).hover(
									function()
									{
										$(this).find("ul.submenu").slideToggle("fast");
										$(this).find("a:first").css("background-color","#000");
										
									},
									function()
									{
										$(this).find("ul.submenu").slideToggle("fast");
										if($(this).find("a:first").hasClass("selected")==false)//if it is not the button for the current page, the button remains black
										{
											$(this).find("a:first").css("background-color","#2b2b2b");
										}
									}
								)
								
							}
						)
}

//home page functions
function loadHomeSlideImages()
{
		var imageLoaded=0;
		for (var i =0; i <dataArray.length; i++)
		{
			imgLoader[i] = new Image ();
			imgLoader[i].onload = function(){
					imageLoaded++;
					if(imageLoaded==dataArray.length)
					{
						preloadActive=false;
						activateHomeSlide();
					}
			}

			imgLoader[i].src = dataArray[i];
		}
}


function activatePreload_home()
{
	var preloadContainer_home= document.createElement("div");
	var home_slide = document.getElementById("home_slide");
	preloadContainer_home.setAttribute('id', 'preloadContainer_home');
	home_slide.appendChild(preloadContainer_home);
	loadPreloadImages();
}

function loadPreloadImages()
{
	var imageLoaded=0;
		for (var i =1; i <13; i++)
		{
			preloadFrameArray[i] = new Image ();
			preloadFrameArray[i].onload = function(){
					imageLoaded++;
					if( imageLoaded==12)
					{
						preloadAnimTimer = setInterval("preLoadInterval_home()", 100);
					}
			}

			preloadFrameArray[i].src = "images/zoom-spin-"+i+".png";
		}
}


function preLoadInterval_home()
{
	if(preloadActive==true)
	{
		var myURL="url(images/zoom-spin-"+preloadFrame+".png)";
		$("#preloadContainer_home").css("background-image", myURL);
		preloadFrame++;
		if(preloadFrame>12)
		{
			preloadFrame=1;
		}
	}
	else
	{
		$("#preloadContainer_home").css("display", "none");
		clearInterval(preloadAnimTimer);
		preloadAnimTimer = 0;
	}
}

function activateHomeSlide()
{
	var home_slideContainer = document.getElementById("home_slide");
	for (var i =0; i <dataArray.length; i++)
	{
		var homeSlide=$("<div class='homeSlide'><img src='"+dataArray[i]+"' alt ='Apparelinc promotional clothing'/></div");//add Slides
		$("#home_slide_container").append(homeSlide);
		
		var homeSlideButtons="<a class='homeSlideButton' onclick='setHomeSlide("+i+")' onmouseover='clearPlay()' onmouseout='startPlay()'></a>";  // add buttons
		$("#homeSlideButtonContainer").append(homeSlideButtons);

	}
	
	setHomeSlide(0);
	homeAutoTimer=setInterval("playSlide()", 5000);
}

function startPlay(evt){
	homeAutoTimer=setInterval("playSlide()", 5000);
}

function clearPlay(evt){
	clearInterval(homeAutoTimer);
}

function setHomeSlide(index)
{
	if( homeSlideCurrentIndex!=index)
	{
		$("div.homeSlide:eq("+index+")").fadeIn("normal"); // change slide
		$("div.homeSlide:eq("+homeSlideCurrentIndex+")").fadeOut("normal");
		$(".homeSlideButton:eq("+index+")").toggleClass("homeSlideButton_selected");//change the home slide buttons
		$(".homeSlideButton:eq("+homeSlideCurrentIndex+")").toggleClass("homeSlideButton_selected");
		homeSlideCurrentIndex=index;
	}
}

function playSlide()
{
	var nextIndex=homeSlideCurrentIndex+1;
	if(nextIndex>3)
	{
		nextIndex=0;
	}
	setHomeSlide(nextIndex);
}

//product page functions
function loadProductPage()
{
	var slideContainerWidth = dataArray.length*slideWidth;
	$("#products_slide_container").css("width", slideContainerWidth);//set slide width after knowing many slides we have

	var initSlideNumber = Math.min(numberOfSlides, dataArray.length)
	for (var i=0; i<initSlideNumber; i++)
	{
		var displayIndex=i+1;
		var newSlide = "<a class='product_slide' id='productSlide"+i+"' onclick='triggerFullScreen("+i+")' href='#'><img src='"+dataArray[i]["buttonImg"]+"' alt='T-shirt product'/><div class='buttonBox'><h1>"+dataArray[i]["productName"]+"</h1><p>"+dataArray[i]["productDescription"]+"</p><img src='"+dataArray[i]["logo"]+"' alt='logo'/></div><p class='butIndex'>"+displayIndex+"/"+dataArray.length+"</p></a>";
		$(newSlide).appendTo($("#products_slide_container"));
		$('.product_slide:last').hover(
						  
						  function (){
							$(this).find(".buttonBox").css("display","block");
						  },
						  function (){
						  	$(this).find(".buttonBox").css("display","none");
						  }
						  
						  )
		
	}
	activateProductsNextPrevButton();
	//activateBtHover();
}

function activateProductsNextPrevButton()
{
	
	$("#prev").css("display","block");
	$("#next").css("display","block");
}


function prevSlide_products(evt)
{
	product_slide_index--;
	if(product_slide_index<0)
	{
		product_slide_index=0;
		return;
	}
	moveSlide();
	
}

function nextSlide_products(evt)
{
	product_slide_index++;
	//product_slide_index=Math.min(maxClicks, product_slide_index);
	if(product_slide_index>maxClicks)
	{
		product_slide_index=maxClicks;
		return;
	}
	addSlide();
	moveSlide();
	
}



function moveSlide()
{
	var offset=product_slide_index*slideWidth*-1;
	$("#products_slide_container").animate({ left: offset.toString() }, 1000, "swing");
}

function addSlide()
{
	if(visitedIndexArray[product_slide_index]!="visited")
	{
		var arrayIndex=product_slide_index+numberOfSlides-1;
		var displayIndex=product_slide_index+numberOfSlides;
		var newThumbAddress=dataArray[arrayIndex]['thumb'];

		var newElement= $("<a class='product_slide' id='productSlide"+arrayIndex+"' onclick='triggerFullScreen("+arrayIndex+")' href='#'><img src='"+dataArray[arrayIndex]["buttonImg"]+"' alt='T-shirt product'/><div class='buttonBox'><h1>"+dataArray[arrayIndex]["productName"]+"</h1><p>"+dataArray[arrayIndex]["productDescription"]+"</p><img src='"+dataArray[arrayIndex]["logo"]+"' alt='logo'/></div><p class='butIndex'>"+displayIndex+"/"+dataArray.length+"</p></a>");

		newElement.appendTo("#products_slide_container");
		
		$('.product_slide:last').hover(
				  
				  function (){
					$(this).find(".buttonBox").css("display","block");
				  },
				  function (){
					$(this).find(".buttonBox").css("display","none");
				  }
				  
				  )
		
		visitedIndexArray[product_slide_index]="visited";
		
	}
}

function triggerFullScreen(index)
{
	
	prepFullScreen(index);
	loadSlide(index);
	return false;
}

function prepFullScreen(index)
{
	var fullScreenSlideshowContainer=$("<div id='fullScreenSlideshowContainer'></div>");
	$(fullScreenSlideshowContainer).appendTo("body");

	var fullscreenBg=$("<div id='fullScreenBg'></div>");
	$(fullscreenBg).appendTo(fullScreenSlideshowContainer);
	
	var fullscreenSlide_centerContaier=$("<div id='fullscreenSlide_centerContaier'></div>");
	$(fullscreenSlide_centerContaier).appendTo(fullScreenSlideshowContainer);
	
	// Two divs inside fullscreenSlide_centerContaier

	// first div
	
	var slidesContainer_fullscreenSlide=$("<div id='slidesContainer_fullscreenSlide'></div>");
	$(slidesContainer_fullscreenSlide).appendTo(fullscreenSlide_centerContaier);
	
	//second div that contains all the fullscreen buttons
	var buttonContainer_fullscreenSlide=$("<div id='buttonContainer_fullscreenSlide'></div>");
	$(buttonContainer_fullscreenSlide).appendTo(fullscreenSlide_centerContaier);
	
	var fullscreenPreloadContainer = $("<div id='fullscreenPreloadContainer'></div>");
	$(fullscreenPreloadContainer).appendTo(buttonContainer_fullscreenSlide);
	
	var fullscreenPrev = $("<div id='fullscreenPrev'></div>");
	$(fullscreenPrev).appendTo(buttonContainer_fullscreenSlide);
	$(fullscreenPrev).click (prevSlide);
	
	var fullscreenNext = $("<div id='fullscreenNext'></div>");
	$(fullscreenNext).appendTo(buttonContainer_fullscreenSlide);
	$(fullscreenNext).click (nextSlide);
	
	var fullscreenClose = $("<div id='fullscreenClose'></div>");
	$(fullscreenClose).appendTo(buttonContainer_fullscreenSlide);
	
	if(page=="products_tshirts"||page=="products_polos"||page=="products_hoodies"||page=="products_wovenshirts")
	{
		var downloadButton =$("<a id='downloadBt' href='"+dataArray[index]["downloadImg"]+"' target='_blank'>Download Image</a>");
		$(downloadButton).appendTo(buttonContainer_fullscreenSlide);
	}
	else //download butons of styles pages are on the left
	{
		var downloadButton =$("<a id='downloadBt2' href='"+dataArray[index]["downloadImg"]+"' target='_blank'>Download Image</a>");
		$(downloadButton).appendTo(buttonContainer_fullscreenSlide);
	}
	
	$(fullscreenClose).click (deactiveFullScreen);
}

function deletePrevSlide()
{
	if ($(".fullscreenSlide").length ==2)
	{
		$(".fullscreenSlide:first").fadeOut("normal");
	}
}

function newSlideOnLoad()
{
	//preloadActive=false;
	var newSlide=$("<div class='fullscreenSlide'><img src='"+dataArray[fullscreenSlideIndex]["fullscreenImg"]+"'></div>");
	$(newSlide).appendTo($("#slidesContainer_fullscreenSlide"));
	$(newSlide).fadeIn("normal", deletePrevSlide());
	if(page=="products_tshirts"||page=="products_polos"||page=="products_hoodies"||page=="products_wovenshirts")
	{
		$("#downloadBt").attr("href",dataArray[fullscreenSlideIndex]["downloadImg"]);
	}
	else
	{
		$("#downloadBt2").attr("href",dataArray[fullscreenSlideIndex]["downloadImg"]);
	}
	$("#fullscreenPreloadContainer").css("display", "none");
	clearInterval(preloadAnimTimer);
	preloadAnimTimer = 0;
	
}



function loadSlide(index)
{
		fullscreenSlideIndex = index;
		loadPreloadImages_products();
		fullScreenImageLoader.onload=function(){newSlideOnLoad();}
		fullScreenImageLoader.src=dataArray[fullscreenSlideIndex]["fullscreenImg"];

}

function loadPreloadImages_products()
{
	clearInterval(preloadAnimTimer);
	preloadAnimTimer = 0;
	$("#fullscreenPreloadContainer").css("display", "block");
	var imageLoaded=0;
		for (var i =1; i <13; i++)
		{
			preloadFrameArray[i] = new Image ();
			preloadFrameArray[i].onload = function(){
					imageLoaded++;
					if( imageLoaded==12)
					{
						preloadActive=true;
						preloadAnimTimer = setInterval("preLoadInterval_Products()", 100);
					}
			}
			preloadFrameArray[i].src = "images/zoom-spin-"+i+".png";
		}
}


function prevSlide()
{
	var prevIndex=fullscreenSlideIndex-1;
	if (prevIndex<0)
	{
		return;
	}
	loadSlide(prevIndex);
}

function nextSlide()
{
	var nextIndex=fullscreenSlideIndex+1;
	if(nextIndex>dataArray.length-1)
	{
		return;
	}
	loadSlide(nextIndex);
}


function preLoadInterval_Products()
{
	
		var myURL="url(images/zoom-spin-"+preloadFrame+".png)";
		$("#fullscreenPreloadContainer").css("background-image", myURL);
		preloadFrame++;
		if(preloadFrame>12)
		{
			preloadFrame=1;
		}
/*
	if(preloadActive==true)
	{
		var myURL="url(images/zoom-spin-"+preloadFrame+".png)";
		$("#fullscreenPreloadContainer").css("background-image", myURL);
		preloadFrame++;
		if(preloadFrame>12)
		{
			preloadFrame=1;
		}
	}
	else
	{
		$("#fullscreenPreloadContainer").css("display", "none");
		clearInterval(preloadAnimTimer);
		preloadAnimTimer = 0;
	}
	*/
}



function deactiveFullScreen()
{
	$("#fullScreenSlideshowContainer").remove();
	fullscreenSlideIndex=1000;
	fullScreenImageLoader=new Image();
}
function formCheck(contactForm)
{
	if(contactForm.name.value=="")
	{
		alert ("Company name can not be empty");
		contactForm.name.focus();
		return false;
	}
	else if(contactForm.contact.value=="")
	{
		alert ("Contact can not be empty");
		contactForm.contact.focus();
		return false;
	}
	else if(contactForm.telephone.value=="")
	{
		alert ("Telephone can not be empty");
		contactForm.telephone.focus();
		return false;
	}
	else if(contactForm.email.value=="")
	{
		alert ("email can not be empty");
		contactForm.email.focus();
		return false;
	}
}
