function checkBox(box) {
	if (box == "standard") {
		document.dealernet.deliveryform[0].checked = true;
		document.dealernet.deliveryform[1].checked = false;
	}	
	else if (box == "primetime") {
		document.dealernet.deliveryform[0].checked = false;
		document.dealernet.deliveryform[1].checked = true;
	}
}

function setMenu(strField) {
		if (strField.style) strField.style.backgroundColor = "#EFEFEF";
		else document.dealernet[strField].style.backgroundColor = "#EFEFEF";
}


function setFirst(strField) {
		if (strField.style) { 
			strField.select()
			strField.style.backgroundColor = "#EFEFEF";
		} else {
			document.dealernet[strField].select()
			document.dealernet[strField].style.backgroundColor = "#EFEFEF";
		}
}

function formFocus(field,active,word) {
	if (active && field.value == word) field.value='';
	else {
		if (field.value == "") field.value=word;
	}
	
}

function changeDownloadButton2() {
	if (document.downloadForm2.rights.checked) {
		$('downloadButton2').hide();
		$('downloadButtonAct2').show();
	} else {
		$('downloadButton2').show();
		$('downloadButtonAct2').hide();
	}
}

function changeDownloadButton() {
	if (document.mediafiles.rights.checked) {
		$('downloadButton').hide();
		$('downloadButtonAct').show();
	} else {
		$('downloadButton').show();
		$('downloadButtonAct').hide();
	}
}


// AJAX

// ##########################################################################################################
// globale Variablen
// ##########################################################################################################

function $RF(el, radioGroup) {
    if($(el).type && $(el).type.toLowerCase() == 'radio') {
        var radioGroup = $(el).name;
        var el = $(el).form;
    } else if ($(el).tagName.toLowerCase() != 'form') {
        return false;
    }
 
    var checked = $(el).getInputs('radio', radioGroup).find(
        function(re) {return re.checked;}
    );
    return (checked) ? $F(checked) : null;
}


// ##########################################################################################################
// AJAX REQUESTS
// ##########################################################################################################
function addToLightbox(uid,type) {
	if (typeof document.mediafiles.resolution != "undefined") {
		resolution = $RF('mediafiles', 'resolution');
		/*if (document.mediafiles.resolution[0].checked) resolution = "small";
		if (document.mediafiles.resolution[1].checked) resolution = "medium";
		if (document.mediafiles.resolution[2].checked) resolution = "large";*/
	} else {
		resolution = "large";
	}
	
	var url = "index.php";
	var pars = "eID=kaestle_mediafiles_ajax&do=addToLightbox&uid="+uid+"&resolution="+resolution+"&L="+type;
	var myAjax = new Ajax.Request(url, {
								  method: 'get', 
								  parameters: pars,  
								  onComplete: updateDiv
								  });
}

function trashLightbox(confirmStr,type) {
	if (confirm(confirmStr)) {
		var url = "index.php";
		var pars = "eID=kaestle_mediafiles_ajax&do=trashLightbox&L="+type;
		var myAjax = new Ajax.Request(url, {
									  method: 'get', 
									  parameters: pars,  
									  onComplete: updateDiv
									  });
	}
}

function deleteFromLightbox(uid,type,resolution,checkout) {
	var url = "index.php";
	if (checkout) {
		var pars = "eID=kaestle_mediafiles_ajax&do=delete&uid="+uid+"&resolution="+resolution+"&L="+type+"&checkout="+checkout;
	} else {
		var pars = "eID=kaestle_mediafiles_ajax&do=delete&uid="+uid+"&resolution="+resolution+"&L="+type;
	}
	var myAjax = new Ajax.Request(url, {
								  method: 'get', 
								  parameters: pars,  
								  onComplete: updateDiv
								  });
}

function download(uid) {
	if (typeof document.mediafiles.resolution != "undefined") {
		resolution = $RF('mediafiles', 'resolution');
		/*if (document.mediafiles.resolution[0].checked) resolution = "small";
		if (document.mediafiles.resolution[1].checked) resolution = "medium";
		if (document.mediafiles.resolution[2].checked) resolution = "large";*/
	} else {
		resolution = "large";
	}
	location.href="/download.php?resolution="+resolution+"&download="+uid;
	
}

function downloadLightbox(type) {
	/*$('shoppingcart').hide();
	$('loader').show();*/
	location.href="/download.php?download=lightbox";
	var url = "index.php";
	var pars = "eID=kaestle_mediafiles_ajax&do=unsetLightbox&L="+type;
	var myAjax = new Ajax.Request(url, {
								  method: 'get', 
								  parameters: pars,  
								  onComplete: updateDivDownload
								  });
	
	/*$('loader').hide();
	$('shoppingcart').show();*/
}

function addToCart(group,article,type) {
	var url = "index.php";
	var pars = "eID=kaestle_dealernet_ajax&do=addToCart&group="+group+"&article="+article+"&L="+type+"&"+$('dealernet').serialize();
	var myAjax = new Ajax.Request(url, {
								  method: 'get', 
								  parameters: pars,  
								  onComplete: updateDiv
								  });
}

function deleteItem(uid,type,checkout) {
	var url = "index.php";
	if (checkout) {
		var pars = "eID=kaestle_dealernet_ajax&do=delete&uid="+uid+"&L="+type+"&checkout="+checkout;
	} else {
		var pars = "eID=kaestle_dealernet_ajax&do=delete&uid="+uid+"&L="+type;
	}
	var myAjax = new Ajax.Request(url, {
								  method: 'get', 
								  parameters: pars,  
								  onComplete: updateDiv
								  });
}


function changeQty(uid,qty,type,checkout) {
	
	var url = "index.php";
	if (checkout) {
		var pars = "eID=kaestle_dealernet_ajax&do=changeQty&qty="+qty+"&uid="+uid+"&L="+type+"&checkout="+checkout;
	} else {
		var pars = "eID=kaestle_dealernet_ajax&do=changeQty&qty="+qty+"&uid="+uid+"&L="+type;
	}
	myAjax = new Ajax.Request(url, {
								  method: 'get', 
								  parameters: pars,  
								  onComplete: updateDiv
								  });
}

function updateDiv(orgRequest) {
	height = $('shoppingcart').getHeight();
	$('loader').setStyle({
	  height: height+'px'
	});

	$('shoppingcart').hide();
	$('loader').show();
								
	setTimeout('showCart()', 1500);
	
	var xmldoc = orgRequest.responseXML;
	xmldoc.getElementsByTagName("data")[0].normalize();
	var result = xmldoc.getElementsByTagName("data")[0].firstChild.data;
	//result = eval(result);
	setTimeout('tooltips()', 1500);
	document.getElementById('shoppingcart').innerHTML = result;
	result.evalScripts();
}

function updateDivDownload(orgRequest) {
	height = $('shoppingcart').getHeight();
	$('loader').setStyle({
	  height: height+'px'
	});
	
	var xmldoc = orgRequest.responseXML;
	xmldoc.getElementsByTagName("data")[0].normalize();
	var result = xmldoc.getElementsByTagName("data")[0].firstChild.data;
	document.getElementById('shoppingcart').innerHTML = result;
								
	showCart();
}

function tooltips() {
	var tt = new Array();
	for (i=0; i<100; i++) {
		if (document.getElementById("tooltip-"+i)) {
			//tt[i] = new Tooltip2("tooltip-i-"+i, "tooltip-"+i);
		}
	}
}

function showCart() {
	$('shoppingcart').show();
	$('loader').hide();
}


//====================================================
// Tooltip
//====================================================

var Tooltip = Class.create();
Tooltip.prototype = {
  initialize: function(element, tool_tip) {
    var options = Object.extend({
      default_css: false,
      margin: "0px",
	    padding: "5px",
	    backgroundColor: "#d6d6fc",
	    min_distance_x: 5,
      min_distance_y: 5,
      delta_x: 0,
      delta_y: 0,
      zindex: 1000
    }, arguments[2] || {});

    this.element      = $(element);

    this.options      = options;
    
    // use the supplied tooltip element or create our own div
    if($(tool_tip)) {
      this.tool_tip = $(tool_tip);
    } else {
      this.tool_tip = $(document.createElement("div")); 
      document.body.appendChild(this.tool_tip);
      this.tool_tip.addClassName("tooltip");
      this.tool_tip.appendChild(document.createTextNode(tool_tip));
    }

    // hide the tool-tip by default
    this.tool_tip.hide();

    this.eventMouseOver = this.showTooltip.bindAsEventListener(this);
    this.eventMouseOut   = this.hideTooltip.bindAsEventListener(this);
    this.eventMouseMove  = this.moveTooltip.bindAsEventListener(this);

    this.registerEvents();
  },

  destroy: function() {
    Event.stopObserving(this.element, "mouseover", this.eventMouseOver);
    Event.stopObserving(this.element, "mouseout", this.eventMouseOut);
    Event.stopObserving(this.element, "mousemove", this.eventMouseMove);
  },

  registerEvents: function() {
    Event.observe(this.element, "mouseover", this.eventMouseOver);
    Event.observe(this.element, "mouseout", this.eventMouseOut);
    Event.observe(this.element, "mousemove", this.eventMouseMove);
  },

  moveTooltip: function(event){
	  Event.stop(event);
	  // get Mouse position
    var mouse_x = Event.pointerX(event);
	  var mouse_y = Event.pointerY(event);
	
	  // decide if wee need to switch sides for the tooltip
	  var dimensions = Element.getDimensions( this.tool_tip );
	  var element_width = dimensions.width;
	  var element_height = dimensions.height;
	
	  if ( (element_width + mouse_x) >= ( this.getWindowWidth() - this.options.min_distance_x) ){ // too big for X
		  mouse_x = mouse_x - element_width;
		  // apply min_distance to make sure that the mouse is not on the tool-tip
		  mouse_x = mouse_x - this.options.min_distance_x;
	  } else {
		  mouse_x = mouse_x + this.options.min_distance_x;
	  }
	
	  if ( (element_height + mouse_y) >= ( this.getWindowHeight() - this.options.min_distance_y) ){ // too big for Y
		  mouse_y = mouse_y - element_height;
	    // apply min_distance to make sure that the mouse is not on the tool-tip
		  mouse_y = mouse_y - this.options.min_distance_y;
	  } else {
		  mouse_y = mouse_y + this.options.min_distance_y;
	  } 
	
	  // now set the right styles
	  this.setStyles(mouse_x, mouse_y);
  },
	
		
  showTooltip: function(event) {
    Event.stop(event);
    this.moveTooltip(event);
	  new Element.show(this.tool_tip);
  },
  
  setStyles: function(x, y){
    // set the right styles to position the tool tip
	  Element.setStyle(this.tool_tip, { position:'absolute',
	 								    top:y + this.options.delta_y + "px",
	 								    left:x + this.options.delta_x + "px",
									    zindex:this.options.zindex
	 								  });
	
	  // apply default theme if wanted
	  if (this.options.default_css){
	  	  Element.setStyle(this.tool_tip, { margin:this.options.margin,
		 		  						                    padding:this.options.padding,
		                                      backgroundColor:this.options.backgroundColor,
										                      zindex:this.options.zindex
		 								    });	
	  }	
  },

  hideTooltip: function(event){
	  new Element.hide(this.tool_tip);
  },

  getWindowHeight: function(){
    var innerHeight;
	  if (navigator.appVersion.indexOf('MSIE')>0) {
		  innerHeight = document.body.clientHeight;
    } else {
		  innerHeight = window.innerHeight;
    }
    return innerHeight;	
  },
 
  getWindowWidth: function(){
    var innerWidth;
	  if (navigator.appVersion.indexOf('MSIE')>0) {
		  innerWidth = document.body.clientWidth;
    } else {
		  innerWidth = window.innerWidth;
    }
    return innerWidth;	
  }

}

//====================================================
// Tooltip2
//====================================================

var Tooltip2 = Class.create();
Tooltip2.prototype = {
  initialize: function(element, tool_tip) {
    var options = Object.extend({
      default_css: false,
      margin: "0px",
	    padding: "5px",
	    backgroundColor: "#d6d6fc",
	    min_distance_x: 5,
      min_distance_y: 5,
      delta_x: 0,
      delta_y: 0,
      zindex: 1000
    }, arguments[2] || {});

    this.element      = $(element);

    this.options      = options;
    
    // use the supplied tooltip element or create our own div
    if($(tool_tip)) {
      this.tool_tip = $(tool_tip);
    } else {
      this.tool_tip = $(document.createElement("div")); 
      document.body.appendChild(this.tool_tip);
      this.tool_tip.addClassName("tooltip");
      this.tool_tip.appendChild(document.createTextNode(tool_tip));
    }

    // hide the tool-tip by default
    this.tool_tip.hide();

    this.eventMouseOver = this.showTooltip.bindAsEventListener(this);
    this.eventMouseOut  = this.hideTooltip.bindAsEventListener(this);
    this.eventMouseMove = this.moveTooltip.bindAsEventListener(this);
    this.registerEvents();
  },

  destroy: function() {
    Event.stopObserving(this.element, "mouseover", this.eventMouseOver);
    Event.stopObserving(this.element, "mouseout", this.eventMouseOut);
    Event.stopObserving(this.element, "mousemove", this.eventMouseMove);
  },

  registerEvents: function() {
    Event.observe(this.element, "mouseover", this.eventMouseOver);
    Event.observe(this.element, "mouseout", this.eventMouseOut);
    Event.observe(this.element, "mousemove", this.eventMouseMove);
  },

  moveTooltip: function(event){
	  Event.stop(event);
	  // get Mouse position
	  var mouse_x = Event.pointerX(event);
	  var mouse_y = Event.pointerY(event);
	  window.status = mouse_x;
	  
	  var dimensions = Element.getDimensions('container');
	  var container_width = dimensions.width;
	  var container_height = dimensions.height;
	
	  // decide if wee need to switch sides for the tooltip
	  var dimensions = Element.getDimensions( this.tool_tip );
	  var element_width = dimensions.width;
	  var element_height = dimensions.height;
	
	  if ( (element_width + mouse_x) >= ( this.getWindowWidth() - this.options.min_distance_x) ){ // too big for X
		  mouse_x = mouse_x - element_width;
		  // apply min_distance to make sure that the mouse is not on the tool-tip
		  mouse_x = mouse_x - this.options.min_distance_x;
	  } else {
		  mouse_x = mouse_x + this.options.min_distance_x;
	  }
	  mouse_x = container_width+180;
	
	  if ( (element_height + mouse_y) >= ( this.getWindowHeight() - this.options.min_distance_y) ){ // too big for Y
		  mouse_y = mouse_y - element_height;
	    // apply min_distance to make sure that the mouse is not on the tool-tip
		  mouse_y = mouse_y - this.options.min_distance_y;
	  } else {
		  mouse_y = mouse_y + this.options.min_distance_y;
	  } 
	  mouse_y-=80;
	
	  // now set the right styles
	  this.setStyles(mouse_x, mouse_y);
  },
	
		
  showTooltip: function(event) {
    Event.stop(event);
    this.moveTooltip(event);
	  new Element.show(this.tool_tip);
  },
  
  setStyles: function(x, y){
    // set the right styles to position the tool tip
	  Element.setStyle(this.tool_tip, { position:'absolute',
	 								    top:y + this.options.delta_y + "px",
	 								    left:x + this.options.delta_x-500 + "px",
									    zindex:this.options.zindex
	 								  });
	
	  // apply default theme if wanted
	  if (this.options.default_css){
	  	  Element.setStyle(this.tool_tip, { margin:this.options.margin,
		 		  						                    padding:this.options.padding,
		                                      backgroundColor:this.options.backgroundColor,
										                      zindex:this.options.zindex
		 								    });	
	  }	
  },

  hideTooltip: function(event){
	  new Element.hide(this.tool_tip);
  },

  getWindowHeight: function(){
    var innerHeight;
	  if (navigator.appVersion.indexOf('MSIE')>0) {
		  innerHeight = document.body.clientHeight;
    } else {
		  innerHeight = window.innerHeight;
    }
    return innerHeight;	
  },
 
  getWindowWidth: function(){
    var innerWidth;
	  if (navigator.appVersion.indexOf('MSIE')>0) {
		  innerWidth = document.body.clientWidth;
    } else {
		  innerWidth = window.innerWidth;
    }
    return innerWidth;	
  }

}


/////////////////////////////////////////////////




//====================================================
// Schnellnavigation
//====================================================

var dropDownMenu = Class.create();
dropDownMenu.prototype = {
	initialize: function(parent, menu) {
		var item = this;
		this.element = $(parent);
		this.menu = $(menu);
		
		this.timeout = 0.5;
		this.fadeTime = 0.3;

		this.element.onmouseover = function() {
			item.open();
		}
		this.menu.onmouseover = function() {
			item.open();
		}
		this.element.onmouseout = function() {
			item.close();
		}
		this.menu.onmouseout = function() {
			item.close();
		}
		
		
	},
	open: function() {
		this.lock = 1;
		//this.menu.appear({duration:this.fadeTime});
		$("shoppingcartContainer").hide();
		$("logout").hide();
		this.menu.show();

	},
	close: function() {
		this.lock = 0;
		this.close2.delay(this.timeout, this);
	},
	close2: function(item) {
		if (item.lock==0){
			//item.menu.fade({duration:item.fadeTime});
			item.menu.hide();
			$("logout").show();
			$("shoppingcartContainer").show();
		}
	}
	

}


var openItem = new Array();
var crntOpen;
function showSubitems(uid, level) {
	
	if ($("subitems-"+uid) != null) {
		if (openItem[uid] == 0 || typeof openItem[uid] == "undefined") {
			if (crntOpen > 0 && level <= openItem[crntOpen]) {
				//Effect.BlindUp('subitems-'+crntOpen, { duration: 1.0 });
			}
			Effect.BlindDown('subitems-'+uid, { duration: 1.0 });
			openItem[uid] = level;
			crntOpen = uid;
		} else {
			Effect.BlindUp('subitems-'+uid, { duration: 1.0 });
			openItem[uid] = 0;
			crntOpen = 0;
		}
	}
}

function initSubitems() {		
	var subitems = new Array();
	$$('.level3container').each(function(s) {
		subitems.push(s.identify().replace("subitems-", ""));
	});
	
	/*$$('.level4container').each(function(s) {
		subitems.push(s.identify().replace("subitems-", ""));
	});*/
	
	subitems.each(function(s) {
		if ($('trigger-'+s)) $('trigger-'+s).addClassName('pointer');
	});
	
}

