// JavaScript Document

function ChangePic(elementID, imagePath)
{
	eleThis = document.getElementById(elementID);
	eleThis.style.backgroundImage = "url(" + imagePath + ")";	
}

function Navigate(url)
{
	window.location.href = url;	
}

function PreloadImage(strImageURI)
{
	document.write("<div style=\"position:absolute;visibility:hidden;background-image:url(" + strImageURI + ")\"></div>");
}


function Search()
{
	var strSearch = $('txtSearch').value;
	new Request({ url: 'search.php', 
				  method: 'get',
			   	  data: "value=" + strSearch,
				  onComplete: SearchResponse
				}).send();
}

function SearchResponse(xmlReq)
{
	$('products_sheet_content').innerHTML = '';
	var strRes = xmlReq;	
	if (strRes.length <= 2)
	{
		blnHide = 1;
	}
	else
	{	
		blnHide = 0;
		strRes = strRes.replace("[", "");
		strRes = strRes.replace("]", "");
		var astrRes = strRes.split(",");
		var strTableCont = "<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"><colgroup><col width=\"*\" /><col width=\"100px\" /><col width=\"100px\" /></colgroup>";
		if (astrRes.length > 0)
		{						
			for(i = 0; i < astrRes.length; i++)
			{
				strLine = astrRes[i];
				while (strLine.search("\"") > -1)
				{
					strLine = strLine.replace("\"", "")
				}
				astrLine = strLine.split("|");	
				astrLine[0] = ClearUnicode(astrLine[0]);
				strLine = "<tr><td><p>" + astrLine[0] + "</p></td><td><p style=\"text-align:right\">" + astrLine[1] + "</p></td><td><p style=\"text-align:right\">" + astrLine[2] + "</p></td></tr>";							
					strTableCont = strTableCont + strLine;
			}
			strTableCont = strTableCont + "</table>";
			$('products_sheet_content').innerHTML = strTableCont;
			$('products_sheet').setStyle('visibility','visible');
		}
		else
		{
			blnHide = 1;
		}					
	}
	if (blnHide == 1)
	{
		$('products_sheet').setStyle('visibility','hidden');	
	}	
}

function OpenCat(intCatID)
{
	new Request({ url: 'get_cat.php', 
				  method: 'get',
			   	  data: "value=" + intCatID,
				  onComplete: OpenCatResponse
				}).send();
}

function OpenCatResponse(xmlReq)
{	
	$('products_sheet_content').innerHTML = '';	
	var strRes = xmlReq;						
	if (strRes.length <= 2)
	{
		blnHide = 1;
	}
	else
	{	
		blnHide = 0;
		strRes = strRes.replace("[", "");
		strRes = strRes.replace("]", "");						
		var astrRes = strRes.split(",");		
		var strTableCont = "<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"><colgroup><col width=\"*\" /><col width=\"100px\" /><col width=\"100px\" /></colgroup>";					
		for(i = 0; i < astrRes.length; i++)
		{			
			strLine = astrRes[i];
			while (strLine.search("\"") > -1)
			{
				strLine = strLine.replace("\"", "");
			}						
			astrLine = strLine.split("|");	
			astrLine[0] = ClearUnicode(astrLine[0]);
			strLine = "<tr><td><p>" +  astrLine[0] + "</p></td><td><p style=\"text-align:right\">" + astrLine[1] + "</p></td><td><p style=\"text-align:right\">" + astrLine[2] + "</p></td></tr>";							
			strTableCont = strTableCont + strLine;
		}
		strTableCont = strTableCont + "</table>";					
		$('products_sheet_content').innerHTML = strTableCont;						
		$('products_sheet').setStyle('visibility','visible');
	}
	if (blnHide == 1)
	{
		$('products_sheet').setStyle('visibility','hidden');	
	}	
}

function CloseFloatingBox(blnReopen,										  
						  strPanel)
{
	var chaSearchbox = new Fx.Morph($('floatingbox'), {duration: 800, transition: Fx.Transitions.Sine.easeOut, wait:true});	
	var chaSearchpanel = new Fx.Morph($(currentPanel), {duration: 800, transition: Fx.Transitions.Sine.easeOut, wait:true});
	var chaClose = new Fx.Morph($('close_button_cont'), {duration: 100, transition: Fx.Transitions.Sine.easeOut, wait:true});
	if ($('floatingbox').offsetWidth > 0)
	{
		if (blnReopen == 1)
		{
			chaClose.start({ 'opacity': 0.0 })
				
					.chain(function() {	chaSearchpanel.start({ 'opacity': 0.0 })
							.chain(function() { chaSearchbox.start({ 'width': 0 })
								.chain(function() { OpenFloatingBox(strPanel); }) 
									
					});
				});
		}
		else
		{
			chaClose.start({ 'opacity': 0.0 })
				
					.chain(function() { chaSearchpanel.start({ 'opacity': 0.0 })
						.chain(function() { chaSearchbox.start({ 'width': 0 }); 
				
				}); 
			});
		}		
	}
	else
	{
		if (blnReopen == 1)
		{
			OpenFloatingBox(strPanel);									
		}
	}		
}

function IsIE()
{
	var ua = navigator.userAgent;
	//return  (ua.indexOf("MSIE") >=0);
	return false;
}

function OpenFloatingBox(strPanel)
{
	var chaSearchbox = new Fx.Morph($('floatingbox'), {duration: 800, transition: Fx.Transitions.Sine.easeOut, wait:false});
	var chaSearchpanel = new Fx.Morph($(strPanel), {duration: 800, transition: Fx.Transitions.Sine.easeOut, wait:false});
	var chaClose = new Fx.Morph($('close_button_cont'), {duration: 800, transition: Fx.Transitions.Sine.easeOut, wait:false});
	if ($('floatingbox').offsetWidth == 0)
	{
		chaSearchbox.start({ 'width': 586 })
			.chain(function() { chaSearchpanel.start({ 'opacity': 1.0 })
				.chain(function() { chaClose.start({ 'opacity': 1.0 }) }); 
			});
		currentPanel = strPanel;
	}
	
}

function FadeInPic()
{
	var change2 = new Fx.Tween($('picture'), { duration: 1200, property:'height', transition: Fx.Transitions.Sine.easeOut, link:'chain' });
	change2.start(264); 
}

function AddHover(strIDDiv,
				  strIDImageOn)
{ 					
	var change = new Fx.Morph($(strIDImageOn), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});
	$(strIDDiv).addEvents({'mouseenter': function(e) 
											{ 
												e.stop();
												if (current == strIDDiv ||
													currentSub == strIDDiv)
													return;
												change.start({ 'opacity': 1.0 }); 
											},
							 'mouseleave': function(e) 
										   {
												e.stop();
												if (current == strIDDiv ||
													currentSub == strIDDiv)
													return;
												change.start({ 'opacity': 0.0 });
										   }
							});								
}

function AddHoverEx(strIDDiv,
					strIDImageOff,
					strIDImageOn)
{ 					
	var change1 = new Fx.Morph($(strIDImageOn), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});
	var change2 = new Fx.Morph($(strIDImageOff), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});
	$(strIDDiv).addEvents({'mouseenter': function(e) 
											{ 
												e.stop();
												if (current == strIDDiv)
													return;
												change1.start({ 'opacity': 1.0 }); 
												change2.start({ 'opacity': 0.0 }); 
											},
							 'mouseleave': function(e) 
										   {
												e.stop();
												if (current == strIDDiv)
													return;
												change1.start({ 'opacity': 0.0 });
												change2.start({ 'opacity': 1.0 });
										   }
							});								
}

function HideToolTip()
{
	var change = new Fx.Morph($('tooltip_sheet'), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});
	change.start({ opacity: 0 });
}

function ShowToolTip(x, y)
{
	
	$('tooltip_sheet').setStyle('left', (x - parseInt($('tooltip_sheet').getStyle('width'))) - 10);
	$('tooltip_sheet').setStyle('top', y + 10);
	if ($('tooltip_sheet').style.visibility == 'hidden')
	{
		var change = new Fx.Morph($('tooltip_sheet'), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});
		change.start({ opacity: 1 });
	}
}

function ShowSubMenu(strMenuDiv, strFlash)
{					
	$('products_sheet').setStyle('visibility','hidden');
	if (currentSubMenu != '')
	{
		var change = new Fx.Morph($(currentSubMenu), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});
		change.start({ opacity: 0 });	
		$(currentSubMenu).setStyle('display','none');
	}
	if (strMenuDiv.length > 0 &&
		$(strMenuDiv).style.visibility != 'visible')
	{			
		currentSubMenu = strMenuDiv;
		$(currentSubMenu).setStyle('display','block');
		SetCurrentSub('','','','');
		Array.implement({
		invoke: function(fn, args){
				var result = [];
				
				for (var i = 0, l = this.length; i < l; i++){
					if(this[i] && this[i][fn])
						result.push(args ? this[i][fn].pass(args, this[i])() : this[i][fn]());
				}
				return result;
			}					
		});

		$(strMenuDiv).style.opacity = '0.0';
		var change1 = new Fx.Morph($(strMenuDiv), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});
		change1.start({ opacity: 1 });	
		
		$aDivs = $(strMenuDiv).getElements('div.sub_menu_button_cont');
		$aDivs.setStyle('marginLeft', -132);
		//var els = $(strMenuDiv).getElements('div.sub_menu_button_cont')
		var $aFuncs = [$aDivs.length];
		d=0;
		for(i = 0; i < $aDivs.length; i++)
		{											
			$aFuncs[i] = $aDivs[i].animate().delay(d).tween('marginLeft', 0).delay(.2).tween('marginLeft', -10).delay(.2).tween('marginLeft', 0);
			d += 100;
		}							
		//$aFuncs.invoke('start', ['marginLeft', '0px']);																								  
		$aFuncs.invoke('start');
		LoadFlash(strFlash);
	}
}								
	
function LoadFlash(strFlash)
{
	if (strFlash != '' &&
		strFlash != currentFlash)
	{
		var so = new SWFObject("flash/" + strFlash, "dl2", "100%", "100%", "9", "#000000");
		so.addParam("wmode", "transparent");
		so.write("flash");
		currentFlash = strFlash;
	}
}
	
function FadeInMainMenu()
{
	Array.implement({
		invoke: function(fn, args){
				var result = [];
				
				for (var i = 0, l = this.length; i < l; i++){
					if(this[i] && this[i][fn])
						result.push(args ? this[i][fn].pass(args, this[i])() : this[i][fn]());
				}
				return result;
			}					
		});
	$aDivs = $('main_menu').getElements('div.main_menu_button_cont');
	//var els = $('main_menu').getElements('div.main_menu_button_cont')
	var $aFuncs = [$aDivs.length];					
	d = 0;
	for(i = 0; i < $aDivs.length; i++)
	{										
		$aFuncs[i] = $aDivs[i].animate().delay(d).tween('marginLeft', 0).delay(.2).tween('marginLeft', -10).delay(.2).tween('marginLeft', 0);
		d+=100;
	}				
						
	$aFuncs.invoke('start');	
}
		
function SetCurrent(strNewCurrent, strOnImage, strOffImage, strDiv)
{
	if (current != '' &&
		strNewCurrent != current &&
		$(current))
	{
		if (currentOwnDiv.length > 0)
		{
			var change3 = new Fx.Morph($(currentOwnDiv), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});
			change3.start({ 'opacity':0 });
		}
		if (currentOnImage.length > 0)
			var change1 = new Fx.Morph($(currentOnImage), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});
		if (currentOffImage.length > 0)
		{
			var change2 = new Fx.Morph($(currentOffImage), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});						
			change2.start({ 'opacity':1.0 }).chain(function() { change1.start({ 'opacity': 0.0 });	});	
		}
		if (strDiv.length > 0)
		{
			var change3 = new Fx.Morph($(strDiv), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});
			change3.start({ 'opacity':1 });
		}
	}
	current = strNewCurrent;
	currentOnImage = strOnImage;
	currentOffImage = strOffImage;
	currentOwnDiv = strDiv;
}

function SetCurrentSub(strNewCurrent, strOnImage, strOffImage, strDiv)
{
	if (currentSub != '' &&
		strNewCurrent != currentSub &&
		$(currentSub))
	{
		var change1 = new Fx.Morph($(currentSubOnImage), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});
		var change2 = new Fx.Morph($(currentSubOffImage), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});						
		change2.start({ 'opacity':1.0 }).chain(function() { change1.start({ 'opacity': 0.0 });	});	
		if (strDiv.length > 0)
		{
			var change3 = new Fx.Morph($(strDiv), {duration: 400, transition: Fx.Transitions.Sine.easeOut, wait:false});
			change3.start({ 'opacity':1 });
		}
	}
	currentSub = strNewCurrent;
	currentSubOnImage = strOnImage;
	currentSubOffImage = strOffImage;
}

function sendFormular(docForm,email,weite,hoehe)
{
  if (docForm.txtName.value.length == 0)
  {
    alert ("Sie haben keinen Namen angegeben!");
    docForm.txtName.focus();
    return false;
  }
  return false;
}

function SendMail()
{
	var strName = $('txtName').value;
	var strMail = $('txtMail').value;
	var strPhone = $('txtPhone').value;
	var strMessage = $('txtMessage').value;	
	new Request({ url: 'libs/libs.email.php', 
				  method: 'post',
			   	  data: "name=" + strName + "&mail=" + strMail + "&message=" + strMessage + "&phone=" + strPhone,
				  onComplete: MailResponse
				}).send();
}

function MailResponse(xmlReq)
{	
	var res=/message was received/;
	if(xmlReq.match(res))
	{
		alert('Die E-Mail wurde erfolgreich versendet. Vielen Dank!');
		$('txtName').value = '';
		$('txtPhone').value = '';
		$('txtMail').value = '';
		$('txtMessage').value = '';
		$('hintName').setStyle('visibility','visible');
		$('hintPhone').setStyle('visibility','visible');
		$('hintMail').setStyle('visibility','visible');		
	}
	else
	{
		alert('Fehler beim Versenden der E-Mail!');	
	}
}
