//////////////////////////////////////////////////////////////////////////////////
// JavaScripte für AJAX Objects, Layer und CSS Klassen sowie Navigationslayer etc.
// Copyright: 	WDS New Media GmbH - 2007 / Macromedia
// Created:		Juli 2007 - Pascal Vorsmann / Gordon P. Ries
//////////////////////////////////////////////////////////////////////////////////

// Bilder Vorausladen
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

// Bildaustausch Default
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

// Bildaustausch
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// Object Finder byID
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

// Layer ein/ausblenden
function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

// Browserfenster öffnen
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

// Funktion und Parameter für das Mouseover Submenü
myTimer = "";
myMenue = "";
myDelay = 500;

function MyMenue(name, status){
	if (status=="on"){
		if (name==myMenue){ clearTimeout(myTimer);	}
		MM_showHideLayers('lay_nav'+name,'',"show");
		MM_swapImage('nav_'+name,'','images/btn_'+name+'_o.gif',1);
	}
	if (status=="timer"){
		myTimer = setTimeout("MyMenue('"+name+"','off');",myDelay);
		myMenue = name;
	}
	if (status=="off"){	
		MM_showHideLayers('lay_nav'+name,'',"hide");
		MM_swapImage('nav_'+name,'','images/btn_'+name+'.gif',1);
	}
}

// Funktion um Browserspezifich das AJAX Object zu initialisieren
function BuildXMLHttpRequestObject(){
	var resObject = null;
	try { resObject = new ActiveXObject("Microsoft.XMLHTTP"); IE = true; }
	catch (Error){
		try { resObject = new ActiveXObject("MSXML2.XMLHTTP"); IE = true; }
		catch (Error){
			try { resObject = new XMLHttpRequest(); }
			catch (Error){
				alert("Erzeugung eines XMLHttpRequest-Objekts nicht Möglich!");
			}
		}
	}	
	return resObject;
}

// Funktion zur Layer Ein-/Ausblendung auf den Produktseiten
function details(id) {
	for (var i = 1; i<=10; i++) {
		// Layer und Aktive Links ausblenden bzw. tauschen
		if (document.getElementById("detail"+i)) { document.getElementById("detail"+i).style.display="none"; }
	  	if (document.getElementById("lndetail"+i)) { document.getElementById("lndetail"+i).className=document.getElementById("lndetail"+i).className.replace('Aktive', '');	}
	}
	// Aktiven Link und LAyer anzeigen
	if (document.getElementById(id)) { document.getElementById(id).style.display="block"; }
	document.getElementById("ln"+id).className = document.getElementById("ln"+id).className+'Aktive';
} 

// Funktion zur Layer Ein-/Ausblendung auf der Startseite
function ActiveProduct(product) {
	for(var i=1; i<5; i++) {
		// Alle Layer auf der Startseite ausblenden
		if (document.getElementById("visualkleino_"+i)) { document.getElementById("visualkleino_"+i).style.visibility="hidden"; }
		if (document.getElementById("visualxxl_"+i)) { document.getElementById("visualxxl_"+i).style.visibility="hidden"; }
		if (document.getElementById("visualtext_"+i)) { document.getElementById("visualtext_"+i).style.visibility="hidden"; }
		if (document.getElementById("visualpreis_"+i)) { document.getElementById("visualpreis_"+i).style.visibility="hidden"; }
		if (document.getElementById("zurserie_"+i)) { document.getElementById("zurserie_"+i).style.visibility="hidden"; }
	}
	// Betroffene Layer einblenden
	if (document.getElementById("visualklein_"+product)) { document.getElementById("visualklein_"+product).style.visibility="visible"; }
	if (document.getElementById("visualkleino_"+product)) { document.getElementById("visualkleino_"+product).style.visibility="visible"; }
	if (document.getElementById("visualxxl_"+product)) { document.getElementById("visualxxl_"+product).style.visibility="visible"; }
	if (document.getElementById("visualtext_"+product)) { document.getElementById("visualtext_"+product).style.visibility="visible"; }
	if (document.getElementById("visualpreis_"+product)) { document.getElementById("visualpreis_"+product).style.visibility="visible"; }
	if (document.getElementById("zurserie_"+product)) { document.getElementById("zurserie_"+product).style.visibility="visible"; }
}

// Funktionen für den Produktfinder
function GetProducts() {
	//alert(document.mapselect.mapdata_value.value);
	var param = "";
	var werte = 0;
	// Statisch Maximal 10 EDIT: 15 angeklickte Features auf gesetzt überprüfen
	for(i=1;i<=15;i++){
		if((typeof required[i] != "undefined")&&(required[i]!="")){
			werte ++;
			// Parameter Liste für AJAX Handler zusammensetzen
			if(i==1){ param +="required[]="+required[i]; } else { param +="&required[]="+required[i]; }
		}
	}
	param +="&mapdata="+document.mapselect.mapdata_value.value;
	if(werte>0){
		// AJAX Handler initialisieren
		resObject = BuildXMLHttpRequestObject();
		// XMLHttpRequest starten
		resObject.open('POST', 'inc/productfinder.php', true);
		// Parameter via Post übergeben
		resObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		resObject.setRequestHeader("Content-length", param.length);
		resObject.send(param);
		// und das Ergebnis auswerten
		resObject.onreadystatechange = SetProducts;
	} else {
		alert("Bitte wählen Sie zunächst einige Anforderungen aus!");
	}
}

function SetProducts() {
	if ( (resObject.readyState == 0) || (resObject.readyState == 4) ){
		var AllGopals = new Array("3115", "3215", "3315", "3415", "4110", "4210", "4410", "2310", "4510", "510", "515", "4425", "4225", "4125");
		// Alle Gopal Layer ausblenden
		for (var i=0; i<AllGopals.length; i++){
			if (document.getElementById('gopal'+AllGopals[i])) { document.getElementById('gopal'+AllGopals[i]).style.display='none' };
		}
		var xmlDok 		= resObject.responseXML;
		
		// Liste der gelieferten GoPals aus dem XML extrahieren
		var gopals	= xmlDok.getElementsByTagName('gopals')[0];
		var i=0;
		var tmp_ausgabe	= "";
		while(gopals.getElementsByTagName('gopal')[i]){
			MyNode = gopals.getElementsByTagName('gopal')[i];
			// Entsprechende Layer im HTML anzeigen
			//tmp_ausgabe +=MyNode.childNodes[0].data+',';
			document.getElementById('gopal'+MyNode.childNodes[0].data).style.display='block';
			i++;
		}
		/*tmp_ausgabe = resObject.responseText;
		alert(tmp_ausgabe);*/
	}
}

// Funktion zum setzen der FeatureParameter für den späteren AJAX Aufruf
var required = new Array();
function CheckValue(count,wert){
	if( required[count] == wert){
		// Bild ausblenden, Wert zurücksetzen
		document["bild_"+wert].src="images/produktfinder/check_minus.gif";
		required[count] = "";
	} else {
		required[count] = wert;
		document["bild_"+wert].src="images/produktfinder/check_okay.gif";
	}
}

// Funktion zum ein/ausblenden der FAQ Layer
function OpenFAQ(MyClass, MyID){
	/* 1. angeforderten Layer ein bzw. aus blenden */
	if ( document.getElementById('faq_' + MyID).style.display == 'none') { document.getElementById('faq_' + MyID).style.display = '';} 
	else { document.getElementById('faq_' + MyID).style.display = 'none';}
	/* 2. neue CSS Klasse zurückgeben */
	if(MyClass=='LinkTest'){ return 'LinkTest'; } else { return 'LinkTest'; }
}

// Funktion zum Anzeigen der Tooltipps
wmtt = null;

document.onmousemove = updateWMTT;

function updateWMTT(e) {
	x = (document.all) ? window.event.x + document.body.scrollLeft : e.pageX;
	y = (document.all) ? window.event.y + document.body.scrollTop  : e.pageY;
	if (wmtt != null) {
		wmtt.style.left = (x + 15) + "px";
		wmtt.style.top 	= (y - 10) + "px";
	}
}

function showWMTT(id) {
	wmtt = document.getElementById(id);
	wmtt.style.display = "block"
}

function hideWMTT() {
	wmtt.style.display = "none";
}

function contactForm(name) {
  // AJAX Handler initialisieren
  resObject = BuildXMLHttpRequestObject();
  // XMLHttpRequest starten
  resObject.open('POST', 'inc/contact.php', true);
  var param = getFormValues(name);
  resObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  resObject.setRequestHeader("Content-length", param.length);
  resObject.send(param);
  // und das Ergebnis auswerten
  resObject.onreadystatechange = contactReply;
}

function contactReply() {
  var param = resObject.responseText.split('|');
  if (param[0] == 1) { // error
    document.getElementById('formmessage').style.visibility='visible';
    document.getElementById('contactform').style.visibility='visible';
    document.getElementById('formmessage').innerHTML = param[1];
  } else {
    document.getElementById('formmessage').style.visibility='visible';
    document.getElementById('contactform').style.visibility='hidden';
    document.getElementById('formmessage').innerHTML = param[1];
  }
}

function getFormValues(fobj,valFunc) {
  var str = "";
  var valueArr = null;
  var val = "";
  var cmd = "";
  for(var i = 0;i < fobj.elements.length;i++) {
    switch(fobj.elements[i].type) {
      case "text":
        if(valFunc) {
          //use single quotes for argument so that the value of
          //fobj.elements[i].value is treated as a string not a literal
          cmd = valFunc + "(" + 'fobj.elements[i].value' + ")";
          val = eval(cmd)
        }
        str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
      break;
      case "textarea":
        str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
      break;
      case "select-one":
        str += fobj.elements[i].name + "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
      break;
      case "checkbox":
        if (fobj.elements[i].checked == true) {
          str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
        }
      break;
    }
  }
  str = str.substr(0,(str.length - 1));
  return str;
}
/*
function setPrice() {
  if(prc!="XXX") with(document.getElementById("prc")) {src="images/produkte/preis_"+prc+".gif"; style.display="";}
  document.getElementById("u1").href="http://www.etracker.de/lnkcnt.php?et=pD3fnx&url="+url+"&lnkname=Medionshop-GoPal_"+mdl.toUpperCase()+"_Preis";
  document.getElementById("u2").href="http://www.etracker.de/lnkcnt.php?et=pD3fnx&url="+url+"&lnkname=Medionshop-GoPal_"+mdl.toUpperCase()+"_Head";
}

function setFinderInfo() {
  for(var i=0; i<document.getElementsByTagName("span").length/2; i++) {
    if(aprc[i]!="XXX") {
      var tn = document.createTextNode(aprc[i]+",- £");
      document.getElementsByTagName("span")[i*2].appendChild(tn);
      document.getElementsByTagName("span")[i*2+1].firstChild.href="http://www.etracker.de/lnkcnt.php?et=pD3fnx&url="+aurl[i]+"&lnkname=Produktfinder_"+amdl[i].toUpperCase();
      document.getElementsByTagName("span")[i*2+1].style.display="";
} } }
*/