/* -- Adobe GoLive JavaScript Library */

CSAg = window.navigator.userAgent; CSBVers = parseInt(CSAg.charAt(CSAg.indexOf("/")+1),10);
CSIsW3CDOM = ((document.getElementById) && !(IsIE()&&CSBVers<6)) ? true : false;
function IsIE() { return CSAg.indexOf("MSIE") > 0;}
function CSIEStyl(s) { return document.all.tags("div")[s].style; }
function CSNSStyl(s) { if (CSIsW3CDOM) return document.getElementById(s).style; else return CSFindElement(s,0);  }
CSIImg=false;
function CSInitImgID() {if (!CSIImg && document.images) { for (var i=0; i<document.images.length; i++) { if (!document.images[i].id) document.images[i].id=document.images[i].name; } CSIImg = true;}}
function CSFindElement(n,ly) { if (CSBVers<4) return document[n];
	if (CSIsW3CDOM) {CSInitImgID();return(document.getElementById(n));}
	var curDoc = ly?ly.document:document; var elem = curDoc[n];
	if (!elem) {for (var i=0;i<curDoc.layers.length;i++) {elem=CSFindElement(n,curDoc.layers[i]); if (elem) return elem; }}
	return elem;
}

function CSGetImage(n) {if(document.images) {return ((!IsIE()&&CSBVers<5)?CSFindElement(n,0):document.images[n]);} else {return null;}}
CSDInit=false;
function CSIDOM() { if (CSDInit)return; CSDInit=true; if(document.getElementsByTagName) {var n = document.getElementsByTagName('DIV'); for (var i=0;i<n.length;i++) {CSICSS2Prop(n[i].id);}}}
function CSICSS2Prop(id) { var n = document.getElementsByTagName('STYLE');for (var i=0;i<n.length;i++) { var cn = n[i].childNodes; for (var j=0;j<cn.length;j++) { CSSetCSS2Props(CSFetchStyle(cn[j].data, id),id); }}}
function CSFetchStyle(sc, id) {
	var s=sc; while(s.indexOf("#")!=-1) { s=s.substring(s.indexOf("#")+1,sc.length); if (s.substring(0,s.indexOf("{")).toUpperCase().indexOf(id.toUpperCase())!=-1) return(s.substring(s.indexOf("{")+1,s.indexOf("}")));}
	return "";
}

function CSGetStyleAttrValue (si, id) {
	var s=si.toUpperCase();
	var myID=id.toUpperCase()+":";
	var id1=s.indexOf(myID);
	if (id1==-1) return "";
	s=s.substring(id1+myID.length+1,si.length);
	var id2=s.indexOf(";");
	return ((id2==-1)?s:s.substring(0,id2));
}

function CSSetCSS2Props(si, id) {
	var el=document.getElementById(id);
	if (el==null) return;
	var style=document.getElementById(id).style;
	
	if (style) {
		if (style.left=="") style.left=CSGetStyleAttrValue(si,"left");
		if (style.top=="") style.top=CSGetStyleAttrValue(si,"top");
		if (style.width=="") style.width=CSGetStyleAttrValue(si,"width");
		if (style.height=="") style.height=CSGetStyleAttrValue(si,"height");
		if (style.visibility=="") style.visibility=CSGetStyleAttrValue(si,"visibility");
		if (style.zIndex=="") style.zIndex=CSGetStyleAttrValue(si,"z-index");
	}
}
CSStopExecution=false;
function CSAction(array) {return CSAction2(CSAct, array);}
function CSAction2(fct, array) { 
	var result;
	for (var i=0;i<array.length;i++) {
		if(CSStopExecution) return false; 
		var aa = fct[array[i]];
		if (aa == null) return false;
		var ta = new Array;
		for(var j=1;j<aa.length;j++) {
			if((aa[j]!=null)&&(typeof(aa[j])=="object")&&(aa[j].length==2)){
				if(aa[j][0]=="VAR"){ta[j]=CSStateArray[aa[j][1]];}
				else{if(aa[j][0]=="ACT"){ta[j]=CSAction(new Array(new String(aa[j][1])));}
				else ta[j]=aa[j];}
			} else ta[j]=aa[j];
		}			
		result=aa[0](ta);
	}
	return result;
}
CSAct = new Object;
function CSClickReturn () {
	var bAgent = window.navigator.userAgent; 
	var bAppName = window.navigator.appName;
	if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("Mozilla/3") >= 0) && (bAgent.indexOf("Mac") >= 0))
		return true; /* dont follow link */
	else return false; /* dont follow link */
}

function btn_disable(element, formular, text) {
	element.disabled=true;
	element.value=text;
	document.forms[formular].submit();
}

function FormImagePreview (action) {
	var img = CSGetImage(action[3]);
	var field = document.forms[action[1]].elements[action[2]];
	if (img && field && field.value != '') {
		var image_types = ','+action[5]+',';
		var extension = ','+(field.value.substr(field.value.lastIndexOf(".")+1)).toLowerCase()+',';
		if (image_types.indexOf (extension) >= 0)
			img.src = "file://"+field.value;
		else
			img.src = action[4];
	}
}

// blink when new message
function message_blink() {
	if(typeof blink == "undefined")
		blink = 1;
	if (blink == 1) {		 
		document.getElementById("blinktext").style.color = "#999999";
		blink = 0;
	}
	else {
		document.getElementById("blinktext").style.color = "#000000";
		blink = 1;
	}
}

// insert Emoticon
function insert_emoticon (emoticon, object) {
	f = document.getElementById(object);

	if (document.all) { // IE
		f.focus();
		document.selection.createRange().text= emoticon + document.selection.createRange().text;
	}
	else { // NS
		var s = f.selectionStart;
		var e = f.selectionEnd;

		var selection = emoticon + f.value.substring(s, e);

		f.value = f.value.substring(0, s) + selection + f.value.substring(e);
		f.focus();
		f.selectionStart = f.selectionEnd = s + emoticon.length;
	}
}


///// CHAT /////danke :-)

// edit_thread
function format_text (textarea, tag, param, unclose) {
	f = document.getElementById(textarea);

	if (param)
		param = "='"+param+"'";
	else
		param = "";

	if (document.all) { // IE
		f.focus();
		
		if (!unclose)
			document.selection.createRange().text='['+tag+param+']'+document.selection.createRange().text+'[/'+tag+']';
		else
			document.selection.createRange().text='['+tag+param+' /]'+document.selection.createRange().text;
	}
	else { // NS
		var s = f.selectionStart;
		var e = f.selectionEnd;
	
		if (!unclose) {
			var selection = '['+tag+param+']' + f.value.substring(s, e)+'[/'+tag+']';
			new_sel_tag = (tag.length*2+5);
		}
		else {
			var selection = '['+tag+param+' /]' + f.value.substring(s, e);
			new_sel_tag = (tag.length+4);
		}
			
		f.value = f.value.substring(0, s) + selection + f.value.substring(e);
		f.focus();
		f.selectionStart = s;
		f.selectionEnd = e + new_sel_tag + param.length;
	}
}
	
function add_url (textarea) {
	input = window.prompt("Bitte gebe eine URL ein.", "http://");
	if (input && input!='http://')
		format_text (textarea, "URL", input);
}

// ========== CHAT =============

function getHTTPObject() {
	var xmlHttp = false;
	
	//... Internet Explorer
	try {
		xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
		try {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e) {
			xmlHttp = false;
		}
	}
	//... Mozilla, Opera, Safari etc.
	if (!xmlHttp  && typeof XMLHttpRequest != 'undefined') {
		xmlHttp = new XMLHttpRequest();
	}
return xmlHttp;
}

function scrollDown() {
	document.getElementById("chat_textbox").scrollTop=document.getElementById("chat_textbox").scrollHeight-document.getElementById("chat_textbox").offsetHeight;
}

function loadChatData(action) {
	if (chat_stat == true || action == "get_user") { 
		var xmlHttpChat = getHTTPObject();
		if (xmlHttpChat) {
			xmlHttpChat.open("GET", "/chat/data.php?action="+action, true);
			xmlHttpChat.onreadystatechange = function () {
				if (xmlHttpChat.readyState == 4 && xmlHttpChat.responseText) {
					text = xmlHttpChat.responseText;
					
					if (action == "get_user") {
						if (last_userlist != text) {
							document.getElementById("userlist").innerHTML = text;
							last_userlist = text;
						}
					}
					else if (action == "get_chat_small" || action == "get_chat_big") { 
						if (last_chat_textbox != text) {
							document.getElementById("chat_textbox").innerHTML = text;
							last_chat_textbox = text;
						}
					}
				}
			}
			xmlHttpChat.send(null);
		}
	}
}

function saveChatData(text_elem) {
	if (chat_stat == true) { 
		if (document.getElementById(text_elem).value) {
			var xmlHttpSave = getHTTPObject();
			if (xmlHttpSave) {
				xmlHttpSave.open('POST', "/chat/data.php");
				xmlHttpSave.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				xmlHttpSave.send("text="+document.getElementById(text_elem).value.replace(/\&/,"[AND]")+"&action=set_chat");
			}
			document.getElementById(text_elem).value = '';
			document.getElementById(text_elem).focus();
		}
	}
}

function displayChatArea (showhide) {
	if (document.getElementById('chat_area') != undefined) {
		if (showhide == false)
			document.getElementById('chat_area').style.display = 'none';
		else
			document.getElementById('chat_area').style.display = '';
	}
}

function saveChatStatus(checkbox) { 
	var xmlHttpSave = getHTTPObject();
	if (xmlHttpSave) {
		xmlHttpSave.open('POST', "/chat/data.php");
		xmlHttpSave.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		chat_stat = checkbox.checked;
		displayChatArea(chat_stat);
		xmlHttpSave.send("status="+chat_stat+"&action=set_chat_status");
		loadChatData("get_user");
		//if (chat_stat==true)
		//	document.getElementById("chat_textbox").innerHTML = "";
	}
}

function initChat (chattype, chatstatus) {

	last_chat_textbox = "";
	last_userlist = "";
	chat_stat = chatstatus;
	
	get_user_interval = 10000;
	get_chat_interval = 2000;
	
	//displayChatArea(chat_stat);
	setInterval("loadChatData('get_user')", get_user_interval);
	setInterval("loadChatData('get_chat_"+chattype+"')", get_chat_interval);
}

//MESSAGE_DEL_CONFORM
function del_message(id) {
	check_confirm = confirm("Bist Du sicher, dass Du diese Nachricht entfernen willst?");
	if(check_confirm == true)
		location.href="/messages/?confirm_delete=true&id="+id;
}

//GUESTBOOK_DEL_CONFORM
function del_guestbook(id) {
	check_confirm = confirm("Bist Du sicher, dass Du diesen Eintrag entfernen willst?");
	if(check_confirm == true)
		location.href="/profile/?confirm_delete=true&del_id="+id;
}

// QUEST_EDITOR DEL_QUEST
function del_quest(id) {
	check_confirm = confirm("Soll die Frage wirklich entfernt werden?");
	if(check_confirm == true)
		location.href="/questions/?confirm_delete="+id;
}

function searchfield_color(field) {
	if (document.getElementById(field).value != "" && document.getElementById(field).value != "0") {
		document.getElementById(field).style.background="#aaaaaa";
		document.getElementById(field).style.color="white";
	}
}

function switch_quest_type (type) {
	if (type == 3) {
		document.getElementById("bonus_image1").style.display='';
		document.getElementById("bonus_image2").style.display='';
		document.getElementById("bonus_audio1").style.display='none';
		document.getElementById("bonus_audio2").style.display='none';
	}
	else if (type == 2) {
		document.getElementById("bonus_image1").style.display='none';
		document.getElementById("bonus_image2").style.display='none';
		document.getElementById("bonus_audio1").style.display='';
		document.getElementById("bonus_audio2").style.display='';
	}
	else {
		document.getElementById("bonus_image1").style.display='none';
		document.getElementById("bonus_image2").style.display='none';
		document.getElementById("bonus_audio1").style.display='none';
		document.getElementById("bonus_audio2").style.display='none';
	}
}	

// IEFLASHFIX
function ieflashfix (code) {
	document.write (code);
}
