// String code
function isString(object)
{
	// String literals and String objects
	if(object && (typeof(object)==="string"||object.constructor==String))
	{
		return true;
	}
	return false;
}

// Page formatting
function getWindowHeight() {
	var windowHeight = 0;
	if (typeof(window.innerHeight) == 'number') {
		windowHeight = window.innerHeight;
	}
	else {
		if (document.documentElement && document.documentElement.clientHeight) {
			windowHeight = document.documentElement.clientHeight;
		}
		else {
			if (document.body && document.body.clientHeight) {
				windowHeight = document.body.clientHeight;
			}
		}
	}
	return windowHeight;
}
function setFooter() {
	if (document.getElementById) {
		var windowHeight = getWindowHeight();
		if (windowHeight > 0) {
			var contentHeight = document.getElementById('content').offsetHeight;
			var footerElement = document.getElementById('footer');
			var spacerElement = document.getElementById('spacer');
			var footerHeight  = footerElement.offsetHeight;
			if (windowHeight - (contentHeight + footerHeight) >= 0) {
				spacerHeight = (windowHeight - (contentHeight + footerHeight));
				footerElement.style.position = 'relative';
				spacerElement.style.height = spacerHeight + 'px';
			}
			else {
				footerElement.style.position = 'static';
			}
		}
	}
}
window.onload = function() {
	setFooter();
}
window.onresize = function() {
	setFooter();
}

// Internet explorer bug fix
function internetExplorerBugFix()
{
	// Bad CSS positioning
	if(navigator.userAgent.indexOf("MSIE")>-1&&!window.opera)
	{
		document.writeln('<style type="text/css">.CMSImage {margin:0px 20px 20px -10px}</style>');
	}
}

// Function that enables PNG alpha channels in Internet Explorer
// Required: MSDom, AlphaImageLoader filter
// Note: Call this function after inserting a PNG via the DOM.
function updatePngAlphaChannels()
{
	// This function is modified from code on www.youngpup.net
	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
	itsAllGood = navigator.userAgent.indexOf("Opera")>-1?false:itsAllGood;
	// Inline images
	for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--)
	{
		if (itsAllGood && img.src.match(/\.png$/i) != null)
		{
			var src = img.src;
			img.style.width = img.width + "px";
			img.style.height = img.height + "px";
			img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')";
			img.src = "template/images/x.gif";
		}
		img.style.visibility = "visible";
	}
	// Background images
	for (i=0;i<document.all.length; i++)
	{
		var bg = null;
		if(document.all&&document.all[i]&&document.all[i].currentStyle)
		{
			bg = document.all[i].currentStyle.backgroundImage;
		}
		if (itsAllGood && bg)
		{
			if (bg.match(/\.png/i) != null)
			{
				var mypng = bg.substring(5,bg.length-2);
				document.all[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+mypng+"', sizingMethod='scale')";
				document.all[i].style.backgroundImage = "url('template/images/x.gif')";
			}
		}
	}
}

// ProductForm handling functions
function updateForm()
{
	setTimeout("document.forms['productForm'].submit()",100);
}

function submitForm()
{
	var form = document.forms["productForm"];
	for(var i=0;i<form.elements.length;i++)
	{
		var formControl = form.elements[i];
		if(formControl.name=="ready")
		{
			formControl.value = "true";
		}
	}
	form.submit();
}

// Functions to open new windows
function popupWindow(url, event)
{
    // Open a new window
    window.open(url,'HelpInfo','width=410,height=484,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no');
    
    // Suppress the link action
    if(event && event.preventDefault)
    {
        event.preventDefault();
    }
    return false;
}

function zoomWindow(url, event)
{
    // Open a new window
    window.open(url,'ProductZoom','width=416,height=470,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no');
    
    // Suppress the link action
    if(event && event.preventDefault)
    {
        event.preventDefault();
    }
    return false;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}

}

function openPopup( windowURL, windowName, windowFeatures ) { 
  return window.open( windowURL, windowName, windowFeatures ) ; 
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}