//***** CheckBrowser *****
IE = false;
NS4 = false;
NS6 = false;

function CheckBrowser() {

	HTTPUserAgent = navigator.userAgent;
	BrowserAgent = "";
	BrowserVersion = "";
	BrowserPlatform = "";
	
	RegExpInternetExplorer = /MSIE ([0-9].[0-9]{1,2})/;
	RegExpNetscape = /Mozilla\/([0-9].[0-9]{1,2})/;
	RegExpOpera = /Opera ([0-9].[0-9]{1,2})/;

	RegExpInternetExplorerResult = RegExpInternetExplorer.exec(HTTPUserAgent);
	RegExpNetscapeResult = RegExpNetscape.exec(HTTPUserAgent);
	RegExpOperaResult = RegExpOpera.exec(HTTPUserAgent);

	if (RegExpInternetExplorerResult) {
		BrowserAgent = "IE";
		BrowserVersion = RegExpInternetExplorerResult[1];
	}

	if (!RegExpOperaResult && !RegExpInternetExplorerResult && RegExpNetscapeResult) {
		BrowserAgent = "MOZILLA";
		BrowserVersion = RegExpNetscapeResult[1];
	}

	if (RegExpOperaResult) {
		BrowserAgent = "OPERA";
		BrowserVersion = RegExpOperaResult[1];
	}

	if (!RegExpOperaResult && !RegExpInternetExplorerResult && !RegExpNetscapeResult) {
		BrowserAgent = "OTHER";
		BrowserVersion = 0;
	}
	
	if (HTTPUserAgent.indexOf("Win") != -1) {
		BrowserPlatform = "Win";
	}

	if (HTTPUserAgent.indexOf("Mac") != -1) {
		BrowserPlatform = "Mac";
	}

	if (HTTPUserAgent.indexOf("Linux") != -1) {
		BrowserPlatform = "Linux";
	}

	if (HTTPUserAgent.indexOf("Unix") != -1) {
		BrowserPlatform = "Unix";
	}

	if (BrowserPlatform == "") {
		BrowserPlatform = "Other";
	}
	
	if (document.all) {
		IE = true;
	} else {
		if (navigator.appVersion.substring(0,1) == "4") {
			NS4 = true;
			window.captureEvents(Event.RESIZE);
			window.onresize = ReloadPage;
		} else {
			NS6 = true;
		}
	}

/*
	if (IE) {
		window.alert("Internet Explorer");
	}
	
	if (NS4) {
		window.alert("Netscape Navigator 4.x");
	}
		
	if (NS6) {
		window.alert("Netscape Navigator 6.x");
	}
*/

}


//***** ReloadPage *****
function ReloadPage() {
	
	window.location.reload();
	return false;

}

//***** SetLayerPosition *****
function SetScrollContentPosition() {

	SetObjectPosition('layscrollcontent', 'document.layscrollwindow.document.layscrollcontent', 0, 0)

}

//***** GetObjectLeft *****
function GetObjectLeft(ObjectID, NSObject){

	//window.alert("GetObjectLeft\nObjectID=" + ObjectID + 
   //             "\nNSObject=" + NSObject);

	if (IE) {
		ObjectID = eval("document.all." + ObjectID + '.style');
		return ObjectID.pixelLeft;
	}

	if (NS4){
		NSObject = eval(NSObject);
		return NSObject.left;
	}

	if (NS6) {
		ObjectID = document.getElementById(ObjectID);
      //window.alert("GetObjectLeft" + 
      //             "\nObjectID=" + ObjectID +
      //             "\nleft='" + ObjectID.style.left + "'");
      if(ObjectID.style.left == "") {
         return 0;
      }
      else {
   		return parseInt(ObjectID.style.left);
      }
	}
	
}

//***** GetObjectTop *****
function GetObjectTop(ObjectID, NSObject){

	//window.alert("GetObjectLeft\nObjectID=" + ObjectID + 
   //             "\nNSObject=" + NSObject);

	if (IE) {
		ObjectID = eval("document.all." + ObjectID + '.style');
		return ObjectID.pixelTop;
	}

	if (NS4){
		NSObject = eval(NSObject);
		return NSObject.top;
	}

	if (NS6) {
		ObjectID = document.getElementById(ObjectID);
      //window.alert("GetObjectLeft" + 
      //             "\nObjectID=" + ObjectID +
      //             "\nleft='" + ObjectID.style.left + "'");
      if(ObjectID.style.top == "") {
         return 0;
      }
      else {
   		return parseInt(ObjectID.style.top);
      }
	}
	
}

//***** ChangeImage *****
function ChangeImage(ObjectID, NSObject, ImageSource) {

	//window.alert("ChangeImage/ObjectID: " + ObjectID);
	//window.alert("ChangeImage/NSObject: " + NSObject);
	//window.alert("ChangeImage/ImageSource: " + ImageSource);

	if (IE || NS6) {
		document.images[ObjectID].src = ImageSource;
	}
	
	if (NS4) {
		NSObject = eval(NSObject);
		NSObject.src = ImageSource;
	}
	
}

//***** SetObjectPosition *****
function SetObjectPosition(ObjectID, NSObject, PositionX, PositionY) {

	//window.alert("SetObjectPosition/ObjectID: " + ObjectID);
	//window.alert("SetObjectPosition/NEObject: " + NSObject);
	//window.alert("SetObjectPosition/PositionX: " + PositionX);
	//window.alert("SetObjectPosition/PositionY: " + PositionY);
	
	if (IE) {
		ObjectID = eval("document.all." + ObjectID + ".style");
		ObjectID.pixelLeft = PositionX;
		ObjectID.pixelTop = PositionY;
	}
	
	if (NS4) {
		NSObject = eval(NSObject);
		NSObject.moveTo(PositionX, PositionY);
	}

	if (NS6) {
		ObjectID = document.getElementById(ObjectID);
		ObjectID.style.left = PositionX;
		ObjectID.style.top = PositionY;
	}

}

//***** SetObjectVisibility *****
function SetObjectVisibility(ObjectID, NSObject, Visibility) {

	//window.alert("SetObjectVisibility/ObjectID: " + ObjectID);
	//window.alert("SetObjectVisibility/NSObject: " + NSObject);
	//window.alert("SetObjectVisibility/Visibility: " + Visibility);

	if (IE) {
		ObjectID = eval("document.all." + ObjectID + ".style");
		ObjectID.visibility = Visibility;
	}
	
	if (NS4) {
		NSObject = eval(NSObject);
		NSObject.visibility = Visibility;
	}
	
	if (NS6) {
		ObjectID = document.getElementById(ObjectID);
		ObjectID.style.visibility = Visibility;
	}

}


//
// determine language
//
var lang;
var doc;
var site;

function get_language () {
   lang = 'de';
	regexp_url = /^http:\/\/([^\/]+)\/(en\/)?(.*)$/;
	result = regexp_url.exec(document.location.href);
	if (result) {
      doc = RegExp.$3;
      site = RegExp.$1;
      if(RegExp.$2 == 'en/') {
         lang = 'en';
      }
	}
//   else {
//      alert("no match: " + document.location.href);
//   }
}




function base64_encode(decStr) {
  var base64s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
  var bits;
  var dual;
  var i = 0;
  var encOut = '';

  while(decStr.length >= i + 3) {
    bits = (decStr.charCodeAt(i++) & 0xff) <<16 |
           (decStr.charCodeAt(i++) & 0xff) <<8 |
            decStr.charCodeAt(i++) & 0xff;

    encOut += base64s.charAt((bits & 0x00fc0000) >>18) +
              base64s.charAt((bits & 0x0003f000) >>12) +
              base64s.charAt((bits & 0x00000fc0) >> 6) +
              base64s.charAt((bits & 0x0000003f));
  }

  if(decStr.length -i > 0 && decStr.length -i < 3) {
    dual = Boolean(decStr.length -i -1);

    bits = ((decStr.charCodeAt(i++) & 0xff) <<16) |
           (dual ? (decStr.charCodeAt(i) & 0xff) <<8 : 0);

    encOut += base64s.charAt((bits & 0x00fc0000) >>18) +
              base64s.charAt((bits & 0x0003f000) >>12) +
              (dual ? base64s.charAt((bits & 0x00000fc0) >>6) : '=') +
              '=';
  }

  return(encOut);
}


function CnGotoPage(page) {
   CnButton(page);
   if(page==1) {
      StartScroll(0);
   }
   else {
      StartScroll(-441 - 425*(page - 2));
   }
}

// check whether we have to reload frameset
function CheckFrameset () {
   get_language();
}


function CnParsePage() {
   var page = 0;
      
   var i = document.URL.indexOf("?");
   if(i == -1) 
      return; // kein Parameter String vorhanden
   
   var param = document.URL.substr(i+1, document.URL.length - (i + 1));
   var list = param.split("&");
   if(list.length > 0) {
      i = list[0].indexOf("page=");
      if(i == 0 && list[0].length > 5) {
         var arg = list[0].substr(5, list[0].length - 5);
         if(!isNaN(parseInt(arg))) {
            page = parseInt(arg);
            CnGotoPage(page);
         }
      }
   }
}

//
// DHTML buttons
//
function mouseover(id) {
   if(id == 'bulogin' || id == 'buregister') {
      // "Login" and "Register" buttons on start page
      document.getElementById(id).style.borderColor = '#ff6600';
      document.getElementById(id).style.color = '#ff6600';
   }
   else {
      // site navigation buttons
      document.getElementById(id).style.borderColor = '#809ACF';
      document.getElementById(id).style.backgroundColor = '#1E4CB9';
   }
}

function mouseout(id) {
   if(id == 'bulogin' || id == 'buregister') {
      // "Login" and "Register" buttons on start page
      document.getElementById(id).style.borderColor = '#999999';
      document.getElementById(id).style.color = '#333333';
   }
   else {
      // site navigation buttons
      document.getElementById(id).style.borderColor = '#083194';
      document.getElementById(id).style.backgroundColor = '#083194';
   }
}

function mouseclick(id) {
   var str = (lang == 'en') ? 'en/' : '';
   if(id == 'bulogin') {
      document.location.href = '/' + str + 'support.php?subject=login';
   }
   else if(id == 'buregister') {
      document.location.href = '/' + str + 'support.php?subject=register';
   }
   else if(id == 'buhome') {
      top.location.href = '/' + str;
   }
   else if(id == 'buenglish') {
      document.location.href = '/en/' + doc;
      top.framebot.location.href='/en/framebot.php';
   }
   else if(id == 'budeutsch') {
      document.location.href = '/' + doc;
      top.framebot.location.href='/framebot.php';
   }
   else if(id == 'bukontakt') {
      document.location.href = '/' + str + 'kontakt.php';
   }
}

