	
	function openWindow(documentName) 
	{
	   window.open(documentName, "popup", "width=500,height=500,center,toolbar=no,location=no,directories=0,status=no,menubar=no,scrollbars=yes,resizable=yes");
	}

	function display_message(themessage)
	{
		var messagebox=document.getElementById("messagebox");
		messagebox.innerHTML=themessage;
		messagebox.style.display="block";
	}

	String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };
	
	function toggleLayer(idtag)
	{
		var obj=document.getElementById(idtag);
		if(obj.style.display=="none"||obj.style.display=="")
		{
			obj.style.display="block";
		}else{
			obj.style.display="none";
		}
	}
	
	function read_cookie(key, skips)
	{
		if (skips == null)
		{
		    skips = 0;
		}

		var cookie_string=""+document.cookie;
		var cookie_array = cookie_string.split("; ");
		
		for (var i = 0; i < cookie_array.length; ++i)
		{
			var single_cookie = cookie_array[i].split("=");
				
			if (single_cookie.length != 2)
			{
				continue;
			}
	
			var name = unescape(single_cookie[0]);
			var value = unescape(single_cookie[1]);
			if (key == name && skips -- == 0)
			{
			    return value;
			}
		}
		return null;
	}

	function write_cookie(name, value, days)
	{
	  if (days) 
	  {
	    var date = new Date();
	    date.setTime(date.getTime()+(days*24*60*60*1000));
	    var expires = "; expires="+date.toGMTString();
		} else {
			var expires = "";
		}
	  document.cookie = name+"="+value+expires+"; path=/";
	}
	
	function encodePostString(the_string)
	{
		s = new String(the_string);
		s = s.replace(/<\!\[CDATA\[/g,"*CDATASTART*");
		s = s.replace(/]]>/g,"*CDATAEND*");
		s = s.replace(/&/g,"*aM**");
		s = encodeURI(s);
		return s;
	}
	
	function decodeXMLString(the_string)
	{
		s = new String(the_string);
		s = s.replace(/\*CDATASTART\*/g,"<![CDATA[");
		s = s.replace(/\*CDATAEND\*/g,"]]>");
		s = s.replace(/\*aM\*\*/g,"&");
		return s;
	}
	
	function encodeHTMLString(the_string)
	{
		s = new String(the_string);
		s = s.replace(/&/g,"&amp;");
		s = s.replace(/</g,"&lt;");
		s = s.replace(/>/g,"&gt;");
		s = s.replace(/\"/g,"&quot;");
		s = s.replace(/\�/g,"&pound;");	
		return s;
	}
	
	function bookmark_site(url,title)
	{
		if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) 
		{
			window.external.AddFavorite(url,title);
		}
	}
	
	function redirect_questions(obj)
	{
		var question_type = obj.options[obj.selectedIndex].value;
		
		var redirect = "";
		switch (question_type)
		{
			case "1":
				redirect = "contact-us/";
			break;
		}
		
		if(redirect != "")
		{
			document.location = URL_SITE + redirect;
		}
	}

	function collapsepanel(idtag)
	{
		write_cookie(idtag,"collapse");
		document.getElementById(idtag).style.display="none";
	}
	
	function expandpanel(idtag)
	{
		write_cookie(idtag,"expand");
		document.getElementById(idtag).style.display="block";
	}
	
	function format_currency(amount)
	{
		var i = parseFloat(amount);
		if(isNaN(i)) { i = 0.00; }
		var minus = '';
		if(i < 0) { minus = '-'; }
		i = Math.abs(i);
		i = parseInt((i + .005) * 100);
		i = i / 100;
		s = new String(i);
		if(s.indexOf('.') < 0) { s += '.00'; }
		if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
		s = minus + s;
		return s;
	}
	
	function commas_in_numbers(amount)
	{
		var delimiter = ","; // replace comma if desired
		var a = amount.split('.',2)
		var d = a[1];
		var i = parseInt(a[0]);
		if(isNaN(i)) { return ''; }
		var minus = '';
		if(i < 0) { minus = '-'; }
		i = Math.abs(i);
		var n = new String(i);
		var a = [];
		while(n.length > 3)
		{
			var nn = n.substr(n.length-3);
			a.unshift(nn);
			n = n.substr(0,n.length-3);
		}
		if(n.length > 0) { a.unshift(n); }
		n = a.join(delimiter);
		if(d.length < 1) { amount = n; }
		else { amount = n + '.' + d; }
		amount = minus + amount;
		return amount;
	}
	
	/**
	*
	*  Base64 encode / decode
	*  http://www.webtoolkit.info/
	*
	**/
	 
	var Base64 = {
	 
		// private property
		_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
	 
		// public method for encoding
		encode : function (input) {
			var output = "";
			var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
			var i = 0;
	 
			input = Base64._utf8_encode(input);
	 
			while (i < input.length) {
	 
				chr1 = input.charCodeAt(i++);
				chr2 = input.charCodeAt(i++);
				chr3 = input.charCodeAt(i++);
	 
				enc1 = chr1 >> 2;
				enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
				enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
				enc4 = chr3 & 63;
	 
				if (isNaN(chr2)) {
					enc3 = enc4 = 64;
				} else if (isNaN(chr3)) {
					enc4 = 64;
				}
	 
				output = output +
				this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
				this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
	 
			}
	 
			return output;
		},
	 
		// public method for decoding
		decode : function (input) {
			var output = "";
			var chr1, chr2, chr3;
			var enc1, enc2, enc3, enc4;
			var i = 0;
	 
			input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
	 
			while (i < input.length) {
	 
				enc1 = this._keyStr.indexOf(input.charAt(i++));
				enc2 = this._keyStr.indexOf(input.charAt(i++));
				enc3 = this._keyStr.indexOf(input.charAt(i++));
				enc4 = this._keyStr.indexOf(input.charAt(i++));
	 
				chr1 = (enc1 << 2) | (enc2 >> 4);
				chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
				chr3 = ((enc3 & 3) << 6) | enc4;
	 
				output = output + String.fromCharCode(chr1);
	 
				if (enc3 != 64) {
					output = output + String.fromCharCode(chr2);
				}
				if (enc4 != 64) {
					output = output + String.fromCharCode(chr3);
				}
	 
			}
	 
			output = Base64._utf8_decode(output);
	 
			return output;
	 
		},
	 
		// private method for UTF-8 encoding
		_utf8_encode : function (string) {
			string = string.replace(/\r\n/g,"\n");
			var utftext = "";
	 
			for (var n = 0; n < string.length; n++) {
	 
				var c = string.charCodeAt(n);
	 
				if (c < 128) {
					utftext += String.fromCharCode(c);
				}
				else if((c > 127) && (c < 2048)) {
					utftext += String.fromCharCode((c >> 6) | 192);
					utftext += String.fromCharCode((c & 63) | 128);
				}
				else {
					utftext += String.fromCharCode((c >> 12) | 224);
					utftext += String.fromCharCode(((c >> 6) & 63) | 128);
					utftext += String.fromCharCode((c & 63) | 128);
				}
	 
			}
	 
			return utftext;
		},
	 
		// private method for UTF-8 decoding
		_utf8_decode : function (utftext) {
			var string = "";
			var i = 0;
			var c = c1 = c2 = 0;
	 
			while ( i < utftext.length ) {
	 
				c = utftext.charCodeAt(i);
	 
				if (c < 128) {
					string += String.fromCharCode(c);
					i++;
				}
				else if((c > 191) && (c < 224)) {
					c2 = utftext.charCodeAt(i+1);
					string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
					i += 2;
				}
				else {
					c2 = utftext.charCodeAt(i+1);
					c3 = utftext.charCodeAt(i+2);
					string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
					i += 3;
				}
	 
			}
	 
			return string;
		}
	 
	}
	
	function copy_keywords(source, destination)
	{
		var product_keywords_code = document.getElementById(source).value;
		var newstring = Base64.encode(product_keywords_code);
		document.getElementById(destination).value = newstring;
	}
	
	function toggle_searchables(idtag, idtag2)
	{
		var obj=document.getElementById(idtag);
		var obj2=document.getElementById(idtag2);
		
		if(obj.style.display=="none"||obj.style.display=="")
		{
			obj.style.display="block";
			obj2.innerHTML = '<img src="'+URL_SITE+'images/hide-filters.png" alt="Hide more detailed filters" />';
		}else{
			obj.style.display="none";
			obj2.innerHTML = '<img src="'+URL_SITE+'images/show-filters.png" alt="Show more detailed filters" />';
		}
	}
