if (top.location != self.location) 
{
  top.location = self.location.href;
}

function togglecheckbox(Checkboxname)
{
	var box = document.getElementById(Checkboxname); 
	
	if (box)
	{
		box.click();
	}
}

function bInverse(hDiv)
{
	var div, himgcollapse, himgexpand, imgexpand, imgcollapse;
	div = document.getElementById(hDiv);
	himgcollapse = hDiv + 'collapse';
	himgexpand = hDiv + 'expand';
	imgexpand = document.getElementById(himgexpand);
	imgcollapse = document.getElementById(himgcollapse);
	
	if (document.getElementById(hDiv)!=null)
	{
	   if (div.style.display == 'inline' || div.style.display == '')
		{
			div.style.display='none';
			imgexpand.style.display='inline';
			imgcollapse.style.display='none';		
		}
	   else
		{
			div.style.display='inline';
			imgexpand.style.display='none';
			imgcollapse.style.display='inline';
		}
	   return true;
	}
	else
	{
	   return false;
	}
}

function bCheckAll(sFormName, sExcept)
{
	var oForm = document.getElementById( sFormName );

	if (oForm)
	{
		var FormElements = oForm.getElementsByTagName("input");
		var FormElementsCount = FormElements.length;
		var iChecked = 0;
		var iUnchecked = 0;
		var i;
		
		for (i=0; i<FormElementsCount; i++)
		{
			if (FormElements[i].type=='checkbox')
			{
				if (FormElements[i].checked === true) iChecked++
				else iUnchecked++;
			}
		}
		
		bChecked = (iChecked < iUnchecked) ? true: false;
		
		for (i=0; i<FormElementsCount; i++)
		{
			if (FormElements[i].type=='checkbox' && !(FormElements[i].name==sExcept))
			{
				if (FormElements[i].checked == !bChecked)
				{
				  FormElements[i].click();
				}
			}
		}
	}
	else
	{
		alert('Error:' + sFormName + ' does not exist!');
	}
}

function bInvertAll(sFormName, sExcept)
{
	var oForm;

	oForm = document.getElementById( sFormName );

	if (oForm)
	{
		var FormElements = oForm.elements;
		var FormElementsCount = FormElements.length;
		var i;

		for (i=0; i < FormElementsCount; i++)
		{
			if (FormElements[i].type=='checkbox' && !(FormElements[i].name==sExcept))
			{
				FormElements[i].checked = !FormElements[i].checked;
			}
		}
	}
	else
	{
		alert('Error:' + sFormName + 'does not exist!');
	}
}

function select_change(selectbox, iSpecId)
{
	var hiddenname = 'new_spec' + iSpecId;
	var el = '';

	el = document.getElementById(hiddenname);
	if (selectbox.value == '_new')
	{
		el.style.visibility = 'visible';
		el.select();
	}
	else 
	{
		el.style.visibility = 'hidden';
	}
}

function IsNumeric(sText)
{
	var ValidChars = "0123456789";
	var IsNumber = true;
	var Char;

	for (var i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}
	return IsNumber;
}

function getMonthNum(abbMonth)
{
  var arrMon = new Array("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
  var sReturn = false;
        
  for (var i=0; i < arrMon.length; i++)
  {
    if (abbMonth == arrMon[i])
    {
      sReturn = i;
    }
  }
  
  return sReturn;
}

function tounix(Field)
{
	if (Field.value != 'NULL' && !IsNumeric(Field.value) )
	{
		var d = Field.value.substr(0, 2) * 1;
  	var y = '20' + Field.value.substr(6,2);
		var m = Field.value.substr(3, 2) * 1;
		if ( Field.value.indexOf(':') != -1 )
		{
			var h = Field.value.substr(9, 2) * 1;
			var i = Field.value.substr(12, 2) * 1;
		}
		else
		{
			var h = 0;
			var i = 0;
		}
		// var month = getMonthNum(m);
    var humDate = new Date(Date.UTC(y, m - 1, d, h, i));
	  Field.value = (humDate.getTime()/1000.0);
	}
}

function dot(Field)
{
	// Replace Dutch style decimal comma by decimal point
	Field.value = Field.value.replace(/,/g, '.');

	// Parse min:sec to sec
	if ( ( pos = Field.value.indexOf(':') ) != -1 )
	{
		len = Field.value.length;
		var minutes = Field.value.substr(0, pos);
		var seconds = Field.value.substr(pos + 1, len - 1);
		var new_seconds = minutes * 60 + seconds * 1;
		Field.value = new_seconds;
	}
	
	// Remove units if present
	if ( ( pos = Field.value.indexOf(' ') ) != -1 )
	{
		Field.value = Field.value.substr(0, pos);
	}
	
	// Replace '-' by '0'
	if ( Field.value == '-' )
	{
		Field.value = 0;
	}

	// Replace 'Ja' by '1'
	if ( Field.value == 'Ja' )
	{
		Field.value = 1;
	}
}

// written by Dean Edwards, 2005
// with input from Tino Zijdel - crisp@xs4all.nl
// http://dean.edwards.name/weblog/2005/10/add-event/
function addEvent(element, type, handler)
{
	if (element.addEventListener)
	{
		element.addEventListener(type, handler, false);
	}
	else
	{
		if (!handler.$$guid) handler.$$guid = addEvent.guid++;
		if (!element.events) element.events = {};
		var handlers = element.events[type];
		if (!handlers)
		{
			handlers = element.events[type] = {};
			if (element['on' + type]) handlers[0] = element['on' + type];
			element['on' + type] = handleEvent;
		}
	
		handlers[handler.$$guid] = handler;
	}
}
addEvent.guid = 1;

function removeEvent(element, type, handler)
{
	if (element.removeEventListener)
	{
		element.removeEventListener(type, handler, false);
	}
	else if (element.events && element.events[type] && handler.$$guid)
	{
		delete element.events[type][handler.$$guid];
	}
}

function handleEvent(event)
{
	event = event || fixEvent(window.event);
	var returnValue = true;
	var handlers = this.events[event.type];

	for (var i in handlers)
	{
		if (!Object.prototype[i])
		{
			this.$$handler = handlers[i];
			if (this.$$handler(event) === false) returnValue = false;
		}
	}

	if (this.$$handler) this.$$handler = null;

	return returnValue;
}

function fixEvent(event)
{
	event.preventDefault = fixEvent.preventDefault;
	event.stopPropagation = fixEvent.stopPropagation;
	return event;
}

fixEvent.preventDefault = function()
{
	this.returnValue = false;
}

fixEvent.stopPropagation = function()
{
	this.cancelBubble = true;
}

function popup_text (txt)
{
	var p = document.getElementById('pup');
	if ( p ) p.innerHTML = txt;
}

function popup (e)
{
	var p = document.getElementById('pup');
	
	if ( p )
	{
		var x = 0, y = 0;
		
		if (!e) 
		{
			var e = window.event;
		}		
		
		if (e.pageX || e.pageY)
		{
			x = e.pageX;
			y = e.pageY;			
		}
		else if (e.clientX || e.clientY)
		{
			x = e.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
			y = e.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);			
		}
		
		p.style.display = 'block';
		p.style.left = x + 'px';
		p.style.top = y + 'px';
	}
}

function kill_popup ()
{
	var p = document.getElementById('pup');
	if ( p) p.style.display = 'none';
}

function openWindow(url, id, w, h) 
{	
  window.open(url, id, 'resizable=yes, scrollbars=yes, width='+w+', height='+h);
  return true;
}

function hideContent (selectedButton)
{
	var i;
	var buttons = document.getElementById('tabpanel').getElementsByTagName('li');
	
	for (i = 1; i <= buttons.length; i++)
	{
		document.getElementById('tab' + i).style.display = 'none';
	}	
	
	for (i = 0; i < buttons.length; i++)
	{
		if (buttons[i].id == selectedButton)
		{
			buttons[i].className = 'tab-active';
			document.getElementById('tab' + (i+1)).style.display = 'block';
		}
		else
		{
			buttons[i].className = 'tab';
		}
	}
}	
		
function collapse(id, imgsrc)
{
	var obj = document.getElementById(id);
	var img = document.getElementById(imgsrc);
	
	if (obj.style.display == 'none')
	{
		obj.style.display = 'block';
		img.src = '/images/up.png';
	}
	else
	{ 
		obj.style.display = 'none';
		img.src = '/images/down.png';
	}
}

function showProductGroup (value, id)
{
	var el = document.getElementById(id);
	
	if (value == 1)
	{
		el.style.display = '';
	}
	else
	{
		el.style.display = 'none';
	}
}

function showHide (elementId)
{
	var el = document.getElementById(elementId);
	
	if (el)
	{
		el.style.display = (el.style.display == '' || el.style.display == 'none') ? 'block' : 'none';
	}
}

function generateRandom ()
{
	var keylist = 'abcdefghijklnmopqrstuvwxyz';
	var key = '';
	
  for ( var i = 0; i < 10; i++ )
  {
      key += keylist.charAt ( Math.random() * keylist.length );
  }
	
	return key;
}

function setOpacity (el, opacity)
{
	if (el)
	{
		if (el.filters)
		{
			el.style.filter = 'alpha(opacity=' + (opacity * 100) + ')';
		}
		else
		{
			el.style.opacity = opacity;
		}
	}
}

/* Menu code, thanks Tino Zijdel - crisp@xs4all.nl */ 

function initMenu (menuId)
{
	var menu = document.getElementById(menuId);
	var li = menu.getElementsByTagName('li'); 
	var i = li.length;
	var timer = null;
	
	while (i--) 
	{
		li[i].onmouseover = showMenu;
	}

	menu.onmouseout = function ()
	{
		timer = setTimeout ( function() { hideMenus ( menu, null ); }, 1000 );
	}
	
	menu.onmouseover = function ()
	{
		if ( timer )
		{
			clearTimeout ( timer );
			timer = null;
		}
	}
}

function showMenu()
{
	var ul = this.parentNode;
	var bannerRight = document.getElementById('bannerRight') || document.getElementById('bannerFrontpage');
	
	while (ul)
	{
		if (ul.tagName.toLowerCase() == 'ul')
		{
			hideMenus(ul, this);
			break;
		}

		ul = ul.parentNode;
	}

	ul = this.firstChild;
	
	while (ul)
	{
		if (ul.nodeType == 1 && ul.tagName.toLowerCase() == 'ul')
		{
			ul.style.display = 'block';
			//ul.style.visibility = '';
			setOpacity(ul, 0.95);
			if (bannerRight) bannerRight.style.display = 'none';
			break;
		}

		ul = ul.nextSibling;
	}
}

function hideMenus (level, skipli)
{
	var stack = [level];
	var i = 0;
	var li, j, el, tag, opacity;
	var bannerRight = document.getElementById('bannerRight') || document.getElementById('bannerFrontpage');
	
	do
	{
		li = stack[i].childNodes;
		j = li.length;
		
		while (j--)
		{
			el = li[j];
			
			if (el.nodeType == 1 && el != skipli)
			{
				tag = el.tagName.toLowerCase();
				
				if (tag == 'li')
				{
					stack[i++] = el;
				}
				else if (tag == 'ul' && el.style.display == 'block')
				{
					stack[i++] = el;
					el.style.display = 'none';
					//el.style.visibility = 'hidden';
					if (bannerRight) bannerRight.style.display = 'block';
				}
			}
		}
	}
	while (i--);
}

/* End menu code */

function setLanguage(iLanguageId)
{
	document.getElementById('countryform').language.value = iLanguageId;
}

function vCheckWidth ()
{
	if ( screen.width <= 1024 )
	{
		showHide ( 'bannerFrontpage' );
	}
}

function addFileInput ( spanId )
{
	var el = document.getElementById ( spanId );
	var fileInput = document.createElement ( 'input' );
	fileInput.type = 'file';
	fileInput.className = 'small';
	fileInput.size = 60;
	fileInput.name = 'aPhoto' + generateRandom ();
	
	el.appendChild ( document.createElement ( 'br' ) );
	el.appendChild ( fileInput );
}

String.prototype.trim = function ()
{
	return this.replace ( /^\s+|\s+$/g, '' );
}