// <! ------------------------------------------------------------------------>
// <! DSA-Treffpunkt Live-Beratung im Internet				>
// <! http://www.DSA-Treffpunkt.de						>
// <! -- 09.04.2010 ------------------------------------------------------->

var te_y = 150;
var te_x = 788;
var te_weit = 200;
var te_hoch = 500;
// Homepageausrichtung L=left, C=center für die Berechnung der Horizontalen Position
var te_hpausrichtung = 'L';
// Bitte tragen Sie hier Ihren ckey ein
var tea_ckey = "XPNcXPug67vAS";

var tea_cntframe = "";
var tea_username = "";
var tea_userkey = "";
var tea_design = "";
var tea_SessionID = "";
var tea_Gruppe = "";
var tea_Sprache = "";
var tea_BRAuswahl = "";
var tea_Portkennung = "http";
var tea_vzdomain = "";
var te_iframe = "";

var te_url;
var te_Optionen;
var te_dbox;
var te_g;
var te_gh;
var c_ckey;
var c_vid;
var c_name;
var c_status;
var te_scroll = '1';
var te_innerHeight;
var te_y_save = te_y;
var te_scrollPos = te_y;
var te_onReady = '0';
var te_lauf = false;

var te_agt=navigator.userAgent.toLowerCase();
var te_netscape  = (te_agt.indexOf("netscape") != -1);

// <! ------------------------------------------------------------------------>
// <! Seiten-Start										>
// <! ------------------------------------------------------------------------>

//create onDomReady Event
window.onDomReady = initReady;
 
// Initialize event depending on browser
function initReady(fn)      {
	//W3C-compliant browser
     if(document.addEventListener) {
		document.addEventListener("DOMContentLoaded", fn, false);
	}
	//IE
	else {
		document.onreadystatechange = function(){readyState(fn)}
	}
}
 
//IE execute function
function readyState(func)      {
	// DOM is ready
	if(document.readyState == "interactive" || document.readyState == "complete")      	{
		func();
	}
}

//execute as soon as DOM is loaded
window.onDomReady(onReady);
 
//do when DOM is ready
function onReady()	{
	if(te_onReady == '1')	{
		return;
	}
	TEonLoad();
	te_onReady = '1';
}

function TEonLoad()	{
	// Prüfen ob iframe schon da ist
	if (document.getElementById('talkframe') == null || document.getElementById("talk") == null) {
		setTimeout('TEonLoad()', 500);
		return;
	} else if (typeof document.getElementById('talkframe').src == "undefined" ||	typeof document.getElementById("talk").style.top == "undefined") {
		setTimeout('TEonLoad()', 500);
		return;
	}
	TEstart();
}

function TEstart() {
	// Position des iframe holen
	te_x = document.getElementById("talk").style.left;
	te_y = document.getElementById("talk").style.top;
	var muster = /px/g;
	var ersatz = "";
	te_x = te_x.replace(muster, ersatz);
	te_y = te_y.replace(muster, ersatz);
	// alert ( "left:"+te_x+" top:"+te_y );
	// Groesse des iframe holen
	te_weit = document.getElementById("talkframe").width;
	te_hoch = document.getElementById("talkframe").height;
	// alert ( "weit:"+te_weit+" hoch:"+te_hoch );
	
	if(!te_weit || te_weit == '') {te_weit = 200};
	if(!te_hoch || te_hoch == '') {te_hoch = 500};
	
	// Werte berechnen und zwischenspeichern
	te_g = parseInt(te_x) + parseInt(te_weit);
	te_gh = parseInt(te_hoch) + parseInt(te_y);
	te_y_save =  parseInt(te_y);
	te_scrollPos =  parseInt(te_y);

//	c_ckey = TElesen_collection("ckey");
//	tea_ckey = c_ckey;
	c_ckey = tea_ckey;
	c_vid = TElesen_collection("vid");
	c_name = TElesen_collection("name");
	c_status = TElesen_collection("status");
	tea_Portkennung = TElesen_collection("Portkennung");
	tea_vzdomain = TElesen_collection("vzdomain");

	if(c_status == "Dialog" || c_status == "Wartet")	{
		TEIframeref();
	}

	TEPlaceIFrame_H();	
	TEPlaceIFrame();
}

// <! ------------------------------------------------------------------------>
// <! Scrolling iframe									>
// <! ------------------------------------------------------------------------>

function TEInnereFensterhoehe() {
	if (window.innerHeight) {
		te_innerHeight = window.innerHeight;
	} else if (document.body && document.body.offsetHeight) {
		te_innerHeight = document.body.offsetHeight;
	} else {
		te_innerHeight = 0;
	}
	if (te_innerHeight < te_hoch)	{
		te_scroll = '2';
		te_y = 0;
		document.getElementById("talk").style.top = te_y + 'px';
	} else if (te_innerHeight < te_gh)	{ 
		te_scroll = '1';
		te_y = 0;
		document.getElementById("talk").style.top = te_y + 'px';
	} else {
		te_scroll = '1';
		te_y = te_y_save;
		document.getElementById("talk").style.top = te_scrollPos + 'px';
	}
}

function TEPlaceIFrameTime()	{
	if(te_lauf == true)	{
		return;
	}
	te_lauf = true;
	setTimeout('TEPlaceIFrame()', 500);
}

function TEPlaceIFrame() {
	TEInnereFensterhoehe();
	te_lauf = false;
	if(te_scroll == '2')	{
		return;
	}

	if (typeof window.pageYOffset != 'undefined') {
		te_scrollPos = window.pageYOffset;
	} else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
		te_scrollPos = document.documentElement.scrollTop;
	} else if (typeof document.body != 'undefined') {
		te_scrollPos = document.body.scrollTop;
	}
	
	if(te_scrollPos < 1)	{
		te_scrollPos = 0;
	}
	
	te_scrollPos = parseInt(te_scrollPos) + parseInt(te_y);
	document.getElementById("talk").style.top = te_scrollPos + 'px';
	
	if(te_netscape)	{	
		setTimeout('TEPlaceIFrame()', 500);
	}
}

function TEPlaceIFrame_H()	{
	var wc_rand = 0;
	if ( document.getElementsByTagName('body')[0].clientWidth < te_g)	{
		document.getElementById("talk").style.left = parseInt(document.getElementsByTagName('body')[0].clientWidth) - parseInt(te_weit) + 'px';
	} else {
		document.getElementById("talk").style.left = te_x + 'px';
		if ( te_hpausrichtung == 'C')	{
			wc_rand = (document.getElementsByTagName('body')[0].clientWidth - parseInt(te_g));
			if(wc_rand < 1)	{
				document.getElementById("talk").style.left = te_x + 'px';
			} else {
				wc_rand = (wc_rand / 2);
				wc_rand = parseInt(wc_rand);
				document.getElementById("talk").style.left = parseInt(te_x) + parseInt(wc_rand) + 'px';
			}
		}
	}
}

window.onscroll = TEPlaceIFrameTime;
window.onresize = TEPlaceIFrame_H;

// <! ------------------------------------------------------------------------>
// <! DSA-Treffpunkt Aufrufparameter					>
// <! ------------------------------------------------------------------------>
function TEAufruf (te_iframe) {
	var ttl = document.title;
	var hp = document.location;

	if(tea_cntframe != '' && tea_cntframe != ' ') {
		ttl = eval ('parent.'+tea_cntframe+'.document.title');
		hp = eval ('parent.'+tea_cntframe+'.document.location');
	}

	var rzBorderW = ((parseInt(screen.width) - parseInt(te_weit)) / 2);
	rzBorderW = parseInt(rzBorderW);
	var rzBorderH = ((parseInt(screen.height) - parseInt(te_hoch)) / 4);
	rzBorderH = parseInt(rzBorderH);

//	te_url = tea_Portkennung + "://www.DSA-Treffpunkt.de/cgi-bin/121vdialog.pl" 
	te_url = "http://www.DSA-Treffpunkt.de/cgi-bin/121vdialog.pl" 
		+ "?stroke=Dialog"
		+ "&ckey=" + tea_ckey
		+ "&ttl=" + escape(ttl)
		+ "&hp=" + escape(hp)
		+ "&name=" + tea_username
		+ "&userkey=" + tea_userkey
		+ "&d=" + tea_design
		+ "&cs=1"
		+ "&SessionID=" + tea_SessionID
		+ "&vgruppe=" + tea_Gruppe
		+ "&vsprache=" + tea_Sprache
		+ "&BRAuswahl=" + tea_BRAuswahl
		+ "&vzdomain=" + tea_vzdomain
		+ "&iframe=" + te_iframe;

	te_Optionen = 'height='+te_hoch+',width='+te_weit+',top='+rzBorderH+',left='+rzBorderW+',resizable=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no';
}

// <! ------------------------------------------------------------------------>
// <! DSA-Treffpunkt PopUp								>
// <! ------------------------------------------------------------------------>
function TEPopup() {

	if(te_dbox && !te_dbox.closed) 	{
		te_dbox.focus();
		return false;
	}

	te_dbox = window.open(te_url, 'DialogBox',  te_Optionen);

	if(!te_dbox || te_dbox.closed) 	{
		alert("Die DSA-Treffpunkt-LiveBeratung wird als PopUp-Fenster angezeigt. Bitte lassen Sie PopUp-Fenster für DSA-Treffpunkt zu.");
		return false;
	}

	te_dbox.focus();
	return false;
}

// <! ------------------------------------------------------------------------>
// <! DSA-Treffpunkt iframe								>
// <! ------------------------------------------------------------------------>
function TEIframe() {
	document.getElementById('talkframe').src=te_url;
	document.getElementById('talk').style.visibility='visible';
	document.getElementById('talk').style.display='block';
}

// <! ------------------------------------------------------------------------>
// <! DSA-Treffpunkt check cookie						>
// <! ------------------------------------------------------------------------>
function TEvdialogif(ckey,cntframe,username,userkey,design,SessionID,Gruppe,Sprache,BRAuswahl,Portkennung,vzdomain) {
	var tmpfeld = '';
	tmpfeld = (cntframe.toLowerCase());
	if(tmpfeld == 'frame') {
		cntframe = '';
	}
	tmpfeld = (username.toLowerCase());
	if(tmpfeld == 'visitor') {
		username = '';
	}
	tmpfeld = (userkey.toLowerCase());
	if(tmpfeld == 'visitorkey') {
		userkey = '';
	}
	tmpfeld = (design.toLowerCase());
	if(tmpfeld == 'design') {
		design = '';
	}
	tmpfeld = (SessionID.toLowerCase());
	if(tmpfeld == 'sessionid') {
		SessionID = '';
	}
	tmpfeld = (Gruppe.toLowerCase());
	if(tmpfeld == 'group') {
		Gruppe = '';
	}
	tmpfeld = (Sprache.toLowerCase());
	if(tmpfeld == 'language') {
		Sprache = '';
	}
	tmpfeld = (BRAuswahl.toLowerCase());
	if(tmpfeld == 'advisor') {
		BRAuswahl = '';
	}
	Portkennung = (Portkennung.toLowerCase());
	if(Portkennung != 'http' && Portkennung != 'https') {
		Portkennung = 'http';
	}
	tmpfeld = (vzdomain.toLowerCase());
	if(tmpfeld == 'scriptpath') {
		vzdomain = '';
	}

	if(!username) {username = ''};
	if(!userkey) {userkey = ''};
	
	c_status = TElesen_collection("status");
	if(c_status == "Dialog" || c_status == "Wartet")	{
		return;
	}

//	tea_ckey = ckey;
	tea_cntframe = cntframe;
	tea_username = username;
	tea_userkey = userkey;
	tea_design = design;
	tea_SessionID = SessionID;
	tea_Gruppe = Gruppe;
	tea_Sprache = Sprache;
	tea_BRAuswahl = BRAuswahl;
	tea_Portkennung = Portkennung;
	tea_vzdomain = vzdomain;
	
//	test cookie schreiben
	var te_cookie = false;
	TEschreiben_collection("ckey", tea_ckey);
	TEschreiben_collection("Portkennung", tea_Portkennung);
	TEschreiben_collection("vzdomain", tea_vzdomain);
	c_ckey = TElesen_collection("ckey");
	if(c_ckey == tea_ckey)	{
		te_cookie = true;
	}
	
	var te_iframe = '';
	if (te_cookie == true) 	{
		te_iframe = 'iframe';
	}
	TEAufruf (te_iframe) ;
	
	if (te_cookie == true) 	{
		TEIframe();
	} else {
		TEPopup();
	}
}

// <! ------------------------------------------------------------------------>
// <! DSA-Treffpunkt iframe refresh Dialog					>
// <! ------------------------------------------------------------------------>
function TEIframeref() {

	var hp = document.location;

//	te_url = tea_Portkennung + "://www.DSA-Treffpunkt.de/cgi-bin/121vdialog2.pl"
	te_url = "http://www.DSA-Treffpunkt.de/cgi-bin/121vdialog2.pl"
		+ "?ckey=" + tea_ckey
		+ "&vid=" + c_vid
		+ "&name=" + c_name
		+ "&vzdomain=" + tea_vzdomain
		+ "&hp=" + escape(hp)
  		+ "&tmstmp=" + TETmstmp();
	
	document.getElementById('talkframe').src=te_url;
	document.getElementById('talk').style.visibility='visible';
	document.getElementById('talk').style.display='block';
}

function TETmstmp() {
	var te_tmstmp = new Date();
	return te_tmstmp.getTime();
}

// <! ------------------------------------------------------------------------>
// <! DSA-Treffpunkt iframe ausblenden					>
// <! ------------------------------------------------------------------------>
function TEIframeclose() {
	document.getElementById('talk').style.visibility='hidden';
	document.getElementById('talk').style.display='none';
}

// <! ------------------------------------------------------------------------>
// <! DSA-Treffpunkt-Cookie								>
// <! ------------------------------------------------------------------------>

function TEcookie_schreiben(ckey, vid, name, status, ziel,tmstmp)	{
	tea_Portkennung = TElesen_collection("Portkennung");
	tea_vzdomain = TElesen_collection("vzdomain");
	TEschreiben_collection("ckey", ckey);
	TEschreiben_collection("vid", vid);
	TEschreiben_collection("name", name);
	TEschreiben_collection("status", status);
	TEschreiben_collection("Portkennung", tea_Portkennung);
	TEschreiben_collection("vzdomain", tea_vzdomain);
	TEschreiben_collection("naviziel", ziel);
	TEschreiben_collection("tmstmp", tmstmp);
}

function TEcookie_setzen() {
	var anzParameter = TEcookie_setzen.arguments.length;
	var parameter = TEcookie_setzen.arguments;
	// 1. Cookie-Name
	var name = parameter[0];
	// 2. Cookie-Wert
	var value = (anzParameter >= 2) ? parameter[1] : "";
	value = escape(value); // URL-Codierung
	// 3. Haltbarkeitsdatum
	var expires = (anzParameter >= 3) ? parameter[2] : null;
	if (expires != null) {
		if (expires.toGMTString) {
			expires = expires.toGMTString();
		}
	}
	// 4. Domain
	var domain = (anzParameter >= 4) ? parameter[3] : null;
	// 5. Pfad
	var path = (anzParameter >= 5) ? parameter[4] : null;
	if (path != null) {
		path = escape(path); // Sonderzeichen umwandeln
	}
	// 6. Sicherheitsstufe
	var secure = (anzParameter >= 6) ? parameter[5] : null;
	
	// Zusammensetzen des Cookies
	var c = name + "=" + escape(value);
	if (expires != null) {
		c += "; expires=" + expires;
	}
	if (domain != null) {
		c += "; domain=" + domain;
	}
	c += "; path=/"; // + path;
	if (secure) {
		c += "; secure";
	}
	
	// Cookie setzen
	document.cookie = c;
}

function TEcookie_lesen(name) {
	var i = document.cookie.indexOf(name + "=");
	var c = "";
	if (i > -1) {
		var ende = document.cookie.indexOf("; ",i+name.length+1);
		if (ende == -1) {
			ende = document.cookie.length;
		}
		c = document.cookie.substring(i+name.length+1, ende);
	}
	return unescape(c);
}

function TEladen_collection() {
	var str = TEcookie_lesen(tea_ckey);
	str = unescape(str);
	var temp = new Array();
	// Daten aus dem Cookie in ein Array umwandeln
	if (str != "") {
		str = str.replace(/,/g, "\",\"");
		str = "\"" + str + "\""
		eval("temp = [" + str + "]");
	}
	// assoziatives Array erstellen
	var c = new Array();
	for (var i=0; i<temp.length; i+=2) {
		c[temp[i]] = temp[i+1];
	}
	// Array zurückgeben
	return c;
}

function TElesen_collection(name) {
	var c = TEladen_collection();
	return c[name];
}

function TEspeichern_collection(c) {
	var temp = new Array();
	for (var e in c) {
		if(e == "ckey" || e == "vid" || e == "name" || e == "status" || e == "naviziel" || e == "tmstmp" || e == "Portkennung" || e == "vzdomain")	{
			temp[temp.length]=e;
			temp[temp.length]=c[e];
		}
	}
	TEcookie_setzen(tea_ckey, temp.toString() );
}

function TEschreiben_collection(name, wert) {
	var c = TEladen_collection();
	c[name] = wert;
	TEspeichern_collection(c);
}

//TEonLoad();

