function printWindow()
{
   bV = parseInt(navigator.appVersion)
   if (bV >= 4) window.print()
}

function shuffle_children(id, count)
{
  var container = $(id);
  if (container)
  {
    var elements = container.childElements();
    if (elements && elements.length > 3)
    {
      var length   = elements.length - 1; // remove script tag
      var el1 = Math.floor(Math.random() * length);
      var el2 = el1;
      var el3 = el1;

      while (el2 == el1) el2 = Math.floor(Math.random() * length);
      while (el3 == el2 || el3 == el1) el3 = Math.floor(Math.random() * length);
      
      for (i = 0; i < length; i++)
      {
        if (i == el1 || i == el2 || i == el3)
          elements[i].show();
        else
          elements[i].hide();
      }
    }
  }
}

function render_accordion_products(id, products)
{
  products.each(function(product){
    new Insertion.Top(id, [
      '<div class="accordion_product" style="display:none">',
        '<div class="image"><a href="'+product.url+'">'+product.image+'</a></div>',
        '<p><a href="'+product.url+'">'+product.title+'</a></p>',
        '<p>'+product.price+'</p>',
      '</div>'
    ].join("\n"));
  });
}

var BrowserDetect = {
	init: function () {
	  var data = this.searchString(this.dataBrowser, true);
	  this.engine = data.engine || "unknown";
		this.browser = data.identity || "unknown";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "unknown";
		this.OS = this.searchString(this.dataOS) || "unknown";
	},
	searchString: function (data, return_data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
				{
				  if (return_data)
  					return data[i];
  				else
  				  return data[i].identity;
  			}
			}
			else if (dataProp)
			{
			  if (return_data)
					return data[i];
				else
				  return data[i].identity;
			}
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "chrome",
			engine: "webkit"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "omniWeb",
			engine: "webkit"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "safari",
			engine: "webkit"
		},
		{
			prop: window.opera,
			identity: "opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab",
			engine: "webkit"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "konqueror",
			engine: "webkit"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "firefox",
			engine: "gecko"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "camino",
			engine: "gecko"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "netscape",
			engine: "gecko"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "ie",
			versionSearch: "MSIE",
			engine: "ie"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "mozilla",
			versionSearch: "rv",
			engine: "gecko"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "netscape",
			versionSearch: "Mozilla",
			engine: "gecko"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "linux"
		}
	]

};

function add_browser_classes()
{
  BrowserDetect.init();
  var bodyClassNames = document.body.className || "";

  if (BrowserDetect.OS != "unknown")
    bodyClassNames += " os_"+BrowserDetect.OS;

  if (BrowserDetect.browser != "unknown")
  {
    bodyClassNames += " is_"+BrowserDetect.browser;

    if (BrowserDetect.version != "unknown")
      bodyClassNames += " is_"+BrowserDetect.browser+BrowserDetect.version;
  }

  if (BrowserDetect.engine != "unknown" && BrowserDetect.engine != BrowserDetect.browser)
    bodyClassNames += " is_"+BrowserDetect.engine;

  document.body.className = bodyClassNames;
}