// JavaScript Document

var wine_path;
var image_names = new Array();
var image_id = new Array();

function createWineViewer(path, id) {
	wine_path = path;

	var div = document.createElement("div");
	div.style.position = "relative";
	div.style.height = "400px";
	
	var prev_control = document.createElement("div");
	prev_control.style.cssFloat = "left";
	prev_control.style.styleFloat = "left";
	prev_control.style.padding = "5px";
	prev_control.style.paddingTop = "160px";
	prev_control.id = "prev_control";
	prev_control.style.opacity = "0.5";
	prev_control.style.filter = "alpha(opacity=50)";
	if (!IE) {
		prev_control.addEventListener("click", wineScrollLeft, true);
	}
	else {
		prev_control.onclick = wineScrollLeft;		
	}
	var prev = document.createElement("img");
	prev.src = path+'images/prv.jpg';
	
	prev_control.appendChild(prev);

	var wine_cont = document.createElement("div");
	wine_cont.style.cssFloat = "left";
	wine_cont.style.styleFloat = "left";
	wine_cont.style.width = "450px";
	wine_cont.style.height = "388px";
	wine_cont.style.overflow = "hidden";
	wine_cont.style.position = "relative";
	
	var wine = document.createElement("div");
	wine.id = "wine_list";
	wine.style.height = "388px";
	wine.style.marginLeft = "0px";
	wine.style.position = "relative";
	
	
	
	wine_cont.appendChild(wine);
	
	
	var next_control = document.createElement("div");
	next_control.style.cssFloat = "left";
	next_control.style.styleFloat = "left";
	next_control.style.padding = "5px";
	next_control.style.paddingTop = "160px";
	next_control.style.cursor = "pointer";
	if (!IE) {
		next_control.addEventListener("click", wineScrollRight, true);
	}
	else {
		next_control.onclick = wineScrollRight;
	}
	next_control.id = "next_control";

	var next = document.createElement("img");
	next.src = path+'images/nxt.jpg';
	
	next_control.appendChild(next);
	
	
	div.appendChild(prev_control);
	div.appendChild(wine_cont);
	div.appendChild(next_control);
	
	
	document.getElementById(id).appendChild(div);
}



function setLabel (e) {
	var obj = "";
	if (e != null) {
		obj = e.target;	
	}
	else {
		obj = event.srcElement;
	}
	
	var pos = obj.alt;
	if (image_names[pos] == null) {
		var temp = obj;
		while (temp.parentNode.nodeName != "DIV") {
			temp = temp.parentNode;
		}
		pos = temp.alt;
	}
	
	
	document.getElementById("label_"+pos).innerHTML = image_names[pos];
	var nwidth = 150;
	document.getElementById("label_"+pos).style.width = nwidth+"px";
	document.getElementById("label_"+pos).style.left = "50%";
	document.getElementById("label_"+pos).style.marginLeft = "-"+nwidth/2+"px";

}

function clearLabel(e) {
		var obj = "";
	if (e != null) {
		obj = e.target;	
	}
	else {
		obj = event.srcElement;
	}
	
	var pos = obj.alt;
	if (image_names[pos] == null) {
		var temp = obj;
		while (temp.parentNode.nodeName != "DIV") {
			temp = temp.parentNode;
		}
		pos = temp.alt;
	}
	
	document.getElementById("label_"+pos).innerHTML = "";
}

function gotoWine (e) {
	var obj = "";
	if (e != null) {
		obj = e.target;	
	}
	else {
		obj = event.srcElement;
	}
	
	var pos = obj.alt;
	if (image_names[pos] == null) {
		var temp = obj;
		while (temp.parentNode.nodeName != "DIV") {
			temp = temp.parentNode;
		}
		pos = temp.alt;
	}
	

	window.location = "tasting-notes.php?id="+image_id[pos]+"";
}


function loadWines (wines, names, id) {
	temp = wines.split(";");
	temp_names = names.split(";");
	temp_id = id.split(";");
	
	image_names = temp_names;
	image_id = temp_id;
	
	
	for (var i = 0; i < temp.length-1; i++) {
		
		var image_tmp_cont = document.createElement("div");
		image_tmp_cont.style.cssFloat = "left";
		image_tmp_cont.style.styleFloat = "left";
		image_tmp_cont.style.paddingLeft = "26px";
		image_tmp_cont.style.paddingRight = "26px";
		image_tmp_cont.alt = i;

		if (!IE) {
			image_tmp_cont.addEventListener("mouseover", setLabel, true);
		}
		else {
			image_tmp_cont.onmouseover = setLabel;
		}
		if (!IE) {
			image_tmp_cont.addEventListener("mouseout", clearLabel, true);
		}
		else {
			image_tmp_cont.onmouseout = clearLabel;
		}
		if (!IE) {
			image_tmp_cont.addEventListener("click", gotoWine, true);
		}
		else {
			image_tmp_cont.onclick = gotoWine;
		}

		
		var image_tmp = document.createElement("img");
		image_tmp.src = temp[i];
		
		image_tmp.style.cssFloat = "left";
		image_tmp.style.styleFloat = "left";
		image_tmp.alt = i;
		image_tmp.id = i;
		image_tmp.style.cursor = "pointer";
		
		
		var reflexOnload = image_tmp.onload;

		image_tmp.onload = function() {
			
			
			
			var obj = document.getElementById("wine_list");
			var width = 0;
			
			if (obj.childNodes && obj.childNodes.length > 0) {
				for (var x = 0; x < obj.childNodes.length; x++) {
					if (obj.childNodes[x].offsetWidth > 1 && obj.childNodes[x].offsetWidth != null) {
						   if (obj.childNodes[x].style.cssFloat == "left" | obj.childNodes[x].style.styleFloat == "left") {
						   		width += obj.childNodes[x].offsetWidth;
						   }
						
					}
				   }
			}
			else {
				// nothing exists in the drop	
			}
			
			obj.style.width = width+"px";
			
			if(reflexOnload) reflexOnload(); if(isIE){}else {addReflex(); }
			
			fadeInObject(obj.id);
		}
		image_tmp_cont.style.position = "relative";
		image_tmp_cont.appendChild(image_tmp);
		
		var label = document.createElement("div");
		label.id = "label_"+i; 
		label.style.position = "absolute";
		label.style.bottom = "-36px";

		label.style.fontWeight = "bold";
		
		
		
		image_tmp_cont.appendChild(label);
		
		document.getElementById("wine_list").appendChild(image_tmp_cont);

		
		
		
	
	
	}
	var image_break = document.createElement("div");
	image_break.style.clear = "both";
	document.getElementById("wine_list").appendChild(image_break);
}


function wineScrollRight(e) {
	
	var orig = parseInt(document.getElementById("wine_list").style.marginLeft.replace("px", ""));
	
	
	moveWineRight(orig, 150);
		
	document.getElementById("prev_control").style.opacity = "1";
	document.getElementById("prev_control").style.filter = "alpha(opacity=100)";
	document.getElementById("prev_control").style.cursor = "pointer";
	
}


function wineScrollLeft(e) {
	
	var orig = parseInt(document.getElementById("wine_list").style.marginLeft.replace("px", ""));
	
	
	moveWineLeft(orig, 150);
		
	document.getElementById("next_control").style.opacity = "1";
	document.getElementById("next_control").style.filter = "alpha(opacity=100)";
	document.getElementById("next_control").style.cursor = "pointer";
	
}


function moveWineRight(orig, amount) {
	clearTimeout (moveTimer);
	
	var obj = document.getElementById("wine_list");
	var marginLeft = parseInt(document.getElementById("wine_list").style.marginLeft.replace("px", ""));
	var newpos = orig - amount;
	
	var maxi = 450-document.getElementById("wine_list").offsetWidth;

	if (marginLeft > newpos & marginLeft > maxi) {
		var step = 10;
		
		if (marginLeft - step < newpos) {
			marginLeft = newpos;
		}
		else if (marginLeft - step <= maxi) {
			marginLeft = maxi;	
		}
		else {
			marginLeft -= step;	
		}
		
		obj.style.marginLeft = marginLeft+"px";
		
		moveTimer = setTimeout("moveWineRight("+orig+", "+amount+")", 20);
	}
	else {
		if (marginLeft == maxi) {
				document.getElementById("next_control").style.opacity = "0.5";
				document.getElementById("next_control").style.filter = "alpha(opacity=50)";
				document.getElementById("next_control").style.cursor = "pointer";
		}
	}
	
}



function moveWineLeft(orig, amount) {
	clearTimeout (moveTimer);
	
	var obj = document.getElementById("wine_list");
	var marginLeft = parseInt(document.getElementById("wine_list").style.marginLeft.replace("px", ""));
	var newpos = orig + amount;
	
	var mini = 0;

	if (marginLeft < newpos & marginLeft < mini) {
		var step = 10;
		
		if (marginLeft + step > newpos) {
			marginLeft = newpos;
		}
		else if (marginLeft + step >= mini) {
			marginLeft = mini;	
		}
		else {
			marginLeft += step;	
		}
		
		obj.style.marginLeft = marginLeft+"px";
		
		moveTimer = setTimeout("moveWineLeft("+orig+", "+amount+")", 20);
	}
	else {
		if (marginLeft == mini) {
				document.getElementById("prev_control").style.opacity = "0.5";
				document.getElementById("prev_control").style.filter = "alpha(opacity=50)";
				document.getElementById("prev_control").style.cursor = "pointer";
		}
	}
	
}


