// JavaScript Document
function basket_toggle(){
	if (document.getElementById('basket-layer').style.visibility == 'hidden'){
		basket_show();
	}else{
		basket_hide();
	}
}

function basket_mover(){
	if (document.getElementById('basket-layer').style.visibility == 'hidden'){
		document.getElementById('basket-link').className = 'basket-link';
	}else{
		document.getElementById('basket-link').className = 'basket-link';
	}
}

function basket_mout(){
	if (document.getElementById('basket-layer').style.visibility == 'hidden'){
		document.getElementById('basket-link').className = 'basket-link';
	}else{
		document.getElementById('basket-link').className = 'basket-link';
	}
}

function basket_show(){
	document.getElementById('basket-layer').style.visibility = 'visible';
}

function basket_hide(){
	document.getElementById('basket-layer').style.visibility = 'hidden';
}

var recent_click_obj = '';

function hide_menus(event){
	if (!event){
        event = window.event;
    }
	target = event.target ? event.target : event.srcElement;
	
	recent_click_obj = target;

	if ((target.id == "basket-link-button") || (target.id == "basket-image")){
		basket_toggle();
	}else{
		if (is_child('basket-link',recent_click_obj) != true){
			basket_hide();
		}
	}
	
}

function is_child(parent_name, child_ele){
	if (child_ele.tagName != 'BODY'){
		if (child_ele.id == parent_name){
			return true;
		}else{
			return is_child(parent_name, child_ele.parentNode);
		}
	}else{
		return false;
	}
}

function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    //an error occured
  }
}

addEvent(document,"click",hide_menus);

//start expanda-boxes

function exp_detect(ele){
	for (var i=0; i<ele.childNodes.length; i++){
		node = ele.childNodes[i];
		if ((node.nodeName=="DIV") && (node.className == "exp-container")){
			for (var j=0; j<node.childNodes.length; j++){
				subnode = node.childNodes[j];
				if (subnode.nodeName=="H2"){
					subnode.onclick = function(){
						exp_toggle(this);
					}
					for (var k=0; k<subnode.childNodes.length; k++){
						subsubnode = subnode.childNodes[k];
						if (subsubnode.nodeName=="IMG"){
							if (subsubnode.src != 'http://' + location.host + '/images/minus.png'){
								exp_change(subnode,'none');
							}
						}
					}
				}
			}
		}
		exp_detect(node);
	}
}

function exp_toggle(ele){
	for (var i=0; i<ele.childNodes.length; i++){
		node = ele.childNodes[i];
		if (node.nodeName=="IMG"){
			if (node.src == 'http://' + location.host + '/images/minus.png'){
				var display = 'none';
				node.src='/images/plus.png';
			}else{
				var display = 'block';
				node.src='/images/minus.png';
			}
		}
	}
	exp_change(ele,display);
}

function exp_change(ele, display){
	parentele = ele.parentNode;
	for (var i=0; i<parentele.childNodes.length; i++){
		node = parentele.childNodes[i];
		if ((node.nodeName == "DIV") && (node.className == "exp-content")){
			node.style.display = display;
		}
	}
}

function fade_in(ele, is_new){
	if (is_new > 0){
		ele.style.opacity = 0;
	}
	opacity_new = parseFloat(ele.style.opacity) + fade_step;
	if (opacity_new < 1){
		ele.style.opacity = opacity_new;
		ele.style.MozOpacity = opacity_new;
		ele.style.filter = 'alpha(opacity=' + (opacity_new * 100) + ')';
		setTimeout('fade_in(document.getElementById(\'' + ele.id + '\'),\'0\')',fade_time);
	}else{
		ele.style.opacity = 1;
		ele.style.MozOpacity = 1;
		ele.style.filter = 'alpha(opacity=100)';
	}
}