function dump(arr,level)
{
	var dumped_text = "";
	if(!level) level = 0;

	//The padding given at the beginning of the line.
	var level_padding = "";
	
	for(var j=0;j<level+1;j++) level_padding += "    ";

	if(typeof(arr) == 'object')
	{ //Array/Hashes/Objects
		for(var item in arr)
		{
 			var value = arr[item];
 
 			if (typeof(value) == 'object')
			{ //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			}
			else
			{
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	}
	else
	{ //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
} 

function fnLoadPngs()
{
/*
	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);

	for (var i = document.all.length - 1, obj = null; (obj = document.all[i]); i--)
	{
		if (itsAllGood && obj.currentStyle.backgroundImage.match(/\.png/i) != null)
		{
			this.fnFixPng(obj);
			obj.attachEvent("onpropertychange", this.fnPropertyChanged);
		}
	}
*/
}

function fnPropertyChanged()
{
	if (window.event.propertyName == "style.backgroundImage")
	{
		var el = window.event.srcElement;
		
		if (!el.currentStyle.backgroundImage.match(/x\.gif/i))
		{
			var bg	= el.currentStyle.backgroundImage;
			var src = bg.substring(5,bg.length-2);
			el.filters.item(0).src = src;
			el.style.backgroundImage = "url(x.gif)";
		}
	}
}
	
function fnFixPng(obj)
{

	var bg	= obj.currentStyle.backgroundImage;
	var customID = obj.id.split(":");
	var pngmode = (customID[1]=='iepngmode') ? customID[2] : 'scale'; 
	var src = bg.substring(5,bg.length-2);
	
	obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='"+pngmode+"')";
	obj.style.backgroundImage = "url(x.gif)";

}

function fnLoadImPngs()
{
	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);

	for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--)
	{
		if (itsAllGood && img.src.match(/\png$/i) != null)
		{
			fnFixImPng(img);
			img.attachEvent("onpropertychange", fnImPropertyChanged);
		}
		
		img.style.visibility = "visible";
	}

	var nl = document.getElementsByTagName("INPUT");
	
	for (var i = nl.length - 1, e = null; (e = nl[i]); i--)
	{
		if (e.className && e.className.match(/\bimage\b/i) != null)
		{
			if (e.src.match(/\.png$/i) != null)
			{
				fnFixImPng(e);
				e.attachEvent("onpropertychange", fnImPropertyChanged);
			}
			
			e.style.visibility = "visible";
		}
	}
}

function fnImPropertyChanged() {
	if (window.event.propertyName == "src") {
		var el = window.event.srcElement;
		if (!el.src.match(/x\.gif$/i)) {
			el.filters.item(0).src = el.src;
			el.src = "x.gif";
		}
	}
}

function dbg(o) {
	var s = "";
	var i = 0;
	for (var p in o) {
		s += p + ": " + o[p] + "\n";
		if (++i % 10 == 0) {
			alert(s);
			s = "";
		}
	}
	alert(s);
}

function fnFixImPng(img) {
	var src = img.src;
	var im = Element.getDimensions(img);
	img.style.width = im.width + "px";
	img.style.height = im.height + "px";
	img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='crop')"
	img.src = "x.gif";
}


function handleEvent(obj, event, func) {
    try {
        obj.addEventListener(event, func, false);
    } catch (e) {
        if (typeof eval("obj.on"+event) == "function") {
            var existing = obj['on'+event];
            obj['on'+event] = function () { existing(); func(); };
        } else {
            obj['on'+event] = func;                        
        }
    }
} 

function getBrowserTime(){
	var oDate = new Date();
	var sHours = oDate.getHours();
	var sMinutes = oDate.getMinutes();
	var sSeconds = oDate.getSeconds();
	if (sMinutes < 10) 
		sMinutes = "0" + sMinutes;
	if (sSeconds < 10)
		sSeconds = "0" + sSeconds;
	if($('oHtmlSpanTimer')) {
		$('oHtmlSpanTimer').innerHTML = sHours + ":" + sMinutes + ":" + sSeconds;
	}
	setTimeout("getBrowserTime()",1000);
}

function getLoginBox() {
	// Récupère la position de l'objet
	var oAnchor = Position.cumulativeOffset($('logon'));
	$('loginBox').style.top =  (ie) ? (oAnchor[1]-2) : (oAnchor[1]-10)  + "px";
	$('loginBox').style.left = (ie) ? (oAnchor[0]+47) : (oAnchor[0]+6) + "px";
	
	loginBoxAppear = new fx.Opacity($('loginBox'), {duration:1000});
	loginBoxAppear.custom(0, 0.9);
	loginBoxAppear.hide();
	
	$('loginBox').style.display = "block";
	loginBoxAppear.toggle();
}

function closeLoginBox() {
	// Récupère la position de l'objet
	loginBoxAppear.toggle();
}

function makeBodyFade() {
	new Effect.Appear('bodyContainer',{duration:0.3});
}

function getTopLinksBox(sItemType, stateType) {
	
	topLinksBoxAppear = new fx.Opacity($('articleTopLinksTitle'), {duration:300});
	topLinksBoxAppear.custom(0, 0.9);
	topLinksBoxAppear.hide();	
	
	switch(sItemType) {
		case "toplinks_download":
			var txt = "Disponible en download";		
		break;
		case "toplinks_backup":
			var txt = "Possibilité de recevoir une copie de sauvegarde";		
		break;
		case "toplinks_softbox":
			var txt = "Disponible en boîte";		
		break;		
	}
	$('articleTopLinksTitle').innerHTML = txt;
	
	if(stateType=='off') {
		if($('articleTopLinksTitle').style.display != "none") {
			topLinksBoxAppear.hide();
			topLinksBoxAppear.toggle();		
			$('articleTopLinksTitle').style.display = "none";
		}
	}
	else {
		if($('articleTopLinksTitle').style.display != "block") {
			$('articleTopLinksTitle').style.display = "block";	
			topLinksBoxAppear.toggle();
		}
	}	
}

function PageQuery(q) {
	if(q.length > 1) {
		this.q = q.substring(1, q.length);
	}
	else {
		this.q = null;
	}
	this.keyValuePairs = new Array();
	if(q) {
		for(var i=0; i < this.q.split("&").length; i++) {
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	this.getKeyValuePairs = function() { 
		return this.keyValuePairs; 
	}

	this.getValue = function(s) {
		for(var j=0; j < this.keyValuePairs.length; j++) 
			{
				if(this.keyValuePairs[j].split("=")[0] == s)
					return this.keyValuePairs[j].split("=")[1];
			}
	return false;
	}

	this.getParameters = function() {
		var a = new Array(this.getLength());
		for(var j=0; j < this.keyValuePairs.length; j++) {
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		return a;
	}
	
	this.getLength = function() { 
		return this.keyValuePairs.length; 
	} 
}

function queryString(key){
	var page = new PageQuery(window.location.search); 
	return unescape(page.getValue(key)); 
}

function initTabs(){

	var stretchers = document.getElementsByClassName('box');
	var toggles = document.getElementsByClassName('tab');
	var myAccordion = new fx.Accordion(
		toggles, stretchers, {
			opacity: false, 
			height: true, 
			duration: 600,
			onComplete : function(){
				//$('leftColumn').style.height = $('wrapper').offsetHeight + "px";
				
			}
		}
	);
	// Checking if tab ID is called in url
	//alert(window.location.search);
	myAccordion.showThisHideOpen(stretchers[0]);
	myAccordion.changeTabClass(toggles[0]);	
	
	if(queryString('tab')!=null) {
		var activeTab = queryString('tab');
		if(typeof(toggles[activeTab]) != "undefined") {
			myAccordion.showThisHideOpen(stretchers[activeTab]);
			myAccordion.changeTabClass(toggles[activeTab]);
		}
	}
}

var jPanier;

function initPan() {
	jPanier = new BzCartWidget();
	jPanier.displayCompact();
}

function adjustLayoutToScreen() {
	var x,y;
	var propScrSize_fst = document.body.scrollHeight;
	var propScrSize_scd = document.body.offsetHeight;
	
	if (propScrSize_fst > propScrSize_scd) {
		x = document.body.scrollWidth;
		y = document.body.scrollHeight;
	}
	else {
		x = document.body.offsetWidth;
		y = document.body.offsetHeight;
	}
	var mainBlockInnerPosition = Position.cumulativeOffset($('mainBlock'));
	
	//$('mainBlock').style.height= ((y - mainBlockInnerPosition[1])+35) + "px";
	$('leftColumn').style.height= $('mainBlock').offsetHeight + "px";
}

function checkAcceptedPaymentTerms() {
	if(!$('payment_terms').checked) {
		alert('Vous devez accepter les conditions de vente pour continuer votre commande');
		return false;			
	}
	return true;
}

function addToNewsletter(){
		var addToNewsletterAjaxOptions = {
			// Form method (post, get)
			method : 'post',
			// Parameters to pass to remote url
			parameters : '&ajaxaction=addNewsletterReader&em='+$('newsletterField').value,
			// Connect mode
			asynchronous:true,
			// Server response on Success
			onSuccess : function(rsp) {
				if(rsp.responseText) {
					alert(rsp.responseText)
				}
				else {
					alert("Une erreur s'est produite, veuillez recommencer votre inscription ultérieurement"); 
				}
			},
			// On request error
			onFailure : function(rsp) {
				alert("Une erreur s'est produite, veuillez recommencer votre inscription ultérieurement"); 
			}
		};
		new Ajax.Request('/bzajax', addToNewsletterAjaxOptions);
}

/**
* Handle onload events
*/

if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent)
{
	handleEvent(window, 'load', fnLoadPngs);
	handleEvent(window, 'load', fnLoadImPngs);
}

handleEvent(window, 'load', initPan);
//handleEvent(window, 'load', makeBodyFade);
//handleEvent(window, 'load', adjustLayoutToScreen);

