/* basic Variable definition */
var Stil = "style1";
var Keks = "TrainMountain";
var Tage = 30;
var isLoading = true;
var cookiesEnabled = window.navigator.cookieEnabled;//(document.cookie == "")?false:true;
var styleNumber;
var currStyle;
var spacerHeight = "10px";
var styleColors = new Array();
styleColors[0] = "#004080";
styleColors[1] = "#004080";
styleColors[2] = "#750000";
styleColors[3] = "#FD9302";
styleColors[4] = "#3E3E3E";
styleColors[5] = "#004F16";
var textcolor;
var downImage = new Image();
var upImage = new Image();
var dummyImage = new Image();
var styleflag;
var ua = navigator.userAgent.toLowerCase(); 

var rootvar;
if(window.document.location.href.indexOf("projekte/") > 0)
rootvar = "../";
else rootvar = "";
var imagePreloader;

downImage.src = rootvar + "images/downarrow.gif";
upImage.src = rootvar + "images/uparrow.gif";
dummyImage.src = rootvar + "images/popupdummy.gif";

/***************************************************
* Array definition for page links
***************************************************/
var linkNames = new Array(4);
linkNames[0] = new Array(2);
linkNames[0][0] = "&nbsp;&nbsp;&nbsp;&nbsp;Kontakt/Impressum&nbsp;&nbsp;&nbsp;&nbsp;";
linkNames[0][1] = "&lt; Kontakt/Impressum &gt;";
linkNames[1] = new Array(2);
linkNames[1][0] = "&nbsp;&nbsp;&nbsp;&nbsp;Tapetenwechsel&nbsp;&nbsp;&nbsp;&nbsp;";
linkNames[1][1] = "&lt; Tapetenwechsel &gt;";
linkNames[2] = new Array(2);
linkNames[2][0] = "Profil";
linkNames[2][1] = "&lt; Profil &gt;";
linkNames[3] = new Array(2);
linkNames[3][0] = "Leistungen";
linkNames[3][1] = "&lt; Leistungen &gt;";
linkNames[4] = new Array(2);
linkNames[4][0] = "Projekte";
linkNames[4][1] = "&lt; Projekte &gt;";
linkNames[5] = new Array(2);
linkNames[5][0] = "Partner";
linkNames[5][1] = "&lt; Partner &gt;";
linkNames[6] = new Array(2);
linkNames[6][0] = "Kundenlogin";
linkNames[6][1] = "&lt; Kundenlogin &gt;";
linkNames[7] = new Array(2);
linkNames[7][0] = "&nbsp;&nbsp;&nbsp;&nbsp;&#105;&#110;&#102;&#111;&#64;&#115;&#99;&#114;&#105;&#112;&#116;&#45;&#111;&#45;&#102;&#108;&#101;&#120;&#46;&#100;&#101;&nbsp;&nbsp;&nbsp;&nbsp;";
linkNames[7][1] = "&lt; &#105;&#110;&#102;&#111;&#64;&#115;&#99;&#114;&#105;&#112;&#116;&#45;&#111;&#45;&#102;&#108;&#101;&#120;&#46;&#100;&#101; &gt;";
linkNames[8] = new Array(2);
linkNames[8][0] = "... 2003";
linkNames[8][1] = "&lt; ... 2003 &gt;";
linkNames[9] = new Array(2);
linkNames[9][0] = "2004";
linkNames[9][1] = "&lt; 2004 &gt;";
linkNames[10] = new Array(2);
linkNames[10][0] = "2005";
linkNames[10][1] = "&lt; 2005 &gt;";
linkNames[11] = new Array(2);
linkNames[11][0] = "&nbsp;&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;&nbsp;";
linkNames[11][1] = "&lt; Home &gt;";
linkNames[12] = new Array(2);
linkNames[12][0] = "2006";
linkNames[12][1] = "&lt; 2006 &gt;";
linkNames[13] = new Array(2);
linkNames[13][0] = "2007";
linkNames[13][1] = "&lt; 2007 &gt;";
linkNames[14] = new Array(2);
linkNames[14][0] = "2008";
linkNames[14][1] = "&lt; 2008 &gt;";
linkNames[15] = new Array(2);
linkNames[15][0] = "2009";
linkNames[15][1] = "&lt; 2009 &gt;";
linkNames[16] = new Array(2);
linkNames[16][0] = "2010";
linkNames[16][1] = "&lt; 2010 &gt;";

/***************************************************
* window positioning functions
***************************************************/
var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement &&
      ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }else{
  	myWidth = 800;
  }
if(myWidth > 800) styleflag = "_big";
else styleflag = "";

function writeSpacer(){
	if(myWidth > 800)spacerHeight = "75px";
	if(myWidth > 1024)spacerHeight = "120px";
	if(document.getElementById){
		if(document.getElementById("headspacer"))document.getElementById("headspacer").style.height = spacerHeight;
	}
}

/***************************************************
* Style Switcher functions
***************************************************/

window.onload = loadStyle;

function switchStyle(st) {
  	if (!document.getElementsByTagName) return;
  	currStyle = getStyleCookie();
  	if (!cookiesEnabled) currStyle = Stil;
	if(currStyle == null) Stil = "style2";
	else{
		styleNumber = currStyle.charAt(5);
		if(styleNumber < 6)	styleNumber ++;
		else styleNumber = 1;
		if(st) Stil = st;
		else Stil = "style" + styleNumber;
	}
	setStyleCookie();
	if(!st) preloadImages(styleNumber);
}

function loadStyle() {
var c = getStyleCookie();
	if (c && c != Stil) {
		switchStyle(c);
    	Stil = c;
 		}
	if(document.layers || !document.getElementById)	window.document.location.href = "ns4.html";
}

function setStyle(s) {
  if (s != Stil) {
    switchStyle(s);
    Stil = s;
  }
}

// Cookie-Funktionen
function setCookie(name, value, expdays) {   // gültig expdays Tage
  if(expdays){
  var now = new Date();
  var exp = new Date(now.getTime() + (1000*60*60*24*expdays));
  }
  var cookieString = name + "=" + escape(value) + ";"
  if(expdays)
  	cookieString += "expires=" + exp.toGMTString() + ";" + "path=/";
	document.cookie = cookieString;
}

function delCookie(name) {   // expires ist abgelaufen
  var now = new Date();
  var exp = new Date(now.getTime() - 1);
  document.cookie = name + "=;" +
                    "expires=" + exp.toGMTString() + ";" + 
                    "path=/";
}

function getCookie(name) {
  var cname = name + "=";
  var dc = document.cookie;
  if (dc.length > 0) {
    var start = dc.indexOf(cname);
    if (start != -1) {
      start += cname.length;
      var stop = dc.indexOf(";", start);
      if (stop == -1) stop = dc.length;
      return unescape(dc.substring(start,stop));
    }
  }
  return null;
}

function setStyleCookie() {
  setCookie(Keks, Stil, Tage);
}

function getStyleCookie() {
  return getCookie(Keks);
}

function delStyleCookie() {
  delCookie(Keks);
}

function reloadSifr(col){
	if(typeof sIFR == "function"){
		sIFR.rollback();
		if(window.document.location.href.indexOf("projekte/") > 0){
		var flashSrc = "../scripts/courier_new.swf";
		}else var flashSrc = "scripts/courier_new.swf";
		sIFR.replaceElement(named({sSelector:"body h1", sFlashSrc:"" + flashSrc +"", sColor:""+col +"", sLinkColor:"#000000", sBgColor:"#FFFFFF", sHoverColor:"#FFFFFF", nPaddingTop:5, nPaddingBottom:5, sFlashVars:"textalign=left&offsetTop=0", sWmode:"opaque"}));
	};
}

/***************************************************
* Link rollover functions
***************************************************/
function changeOut(linkName){
	if(document.getElementById('a'+linkName)){
		document.getElementById('a'+linkName).innerHTML = linkNames[linkName][0];
	}
}

function changeStyle(linkName){
	if(document.getElementById('a'+linkName)){
		document.getElementById('a'+linkName).innerHTML = linkNames[parseInt(linkName)][1];
	}
}

/***************************************************
* preload functions
***************************************************/
	
function preloadImages(styleNo){
	if(!getCookie("TrainMountain2") || getCookie("TrainMountain2").indexOf(styleNo) < 0){
		var pictures = new Array();
		pictures[0] = rootvar + "images/style"+styleNo+"/bg_style"+styleNo+".gif";
		pictures[1] = rootvar +"images/style"+styleNo+"/aufzaehlung.gif";
		pictures[2] = rootvar +"images/style"+styleNo+"/header.gif";
		pictures[3] = rootvar +"images/style"+styleNo+"/ecke_li_o.gif";
		pictures[4] = rootvar +"images/style"+styleNo+"/ecke_li_u.gif";
		pictures[5] = rootvar +"images/style"+styleNo+"/ecke_re_o.gif";
		pictures[6] = rootvar +"images/style"+styleNo+"/ecke_re_u.gif";
		imagePreloader = new ImagePreloader(pictures, onPreload);
	}
	else onPreload();//reloadSifr(styleColors[styleNo-1]);
}

function onPreload(){
	var el = document.getElementsByTagName("link");
	var tmp = getCookie("TrainMountain2");
	var curNo = Stil.charAt(5);
	if(!tmp){
		if(curNo != '1') tmp = "1" + curNo;
		else tmp = curNo;
	}
	else tmp += curNo;
	for (var i = 0; i < el.length; i++ ) {
	  if (el[i].getAttribute("rel").indexOf("alternate") != -1 && el[i].getAttribute("title")) {
	    if(!el[i].disabled) el[i].disabled = true;
	    if (el[i].getAttribute("title") == Stil && el[i].disabled){
			el[i].disabled = false;
		}
	  }
	}
	
	setCookie("TrainMountain2",tmp);
	reloadSifr(styleColors[curNo-1]);
	
}

/***************************************************
* popup functions
***************************************************/

function closePopup(){
	window.document.getElementById("zoomimage").style.visibility = 'hidden';
	window.document.getElementById("zoomimage").style.background = "#FFFFFF url("+dummyImage.src+") no-repeat";
}

function showPopup(imgSrc,level){
	var backImg = new Image();
	if(level == 1) var strUrl = "../";
	else var strUrl = "";
	var aImg = [strUrl + "images/screens/"+imgSrc+".jpg"];
	ip = new ImagePreloader(aImg, showPopupImage);
	var leftPos = myWidth /2;
	leftPos = leftPos - 175;
	leftPos = leftPos + "px";
	var topPos = parseInt(spacerHeight.substring(0,spacerHeight.length-2));
	topPos = topPos + 115;
	topPos = topPos + "px";
	window.document.getElementById("zoomimage").style.left = leftPos;
	window.document.getElementById("zoomimage").style.top = topPos;
	window.document.getElementById("zoomimage").style.visibility = 'visible';
}

function showPopupImage(aImages, nImages){
	window.document.getElementById("zoomimage").style.background = "#FFFFFF url("+aImages[0].src+") no-repeat";
}
/***************************************************
* scroll function
***************************************************/
	
function scrollPage(level){
	if(level!=""){
		downImage.src = "../images/downarrow.gif";
		upImage.src = "../images/uparrow.gif";
	}
	if(!window.document.getElementById("contentpage").style.top)
		window.document.getElementById("contentpage").style.top = "0px";
	if(window.document.getElementById("contentpage").style.top >= "0px"){
		window.document.getElementById("contentpage").style.top = "-224px";
		window.document.getElementById("scrollbutton").src = upImage.src;
	}
	else{
		window.document.getElementById("contentpage").style.top = "0px";
		window.document.getElementById("scrollbutton").src = downImage.src;
	}
}
	
/***************************************************
* Image preloader functions
***************************************************/

function ImagePreloader(images,callback){
	// store the callback
	this.callback = callback;

	// initialize internal state.
	this.nLoaded = 0;
	this.nProcessed = 0;
	this.aImages = new Array;

	// record the number of images.
	this.nImages = images.length;

	// for each image, call preload()
	for ( var i = 0; i <= images.length; i++ ) {
		this.preload(images[i]);
		//if(document.getElementById("test")) document.getElementById("test").innerHTML = i;
	}
}
ImagePreloader.prototype.preload = function(image){
	// create new Image object and add to array
	var oImage = new Image;
	this.aImages.push(oImage);
	
	// set up event handlers for the Image object
	oImage.onload = ImagePreloader.prototype.onload;
	oImage.onerror = ImagePreloader.prototype.onerror;
	oImage.onabort = ImagePreloader.prototype.onabort;
	
	// assign pointer back to this.
	oImage.oImagePreloader = this;
	oImage.bLoaded = false;
	oImage.source = image;
	
	// assign the .src property of the Image object
	oImage.src = image;
}
ImagePreloader.prototype.onComplete = function(){
	this.nProcessed++;
	if ( this.nProcessed == this.nImages )
		this.callback(this.aImages);
}
ImagePreloader.prototype.onload = function(){
	this.bLoaded = true;
	this.oImagePreloader.nLoaded++;
	this.oImagePreloader.onComplete();
}
ImagePreloader.prototype.onerror = function(){
	this.bError = true;
	this.oImagePreloader.onComplete();
}
ImagePreloader.prototype.onabort = function(){
	this.bAbort = true;
	this.oImagePreloader.onComplete();
}	