// JavaScript Document


function validate_form( thisform ) {
	
	var msg = '';
	
	//alert("updateFormStatus : " + updateFormStatus);

	with (thisform)
	{
		
		
		if (document.forms[0].size.value == '' || document.forms[0].size.value.split("_")[1] == 'outofstock') msg = "Select a size that is in stock";
		
		if (msg == '')
		{
			if (document.forms[0].qty.value == '') msg = "Select a quantity";
		}
		
		
	}
	
	if (updateFormStatus != 'cancel_update')
	{
	
		if (msg != '')
		{
			
			alert(msg);
			return false;
			
		} else {
	
			return true;
		
		}
	
	} else {
	
		return true;
	
	}


}

var updateFormStatus;

function checkFormButton( thisbutton ) 
{

	//alert(thisbutton + " " + thisbutton.value);
	updateFormStatus = thisbutton.value;

}

function alertmsg( str ) {
	alert( str );
}

var intervalID
var intervalCount

function resizeImage ( paramString ) 
{
	
	//alert ("int run " + intervalCount);
	//intervalCount++;
	//if (intervalCount > 40) clearInterval(intervalID);
	
	var paramSplit = paramString.split("|");
	var trg = paramSplit[0];
	var src = paramSplit[1];
	
	//alert("image size?? " + trg  + ":" + src + " " + document.getElementById('hidden_image') + " " + document.getElementById('hidden_image').width + " " + document.getElementById('hidden_image').height);
	document.getElementById(trg).width = document.getElementById('hidden_image').width;
	document.getElementById(trg).height = document.getElementById('hidden_image').height;
	document.getElementById(trg).src = "../images/" + src;
}



function resetimage ( src, trg, colourway, product_id, products_images_id )
{
	

	$("#MAIN").attr("src", "../images/"+src);
	
	//alert ( document.getElementById("colourway").value + " : " + colourway.toUpperCase() + "|" + src );
	
	
	//lert(document.getElementById("hidden_image_div") + " " + "<img onload=\"resizeImage('" + trg + "|" + src + "');\" id='hidden_image' src='../images/" + src + "' />");
	
	/*
	clearInterval(intervalID);
	
	var imageMeasure = new Image();
	imageMeasure.src = "../images/" + src;
	//alert(imageMeasure + " " + imageMeasure.src + " " + imageMeasure.width);
	
	//document.getElementById("hidden_image_div").style.display = "none";
	document.getElementById("hidden_image_div").innerHTML = "<img onload=\"resizeImage('" + trg + "|" + src + "');\" id='hidden_image' src='../images/" + src + "' class='imageborder' />";
	
	//intervalCount = 0;
	//intervalID = setInterval("resizeImage('" + trg + "|" + src + "')", 25);
	
	// pass colourway and auto-hilight the colourway drop-down - only works for images that are colour ways - ie we can just have a gallery of extra images for the one colourway and product - ie closeups, details shots, pics of stitching, fabric, front and back etc.	
	if (document.getElementById("colourway"))
	{
		
		if (colourway.toLowerCase() == "default")
		{
			
			document.getElementById("colourway").selectedIndex = 0;
			
		} else {
			
			document.getElementById("colourway").value = colourway.toUpperCase() + "|" + src + "|" + product_id + "|" + products_images_id;
		
		}
		changeColourway( colourway.toUpperCase() + "|" + src + "|" + product_id + "|" + products_images_id );
	}
	*/
	
}



var size_array = new Array();

function changeColourway ( val )
{

	var colourwaysplit 	= val.split("|");
	
	//alert('changeColourway ' + colourwaysplit[0] + " " + colourwaysplit[1] + " " + colourwaysplit[2] + " " + colourwaysplit[3] + " " + document.forms[0].size.options[1].value);
	//alert('changeColourway ' + document.forms[0].size.options[1].value + " " + document.forms[0].size.options[1].text);
	
	document.getElementById('MAIN').src = "../images/" + colourwaysplit[1];
	
	
	//document.forms[0].size.options.length
	for (var s=1; s < document.forms[0].size.options.length; s++)
	{
	
		var size_option_details = new Array();
		size_option_details[0] = document.forms[0].size.options[s].value.split("_")[0];
		size_option_details[1] = document.forms[0].size.options[s].text.split(" : ")[0];
		
		//alert()
		
		size_array[s-1] = size_option_details;
	
	}
	
	document.forms[0].size.options.length=1; // chop off end size options...
	
	// USE AJAX TO LOAD NEW SIZES ARRAY AND RE-POPULATE SIZE SELECT WITH CORRECT
	//document.forms[0].size.options[1] = new Option("XS (n in stock)", "size1", true, false);
	
	// pass in products_id and products_images_id
	showStockQtys( colourwaysplit[2], colourwaysplit[3] );

	
}

var xmlHttp;

function showStockQtys( product_id, products_images_id )
{ 
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
	 	alert ("Browser does not support HTTP Request");
	 	return;
	}
	
	var url="../includes/getstockqty.php";
	url=url+"?product_id="+product_id;
	url=url+"&products_images_id="+products_images_id;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
}

function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	 { 
	 
	 	 var resultSplit = xmlHttp.responseText.split('|');
		
		 var size1_qty 			= Number(resultSplit[0]);
		 var size2_qty 			= Number(resultSplit[1]);
		 var size3_qty 			= Number(resultSplit[2]);
		 var size4_qty 			= Number(resultSplit[3]);
		 var size5_qty 			= Number(resultSplit[4]);
		 var outofstock_BUFFER 	= Number(resultSplit[5]);
		 var lowstock_BUFFER 	= Number(resultSplit[6]);
		 //document.getElementById("title_field").value=ttl;
		 //document.getElementById("desc").innerHTML=dsc;
		 
		 
		 for (var t=0; t < size_array.length; t++)
		 {
			
			var size_varname 	= size_array[t][0];
			var size_textlabel 	= size_array[t][1];
			//
		 	
			var qtyinStock = eval(size_varname + "_qty");
			
			//alert("qtyinStock " + qtyinStock + " " + outofstock_BUFFER + " " + lowstock_BUFFER); // ignore '_outofstock append used for error checking in addproducttoorder.php
			
			if (qtyinStock < outofstock_BUFFER || qtyinStock == 0)
			{
			
				// show ZERO - out of stock here...
				document.forms[0].size.options[t+1] = new Option(size_textlabel + " : (Sold out)", size_varname + "_outofstock", false, false);
			
			}  
			else 
			{
				
				//alert("size check " + size_array.length);
				
				if (qtyinStock < lowstock_BUFFER)
				{

					// show ZERO - out of stock here...
					document.forms[0].size.options[t+1] = new Option(size_textlabel + " : (Sellling fast)", size_varname, false, false); // Only " + qtyinStock + " left in stock
				
		 		} 
				else 
				{
				
					document.forms[0].size.options[t+1] = new Option(size_textlabel, size_varname, false, false); //  + " : (" + qtyinStock + " in stock)"
				
				}
				
			}
			
			
		 }
	 } 
}

function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
	 {
	 // Firefox, Opera 8.0+, Safari
	 xmlHttp=new XMLHttpRequest();
	 }
	catch (e)
	 {
	 //Internet Explorer
	 try
	  {
	  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	  }
	 catch (e)
	  {
	  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	 }
	return xmlHttp;
}