/* Tools */
	function doNothing(){return}
	function mn(a,b){
		mn2(a);
		Menu.cssInById(b,'opacity-in',0.0,0.8,0.05);
	}
	function mn1(a){
		Menu.go(); 
		Menu.cssInById(a,'opacity-in',0.0,0.8,0.05);
	}
	function mn2(a){
			MenuTitle.cssIn(a,'default','0.6','1.0','#000000','#ffffff','#ffffff','transparent'); 
	}
	function mni(){
		var k=document.getElementById('INNS').style.visibility='visible';
	}	
	function setEM(e){
	e.href =unescape("%6D%61%69%6C%74%6F%3A%73%68%6F%70%40%76%61%76%65%72%64%61%2E%63%6F%6D");
	}
	
	function chgB(e){
	    if(!e.src) return;   //
	    var r
	    var t=e.src;
	    var s1=/1.png/;
	    if(s1.test(t))
	        r=t.replace(/1.png/,".png");
	    else r=t.replace(/.png/,"1.png");
	    if(r!=t) e.src=r;
	}

	function showHelp(a){
		Help.cssInById(a,'opacity-in',0.0,1.0,0.05);
	}
	function hideHelp(){
		Help.cssOut();
	}
/* viewPort */
function getCss(n) {
     if(!n || !document.styleSheets) return null;
     var i = document.styleSheets.length;
     while(i--)
     {
         var r = document.styleSheets[i].rules ? document.styleSheets[i].rules :
         document.styleSheets[i].cssRules;
        var j = r.length;
        while(j--) { if(r[j].selectorText == n) return r[j]; }
    }
     return null;
}
function getCssValue(n,sn){
	var r= getCss(n);
	var r1 = /-*\w+-*\w*-*\w*-*\w*-*\w*/;	// für -moz-xxx oder margin-left
	var s1;
	if(r==null) return "";
	var s= r.cssText.split(";");
	var k=s.length;
	while(k--){
		s1=s[k].match(r1);
		if(s1==sn){
			s1 = s[k].split(":");
			if(s1.length>1) return s1[1]; else return "";
		}		
	}
	return "";
}
function getInnerWidth(){
		if(window.innerWidth) return window.innerWidth;
		else if (document.documentElement) return document.documentElement.clientWidth;
			else return document.body.clientWidth;
}
function getInnerHeight(){
		if(window.innerHeight) return window.innerHeight;	
		else if (document.documentElement) return document.documentElement.clientHeight;
			else return document.body.clientHeight;
	}
function getPageXOffset(){
		if(window.pageXOffset) return window.pageXOffset;	
		else if (document.documentElement) return document.documentElement.scrollLeft;
			else return document.body.scrollLeft;
}
function getPageYOffset(){
		if(window.pageYOffset) return window.pageYOffset;	
		else if (document.documentElement) return document.documentElement.scrollTop;
			else return document.body.scrollTop;
}
function ViewPort(){
	this.top;
	this.left;
	this.bottom;
	this.right;
	this.height;
	this.width;
	this.refresh = function _refresh(){
		this.top= getPageYOffset(this.element);
		this.left= getPageXOffset(this.element);
		this.height= getInnerHeight(this.element);
		this.width= getInnerWidth(this.element);
		this.right= this.left +this.width;
		this.bottom= this.top + this.height;
	}
	this.refresh();
	this.getDim = function _dim(){
		return new Array(this.left,this.top,this.top,this.width,this.height);
	}
}	
function setIntoViewPort(element,vp){
	var t,l;
	t= vp.top;
	l= vp.left;
	element.style.top= t + "px";
	element.style.left= l + "px";
}
function posIntoVP(){
		EmailViewPort.refresh();
		setIntoViewPort(document.getElementById("emailBox"),EmailViewPort);
		setIntoViewPort(document.getElementById("emailSelectModeBox"),EmailViewPort);
}
/* ajax mail */
var EmailViewPort = null; //
var EmailTimer = null;
	function centerEmailBoxes(){
		if(!EmailMitlaufEffekt){
			var v= new ViewPort();
			setIntoViewPort(document.getElementById("emailBox"),v);
			setIntoViewPort(document.getElementById("emailSelectModeBox"),v);
		}else{
			if( EmailViewPort == null) EmailViewPort= new ViewPort; 
			if(EmailTimer == null) EmailTimer = window.setInterval("posIntoVP()",50);
		}
	}

	function isLegalEMailAddr(adr){
		var strReg = "^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$";
		var regex = new RegExp(strReg);
		return(regex.test(adr));
	}
	function form2params(f){
		var k;
		var s=""; 
		if(!f.elements) if(f.elements.length<1) return  s;
		for(k=0; k<f.elements.length;k++){
			if(k>0)s+="&";
			s+=f.elements[k].name+"="+ decodeURI(f.elements[k].value.replace(/&/g,"[und]"));
		}
		return s;
	}
	
	function httpRequest(url,data,func) {
		var _Request = null;
		if(window.XMLHttpRequest){ 
			_Request = new XMLHttpRequest();
			if(_Request.overrideMimeType){
				_Request.overrideMimeType('text/html');
			}
		}else if(window.ActiveXObject){
			try{
				_Request = new ActiveXObject("Msxml2.XMLHTTP");
			}catch(e){
				try{
					_Request = new ActiveXObject("Microsoft.XMLHTTP");
				}catch (e) 
					{}
			}
		}
		if (_Request!= null){
			_Request.onreadystatechange = func;
			_Request.open('POST', url, true);
			_Request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			_Request.send(data);
		}
		return _Request;
	}
	function mailResponse(){
		var s;
		var r1=/emailNoError/;
		var r2=/emailErrorSend/;
		if(Mail_request== null) return;
	    if (Mail_request.readyState == 4) {
			if (Mail_request.status == 200){
				s= Mail_request.responseText; //"ok"
				if(s.search(r1)!=-1) Mail_status="emailNoError";
				 else Mail_status="emailErrorSend";
			}else Mail_status = "emailErrorSend";
			mailError();
			suspendEmailBox();
        }
	}
	function openEmailBox(){
		EmailBox.cssInById('emailBox','opacity-in',0.0,1.0,0.05);
	}
	function openMailTo(){
		EmailBox.cssOut();
	}
	function openEmailSelectModeBox(){
		centerEmailBoxes();
		EmailBox.cssInById('emailSelectModeBox','opacity-in',0.0,0.95,0.05);
	}
	function suspendEmailBox(){
		if((Mail_status!= "emailNoError") && (Mail_status != "emailErrorSend")) return;
		window.setTimeout("closeEmailBox()",5000);	
	}
	function closeEmailBox() {
		if(EmailTimer!= null) {
			window.clearInterval(EmailTimer);
			EmailTimer= null;
		}
		document.getElementById("emailForm").reset();
		EmailBox.cssOut();
		Mail_status = "emailNoneError";
		mailError();
		if(Mail_request== null) return;
		Mail_request.abort();
		Mail_request=null;
	}	
	function closeSelectEmailBox(){
		if(EmailTimer!= null) {
			window.clearInterval(EmailTimer);
			EmailTimer= null;
		}
		EmailBox.cssOut();
	}
	var Mail_request= null;
	var Mail_status= "";
	function mailError(){
		switch(Mail_status){
			case "emailNoneError":
			case "emailNoError":
			case "emailErrorSend":
			case "emailErrorName":			
			case "emailErrorText":
			case "emailErrorAddr":
			case "emailTransfer":
				MailError.cssInById(Mail_status,"display");
				break;
			default:
				MailError.cssInById("emailErrorAddr","display");
		}			
	}
	
	function mail(f,url){	// 
		Mail_status = "emailNoneError";
		if(f.emailName.value.length<4){
			Mail_status = "emailErrorName";
		}else{		
			if(f.emailMessage.value.length<10){
				Mail_status = "emailErrorText";
			}else{
				if(!isLegalEMailAddr(f.emailAddr.value)){
					Mail_status="emailErrorAddr";
				}else{
					Mail_status="emailTransfer";
					Mail_request=httpRequest(url,form2params(f),mailResponse);
					if(Mail_request==null) Mail_status="emailErrorSend";
				}
			}
		}
		mailError();
		suspendEmailBox();
	}
/* ende ----- ajax email   */ 	
/* Installation */
	var Menu,MenuTitle,KatMenu,Help,MailError;
	var EmailMitlaufEffekt = false; //true;
	function installMenu(){
		Menu= new CssStyleMenu();	
		KatMenu= new CssStyleMenu();
		KatMenu.fadeNone();KatMenu.waitUntilReady();	
		MenuTitle= new SimpleCssRadioButton(); //
		MailError= new SimpleCssRadioButton(); //
		Help= new CssStyleMenu();
		EmailBox = new CssStyleMenu();
		Menu.stop();

	}
	installMenu();
	

