// ----------------------------------------------------------
// hiddenmail.js by BL Datensysteme * 65439 Flörsheim-Wicker
// Version 3.1
// For Information: hiddenmail_readme.txt
// ----------------------------------------------------------

// holt den Link und schreibt diesen in das Document
function writeLink(linktyp, postbox, domain) {
	txt = getLink2write(linktyp, postbox, domain, "", "");
	return doResult(txt,1);
}
// holt den Text der Mail-Adresse und schreibt diesen in das Document
function writeMail(linktyp, postbox, domain) {
	var boxFinish = getBox(postbox);
	var domFinish = getDom(domain);
	var txt = getLinkTyp(linktyp, boxFinish, domFinish);
	return doResult(txt,1);
}

// holt den Link und schreibt diesen in das Document
function callPage(linktyp, postbox, domain, page, target) {
	txt = getLink2write(linktyp, postbox, domain, page, target);
	return doResult(txt,1);
}

// Anzeiger einer Mailadresse im Fenster 
function showMail(linktyp, postbox, domain, wintext, wintyp) {
	txt = getWin2write(linktyp, postbox, domain, wintext, wintyp);
	return doResult(txt,1);
}

// Rückgabe einer Mailadresse für weitere Verwendung
function getMail(linktyp, postbox, domain) {
	var boxFinish = getBox(postbox);
	var domFinish = getDom(domain);
	return getLinkTyp(linktyp, boxFinish, domFinish);
}

// Rückgabe des Links zum Öffnen eines Fensters
function getWin2write(linktyp, postbox, domain, wintext, wintyp) {
	var boxFinish = getBox(postbox);
	var domFinish = getDom(domain);
	var txt = "<a href='#' "; 
	txt = txt + "name='" + boxFinish + "' ";
	txt = txt + "onClick='getWin(this, ";
	txt = txt + '"' + domFinish + '", "' + wintext +'", "' + wintyp + '"';
	txt = txt + ")' ";
	txt = txt + "> ";
	txt = txt + getLinkTyp(linktyp, boxFinish, domFinish);
	txt = txt + "</a>";
	return txt;
}

// Rückgabe des Links zum Schreiben in Dokument
function getLink2write(linktyp, postbox, domain, page, target) {
	var boxFinish = getBox(postbox);
	var domFinish = getDom(domain);
	var txt = "<a href='#' "; 
	txt = txt + "name='" + boxFinish + "' ";
	txt = txt + "onClick='getLink(this, ";
	txt = txt + '"' + domFinish + '", "' + page +'", "' + target + '"';
	txt = txt + ")' ";
	txt = txt + "> ";
	txt = txt + getLinkTyp(linktyp, boxFinish, domFinish);
	txt = txt + "</a>";
	return txt;
}
// onClick-Ereignis für den Link auswerten
function getLink(element, domain, page, target) {
	var box = element.name;
	var affe = "@";
	var to1="mai";
	var to2="lto";
	var to3=":";
	if (page.length>0) {
		mailadr = page ;
	}
	else {
		var mailadr =  to1 + to2 + to3 + box + affe + getDom(domain);
	}
	element.href = mailadr;
	if (page.length>0 && target.length > 0){
		element.target = target;
	}
}
// onClick-Ereignis für Fenster auswerten
function getWin(element, domain, wintext, wintyp) {
	var box = element.name;
	var affe = "@";
	var txt = wintext + " " + box + affe + getDom(domain);
	doResult(txt,2);
}



// Return eines Postfach-Namens
function getBox(name) {
	var ret = name;
	if (typeof(name) == "number") {
		ret = x_mailPool[name-1];
	}		
	return ret;
}		
// Return eines Domain-Namens
function getDom(name) {
	var ret = name;
	if (typeof(name)=="number") {
		ret = x_domainPool[name-1];	
	}
	return ret;
}
// Return des Text- oder Bildlinks im <a href..... tag
function getLinkTyp(typ, nam, dom) {
	if (typeof(typ)=="number") {
		if (typ <1) {
			ret = nam + "@" + dom;
		}
		else {
		 ret = "<img src='" + picPath + "mailpic" + typ + ".gif' border='0'>" ;  
		}
	}
	else {
		ret = transform(typ);
		// ret = toUnicode(ret);
	}
	return ret;
}
// konvertieren in Unicode
function toUnicode(str) {
	strLen = str.length;
	var ret = "";
	if (str!="") {
		for(i=0;i < strLen;i++){
			unicode=str.charCodeAt(i)
  			unicode = "&#"+unicode+";"
			ret = ret+unicode;
 		}
	}
	return ret;
}
// ersetze + und , durch @ und . in der Mailaddi
function transform(str) {
	strLen = str.length;
	var ret = "";
	if (str!="") {
		for(i=0;i < strLen;i++) {
			neu=str.charAt(i);
  			if (neu=="+") {neu="@"}
  			if (neu==",") {neu="."}
			ret = ret+neu;
 		}
	}
	return ret;
}

function doResult(txt, resultTyp) {
	if (writeToDocument == 0) {
		return txt;
	}
	else {
		if (resultTyp == 1) {
			document.write(txt);
		}
		if (resultTyp == 2) {
			alert(txt);
		}
	}
}
