
function createHiddenField(name, value)
{
	return '<input type="hidden" name="'+name+'" value="'+value+'" />';
}

function isFormField(target)
{
	if (target && target.nodeName && ('input'==target.nodeName.toLowerCase() || 'select'==target.nodeName.toLowerCase()))
	{
		// don't count unchecked checkboxes and radio buttons
		if ('input'==target.nodeName.toLowerCase() && ('checkbox'==target.type.toLowerCase() || 'radio'==target.type.toLowerCase()))
		{
			if (target.checked)
				return false;
		}
		return true;
	}
	return false;
}

function getFieldValue(target)
{
	if (target && target.nodeName)
	{
		if ('select'==target.nodeName.toLowerCase())
		{
			if (target.selectedIndex && target.options && target.options[target.selectedIndex] && target.options[target.selectedIndex].value)
				return target.options[target.selectedIndex].value;
		}
		else if ('input'==target.nodeName.toLowerCase())
		{
			return target.value;
		}
	}
	return '';
}

function copyForm(target)
{
	var o = new Array();  // use an array as ie get slow appending to a string if it gets large
	o[o.length] = '<html><body onload="document.getElementById(\'copyForm\').submit();"><form id="copyForm" method="'+target.method+'" name="'+target.name+'" action="'+target.action
+'">';

	var elements = target;
	if (target.elements) elements = target.elements;
	for (var i in elements)
	{
		if (isFormField(elements[i]))
			o[o.length] = createHiddenField(elements[i].name, getFieldValue(elements[i]));
	}

	o[o.length] = '</form></body></html>';
	return o.join('');
}

var hiddenIFrameId = null;
function getHiddenIFrame()
{
	var iframe = document.createElement("iframe");
	hiddenIFrameId = iframe.id = "hiddenSubmitIFrame";
	iframe.src = "javascript:;";
	iframe.style.border='0px';
	iframe.style.width='0px';
	iframe.style.height='0px';
	document.body.appendChild(iframe);
	return iframe;
}
function destroyHiddenIFrame()
{
  if(hiddenIFrameId)
  {
	  var iframe = document.getElementById(hiddenIFrameId);
	  if (iframe)
	  {
	    try
      {
        iframe.parentNode.removeChild(iframe);
      }
      catch(e)
      {
      }
	  }
	  hiddenIFrameId = null;
	}
}

function submitForm(target)
{
  if (!hiddenIFrameId)
  {
  	var formText = copyForm(target);
  	var iframe = getHiddenIFrame();
  	var iframeDocument = null;

  	if (iframe.contentDocument)
  		iframeDocument = iframe.contentDocument; 
  	else if (iframe.contentWindow)
  		iframeDocument = iframe.contentWindow.document;
  	else if (iframe.document)
  		iframeDocument = iframe.document;

  	if (iframeDocument)
  	{
  		iframeDocument.open();
  		iframeDocument.write(formText);
  		iframeDocument.close();
  	}
	}
}

function updateMiniCart(newCount,newPrice,confirmText)
{
  destroyHiddenIFrame();
	var itemCount = document.getElementById('itemCount');
	if (itemCount)
		itemCount.innerHTML = newCount;
	var itemTotalPrice = document.getElementById('itemTotalPrice');
	if (itemTotalPrice)
		itemTotalPrice.innerHTML = newPrice;
	if (0<parseInt(newCount))
	{
		var miniCartCheckOut = document.getElementById('check');
		if (miniCartCheckOut && miniCartCheckOut.style)
			miniCartCheckOut.style['display'] = 'block';
		var miniCartView = document.getElementById('view');
		if (miniCartView && miniCartView.style)
			miniCartView.style['display'] = 'block';
	}
	alert(confirmText);
}

function expandDom(appendTo,target)
{
	if (target)
	{
		var list = document.createElement("ul");
		for (var i in target)
		{
			var span = document.createElement("span");
			span.innerHTML = i+' - '+target[i];
			span.id = i;
			span.object = target[i];
			span.onclick = function(e) {expandDom(this.parentNode,this.object);}
			var item = document.createElement("li");
			item.appendChild(span);
			list.appendChild(item);
		}
	}
	appendTo.appendChild(list);
}
