var div_tmp_debug = document.getElementById("div_tmp_debug");

var targetQueue = new Queue();
var valueQueue = new Queue();
var selectedProvinceQueue = new Queue();

var Processing = false;

function GetProvinces(targetId, paysValue, selectedProvinceId)
{	
	var target = document.getElementById(targetId);
	
	if (target == undefined)
	{
		alert("Invalid target");
		return;
	}
	
	
	targetQueue.enQueue(target);
	valueQueue.enQueue(paysValue);
	selectedProvinceQueue.enQueue(selectedProvinceId);
	
	DoAjaxCall(paysValue, selectedProvinceId);
}

function DoAjaxCall(paysValue, selectedProvinceId)
{
	if (!Processing)
	{
		Processing = true;
		// Setup la request
		var ShowProvincesSetup = new AjaxRequestSetup()
		ShowProvincesSetup.ReturnFunction = ShowProvinces;
		ShowProvincesSetup.url = "/ajax/ajax.Cart.Actions.asp?a=GetProvinceDDLByPays&id=" + paysValue + "&selectedProvinceId=" + selectedProvinceId;
		// Envoyer la request
		XmlRequestStandAlone(ShowProvincesSetup);
	}
	
}

function ShowProvinces(XmlResponse)
{
	var CurrentTarget = targetQueue.deQueue();
	var CurrentValue = valueQueue.deQueue();
	var selectedProvinceId = selectedProvinceQueue.deQueue();
	
	
	CurrentTarget.innerHTML = XmlResponse;
	
	var selects = CurrentTarget.getElementsByTagName("SELECT");
	if (selects.length == 1)
		selects[0].onchange();
	else
		clearHiddenProvince(CurrentTarget.id);
	
	Processing = false;

	if (!targetQueue.isEmpty())
	{
		//var NextTargetId = targetQueue.getNextItem()
		var NextValue = valueQueue.getNextItem()
		var NextProvinceId = selectedProvinceQueue.getNextItem()
		
		DoAjaxCall(NextValue, NextProvinceId);
	}
}

function Province_changed(sender)
{
	var Parent = sender.parentNode;
	var ParentId = Parent.id;
	
	var hiddenId = ParentId.replace("_span", "");
	var hiddenBox = document.getElementById(hiddenId);
	
	if (sender.value != "")
		hiddenBox.value = sender.value;
	else
		hiddenBox.value = "65";
}

function clearHiddenProvince(ParentId)
{
	var hiddenId = ParentId.replace("_span", "");
	var hiddenBox = document.getElementById(hiddenId);
	hiddenBox.value = "65";
}


