function viewPic(){
	var obj = document.getElementById('pic');
	switch(changeImage){
		case 'otherid': appearPic(); break;
		case 'change': 
			if(currentImageLoaded) showPic(); 
			else currentImageLoaded = true;
			break;
		default : showPic();
	}
}

function showPic(){
	var obj = document.getElementById('pic');
	if(viewDetailPosition == 'left') obj.style.left = '408px';
	else obj.style.left = '-408px';
	obj.style.top = '0px'; 
	obj.src = dir + currentProduct.images[currentProduct.imageIndex].src;
	obj.alt = "Product Image";
	document.getElementById('piczoom').src = dir + currentProduct.zoomImages[currentProduct.imageIndex];
	if(viewDetailPosition == 'left') new Effect.Move('pic', {x:-408,afterFinish:setThumbnailGray});
	else new Effect.Move('pic', {x:408, afterFinish:setThumbnailGray});
	currentImageLoaded = false;	
}

function setThumbnailGray(){
	for(i=0;i< products.length;i++){
		if(currentProduct.id == products[i].id) Element.hide('product_gray_'+products[i].id);
		Element.show('product_gray_'+products[i].id);
	}
}

function appearPic(){
	if(currentImageLoaded){
		var obj = document.getElementById('pic');
		obj.src = dir + currentProduct.images[currentProduct.imageIndex].src;
		obj.style.top = '0px';
		obj.style.left = '0px';
		obj.alt = "Product Image";
		document.getElementById('piczoom').src = dir + currentProduct.zoomImages[currentProduct.imageIndex];
		new Effect.Appear('pic');
		currentImageLoaded = false;
	} else currentImageLoaded = true;
}

function thumbOver(id){
	if(parseFloat(Element.getStyle('product_nPanel_'+id, 'top')) == 190){
		_effect[id+'_o'] = new Effect.Opacity('product_hover_'+id, {from:0.0, to:0.4, duration:0.5});
		_effect[id+'_m'] = new Effect.Move('product_nPanel_'+id, {y:-58, duration:0.5});
	}
}

function thumbOut(id){
		_effect[id+'_o'].cancel();
		_effect[id+'_m'].cancel();
		Element.setStyle('product_hover_'+id, {opacity:0, alpha:0});
		Element.setStyle('product_nPanel_'+id, {top:'190px'});
}

function closeProductDetail(){
	var tmp = 0;
	if((currentVerticalIdx-viewPointer)>1) new Effect.Move('detail', {x:409, afterFinish:hideProductWindow});
	else new Effect.Move('detail_anicontent', {x:-409, afterFinish:hideProductWindow});
	new Effect.ResizeTo('detail', {direction:'hor', toSize:1});
	if(viewDetailPosition=='left'){
		new Effect.Move('product_' + currentProduct.id, {x:190});
		tmp = -29;
	} else new Effect.Move('product_' + currentProduct.id, {x:-190});
	if(zoom=='in') zoomImage('closewindow');
	for(i=0;i< products.length;i++) Element.hide('product_gray_'+products[i].id);
	if(viewPointer<0){ tmp += 190 * viewPointer; viewPointer=0; }
	else if(viewPointer>0){
		if(totalVerticalLine< viewPointer+4){
			if(totalVerticalLine<4){
				tmp += 190 * viewPointer;
				viewPointer = 0;	
			} else {
				tmp += 190 * (viewPointer+4-totalVerticalLine); 
				viewPointer -= (viewPointer+4-totalVerticalLine); 
			}
		}
	}
	if(tmp!=0){
		if(idMoveThumbnail != null){
			distanceThumbnail = tmp;
		} else new Effect.Move('thumbnailRow', {x:tmp});
	}
	if(totalVerticalLine>4) new Effect.Appear('thumb_navi');
	location.hash = '#';
}

function hideProductWindow(){
	currentProduct.id = 0;
	currentProduct.idx= -1;
	currentVerticalIdx = 0;
	Element.hide('detail');
	Element.hide('detail_line');
	Element.hide('detail_navi');
	Element.setStyle('pic', {left:'408px'});
}

function showProductDetail(id, idx, pidx){
	if(animation) return;
	animation = true;
	document.location = '#' + id;
	Element.show('pic');
	sendGET('/phpengine/product_detail.php?id='+id);
	if(Element.getStyle('detail', 'display')=='none'){
		showLoadingImage();
		if((idx-viewPointer)>1){
			if(parseInt(Element.getStyle('thumbnailRow', 'left'))%190==0) new Effect.Move('thumbnailRow', {x:29});
			Element.setStyle('detail', {left:'409px'});
			Element.setStyle('detail', {width:'1px'});
			Element.setStyle('detail_anicontent', {left:'0px'});
			Element.setStyle('detail_line', {left:'408px'});
			Element.show('detail_line');
			Element.show('detail');
			new Effect.Move('detail', {x:-409});
			Element.setStyle('detail_navi', {left:'409px'});
			new Effect.Appear('detail_navi');
			viewDetailPosition = 'left';
			new Effect.Move('product_' + id, {x:-190, afterFinish:enableSelect});
		} else {
			if(parseInt(Element.getStyle('thumbnailRow', 'left'))%190==29) new Effect.Move('thumbnailRow', {x:-29});
			Element.setStyle('detail', {left:'380px'});
			Element.setStyle('detail', {width:'1px'});
			Element.setStyle('detail_anicontent', {left:'-409px'});
			Element.setStyle('detail_line', {left:'380px'});
			Element.show('detail_line');
			Element.show('detail');
			new Effect.Move('detail_anicontent', {x:409});
			if(totalVerticalLine > 2){
				Element.setStyle('detail_navi', {left:'350px'});
				new Effect.Appear('detail_navi');
			}
			viewDetailPosition = 'right';
			new Effect.Move('product_' + id, {x:190, afterFinish:enableSelect});
		}
		new Effect.ResizeTo('detail', {direction:'hor', toSize:409});
		changeImage = 'first';
		if(totalVerticalLine>4) Element.hide('thumb_navi');
	} else {
		changeImage = 'otherid';
		if(zoom=='in') zoomImage('changeImage');
		Element.setStyle('pic', {top:'0px'});
		if(viewDetailPosition == 'left'){
			new Effect.Move('product_' + currentProduct.id, {x:190});
			new Effect.Move('product_' + id, {x:-190, afterFinish:enableSelect});
			new Effect.Move('pic', {x:408, afterFinish:showProductLoading});
		} else {
			new Effect.Move('product_' + currentProduct.id, {x:-190});
			new Effect.Move('product_' + id, {x:190, afterFinish:enableSelect});
			new Effect.Move('pic', {x:-408, afterFinish:showProductLoading});
		}
	}
	currentProduct.id = id;
	currentProduct.idx= pidx;
	currentVerticalIdx = idx;
	setNavigation();
}

function enableSelect(){
	animation = false;		
}

function hidePreviousBtn(){
	Element.hide('btn_previous_all');
	Element.hide('btn_previous');
	Element.show('btn_previous_all_disable');
	Element.show('btn_previous_disable');
}

function showPreviousBtn(){
	Element.show('btn_previous_all');
	Element.show('btn_previous');
	Element.hide('btn_previous_all_disable');
	Element.hide('btn_previous_disable');
}

function hideNextBtn(){
	Element.hide('btn_next_all');
	Element.hide('btn_next');
	Element.show('btn_next_all_disable');
	Element.show('btn_next_disable');
}

function showNextBtn(){
	Element.show('btn_next_all');
	Element.show('btn_next');
	Element.hide('btn_next_all_disable');
	Element.hide('btn_next_disable');
}

function setNavigation(){
	if(viewPointer==0 && (viewDetailPosition=='right' || currentProduct.id == 0) || (viewDetailPosition=='left' && viewPointer==-2)) hidePreviousBtn();
	else showPreviousBtn();
	if(((totalVerticalLine-viewPointer)<=4 && (currentProduct.id==0 || viewDetailPosition=='left')) || (viewDetailPosition=='right' && (totalVerticalLine-viewPointer)<=2)) hideNextBtn();
	else showNextBtn();
}

function showProductLoading(){
	if(currentImageLoaded) showPic();
	else {
		showLoadingImage();
		currentImageLoaded = true;
	}
}

function showLoadingImage(){
	var obj = document.getElementById('pic');
	obj.style.top = '45%';
	obj.style.left = '45%';
	obj.src = '/images/loading.gif';
	obj.alt = "Loading...";
}

function checkThumbnailLoad(idx){
	var img = new Image();
	img.src = dir + products[idx].id + "_thumb.jpg";
	img.name = imgidx;
	if(img.complete) showThumbnail();
	else img.onload = function(e){ showThumbnail(); }
}
	
function showThumbnail(){
	new Effect.Appear("thumbImg_"+products[imgidx].id);
	document.getElementById("product_"+products[imgidx].id).removeChild(document.getElementById("product_loading_img_"+products[imgidx].id));
	imgidx++;
	if(products.length > imgidx) checkThumbnailLoad(imgidx);
}

function reloadProducts(){
	if(arguments.length==3){
		var resource = document.getElementById("navi_sub_categories").getElementsByTagName("li");
		document.getElementById("navi_sub_categories").getElementsByTagName("h3")[0].className = "";
		for(i=0; i< resource.length; i++) resource[i].className = "";
		arguments[2].className="on";
	}
	if(Element.getStyle('detail', 'display')=='block') closeProductDetail();
	Element.show('loadingImage');
	sendGET('/phpengine/getProduct.php?categorytype='+arguments[0]+'&cid='+arguments[1]);
}

function scene1(){
	if(arguments.length==0){
		Element.setStyle('wrap', {display:'block'});
		Element.setStyle('options', {display:'block'});
	} else {
		Element.hide('notice');
		document.getElementById("thumbnailRow").innerHTML="";
		imgidx=0;
	}
	var tmpid = location.hash.split("#");
	var selectedId = 0;
	var myvert = 0;
	var myselectedIdx = -1;
	if(tmpid.length==2){
		if(!isNaN(tmpid[1])) selectedId = tmpid[1];
	}
	
	var tmp = '';
	var idx = 0;
	for(i=0; i<totalVerticalLine; i++){
		tmp = '<div id="product_container_' + i + '" class="thum_set">';
		for(j=0; j<3; j++){
			if(idx==products.length) break;
			if(selectedId == products[idx].id){ myvert = i; myselectedIdx = idx; }
			var pricetext = (products[idx].discounted==0) ? '<span rel="price">'+getMoney(products[idx].price)+'</span>' : '<s><span rel="price">'+getMoney(products[idx].price)+'</span></s>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:red" rel="price">'+getMoney(products[idx].discounted)+'</span>';
			tmp += '<div class="thumb"><div id="product_' + products[idx].id + '" style="overflow:hidden;">';
			tmp += '<div id="product_loading_img_' + products[idx].id + '" style="width:190px;height:190px;background:#ffffff;position:absolute;z-index:6;text-align:center;"><table width="100%"><tr><td valign="center" height="190"><img src="/images/loading.gif"></td></tr></table></div>';
			tmp += '<div class="thumb_button" onmouseover="thumbOver(' + products[idx].id + ');" onmouseout="thumbOut(' + products[idx].id + ');" onclick="showProductDetail(' + products[idx].id + ', ' + i + ', '+idx+');"></div>';
			tmp += '<img id="thumbImg_'+products[idx].id+'" src="' + dir + products[idx].id + '_thumb.jpg" alt="' + products[idx].name + '" style="display:none;" />';
			tmp += '<div id="product_hover_'+products[idx].id +'" class="thumb_hover"></div>';
			tmp += '<div id="product_gray_' +products[idx].id+'" class="thumb_gray" style="display:none;"></div>';
			tmp += '<div id="product_nPanel_'+products[idx].id+'" class="thumb_namePanel">'+'<h4>'+products[idx].pname+'</h4>'+pricetext+'</div>';
		tmp += '</div></div>';
		idx++;
		}
		tmp += '</div>';
		document.getElementById("thumbnailRow").innerHTML += tmp;
		tmp = '';
	}
	
	if(products.length) checkThumbnailLoad(0);
	else Element.show('notice');
	if(!selectedId && i>4) new Effect.Appear('thumb_navi', {delay:1});
	setNavigation();
	if(selectedId) showProductDetail(selectedId, myvert, myselectedIdx);
}

function errorEventHandler(){
}

function printProducts(resource){
	Element.hide('loadingImage');
	products.splice(0, products.length);
	for(i=0; i< resource.length; i++) products.push({id:resource[i].getAttribute("id"), name:unescape(resource[i].firstChild.nodeValue), pname:unescape(resource[i].getAttribute("pname")), price:String(resource[i].getAttribute("price")), discounted:String(resource[i].getAttribute("discounted"))});
	scene1('printProducts');
}
	
function completeEventHandler(myxml){
	var resource;
	switch(myxml.getElementsByTagName("result")[0].firstChild.nodeValue){
		case "error": alert(unescape(myxml.getElementsByTagName("error")[0].firstChild.nodeValue)); break;
		case "duplicate": 
			resource = myxml.getElementsByTagName("numofproduct")[0];
			alert('Product '+products[parseInt(resource.getAttribute("idx"))].name+'('+currentProduct.images[currentProduct.imageIndex].colorname+' '+resource.getAttribute("size")+') is already in your shopping basket.\nYou can edit quantity on checkout (shopping cart) page.'); 
			break;
		case "cart_checkout": document.location='/checkout.htm'; break;
		case "cart_add": 
			resource = myxml.getElementsByTagName("numofproduct")[0];
			alert(resource.getAttribute("option")+' x '+products[parseInt(resource.getAttribute("idx"))].name + ' added');
			var total_quantity = myxml.getElementsByTagName("numofproduct")[0].firstChild.nodeValue;
			if(total_quantity == 1) total_quantity_txt = "item";
			else total_quantity_txt = "items";
			document.getElementById("totalCartQuantity").innerHTML = total_quantity + ' ' + total_quantity_txt;
			for(i=0;currentProduct.stock[resource.getAttribute("color")].length;i++){
				if(currentProduct.stock[resource.getAttribute("color")][i].size == resource.getAttribute("size")){ currentProduct.stock[resource.getAttribute("color")][i].cart += parseInt(resource.getAttribute("option")); break; }
			}
			break;
		case "product_list_maincat":
			var html = '<h3 class="on"><a href="javascript:;" onclick="reloadProducts(\'main\', ' + mainCategory.id + ', this.parentNode);">' +mainCategory.name +'</a></h3>';
				html += '<ul>';
			resource = myxml.getElementsByTagName("subCategory");
			for(i=0; i< resource.length; i++) html += '<li><a href="javascript:;" onclick="reloadProducts(\'sub\', '+resource[i].getAttribute("id")+');">'+unescape(resource[i].firstChild.nodeValue)+'</a></li>';
				html += '</ul><p id="previous"><a href="javascript:;" onclick="previousMenu();">previous</a></p>';
		  document.getElementById("navi_sub_categories").innerHTML = html;
		  printProducts(myxml.getElementsByTagName("product"));
			break;
		case "product_list_subcat": printProducts(myxml.getElementsByTagName("product")); break;
		case "product_detail":
			var k=-1;
			var tmp_color = '';
			resource = myxml.getElementsByTagName("price");
			var myprice = (resource[0].getAttribute("disc")=="0") ? '<span rel="price">'+getMoney(resource[0].firstChild.nodeValue)+'</span>' : '<s><span rel="price">'+getMoney(resource[0].firstChild.nodeValue)+'</span></s>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:red" rel="price">'+getMoney(resource[0].getAttribute("disc"))+'</span>';
			var myhtml = "<h2>" + unescape(myxml.getElementsByTagName("brand")[0].firstChild.nodeValue) + "</h2><h3>" + unescape(myxml.getElementsByTagName("name")[0].firstChild.nodeValue) + "</h3>"; // <h4>" + unescape(myxml.getElementsByTagName("product_type")[0].firstChild.nodeValue) + "</h4>
			myhtml += "<ul><li>Price: " + myprice + "</li><li>Code: " + unescape(myxml.getElementsByTagName("code")[0].firstChild.nodeValue) + "</li></ul>";
			document.getElementById("product_column1").innerHTML = myhtml;				
			
			myhtml = "<ul>";
			var tmp = unescape(myxml.getElementsByTagName("description")[0].firstChild.nodeValue);
			var desc = tmp.split(/[\r\n]+/);
			for(i=0; i< desc.length; i++) myhtml += "<li>" + desc[i] + "</li>";
			myhtml += "</ul>";
			document.getElementById("product_column2").innerHTML = myhtml;
			
			currentProduct.sizeType = myxml.getElementsByTagName("sizetype")[0].firstChild.nodeValue;
			
			myhtml = "";
			resource = myxml.getElementsByTagName("color");
			var _selected;
			currentProduct.stock = new Object();
			for(i=0; i<resource.length; i++){
				tmp = resource[i].firstChild.nodeValue;
				if(tmp_color != tmp){ 
					k++;
					if(i==0){
						currentProduct.currentColor = tmp;
						_selected = " colourOn";
					} else _selected = "";
					myhtml += '<a href="javascript:;" class="colourSample'+_selected+'" onclick="changeColor(\''+tmp+'\', this);" style="background-color:#' + tmp + '"></a>';
					currentProduct.stock[tmp] = new Array();
				}
				if(parseInt(resource[i].getAttribute("stock"))>0) 	currentProduct.stock[tmp].push({size:resource[i].getAttribute("size"), stock:resource[i].getAttribute("stock"), cart:resource[i].getAttribute("cart")});
				tmp_color = tmp;
			}
			document.getElementById("color_tables").innerHTML = myhtml;
			
			if(myxml.getElementsByTagName("sex")[0].firstChild.nodeValue=='m'){ Element.hide('link_female'); Element.show('link_male'); }
			else { Element.hide('link_male'); Element.show('link_female'); }
			
			currentProduct.size = new Object();
			resource = myxml.getElementsByTagName("size");
			for(i=0; i< resource.length; i++) currentProduct.size["id_"+resource[i].getAttribute("id")] = unescape(resource[i].firstChild.nodeValue);
			resetSelectBoxSize(currentProduct.currentColor);
			
			resource = myxml.getElementsByTagName("image");
			currentProduct.images.splice(0, currentProduct.images.length);
			currentProduct.zoomImages.splice(0, currentProduct.zoomImages.length);
			for(i=0; i< resource.length; i++){
				currentProduct.images.push({src:resource[i].firstChild.nodeValue,color:resource[i].getAttribute("color"),colorname:resource[i].getAttribute("colorname").toString()});
				currentProduct.zoomImages.push(resource[i].getAttribute("zoom"));
			}
			Element.hide("btn_image_previous");
			
			if(resource.length>1) Element.show("btn_image_next");
			else Element.hide("btn_image_next");
			currentProduct.imageIndex = 0;
			
			resetTempQuantity();
			
			Preload.onComplete = viewPic;
			Preload.loadingImage = ''; //'picloading';
			Preload.load(dir+currentProduct.images[0].src, dir+currentProduct.zoomImages[0]);
			checkLoadImage();
			break;
	}
}

function changeColor(color, form){
	if(form.className != "colourSample colourOn"){
		var resource = document.getElementById("color_tables").getElementsByTagName("a");
		for(i=0; i< resource.length; i++) resource[i].className = "colourSample";
		form.className = "colourSample colourOn";
		currentProduct.currentColor = color;
		resetSelectBoxSize(color);
		changePic(color);
		resetTempQuantity();
	}
}

function resetSelectBoxSize(color){
	var sbox = document.getElementById("control_size");
	for(i=sbox.options.length-1; i>0; i--) sbox.options[i] = null;
	for(i=0; i< currentProduct.stock[color].length; i++) sbox.options[i+1] = new Option(currentProduct.size["id_"+currentProduct.stock[color][i].size], currentProduct.stock[color][i].size);
	document.getElementById("stockoption").innerHTML = (i==0) ? "Not In stock*" : "In stock*";
	if(i==0){
		document.getElementById("btn_addbasket").className="link_add_disabled";
		document.getElementById("btn_checkout").className="link_checkout_disabled";
	} else {
		document.getElementById("btn_addbasket").className="link_add";
		document.getElementById("btn_checkout").className="link_checkout";
	}
}

function changePic(){
	switch(arguments[0]){
		case "previous":
			currentProduct.imageIndex--;
			break;
		case "next":
			currentProduct.imageIndex++;
			break;
		default:
			for(i=0; i<currentProduct.images.length; i++){
				if(currentProduct.images[i].color == arguments[0]){
					currentProduct.imageIndex = i;
					break;
				}
			}
	}
	if(currentProduct.imageIndex-1<0 || currentProduct.images[currentProduct.imageIndex-1].color != currentProduct.currentColor) Element.hide("btn_image_previous")
	else Element.show("btn_image_previous");
	if(currentProduct.imageIndex+1==currentProduct.images.length || currentProduct.images[currentProduct.imageIndex+1].color != currentProduct.currentColor) Element.hide("btn_image_next");
	else Element.show("btn_image_next");
	changeImage = 'change';
	Preload.onComplete = appearPic;
	Preload.load(dir+currentProduct.images[currentProduct.imageIndex].src, dir+currentProduct.zoomImages[currentProduct.imageIndex]);
	checkLoadImage();
	new Effect.Fade('pic', {afterFinish:appearPic});
	new Effect.Fade('piczoom');
	restoreZoomImage();
}

function restoreZoomImage(){
	if(zoom=='in'){
		zoom = 'out';
		dragimg.destroy();
		var obj = document.getElementById('zoomButton');
		obj.src = '/images/ic_zoomin.png';
		obj.alt="Zoom in";
		if(isIE) setPNG24(obj);
	}
}

function zoomImage(){
	var obj = document.getElementById('zoomButton');
	if(zoom=='out'){
		Element.setStyle('piczoom', {width:'381px'});
		Element.setStyle('piczoom', {height:'381px'});
		Element.setStyle('piczoom', {left:'0px'});
		Element.setStyle('piczoom', {top:'0px'});
		Element.hide('pic');
		Element.show('piczoom');
		new Effect.Scale('piczoom', 314);
		new Effect.Move('piczoom', {mode:'absolute', x:-408, y:-408});
		//new Effect.Move('pic', {mode:'absolute', x:-180, y:-180});
		dragimg = new Draggable('piczoom',{
														snap: function(x,y) {
														  return[
															x<0 ? (x < -787 ? -787 : x ) : 0,
															y<0 ? (y < -815 ? -815 : y) : 0];
														}
													  });
		zoom = 'in';
		obj.src = '/images/ic_zoomout.png';
		obj.alt="Zoom out";
	} else {
		Element.hide('pic');
		new Effect.Scale('piczoom', 32);
		if(arguments.length){
			 if(viewDetailPosition=='left') new Effect.Move('piczoom', {mode:'absolute', x:408, y:0, afterFinish:swapPicImage});
			 else new Effect.Move('piczoom', {mode:'absolute', x:-408, y:0, afterFinish:swapPicImage});
		} else new Effect.Move('piczoom', {mode:'absolute', x:0, y:0, afterFinish:swapPicImage});			
		zoom = 'out';
		dragimg.destroy();
		obj.src = '/images/ic_zoomin.png';
		obj.alt="Zoom in";
	}
	if(isIE) setPNG24(obj);
}

function swapPicImage(){
	Element.hide('piczoom');
	Element.show('pic');
}

function checkDragImage(){
	return false; //alert(arguments[1].clientX + ' ' + arguments[1].clientY);
}

function moveThumbnails(goto){
	if(movingThumbnail) return;
	if(goto=='next'){
		if(currentProduct.id && viewDetailPosition == 'right'){ if((totalVerticalLine-viewPointer)<=2) return; }
		else { if((totalVerticalLine-viewPointer)<=4) return; }
		movingThumbnail = true;
		idMoveThumbnail = new Effect.Move('thumbnailRow', {x:-190, afterFinish:setMovingThumbnail});
		viewPointer++;
	} else {
		if(currentProduct.id && viewDetailPosition == 'left'){ if(viewPointer==-2) return; }
		else { if(viewPointer==0) return; }
		movingThumbnail = true;
		idMoveThumbnail = new Effect.Move('thumbnailRow', {x:190, afterFinish:setMovingThumbnail});
		viewPointer--;
	}
	setNavigation();
}

function setMovingThumbnail(){
	movingThumbnail = false;
	idMoveThumbnail = null;
	if(distanceThumbnail!=0){
		new Effect.Move('thumbnailRow', {x:distanceThumbnail});
		distanceThumbnail = 0;
	}
}

function manageQuantity(exe){
	var tmp = document.getElementById('control_size').selectedIndex-1;
	if(tmp == -1){ alert('Please select product size.'); return; }
	var szid = document.getElementById('control_size').options[document.getElementById('control_size').selectedIndex].value;
	if(currentProduct.stock[currentProduct.currentColor][tmp].cart>0){ alert('Product '+products[currentProduct.idx].name+'('+currentProduct.images[currentProduct.imageIndex].colorname+' '+currentProduct.size["id_"+szid]+') is already in your shopping basket.\nYou can edit quantity on checkout (shopping cart) page.'); return; }
	if(exe=='+'){
		if((currentProduct.stock[currentProduct.currentColor][tmp].stock - currentProduct.stock[currentProduct.currentColor][tmp].cart - currentProduct.quantity)<=0){
			alert("The quantity you selected for "+products[currentProduct.idx].name+" "+currentProduct.images[currentProduct.imageIndex].colorname+" "+currentProduct.size["id_"+szid]+" exceeds the current stock level. We have "+currentProduct.stock[currentProduct.currentColor][tmp].stock+" in stock.");
			return;
		} else {
			currentProduct.quantity++;
		}
	} else {
		if(currentProduct.quantity <= 1) return;
		currentProduct.quantity--;
	}
	var myprice = (products[currentProduct.idx].discounted) ? products[currentProduct.idx].discounted : products[currentProduct.idx].price;
	document.getElementById('product_quantity').innerHTML = '('+currentProduct.quantity+')';
	document.getElementById("subTotalPrice").innerHTML = getMoney(currentProduct.quantity * myprice);
}

function resetTempQuantity(){
	currentProduct.quantity = 0;
	if(arguments.length){
		currentProduct.currentSize = arguments[0];
		if(arguments[0]>=0){
			if((currentProduct.stock[currentProduct.currentColor][currentProduct.currentSize].stock - currentProduct.stock[currentProduct.currentColor][currentProduct.currentSize].cart - currentProduct.quantity)>0){ manageQuantity('+'); return; }
		}
	} else currentProduct.currentSize = -1;
	document.getElementById('product_quantity').innerHTML = '('+currentProduct.quantity+')';
	document.getElementById("subTotalPrice").innerHTML = currency[currency_code].symbol + "0.00";
}

function managementShoppingCart(mode){
	if(document.getElementById("btn_addbasket").className=="link_add_disabled") return;
	var tmp = document.getElementById('control_size').selectedIndex;
	if(tmp == 0){ alert('Please select product size.'); return; }
	
	sendGET('/phpengine/mycart.php?mode=' + mode + '&pid=' + currentProduct.id + '&color=' + currentProduct.currentColor + '&size=' + currentProduct.stock[currentProduct.currentColor][currentProduct.currentSize].size + '&quantity='+currentProduct.quantity+'&idx='+currentProduct.idx);
}

window.onload = function(){
	Element.setStyle('thumbnailRow').style.width= (Math.ceil(totalVerticalLine/4)*100)+'%';
	Preload.onComplete = scene1;
	Preload.load('/images/loading.gif', '/images/bg_content.jpg', '/images/arrow_previous.gif', '/images/arrow_goback_main.gif', '/images/arrow_on.gif', '/images/icon_checkout.gif', '/images/bg_keyword.gif', '/images/button_search.gif');
	checkLoadImage();
}
