var imgs = new Array();
var currentIndex=0;

function ProductImage(th,reg,big) {
	this.th=th;
	this.reg=reg;
	this.big=big;
}

function preloadProductImages() {
	for(var i=0;i<pi.length;i++) {
		imgs[pi[i].th] = new Image();
		imgs[pi[i].th].src = "/images/products/"+pi[i].th;

		imgs[pi[i].reg] = new Image();
		imgs[pi[i].reg].src = "/images/products/"+pi[i].reg;

		imgs[pi[i].big] = new Image();
		imgs[pi[i].big].src = "/images/products/"+pi[i].big;
	}	
}

function changeRegImg(index,color) {
	document.images['regImage'].src = imgs[pi[index].reg].src;
	document.getElementById('color').innerHTML=color;
	currentIndex=index;
}

function displayLargeImg() {
	var pos = findPos(document.getElementById('zoomImage'));
	var left = pos[0]-245;
	var top = pos[1]-434;
	document.images['largeImage'].src = imgs[pi[currentIndex].big].src;
	document.getElementById('largeImageDiv').style.left=left;
	document.getElementById('largeImageDiv').style.top=top;
	document.getElementById('largeImageDiv').style.visibility="visible";
}
/*
function loadColorNSize() {
	var colorSelect = document.getElementById('color');
	var counter=0;
	var color='';
	for (var key in colors) {
		if(color == '') color=key;
		colorSelect.options[counter++] = new Option(key,key);
	}
	if(color != '') {	
		loadSize(color);
	}
} */

function loadPrice(colorsize) {
	var arr = colorsize.split('|');
	var colorObj = colors[arr[0]];
	if(colorObj != null) {
		document.getElementById('priceOfColor').innerHTML='$'+colorObj.price;
	}
}

function loadSize(color) {
	var sizeSelect = document.getElementById('sizes');
	while(sizeSelect.firstChild != null) {
		sizeSelect.removeChild(sizeSelect.firstChild);
	}
	if(color != '') {
		var colorObj = colors[color];
		var sizes = colorObj.sizes;
		sizeSelect.options[0] = new Option('Select one',''); 
		for(var i=0;i<sizes.length;i++) {
			sizeSelect.options[i+1] = new Option(sizes[i],sizes[i]);
		}
		if(colorObj != null) {
			document.getElementById('priceOfColor').innerHTML='$'+colorObj.price;
		}
	} else {
		for(var i=0;i<5;i++) {
			sizeSelect.options[i] = new Option('','');
		}		
	}
}

function Color(color,price) {
	this.color=color;
	this.price=price;
	this.sizes = new Array();
	this.addSize = function (size) {
		this.sizes[this.sizes.length] = size;
	}
}

function validateAddToCart() {
	var msg='';
	if(document.theform.color.value=='') {
		msg += "Please pick a color\n";
	}
	if(document.theform.size.value=='') {
		msg += "Please pick a size\n";
	}
	if(!isValidInt(document.theform.qty.value)) {
		msg += "Invalid quantity value\n";
	} else if(document.theform.qty.value=='0') {
		msg += "Please enter a quantity greater than 0";
	}
	if(msg != '') {
		alert(msg);
		return false;
	}
	return true;
}

function isValidInt(number) {
	var format = /^[0-9]{1,}$/;
	return format.test(number);
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop]; 
}

function changeColor(imgSrc,color) {
	if(imgSrc != '') document.getElementById('mainImage').src='/images/products/reg_'+imgSrc;
	var opts = document.getElementById('colorsize').options;
	var total = opts.length;
	var option;
	for(var i=0; i<total; i++) {
		option = opts[i];
		if(option.value.indexOf(color) > -1) {
			opts.selectedIndex=i;
			break;
		}
	}
}

function loadProduct(id) {
	document.getElementById('productframe').src='/product.php?productId='+id;
}