/* JavaScript Document
 * Author: 		Philipp Krummenauer
 * E-Mail:		mail@philipp-krummenauer.de
 * Homepage:	http://www.philipp-krummenauer.de
 * File:		js_blog_compl.js
 * Date:		16.03.2010
 * Last Edit:	28.09.2010
 * Version:		1.0
 * URL:			http://www.philipp-krummenauer.de
 */


/********************************
** Variablen vereinbaren       **
********************************/
var iexplorer = iExplorer();
var dom = DOM();


/********************************
** Skripte initialisieren      **
********************************/
function init() {
	preload_images();
}


/********************************
** Browserspezifikationen er-  **
** mitteln.                    **
********************************/

/* Internet Explorer ermitteln */
function iExplorer() {
	if (document.all&&!window.opera) {
		return true;
	} else {
		return false;
	}
}

/* Browser ermitteln */
function DOM() {
	if (document.getElementById&&!iexplorer) {
		return true;
	} else {
		return false;
	}
}


/****************************************************************************
** DOM-Skripte                                                             **
****************************************************************************/

function dom_check_projects(string_site) {
	var use_element = document.getElementById('node_input_3');
	var use_options = new Array('desc', 'impl', 'vis', 'misc');

	/* INPUT oder SELECT loeschen */
	if (use_element.hasChildNodes()) {
		for (var i=0;i<use_element.childNodes.length;i++) {
			use_element.removeChild(use_element.childNodes[i]);
		}
	}
	
	if (string_site=='projekt') {		
		/* SELECT-Input erzeugen */
		var new_input = document.createElement('select');
		new_input.setAttribute('class', 'myInput');
		new_input.setAttribute('name', 'title');
		new_input.setAttribute('size', '1');
		new_input.setAttribute('firstOption', 'Site w&auml;hlen');
		
		for (var i=0;i<use_options.length;i++) {
			var new_opp = document.createElement('option');
			new_opp.setAttribute('value', use_options[i]);
			
			var new_opp_text = document.createTextNode(use_options[i]);
			
			new_opp.appendChild(new_opp_text);
			new_input.appendChild(new_opp);
		}
		
		use_element.appendChild(new_input);
	} else {
		/* TEXT-Input erzeugen */
		var new_input = document.createElement('input');
		new_input.setAttribute('type', 'text');
		new_input.setAttribute('class', 'myInput');
		new_input.setAttribute('name', 'title');
		new_input.setAttribute('size', '40');
		
		use_element.appendChild(new_input);
	}
}

function dom_check_projects_change(get_element) {
	var use_element = document.getElementById('node_input_3');
	var use_options = new Array('desc', 'impl', 'vis', 'misc');

	/* INPUT oder SELECT loeschen */
	if (use_element.hasChildNodes()) {
		for (var i=0;i<use_element.childNodes.length;i++) {
			use_element.removeChild(use_element.childNodes[i]);
		}
	}
	
	if (get_element.value=='projekt') {		
		/* SELECT-Input erzeugen */
		var new_input = document.createElement('select');
		new_input.setAttribute('class', 'myInput');
		new_input.setAttribute('name', 'title');
		new_input.setAttribute('size', '1');
		new_input.setAttribute('firstOption', 'Site w&auml;hlen');
		
		for (var i=0;i<use_options.length;i++) {
			var new_opp = document.createElement('option');
			new_opp.setAttribute('value', use_options[i]);
			
			var new_opp_text = document.createTextNode(use_options[i]);
			
			new_opp.appendChild(new_opp_text);
			new_input.appendChild(new_opp);
		}
		
		use_element.appendChild(new_input);
	} else {
		/* TEXT-Input erzeugen */
		var new_input = document.createElement('input');
		new_input.setAttribute('type', 'text');
		new_input.setAttribute('class', 'myInput');
		new_input.setAttribute('name', 'title');
		new_input.setAttribute('size', '40');
		
		use_element.appendChild(new_input);
	}
}


/****************************************************************************
** Formularchecks                                                          **
****************************************************************************/

/* Checkbox setzen */
function set_checkbox(element_id) {
	var use_checkbox = document.getElementById(element_id);
	if (use_checkbox.checked) {
		use_checkbox.checked = false;
	} else {
		use_checkbox.checked = true;
	}
}

/* Abfrage ob Checkbox gesetzt */
function check_checkbox(element_id) {
	var use_checkbox = document.getElementById(element_id);
	if (use_checkbox.checked) {
		return true;
	} else {
		return false;
	}
}

/* Radiobutton-Status wechseln */
function RadioButtonState(input_id) {
	var state = document.getElementById(input_id).checked;
	if (state==true) {
		document.getElementById(input_id).checked=false;
	} else if(state==false) {
		document.getElementById(input_id).checked=true;
	}
}

/* setzt Selektierung um */
function set_select_radio(radio_id, formular, goon) {
	document.getElementById(radio_id).checked = true;
	if (goon==1) {
		submit_button(formular);
	}
}

/* fuehrt uebergebenes Formular aus */
function submit_button(formular, forced) {
	if (iExplorer() && !forced) {
		document.forms[formular][0].submit();
	} else {
		document.forms[formular].submit();
	}
}


/****************************************************************
** Bewertungssystem-Funktionen                                 **
****************************************************************/

/* verarbeiten aller Beteiligten */
function auto_set_checkboxen(element_id) {
	var checkbox_1 = document.getElementById('rating_check_1');
	var checkbox_2 = document.getElementById('rating_check_2');
	var div_1 = document.getElementById('rating_div_1');
	var div_2 = document.getElementById('rating_div_2');
	if (element_id=='rating_check_1' && !check_checkbox('rating_check_2')) {
		toggleMe('rating_div_1');
		checkbox_2.disabled = (div_1.style.display=='block') ? false : true;
	} else if (element_id=='rating_span_1' && !check_checkbox('rating_check_2')) {
		set_checkbox('rating_check_1');
		toggleMe('rating_div_1');
		checkbox_2.disabled = (div_1.style.display=='block') ? false : true;
	} else if (element_id=='rating_check_2' && check_checkbox('rating_check_1')) {
		toggleMe('rating_div_2');
		checkbox_1.disabled = (div_2.style.display=='block') ? true : false;
	} else if (element_id=='rating_span_2' && check_checkbox('rating_check_1')) {
		set_checkbox('rating_check_2');
		toggleMe('rating_div_2');
		checkbox_1.disabled = (div_2.style.display=='block') ? true : false;
	}
}


/****************************************************************************
** Div und andere Elemente be- und verarbeiten                             **
****************************************************************************/

/* Uebergebenen Container sichtbar mach oder verbergen */
function toggleMe(div_id) {
	var e=document.getElementById(div_id);
	if(!e)return true;
	if(e.style.display=="none") {
		e.style.display="block"
	} else {
		e.style.display="none"
	}
	return true;
}

/* Uebergebenen Container sichtbar mach oder verbergen */
function toggleMyMessage(div_id, div_message_id) {
	var e=document.getElementById(div_id);
	var me_e=document.getElementById(div_message_id);
	if(!e)return true;
	if(e.style.display=="none") {
		e.style.display="block"
	} else {
		e.style.display="none"
		me_e.style.display="none"
	}
	return true;
}

/* Untermenu/Container sichbar machen */
function togglesubmenu(div_id) {
	var e=document.getElementById(div_id);
	if(!e)return true;
	if(e.style.display=="none") {
		e.style.display="block"
	}
	return true;
}

/* Untermenu/Container sichbar machen */
function togglesubmenu_change(use_element) {
	var e=document.getElementById(use_element.value);
	if(!e)return true;
	if(e.style.display=="none") {
		e.style.display="block"
	}
	return true;
}

/* Uebergebenen Container drstellen und dafuer die anderen verbergen */
function toggleContent(div_id, div_rest) {
	var a=document.getElementById(div_rest+"desc");
	var b=document.getElementById(div_rest+"impl");
	var c=document.getElementById(div_rest+"vis");
	var d=document.getElementById(div_rest+"misc");
	if(div_id==div_rest+"desc") {
		a.style.display="block"
		b.style.display="none"
		c.style.display="none"
		d.style.display="none"
	}
	if(div_id==div_rest+"impl") {
		a.style.display="none"
		b.style.display="block"
		c.style.display="none"
		d.style.display="none"
	}
	if(div_id==div_rest+"vis") {
		a.style.display="none"
		b.style.display="none"
		c.style.display="block"
		d.style.display="none"
	}
	if(div_id==div_rest+"misc") {
		a.style.display="none"
		b.style.display="none"
		c.style.display="none"
		d.style.display="block"
	}
}

/* Browsertyp checken */
function checkName(name){
	var agent = navigator.userAgent.toLowerCase();
	if (agent.indexOf(name.toLowerCase())>-1) {
		return true;
	} else {
		return false;	//veraendert
	}
}

/* Uebergebenen Container entweder mit bestimmter Groeße darstellen oder ausblenden */
function div_show(div_id, div_size) {
	var use_div = document.getElementById(div_id);
	
	//Fenstergroesse und Scrollposition ermitteln
	if (checkName('MSIE') && navigator.appVersion.charAt(0)>='4') {
		win_width = document.documentElement.clientWidth;
		win_height = document.documentElement.clientHeight;
		scroll_pos = document.documentElement.scrollTop;
	} else {
		var win_width = innerWidth;
		var win_height = innerHeight;
		var scroll_pos = window.pageYOffset;
	}
	
	var left_pos = (win_width/2)-(div_size/2);
	var top_pos = ((win_height/10)+scroll_pos);
	
	if(!use_div)return true;
	if(use_div.style.display=="none") {
		use_div.style.display="block";
		use_div.style.left=left_pos+"px";
		use_div.style.top=top_pos+"px";
	} else {
		use_div.style.display="none";
	}
}

/* Uebergebenen Container darstellen oder ausblenden */
function click_div(div_id) {
	var use_div = document.getElementById(div_id);
	if (use_div.style.display=="none") {
		use_div.style.display="block";
	} else if (use_div.style.display=="block") {
		use_div.style.display="none";
	}
}

/* Uebergebenem Container neue Klasse zuweisen */
function click_class(div_id, look_div_id, div_class_1, div_class_2) {
	var use_div = document.getElementById(div_id);
	var look_div = document.getElementById(look_div_id);
	if(use_div.className==div_class_1 && look_div.style.display=='none') {
		use_div.className = div_class_2;
		look_div.style.display="block";
	} else if(use_div.className==div_class_2 && look_div.style.display=='block') {
		use_div.className = div_class_1;
		look_div.style.display="none";
	}
}

/* Uebergebenen Container darstellen oder ausblenden */
function click_messages(div_id) {
	var div_receaved = document.getElementById('div_receaved');
	var div_send = document.getElementById('div_send');
	
	var link_receaved = document.getElementById('link_receaved');
	var link_send = document.getElementById('link_send');
	
	var div_all_messages_receaved = document.getElementById('div_all_messages_receaved');
	var div_all_messages_send = document.getElementById('div_all_messages_send');
	if (div_id == "div_receaved") {
		div_receaved.style.display="block";
		div_send.style.display="none";
		
		link_receaved.className ="messages_link_on";
		link_send.className ="messages_link_off";
		
		div_all_messages_receaved.style.display="block";
		div_all_messages_send.style.display="none";
	} else if (div_id == "div_send") {
		div_receaved.style.display="none";
		div_send.style.display="block";
		
		link_receaved.className ="messages_link_off";
		link_send.className ="messages_link_on";
		
		div_all_messages_receaved.style.display="none";
		div_all_messages_send.style.display="block";
	}
}

/* Container1 darstellen und andere Container ausblenden */
function select_div_show(div_id) {
	var div_diplom = document.getElementById('div_degree_diplom');
	var div_bachelor = document.getElementById('div_degree_bachelor');
	var div_master = document.getElementById('div_degree_master');
	var div_magister = document.getElementById('div_degree_magister');
	var div_doktor = document.getElementById('div_degree_doktor');
	var div_lizentiat = document.getElementById('div_degree_lizentiat');
	
	if (div_id == "div_degree_zero"){
		div_diplom.style.display="none";
		div_bachelor.style.display="none";
		div_master.style.display="none";
		div_magister.style.display="none";
		div_doktor.style.display="none";
		div_lizentiat.style.display="none";
	} else if (div_id == 'div_degree_diplom') {
		div_diplom.style.display="block";
		div_bachelor.style.display="none";
		div_master.style.display="none";
		div_magister.style.display="none";
		div_doktor.style.display="none";
		div_lizentiat.style.display="none";
	} else if (div_id == 'div_degree_bachelor') {
		div_diplom.style.display="none";
		div_bachelor.style.display="block";
		div_master.style.display="none";
		div_magister.style.display="none";
		div_doktor.style.display="none";
		div_lizentiat.style.display="none";
	} else if (div_id == 'div_degree_master') {
		div_diplom.style.display="none";
		div_bachelor.style.display="none";
		div_master.style.display="block";
		div_magister.style.display="none";
		div_doktor.style.display="none";
		div_lizentiat.style.display="none";
	} else if (div_id == 'div_degree_magister') {
		div_diplom.style.display="none";
		div_bachelor.style.display="none";
		div_master.style.display="none";
		div_magister.style.display="block";
		div_doktor.style.display="none";
		div_lizentiat.style.display="none";
	} else if (div_id == 'div_degree_doktor') {
		div_diplom.style.display="none";
		div_bachelor.style.display="none";
		div_master.style.display="none";
		div_magister.style.display="none";
		div_doktor.style.display="block";
		div_lizentiat.style.display="none";
	} else if (div_id == 'div_degree_lizentiat') {
		div_diplom.style.display="none";
		div_bachelor.style.display="none";
		div_master.style.display="none";
		div_magister.style.display="none";
		div_doktor.style.display="none";
		div_lizentiat.style.display="block";
	}
}

/* Text in Inputfeld einfuegen */
function insert(aTag, eTag, formular, inputfield) {
	var input = document.forms[formular].elements[inputfield];
	input.focus();
	/* für Internet Explorer */
	if(typeof document.selection != 'undefined') {
		/* Einfügen des Formatierungscodes */
		var range = document.selection.createRange();
		var insText = range.text;
		range.text = aTag + insText + eTag;
		/* Anpassen der Cursorposition */
		range = document.selection.createRange();
		if (insText.length == 0) {
			range.move('character', -eTag.length);
		} else {
			range.moveStart('character', aTag.length + insText.length + eTag.length);      
		}
		range.select();
	}
	/* für neuere auf Gecko basierende Browser */
	else if(typeof input.selectionStart != 'undefined') {
		/* Einfügen des Formatierungscodes */
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
		/* Anpassen der Cursorposition */
		var pos;
		if (insText.length == 0) {
			pos = start + aTag.length;
		} else {
			pos = start + aTag.length + insText.length + eTag.length;
		}
		input.selectionStart = pos;
		input.selectionEnd = pos;
	}
	/* für die übrigen Browser */
	else {
		/* Abfrage der Einfügeposition */
		var pos;
		var re = new RegExp('^[0-9]{0,3}$');
		while(!re.test(pos)) {
			pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
		}
		if(pos > input.value.length) {
			pos = input.value.length;
		}
		/* Einfügen des Formatierungscodes */
		var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
		input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
	}
}

/* Link in Inputfeld schreiben */
function insert_link(div_id, read_form, formular, inputfield) {
	//Text auslesen
	name = document.forms[read_form].name.value;
	target = document.forms[read_form].target.value;
	title = document.forms[read_form].title.value;
	
	//Tag erstellen
	var aTag = '{\\start_link url="'+target+'" title="'+title+'" name="'+name+'" link_end\\}';
	var eTag = '';
	
	var input = document.forms[formular].elements[inputfield];
	input.focus();
	if (name!='' && target!='') {
		insert(aTag, eTag, formular, inputfield);
		div_show(div_id, '350');
	}
}

/* Break in Inputfeld schreiben */
function insert_break(formular, inputfield) {
	aTag = '<br />\n';
	eTag = '';
	insert(aTag, eTag, formular, inputfield);
}

/* Ueberschrift in Inputfeld schreiben */
function insert_title(formular, inputfield) {
	aTag = '<span class="content_small_title">';
	eTag = '</span>';
	insert(aTag, eTag, formular, inputfield);
}

/* Uebergebenes Zeichen in Inputfeld schreiben */
function insert_special(div_id, tag, formular, inputfield) {
	aTag = tag;
	eTag = '';
	insert(aTag, eTag, formular, inputfield);
	div_show(div_id, '270');
}

/* IMG-Tag in Inputfeld schreiben */
function insert_pic(div_id, read_form, formular, inputfield) {
	//Text auslesen
	title = document.forms[read_form].title.value;
	alt = document.forms[read_form].alt.value;
	src = document.forms[read_form].src.value;
	
	for (var i=0;i<document.forms[read_form].secure.length;i++) {
		if (document.forms[read_form].secure[i].checked) {
			secure = document.forms[read_form].secure[i].value;
		}
	}
	
	//Tag erstellen
	var aTag = '{\\start_pic src="'+src+'" alt="'+alt+'" title="'+title+'" secure="'+secure+'" class="pic_border" pic_end\\}';
	var eTag = '';
	
	/*
	var input = document.forms[formular].elements[inputfield];
	input.focus();
	*/
	
	if (src!='' && alt!='') {
		insert(aTag, eTag, formular, inputfield);
		div_show(div_id, '530');
	}
}

function insert_src_pic(tag, formular) {
	document.forms[formular].src.value = tag;
}

/* Quellcode in Inputfeld schreiben */
function insert_code(div_id, read_form, formular, inputfield) {
	//Text auslesen
	name = document.forms[read_form].name.value;
	
	//Tag erstellen
	var aTag = '{\\start_code content="'+name+'" code_end\\}';
	var eTag = '';
	
	var input = document.forms[formular].elements[inputfield];
	input.focus();
	if (name!='') {
		insert(aTag, eTag, formular, inputfield);
		div_show(div_id, '485');
	}
}

/* Stellt Bild im Impressum dar. Mach dieses sichtbar oder blendet es aus */
function myMouseOverClick_impressum(div_id, pos, width) {
	var doc=document.getElementById(div_id);
	var myleft=770-width;
	if(pos=="in" && doc.style.display=="none" && doc.style.color=="red") {
		doc.style.display="block";	
		doc.style.top="350px";
		doc.style.left=myleft+"px";
	} else if(pos=="out" && doc.style.display=="block" && doc.style.color=="red") {
		doc.style.display="none";
	} else if(pos=="click" && doc.style.color=="blue") {
		doc.style.color="red";
	} else if(pos=="click" && doc.style.color=="red") {
		doc.style.display="block";
		doc.style.color="blue";
	}
}

/* Blendet Container an uebergebener Stelle entweder ein oder aus */
function old_myMouseOverClick_impressum(div_id, pos, width) {
	var doc=document.getElementById(div_id);
	var myleft=770-width;
	if(pos=="in" && doc.style.display=="none" && doc.style.color=="red") {
		doc.style.display="block";	
		doc.style.top="350px";
		doc.style.left=myleft+"px";
	} else if(pos=="out" && doc.style.display=="block" && doc.style.color=="red") {
		doc.style.display="none";
	} else if(pos=="click" && doc.style.color=="blue") {
		doc.style.color="red";
	} else if(pos=="click" && doc.style.color=="red") {
		doc.style.display="block";
		doc.style.color="blue";
	}
}

/* Darstellen des uebergebenen Container und aktualisieren des dazugehoerigen Inhalts */
function picz_mouseOverClick(img_id, div_pic, div_text, mypic, emptypic, pic_size, pic_format, pos) {
	var pic_img=document.getElementById(img_id);
	var pic_div=document.getElementById(div_pic);
	var text_div=document.getElementById(div_text);
	
	/* Dateinamen rausfiltern */
	var mypic_index = mypic.lastIndexOf("/");
	if (mypic_index!=-1) {
		var mypic_name = mypic.substring(mypic_index+1).toLowerCase();
	}
	var currentpic_index = pic_img.src.lastIndexOf("/");
	if (currentpic_index!=-1) {
		var currentpic_name = pic_img.src.substring(currentpic_index+1).toLowerCase();
	}
	
	/* String zusammensetzen */
	var mystring = 
		"Gr&ouml;&szlig;e: "+pic_size+"<br />"+
		"Format: "+pic_format;
	
	if (pos=="in" && pic_div.style.color=="red") {
		pic_img.src=mypic;
		pic_div.style.border="solid 1px black";
		text_div.innerHTML=mystring;
	} else if (pos=="out" && pic_div.style.color=="red") {
		pic_img.src=emptypic;
		pic_div.style.border="none";
		text_div.innerHTML="";
	} else if (pos=="click" && pic_div.style.color=="red") {
		pic_div.style.color="blue";
		pic_div.style.border="solid 1px black";
		pic_img.src=mypic;
		text_div.innerHTML=mystring;
	} else if (pos=="click" && mypic_name==currentpic_name && pic_div.style.color=="blue") {
		pic_div.style.color="red";
	} else if (pos=="click" && mypic_name!=currentpic_name && pic_div.style.color=="blue") {
		pic_img.src=mypic;
		pic_div.style.border="solid 1px black";
		text_div.innerHTML=mystring;
	}
}

/* Darstellen des uebergebenen Container */
function use_picz_mouseOverClick(img_id, div_pic, mypic, emptypic, pos) {
	var pic_img=document.getElementById(img_id);
	var pic_div=document.getElementById(div_pic);
	
	/* Dateinamen rausfiltern */
	var mypic_index = mypic.lastIndexOf("/");
	if (mypic_index!=-1) {
		var mypic_name = mypic.substring(mypic_index+1).toLowerCase();
	}
	var currentpic_index = pic_img.src.lastIndexOf("/");
	if (currentpic_index!=-1) {
		var currentpic_name = pic_img.src.substring(currentpic_index+1).toLowerCase();
	}
	
	if (pos=="in" && pic_div.style.color=="red") {
		pic_img.src=mypic;
		pic_div.style.border="solid 1px black";
	} else if (pos=="out" && pic_div.style.color=="red") {
		pic_img.src=emptypic;
		pic_div.style.border="none";
	} else if (pos=="click" && pic_div.style.color=="red") {
		pic_div.style.color="blue";
		pic_div.style.border="solid 1px black";
		pic_img.src=mypic;
	} else if (pos=="click" && mypic_name==currentpic_name && pic_div.style.color=="blue") {
		pic_div.style.color="red";
	} else if (pos=="click" && mypic_name!=currentpic_name && pic_div.style.color=="blue") {
		pic_img.src=mypic;
		pic_div.style.border="solid 1px black";
	}
}


/****************************************************************************
** Bearbeiten von Bildelementen                                            **
****************************************************************************/

/********************************
** Variablen vereinbaren       **
********************************/
var posX = 0;	// x-Koordinate
var posY = 0;	// y-Koordinate

var ratingBar = null;
var current_ratings = new Array();
var current_rating;
var img = new Array();

var string_rating_value = 'rating_value_';
var string_rating_div = 'rating_div_';
var string_rating_img = 'rating_img_';
var string_rating_out = 'rating_out_';
var id_num;


/* Bilder zaehlen */
function picz_count(){
	var picz_div_count = 0;
	var picz_li_count = 0;
	
	alert(''+document.getElementById('body_header').style.backgroundImage);
	var pic_name = document.getElementById('body_header').style.backgroundImage;
	alert(''+pic_name);
	
	for (var i=0;i<document.getElementsByTagName('div').length;i++) {
		//alert(''+document.getElementsByTagName('div')[i].style.backgroundImage);
		if (document.getElementsByTagName('div')[i].style.backgroundImage) {
			picz_div_count++;
		}
	}
	alert('div: '+document.getElementsByTagName('div').length+' - '+picz_div_count+'\nli: '+document.getElementsByTagName('li').length);
}

/* Vorladen der Bilder */
function preload_images() {
	/* Site ermitteln */
	var string_start = window.location.search;
	var index_start = string_start.indexOf('site')+(5*1);
	var string_use = string_start.substring(index_start)
	var index_end = string_use.indexOf('&');
	var string_final = (index_end==-1) ? string_use : string_use.substring(0, index_end);
	
	if (window.location.search.indexOf('writebei')!=-1 || 
		window.location.search.indexOf('editbei')!=-1) 
	{
		preload_rating();
	}
	
	/*
	if (window.location.search.indexOf('editbei')!=-1) {
		alert('Beitrag bearbeiten');
	}
	
	if (window.location.search.indexOf('writekom')!=-1) {
		alert('Kommentar schreiben');
	}
	
	if (window.location.search.indexOf('editkom')!=-1) {
		alert('Kommentar bearbeiten');
	}
	*/
	
}

function preload_rating() {
	var temp_i = '000';
	var img_folder = 'picz/rating/';
	
	for(var i=0;i<101;i++) {
		if (i<10) {
			temp_i = '00'+i;
		} else if (i>=10 && i<100) {
			temp_i = '0'+i;
		} else if (i==100) {
			temp_i = i;
		}
			
		img[i] = new Image(201, 12);
		img[i].src = img_folder+'rating_'+temp_i+'.gif';
	}
	/*alert('geladen');*/
}

function start_rating(get_id) {
	id_num = get_id;
	ratingBar = document.getElementById(string_rating_div+id_num);
	current_rating = document.getElementById(string_rating_value+id_num).value;
	
	document.onmousemove = do_rating;
}

function do_rating(e) {
	if (ratingBar!=null) {
		posX = (iexplorer) ? window.event.offsetX : e.layerX-1;
		var get_num = Math.round(posX/2);
		var temp_num;
		if (get_num<10) {
			temp_num = '00'+get_num;
		} else if (get_num>=10 && get_num<100) {
			temp_num = '0'+get_num;
		} else if (get_num==100) {
			temp_num = get_num;
		}
		
		document.getElementById(string_rating_out+id_num).innerHTML = get_num;
		document.getElementById(string_rating_img+id_num).src = 'picz/rating/rating_'+temp_num+'.gif';
	}
}

function stop_rating() {
	var temp_num;
	if (current_rating<10) {
		temp_num = '00'+current_rating;
	} else if (current_rating>=10 && current_rating<100) {
		temp_num = '0'+current_rating;
	} else if (current_rating==100) {
		temp_num = current_rating;
	}
	document.getElementById(string_rating_img+id_num).src = 'picz/rating/rating_'+temp_num+'.gif';
	ratingBar = null;
	
	document.getElementById(string_rating_out+id_num).innerHTML = current_rating;
}

function get_ratings() {
	var i = 1;
	while (document.getElementById(string_rating_value+i).value!='') {
		current_ratings[i] = document.getElementById(string_rating_value+i).value;
		i++;
	}
}

function set_rating(e) {
	if (ratingBar!=null) {
		var get_num = Math.round(posX/2);
		var temp_num;
		if (get_num<10) {
			temp_num = '00'+get_num;
		} else if (get_num>=10 && get_num<100) {
			temp_num = '0'+get_num;
		} else if (get_num==100) {
			temp_num = get_num;
		}
		current_rating = get_num;
		document.getElementById(string_rating_value+id_num).value = get_num;
		document.getElementById(string_rating_img+id_num).src = 'picz/rating/rating_'+temp_num+'.gif';
	}
}

/* Hintergrund abdunkeln */
function back_darken() {
	var myback=document.getElementById("back_darken");
	myback.style.display="block";
}

/* Hintergrund animiert abdunkeln */
function back_soft_darken11() {
	var myback=document.getElementById("back_darken_1");
	for (i=0;i<100;i++) {
		setTimeout (myback.style.top=i+"px",100);
	}
}

/* Ueberpruefen des Browsertyps */
function checkName(name){
	var agent = navigator.userAgent.toLowerCase();
	if (agent.indexOf(name.toLowerCase())>-1) {
		return true;
	} else {
		return false;	//veraendert
	}
}

/* Abhaengig vom Browsertyp weiterleiten an Funktion "pic_show_go" */
function pic_show(pic_location) {
	var myshowpic = new Image();
	myshowpic.src = pic_location;
	if (checkName('MSIE') && navigator.appVersion.charAt(0)>='4') {
		pic_show_go(myshowpic, pic_location);
	} else if(checkName('opera')) {
		pic_show_go(myshowpic, pic_location);
	} else {
		myshowpic.onload = function() {
			pic_show_go(myshowpic, pic_location);
		}
	}
}

/* Diese Funktion liest Bild ein und stellt dieses dar. 
   Hierfuer wird erst der Hintergrund abgedunkelt und
   anschließend ein Fenster animiert aufgezogen, um darin
   das geladene Bild darzustellen
*/
function pic_show_go(myshowpic, pic_location) {
	var mydivback = document.getElementById("back_darken");
	var mydivpic = document.getElementById("pic_show");
	mydivpic.style.backgroundImage="url(picz/root/white.jpg)";
	var start_alpha_a = 0;
	var start_alpha_b = 0;
	var current_alpha_a = 0;
	var current_alpha_b = 0;
	var end_alpha_a = 0.90;
	var end_alpha_b = 90;
	var current_pic_width = 0;
	var current_pic_height = 0;
	var scroll_step = 10;
	
	//Hintergrund abdunkeln
	mydivback.style.opacity=0;
	mydivback.style.filter="Alpha(opacity=0)";
	mydivback.style.MozOpacity=0;
	mydivback.style.display="block";
	
	//Bildgroesse ermitteln
	var mypic_width = myshowpic.width;
	var mypic_height = myshowpic.height;
	
	
	//Fenstergroesse und Scrollposition ermitteln
	if (checkName('MSIE') && navigator.appVersion.charAt(0)>='4') {
		win_width = document.documentElement.clientWidth;
		win_height = document.documentElement.clientHeight;
		scroll_pos = document.documentElement.scrollTop;
	} else {
		var win_width = innerWidth;
		var win_height = innerHeight;
		var scroll_pos = window.pageYOffset;
	}
	var win_2_width = Math.round(win_width/2);
	var win_2_height = Math.round(win_height/2);
	
	//Bildposition ermitteln
	if (win_width<=mypic_width || win_height<=mypic_height) {
		/**
		var divi_width = mypic_width/win_width;
		var divi_height = mypic_height/win_height;
		if (divi_width>=divi_height) {
			var divi = divi_width;
		} else if (divi_width<divi_height) {
			var divi = divi_height;
		}
		**/
		//var end_pic_top = 200;
		//var end_pic_left = 5;
		var end_pic_top = scroll_pos + 50;
		var end_pic_left = 5;
		var end_pic_width = mypic_width;
		var end_pic_height = mypic_height;
	} else if(win_width>mypic_width && win_height>mypic_height) {
		//var end_pic_top = win_2_height-(mypic_height/2);
		//var end_pic_left = win_2_width-(mypic_width/2);
		var end_pic_top = scroll_pos + win_2_height-(mypic_height/2);
		var end_pic_left = win_2_width-(mypic_width/2);
		var end_pic_width = mypic_width;
		var end_pic_height = mypic_height;
	}
	//var pic_grow_loc_step = 10;
	//var pic_grow_size_step = 20;
	var pic_grow_loc_step = (end_pic_width/40);
	var pic_grow_size_step = (end_pic_width/20);
	var current_pic_top = end_pic_top+(mypic_height/2);
	var current_pic_left = end_pic_left+(mypic_width/2);
	var current_pic_width = 0;
	var current_pic_height = 0;
	var save_pic_top = end_pic_top - pic_grow_loc_step;
	var save_pic_left = end_pic_left - pic_grow_loc_step;
	var save_pic_width = end_pic_width - pic_grow_size_step;
	var save_pic_height = end_pic_height - pic_grow_size_step;
	
	/**	
	//Scrollen zum Bild
	window.scroll(0,end_pic_top-50);
	if (end_pic_top-50>scroll_pos) {
		for(i=scroll_pos;i<end_pic_top-50;i=i+scroll_step){
			eval("window.scrollTo(0,"+i+")");
		}
	} else if (end_pic_top-50<scroll_pos) {
		for(i=scroll_pos;i>end_pic_top-50;i=i-scroll_step){
			eval("window.scrollTo(0,"+i+")");
		}
	}
	**/
	
	//Hintergrund abdunkeln und Bild darstellen
	back_soft_darken();
	setTimeout("self.startPic()",250);
	
	//Funktionen fuer Faden
	this.startBack = function() {
		back_soft_darken();
	};
	this.startPic = function() {
		pic_blend();
	};
	function back_soft_darken() {
		mydivback.style.opacity=current_alpha_a;
		mydivback.style.filter="Alpha(opacity="+current_alpha_b+")";
		mydivback.style.MozOpacity=current_alpha_a;
		if (current_alpha_b<end_alpha_b) {
			current_alpha_b = current_alpha_b+10;
			current_alpha_a = current_alpha_a+0.1;
			setTimeout("self.startBack()",25);
		}
	}
	function pic_blend() {
		mydivpic.style.opacity=current_alpha_a;
		mydivpic.style.filter="Alpha(opacity="+current_alpha_b+")";
		mydivpic.style.MozOpacity=current_alpha_a;
		mydivpic.style.top=current_pic_top+"px";
		mydivpic.style.left=current_pic_left+"px";
		mydivpic.style.width=current_pic_width+"px";
		mydivpic.style.height=current_pic_height+"px";
		if (current_pic_width==pic_grow_size_step) {
			mydivpic.style.display="block";
		}
		if (current_pic_width<save_pic_width) {
			current_pic_width = current_pic_width + pic_grow_size_step;
			current_pic_left = current_pic_left - pic_grow_loc_step;
		} else if (current_pic_width>=save_pic_width) {
			current_pic_width = end_pic_width;
			current_pic_left = end_pic_left;
		}
		if (current_pic_height<save_pic_height) {
			current_pic_height = current_pic_height + pic_grow_size_step;
			current_pic_top = current_pic_top - pic_grow_loc_step;
		} else if (current_pic_height>=save_pic_height) {
			current_pic_height = end_pic_height;
			current_pic_top = end_pic_top;
		}
		if (current_pic_width==end_pic_width && current_pic_height==end_pic_height) {
			mydivpic.style.backgroundImage="url("+pic_location+")";
		}
		setTimeout("self.startPic()",50);
	}
}

/* Hintergrund wieder aufhellen */
function back_lighten() {
	var myback=document.getElementById("back_darken");
	var mypic = document.getElementById("pic_show");
	var start_alpha_a = 0.90;
	var start_alpha_b = 90;
	var current_alpha_a = 0.90;
	var current_alpha_b = 90;
	var end_alpha_a = 0;
	var end_alpha_b = 0;
	var step_a = 0.1;
	var step_b =10;
	front_soft_lighten();
	back_soft_lighten();
	this.startBack = function() {
		back_soft_lighten();
	};
	this.startFront = function() {
		front_soft_lighten();
	};
	function back_soft_lighten() {
		myback.style.opacity=current_alpha_a;
		myback.style.filter="Alpha(opacity="+current_alpha_b+")";
		myback.style.MozOpacity=current_alpha_a;
		if (current_alpha_b>=step_b) {
			current_alpha_b = current_alpha_b-step_b;
			current_alpha_a = current_alpha_a-step_a;
			setTimeout("self.startBack()",25);
		} else if (current_alpha_b<step_b) {
			myback.style.display="none";
			current_alpha_b = 0;
			current_alpha_a = 0;
		}
	}
	function front_soft_lighten() {
		mypic.style.opacity=current_alpha_a;
		mypic.style.filter="Alpha(opacity="+current_alpha_b+")";
		mypic.style.MozOpacity=current_alpha_a;
		if (current_alpha_b>=step_b) {
			current_alpha_b = current_alpha_b-step_b;
			current_alpha_a = current_alpha_a-step_a;
			setTimeout("self.startFront()",25);
		} else if (current_alpha_b<step_b) {
			mypic.style.display="none";
			current_alpha_b = 0;
			current_alpha_a = 0;
		}
	}
}


/****************************************************************************
** Suchfunktionen auf der Hauptseite                                       **
****************************************************************************/

/* Wenn ausgelsener Text "old_text" entspricht wird der Wert des Feldes durch "new_text" ersetzt */
function clearInput(new_text, old_text, formular, inputfield) {
	var input = document.forms[formular].elements[inputfield];
	if (input.value==old_text) {
		input.value = new_text;
	}
}

var http_request = false;

function macheRequest(url) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// zu dieser Zeile siehe weiter unten
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		/* alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen'); */
		return false;
	}
	http_request.onreadystatechange = alertInhalt;
	http_request.open('GET', url, true);
	http_request.send(null);
}

function alertInhalt() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//alert(http_request.responseText);
			var xmldoc = http_request.responseXML;
			var root_node = xmldoc.getElementsByTagName('root').item(0);
			/* alert(root_node.firstChild.data); */
			var myString = root_node.firstChild.data;
			alert(myString+" haha");
		} else {
			/* alert('Bei dem Request ist ein Problem aufgetreten.'); */
		}
	}
}

/* Fuegt an das select-Feld ein Options-Feld an */
function add_select_option(formular, selectfield, inputfield) {
	add_key = new Option(document.forms[formular].elements[inputfield].value, document.forms[formular].elements[inputfield].value, false, true);
	document.forms[formular].elements[selectfield].options[document.forms[formular].elements[selectfield].length] = add_key;
	document.forms[formular].elements[inputfield].value = "";;
}

/* Fuegt an den Inhalt eines Inputfeldes einen Text mit an */
function search_tool(div_id, formular, inputfield) {
	var div_layer = document.getElementById(div_id);
	var my_input = document.forms[formular].elements[inputfield].value;
	document.forms[formular].elements[inputfield].value = my_input+"\nhu";
	/* div_layer.innerHTML = my_input; */
}


/****************************************************************************
** PopUp                                                                   **
****************************************************************************/

/* Erzeugt ein PopUp-Fenster mit den uebergebenen Groeßen */
function popup(my_url, my_width, my_height){
	args = 'width='+my_width+',height='+my_height+',resizable,scrollbars';
	ok = window.open(my_url,'', args)
	if (ok) return false;
	else return true;
}


/****************************************************************************
** Ajax                                                                    **
****************************************************************************/

function update_message_read(message_id, read_code) {
	var zielurl = 'system/admin/user_message_read.php';
	
	var readed_string_div = document.getElementById('readed_string_'+message_id);
	if (window.XMLHttpRequest) { // Firefox
		http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	//http_request.onreadystatechange = Antwort;
	http_request.open('POST', zielurl, true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	send='message_id='+message_id+'&read_code='+read_code;
	http_request.send(send);
	
	readed_string_div.innerHTML = "";
}

function update_message_archiv(message_id, user_state) {
	var zielurl = 'system/admin/user_message_archiv.php';
	
	var div_archiv = document.getElementById('div_message_archiv_'+message_id);
	if (window.XMLHttpRequest) { // Firefox
		http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	//http_request.onreadystatechange = Antwort;
	http_request.open('POST', zielurl, true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	send='message_id='+message_id+'&user_state='+user_state;
	http_request.send(send);
	
	if (div_archiv.className == "admin_unlock_on") {
		div_archiv.className = "admin_lock_on";
		div_archiv.title = "Diese Nachricht im Nachrichtenarchiv freigeben";
	} else if (div_archiv.className == "admin_lock_on") {
		div_archiv.className = "admin_unlock_on";
		div_archiv.title = "Diese Nachricht im Nachrichtenarchiv sichern";
	}
}


/****************************************************************************
** E-Mail-Validierung                                                      **
****************************************************************************/

function valid_kontakt() {
	var errorcode = '-';
	var errorstring = 'Folgende Fehler sind aufgetreten:';
	if(!document.kontakt_form.Name.value) {
		errorcode += 'n1-';
		errorstring += '<br />Es wurde kein Name eingegeben.'
	}
	if(!document.kontakt_form.Email.value) {
		errorcode += 'e1-';
		errorstring += '<br />Es wurde keine E-Mail Adresse eingegeben.'
	}
	if(!document.kontakt_form.Nachricht.value) {
		errorcode += 'm1-';
		errorstring += '<br />Es wurde keine Nachricht eingegeben.'
	}
	
	if(document.kontakt_form.Name.value && !valid_special(document.kontakt_form.Name.value)) {
		errorcode += 'n2-';
		errorstring += '<br />Es wurden unerlaubte Zeichen gefunden.'
	}
	if(document.kontakt_form.Email.value && !valid_email(document.kontakt_form.Email.value)) {
		errorcode += 'e2-';
		errorstring += '<br />Die eingegebene E-Mail Adresse entspricht nicht den Richtlinien.'
	}	
	if(document.kontakt_form.Nachricht.value && !valid_special(document.kontakt_form.Nachricht.value)) {
		errorcode += 'n2-';
		errorstring += '<br />Es wurden unerlaubte Zeichen gefunden.'
	}
	
	if(errorcode=='-') {
		return(true);
	} else {
		document.getElementById('alert_kontakt').style.display="block"
		document.getElementById('alert_kontakt').innerHTML = errorstring;
		return(false);
	}
}

function valid_special(s) {
	if(s.search(/<|>|=|"|'|#/) != -1) {
		return(false);
	} else {
		return(true);
	}
}

function valid_email(s) {
	var a = false;
	var res = false;
	if(typeof(RegExp) == 'function') {
		var b = new RegExp('abc');
		if(b.test('abc') == true){a = true;}
	}
	
	if(a == true) {
		reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+'(\\@)([a-zA-Z0-9\\-\\.]+)'+'(\\.)([a-zA-Z]{2,4})$');
		res = (reg.test(s));
	} else {
		res = (s.search('@') >= 1 && s.lastIndexOf('.') > s.search('@') && s.lastIndexOf('.') >= s.length-5);
	}
	return(res);
}


