var bgimages = new Array();
for (var i = 1; i <= 6; i++) {
	bgimages[i] = new Array("bg_page.png","bg_page.png");
	// bgimages[i] = new Array("bg_page_" + i + ".png","bg_page_" + i + ".png");
}
// bgimages[4] = new Array("main_bg2.png","main_bg2.png");

var activeBG = "bg_page_0.png";
var activeSubMenu = null;
var activeLab = null;
var activeSublink = null;

var thisPage = null;

function pageProps() {
	this.mainLinks = 6;
	this.activePage = 1;
	this.maxPages = 0;
	this.activeContent = null;
	this.moving = null;
	this.wait = false;
	this.leftPos = 0;
	this.step = 100;
	this.width = 700;
}

function _init() {
		thisPage = new pageProps();
		_initEventHandler();
		setStyle(0,8,"visibility","hidden");
		setStyle(0,10,"backgroundColor","#ffffff");
}

function _initEventHandler(count) {
	var count = (count == null) ? 1 : count;
	var linkname = "lnkBut" + count;
	_addEventHandler(document.getElementById(linkname), "mouseover", function() {activate(count)});
	_addEventHandler(document.getElementById(linkname), "mouseout", function() {deactivate(count)});
	_addEventHandler(document.getElementById(linkname), "click", function() {loadCont(count)});
	if (count < thisPage.mainLinks) {
		next = count + 1; 
		_initEventHandler(next);
	}
}

function ajaxRequest(q, f, u, m, h, s)
{
    var query      = q || null;
    var url        = u || "mailto.php"; //pfad zu deiner datei
    var method     = m || "POST"; //daten in der php datei unter $_POST[] abrufbar
    var headers    = h || ['Content-Type', 'application/x-www-form-urlencoded']; //header für "post"
    var sync       = s || true;
	
	var req = null;
	try {
		req = new XMLHttpRequest();
	} 
	catch (ms) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (nonms) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(failed) {
				req = null;
			}
		}
	}
	
	if (req == null) alert("Error creating request object");

		req.open(method,url,sync);
		
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		req.onreadystatechange = function()
		{
			switch(req.readyState)
			{
            case 4:	//Abgeschlossen
            if(req.status == 200) //Anfrage erfolgreich
            {
                 //Status: ok! Anfrage abgeschlossen
                 //wenn du in der php-datei etwas ausgegeben hast kannst das hier abrufen
                 //in diesem beispiel einfach per alert ausgegeben...
                //alert(req.responseText);
				if (req.responseText == "true") { 
					mailStatText("Vielen Dank, Ihre Nachricht wurde gesendet.","#ffffff");
				} else {
					mailStatText(req.responseText,"#C22426");
					//mailStatText("Leider gab es beim Versand einen Fehler!","#C22426");
				}
            }
            else
            {
                alert("ERROR! Falscher Status:n " + req.status + "n" + req.statusText);
            }
        }
    };            
    req.send(query);
}


function setStyle(sheet,rule,attrib,value) {
	if(document.styleSheets) {
		((document.styleSheets[sheet].cssRules)?document.styleSheets[sheet].cssRules[rule]:document.styleSheets[sheet].rules[rule]).style[attrib]=value;
	  return true;
	} else {
		alert();
	  return false;
	}
}

function _addEventHandler(element, event, handler) {
  var _tmp, _onevent;
  if (!element || !event )
    return false;
  if (element.addEventListener)   // DOM-konform
    element.addEventListener(event, handler, false);
  else {
    _onevent = 'on' + event;
    if (element.attachEvent)      // IE
      element.attachEvent(_onevent, handler);
    else {                        // ältere Browser
      _tmp = element[_onevent];
      element[_onevent] = typeof _tmp == 'function' 
        ? (function() { _tmp(); handler(); }) 
        : handler;
    }
  }
}

function activate(nr) {
	var linkbutton = "lnkBut" + nr;
	var linklabel = "lnkLab" + nr;

	document.getElementById(linkbutton).style.background = "#cc0000";
	document.getElementById(linklabel).style.visibility = "visible";
}

function deactivate(nr) {
	var linkbutton = "lnkBut" + nr;
	var linklabel = "lnkLab" + nr;

	if (activeLab != nr) document.getElementById(linkbutton).style.background = "#ffffff";
	if (activeLab != nr) document.getElementById(linklabel).style.visibility = "hidden";
}

function activeLink($linkbut,$linklab,$image) {
	$alink = $linkbut;
	document.getElementById($linkbut).style.background = "#E31E1B";
	document.getElementById($linklab).src = "./images/" + $image;
}

function goPage(nr) {
	var nr = (nr == null) ? 0 : nr;

	if (nr - thisPage.activePage < 0) {
		moveleft();
		setTimeout("goPage(" + nr + ")",200);
	}
	
	if (nr - thisPage.activePage > 0) {
		moveright();
		setTimeout("goPage(" + nr + ")",200);
	}
}

function moveright() {
	if(thisPage.activePage < thisPage.maxPages){
		while(!thisPage.wait) {
			thisPage.moving = window.setInterval("slideright()", 15);
			thisPage.wait = true;
			thisPage.activePage++;
			if(thisPage.wait)	break;
		}
	}
	changePageInfo();
}

function moveleft() {
	if(thisPage.activePage > 1) {
			while(!thisPage.wait) {
			thisPage.moving = window.setInterval("slideleft()", 15);
			thisPage.wait = true;
			thisPage.activePage--;
			if(thisPage.wait)	break;
		}
	}
	changePageInfo();
}

function slideright() {
	if(((thisPage.maxPages-1)*thisPage.width) + Number(thisPage.leftPos) > 0) {
		var step = (thisPage.width - (thisPage.leftPos*(-1))%thisPage.width < thisPage.step) ? thisPage.width - (thisPage.leftPos*(-1))%thisPage.width : thisPage.step;
		thisPage.leftPos = thisPage.leftPos - step;
		// alert(thisPage.leftPos + "_" + step);		
		document.getElementById(thisPage.activeContent).style.left = thisPage.leftPos + "px";
	}
	if((thisPage.leftPos%thisPage.width) == 0) {
		window.clearInterval(thisPage.moving);
		thisPage.wait = false;
		return;
	}
}

function slideleft() {
	if(Number(thisPage.leftPos) < 0) {
		var step = ((thisPage.leftPos*(-1))%thisPage.width < thisPage.step && (thisPage.leftPos*(-1))%thisPage.width != 0) ? (thisPage.leftPos*(-1))%thisPage.width : thisPage.step;
		thisPage.leftPos = thisPage.leftPos + step;
		document.getElementById(thisPage.activeContent).style.left = thisPage.leftPos + "px";
	}
	if((thisPage.leftPos%thisPage.width) == 0) {
		window.clearInterval(thisPage.moving);
		thisPage.wait = false;
		return;
	}
}

function loadCont(lay,p) {
	if (activeSublink != null) {
		deactSublink(activeSublink);
	}
	var nr = String(lay).substring(0,1);
	var page = (p != null) ? p : 1;
	if (activeSubMenu != null && activeSubMenu != nr) if(document.getElementById("subMenu" + activeSubMenu)) document.getElementById("subMenu" + activeSubMenu).style.display = "none";
	if (activeLab != null && activeLab != lay && document.getElementById("lnkLab" + activeLab) != null) {
		document.getElementById("lnkLab" + activeLab).style.visibility = "hidden";
		document.getElementById("lnkBut" + activeLab).style.background = "#ffffff";
	}
	if (document.getElementById("subMenu" + nr)) {
		document.getElementById("subMenu" + nr).style.display = "block";
		document.getElementById("lnkLab" + nr).style.visibility = "visible";
		document.getElementById("lnkBut" + nr).style.background = "#cc0000";
	}

	activeLab = nr;
	activeSubMenu = nr;

	var content = "content" + lay;
	if (thisPage.activeContent != null && thisPage.activeContent != content) {
		// alert("content" + thisPage.activeContent);
		var currentCont = "content" + thisPage.activeContent;
		document.getElementById(thisPage.activeContent).style.display = "none";
		document.getElementById(thisPage.activeContent).style.visibility = "hidden";
		document.getElementById(thisPage.activeContent).style.left = 0 + "px";
		thisPage.leftPos = 0;
		thisPage.activePage = 1;
	}
	
	if (thisPage.activeContent != content) {
		setTimeout(function() {document.getElementById("cont_bg").style.backgroundImage = "url(./images/" + bgimages[nr][0] + ")";},320);
		if (document.getElementById(content)) setTimeout(function() { document.getElementById("cont_bg").style.backgroundImage = "url(./images/" + bgimages[nr][1] + ")"; document.getElementById(content).style.display = "block";document.getElementById(content).style.visibility = "visible"; },860);
		if (document.getElementById(content)) setTimeout("goPage(" + page + ");", 1000);
	}
	else if (document.getElementById(content)) setTimeout("goPage(" + page + ");", 300);
	// if (document.getElementById(content)) setTimeout(function() {goPage(thisPage.activePage);}, 700);
	
	thisPage.maxPages = 0;
	for (var i = 0; i < document.getElementById(content).childNodes.length; i++) {
		if (document.getElementById(content).childNodes[i].nodeName == "DIV") thisPage.maxPages++;
	}
	document.getElementById(content).style.width = (thisPage.maxPages * thisPage.width) + "px";

	if (thisPage.maxPages > 1) {
		document.getElementById("la").style.visibility = "visible";
		document.getElementById("ra").style.visibility = "visible";
	} else {
		document.getElementById("la").style.visibility = "hidden";
		document.getElementById("ra").style.visibility = "hidden";
	}
	
	changePageInfo();
	
	thisPage.activeContent = "content" + lay;
	thisPage.wait = false;
}

function changePageInfo() {
	if (thisPage.maxPages > 1) {
		document.getElementById("pInfo").innerHTML = "Seite " + thisPage.activePage + " / " + thisPage.maxPages;
	} else {
		document.getElementById("pInfo").innerHTML = "";
	}
}

function checkForm() {
	
	var name = document.getElementsByName("msg_name")[0].value;
	var company = document.getElementsByName("msg_company")[0].value;
	var email = document.getElementsByName("msg_mail")[0].value;
	var phone = document.getElementsByName("msg_phone")[0].value;
	var message = document.getElementsByName("msg_message")[0].value;
	var code = document.getElementsByName("code")[0].value;
	var err = "";
	
	if (name == "" && err == "") err = "Geben Sie bitte Ihren Namen an.";

	if (email == "" && err == "") err = "Geben Sie bitte Ihre E-Mail an.";
	if (message == "" && err == "") err = "Tragen Sie bitte eine Nachricht ein.";
	
	if (err != "") { 
		mailStatText(err,"#C22426");
	} else {
		var request = "msg_name=" + name + "&";
		request += "msg_company=" + company + "&";
		request += "msg_mail=" + email + "&";
		request += "msg_phone=" + phone + "&";
		request += "msg_message=" + message + "&";
		request += "code=" + code;
		ajaxRequest(request);
	}
	
}

function mailStatText(text,color) {
	document.getElementById("hinweis").innerHTML = text;
	document.getElementById("hinweis").style.color = color;
}


var actPrjImg = null;

function showImg(prjImg) {
	document.getElementById(prjImg).style.visibility = "visible";
	actPrjImg = prjImg;
}

function hideImg() {
	document.getElementById(actPrjImg).style.visibility = "hidden";
}



