var contentTmpId = '';
var userTmpId = '';
var forwardTmp = '';
var tmp = '';
var tmpId = '';
var tmpHtml = '';
var fieldObject = '';
var fieldObjectSel = '';
var tooltipObj = '';


//Bild per Toolbar einfuegen
function insertImg (value, fieldId) {

	fieldObj = $(fieldId);

	if (value != '') insertTag2Textarea(value);
}


//markierten Text ermitteln
function saveMarkedText () {

	var text = '';

	//Internet Explorer
	if (document.selection) {

		fieldObj.focus();
		sel = document.selection.createRange();
		fieldObjectSel = '';
		text = sel.text;

	//Mozilla
	} else if (fieldObj.selectionStart || fieldObj.selectionStart == '0') {
		var startPos = fieldObj.selectionStart;
		var endPos = fieldObj.selectionEnd;
		text = fieldObj.value.substring(startPos, endPos)
	}

	return text;
}


//String in Textfeld einfuegen
function insertTag2Textarea (value) {

	//Internet Explorer
	if (document.selection) {

		fieldObj.focus();
		if (fieldObjectSel != '') {
			sel = fieldObjectSel;
			fieldObjectSel = '';
		} else {
			sel = document.selection.createRange();
		}
		sel.text = value;
		fieldObj.focus();

	//Mozilla
	} else if (fieldObj.selectionStart || fieldObj.selectionStart == '0') {
		var startPos = fieldObj.selectionStart;
		var endPos = fieldObj.selectionEnd;
		var scrollTop = fieldObj.scrollTop;
		fieldObj.value = fieldObj.value.substring(0, startPos) + value + fieldObj.value.substring(endPos, fieldObj.value.length);
		fieldObj.focus();
		fieldObj.selectionStart = startPos + value.length;
		fieldObj.selectionEnd = startPos + value.length;
		fieldObj.focus();
		fieldObj.scrollTop = scrollTop;

	} else {
		fieldObj.value += value;
		fieldObj.focus();
	}
}


//Element per Toolbar einfuegen
function insertTag(fieldId, type) {

	var desc = '';
	var value = '';

	fieldObj = $(fieldId);

	if (type == 'li') {
		value = '\n<ul>\n<li><\/li>\n<li><\/li>\n<\/ul>\n';
	} else if (type == 'i') {
		desc = saveMarkedText(fieldObj);
		value = (desc) ? '<em>' + desc +'<\/em>' : '<em><\/em>';
	} else if (type == 'p') {
		desc = saveMarkedText(fieldObj);
		value = (desc) ? '\n<p>' + desc +'<\/p>\n' : '\n<p><\/p>\n';
	} else if (type == 'blockquote') {
		desc = saveMarkedText(fieldObj);
		value = (desc) ? '\n<blockquote>' + desc +'<\/blockquote>\n' : '\n<blockquote><\/blockquote>\n';
	} else if (type == 'h1') {
		desc = saveMarkedText(fieldObj);
		value = (desc) ? '\n<h1>' + desc +'<\/h1>\n' : '\n<h1><\/h1>\n';
	} else if (type == 'u') {
		desc = saveMarkedText(fieldObj);
		value = (desc) ? '<u>' + desc +'<\/u>' : '<u><\/u>';
	} else if (type == 'b') {
		desc = saveMarkedText(fieldObj);
		value = (desc) ? '<strong>' + desc +'<\/strong>' : '<strong><\/strong>';
	} else if (type == 'img') {
		obj = fieldObj;
	} else if (type == 'documents') {
		obj = fieldObj;
	} else if (type == 'a') {
		var desc = saveMarkedText(fieldObj);
		var url = prompt(lang['toolbar.alink'] ,'http://');
		if (url) {
			if (desc == '') desc = prompt(lang['toolbar.alink2'] ,'');
			value = '<a href=\"' + url + '\">' + desc +'<\/a>';
		}
	} else if (type == 'video') {
		var desc = saveMarkedText(fieldObj);
		var url = prompt(lang['toolbar.videodesc'] ,'http://');
		if (url) {
			value = '<video src=\"' + url + '\" />';
		}
	}
	if (value != '') {
		insertTag2Textarea(value);
	}
}


function updateElement (id,value) {
	$(id).set('html', value);
}


function contentDelete (id, forward) {
	contentTmpId = id;
	forwardTmp = forward;
	MessageBox.confirm(lang['content.delete.confirm'],contentDeleteReal);
}

function contentDeleteReal (Check) {

	if (Check == true) {

		var mySpinner = new Spinner('contentId'+contentTmpId, {message: lang['content.delete.working']}).show();

		new Request.JSON({url: config['fileWeb'], onRequest: function(instance) { mySpinner.show(true); }, onComplete: function(response){
			mySpinner.destroy();
			if (response.status == "true") {
				if (forwardTmp != '') window.location.href = forwardTmp;
				$('contentId'+contentTmpId).fade(0);
			} else {
				MessageBox.status(lang['content.delete.error']);
			}
		}}).get({'ajax': 'contentDelete', 'content_id': contentTmpId});

	}
}




/*
 * Bild loeschen
 */

var imageTmpId = '';

function imageDelete (id, forward) {
	imageTmpId = id;
	forwardTmp = forward;
	MessageBox.confirm(lang['images.delete.confirm'],imageDeleteReal);
}

function imageDeleteReal (Check) {

	if (Check == true) {

		var mySpinner = new Spinner('imageId'+imageTmpId, {message: lang['images.delete.working']}).show();

		new Request.JSON({url: config['fileWeb'], onRequest: function(instance) { mySpinner.show(true); }, onComplete: function(response){
			mySpinner.destroy();
			if (response.status == "true") {
				if (forwardTmp != '') window.location.href = forwardTmp;
				$('imageId'+imageTmpId).fade(0);
			} else {
				MessageBox.status(lang['images.delete.error']);
			}
		}}).get({'ajax': 'imagesDelete', 'image_id': imageTmpId});

	}

}



/*
 * Dokument loeschen
 */

var documentTmpId = '';

function documentDelete (id, forward) {
	documentTmpId = id;
	forwardTmp = forward;
	MessageBox.confirm(lang['documents.delete.confirm'],documentDeleteReal);
}

function documentDeleteReal (Check) {

	if (Check == true) {

		var mySpinner = new Spinner('documentId'+documentTmpId, {message: lang['documents.delete.working']}).show();

		new Request.JSON({url: config['fileWeb'], onRequest: function(instance) { mySpinner.show(true); }, onComplete: function(response){
			mySpinner.destroy();
			if (response.status == "true") {
				if (forward != '') window.location.href = forward;
				$('documentId'+documentTmpId).fade(0);
			} else {
				MessageBox.status(lang['documents.delete.error']);
			}
		}}).get({'ajax': 'documentsDelete', 'document_id': documentTmpId});

	}
}




/*
 * Bild auswaehlen, zusammenstellen und einfuegen
 */

function imageSelector (type, fieldId, imagePath, imagePreview, previewId) {

	var formElements = document.forms['imagesselect'].elements;
	var insert = '';
	var subtitle = '';
	var className = '';

	if (type == 'complete') {

		if (formElements['image_align'][1].checked == true) {
			className = ' class="align_left"';
		} else if (formElements['image_align'][2].checked == true) {
			className = ' class="align_center"';
		} else if (formElements['image_align'][3].checked == true) {
			className = ' class="align_right"';
		}

		if (formElements['image_url'].value != '') insert = insert + '<a href="' + formElements['image_url'].value + '"' + className + '>';
		insert = insert + '<img src="' + imagePath + '" ';
		if (formElements['image_url'].value == '') insert = insert + className;
		insert = insert + subtitle + ' alt="" />';
		if (formElements['image_url'].value != '') insert = insert + '</a>';

		parent.insertImg(insert, fieldId);

	} else {

		parent.imageSelectorThumb(previewId, imagePreview, imagePath);

	}

	parent.SqueezeBox.close();
}


/*
 * Thumbnail zuweisen
 */

function imageSelectorThumb (previewId, imagePreview, imagePath) {

	$(previewId+'_image_preview').set('src', imagePreview);
	if ($(previewId+'_image_preview').getStyle('display') == 'none') $(previewId+'_image_preview').setStyle('display', 'inline');
	$(previewId+'_image').value = imagePath;

}


/*
 * externes Bild auswaehlen, zusammenstellen und einfuegen
 */

function imageSelectorExtern (fieldId) {

	var formElements = document.forms['imagesselectextern'].elements;

	var insert = '<img src="' + formElements['image_extern'].value + '" alt="" />';

	parent.insertImg(insert, fieldId);
	parent.SqueezeBox.close();
}


/*
 * Dokumente auswaehlen, zusammenstellen und einfuegen
 */

function documentsSelector (type, fieldId, documentPath, documentId, documentType, documentSize, documentTitle, previewId) {

	var insert = '';

	if (type == 'complete') {

		insert = '<a href="' + documentPath + '" class="doctype_' + documentType + '">' + documentTitle + '</a>';

		parent.insertImg(insert, fieldId);

	} else {

		insert = '<a href="' + documentPath + '" class="doctype_' + documentType + '">' + documentTitle + ' ('+documentSize+' KB)</a>';

		parent.documentSelectorPreview(previewId, insert, documentId, documentTitle, documentType, documentPath, documentSize);

	}

	parent.SqueezeBox.close();
}


/*
 * Thumbnail zuweisen
 */

function documentSelectorPreview (previewId, documentPreview, documentId, documentTitle, documentType, documentPath, documentSize) {

	$(previewId+'_document_preview').set('html', documentPreview);
	$(previewId+'_document_preview').setStyle('display', 'inline');
	$(previewId+'_document_delete').setStyle('display', 'inline');
	$(previewId+'_document').value = documentId;
	$(previewId+'_document_title').value = documentTitle;
	$(previewId+'_document_type').value = documentType;
	$(previewId+'_document_path').value = documentPath;
	$(previewId+'_document_size').value = documentSize;

}


/*
 * Kommentar aus Liste loeschen
 */
var commentIdTmp = '';
var commentTmpTypeId = ''
var commentTmpType = ''

function deleteComment (type, typeId, commentId) {
	commentIdTmp = commentId;
	commentTmpTypeId = typeId;
	commentTmpType = type;
	MessageBox.confirm(lang['comment.delete.confirm'],deleteCommentReal);
}

function deleteCommentReal (Check) {

	if (Check == true) {

		var mySpinner = new Spinner('commentId'+commentIdTmp, {message: lang['comment.delete.working']}).show();

		new Request.JSON({url: config['fileWeb']+'?'+commentTmpType+'='+commentTmpTypeId, onRequest: function(instance) { mySpinner.show(true); }, onComplete: function(response){
			mySpinner.destroy();
			if (response.status == "true") {
				if (forwardTmp != '') window.location.href = forwardTmp;
				$('commentId'+commentIdTmp).fade(0);
				$('commentId'+commentIdTmp).dispose();
			} else {
				MessageBox.status(lang['comment.delete.error']);
			}
		}}).get({'ajax': 'deleteComment', 'comment_id': commentIdTmp});

	}
}




/*
 * Stichwoerter per Popup hinzufuegen
 */

function tagsSelectInit (count) {

	var formElements = document.forms['tagsselect'].elements;
	var tagsList = parent.document.getElementById("tagsSelect").value;
	var tagsCurrent = tagsList.split(',');

	for (x=0; x<tagsCurrent.length; x++) {
		tagsCurrent[x] = tagsCurrent[x].trim();
	}

	for (i=0; i<count; i++) {
		for (x=0; x<tagsCurrent.length; x++) {
			if (formElements['tagsselect_'+i].value == tagsCurrent[x]) {
				formElements['tagsselect_'+i].checked = true;
			}
		}
	}

}

function tagsSelect (count) {

	var formElements = document.forms['tagsselect'].elements;
	var insert = parent.document.getElementById("tagsSelect").value;
	var tagsCurrent = insert.split(',');
	var tagsHash = new Object();

	for (x=0; x<tagsCurrent.length; x++) {
		tagsCurrent[x] = tagsCurrent[x].trim();
		tagsHash[tagsCurrent[x]] = 1;
	}

	for (i=0; i<count; i++) {
		if (formElements['tagsselect_'+i].checked == true) {
			if (tagsHash[formElements['tagsselect_' + i].value] != 1) {
				if (insert == '') {
					insert = formElements['tagsselect_' + i].value;
				} else {
					insert = insert + ', ' + formElements['tagsselect_' + i].value;
				}
			}
		} else {
			if (tagsHash[formElements['tagsselect_' + i].value] == 1) {
				eval('var match = /\\s*\\b'+formElements['tagsselect_' + i].value+'\\b,*\\s*/');
				insert = insert.replace(match, '');
			}
		}
	}

	parent.document.getElementById("tagsSelect").value = insert;
}




/*
 * Mitglieder per Popup zuordnen
 */

function usersSelectInit (count) {

	var formElements = document.forms['usersselect'].elements;
	var usersList = parent.document.getElementById("usersSelect").value;
	var usersCurrent = usersList.split(',');

	for (x=0; x<usersCurrent.length; x++) {
		usersCurrent[x] = usersCurrent[x].trim();
	}

	for (i=0; i<count; i++) {
		for (x=0; x<usersCurrent.length; x++) {
			if (formElements['usersselect_'+i].value == usersCurrent[x]) {
				formElements['usersselect_'+i].checked = true;
			}
		}
	}

}

function usersSelect (count) {

	var formElements = document.forms['usersselect'].elements;
	var insert = parent.document.getElementById("usersSelect").value;
	var usersCurrent = insert.split(' ');
	var usersHash = new Object();

	for (x=0; x<usersCurrent.length; x++) {
		usersCurrent[x] = usersCurrent[x].trim();
		usersHash[usersCurrent[x]] = 1;
	}

	for (i=0; i<count; i++) {
		if (formElements['usersselect_'+i].checked == true) {
			if (usersHash[formElements['usersselect_' + i].value] != 1) {
				if (insert == '') {
					insert = formElements['usersselect_' + i].value;
				} else {
					insert = insert + ', ' + formElements['usersselect_' + i].value;
				}
			}
		} else {
			if (usersHash[formElements['usersselect_' + i].value] == 1) {
				eval('var match = /\\s*\\b'+formElements['usersselect_' + i].value+'\\b,*\\s*/');
				insert = insert.replace(match, '');
			}
		}
	}

	parent.document.getElementById("usersSelect").value = insert;
}

function usersSelectAll (count, strSelectType) {

	var formElements = document.forms['usersselect'].elements;
	var insert = parent.document.getElementById("usersSelect").value;
	var usersCurrent = insert.split(' ');
	var usersHash = new Object();

	parent.document.getElementById("usersSelect").setStyle('display', 'none');
	parent.document.getElementById("usersSelectType").value = 'allusers';
	if (parent.document.getElementById("usersSelectTooltip") != null) {
		parent.document.getElementById("usersSelectTooltip").setStyle('display', 'none');
	}
	if (parent.document.getElementById("usersSelectIcon") != null) {
		parent.document.getElementById("usersSelectIcon").setStyle('display', 'none');
	}
	var newSelectBack = new Element('img', {
		'src' : config["pathSystem"]+'images/icon_delete.gif',
		'alt' : 'Zurücksetzen',
		'class': 'icon'
	});
	newSelectBack.addEvent('click', function(event){
		parent.document.getElementById("usersSelect").setStyle('display', 'inline');
		parent.document.getElementById("usersSelectType").value = '';
		if (parent.document.getElementById("usersSelectTooltip") != null) {
			parent.document.getElementById("usersSelectTooltip").setStyle('display', 'inline');
		}
		if (parent.document.getElementById("usersSelectIcon") != null) {
			parent.document.getElementById("usersSelectIcon").setStyle('display', 'inline');
		}
		parent.document.getElementById('usersSelectMsg').dispose();
	}.bindWithEvent(this));
	var newSelectStr = new Element('span', {'id' : 'usersSelectMsg'}).set('text', strSelectType);
	newSelectBack.inject(newSelectStr);
	newSelectStr.inject(parent.document.getElementById("usersSelectType"), 'before');

	parent.SqueezeBox.close();

}




/*
 * Einstellung aendern
 */

function updateConfig (key, elem) {
	var value = (elem.checked == true) ? elem.value : 0;
	new Request({method: 'get', url: config['fileWeb']}).send('ajax=updateConfig&key='+key+'&value='+value);
}




/*
 * Element anzeigen durch externen Mausklick
 */

function slideOutByElement (elemHide, elemShow) {

	new Fx.Slide(elemHide, {duration: 500}).hide();
	elemShowFx = new Fx.Slide(elemShow, {duration: 500});
	elemShowFx.hide();
	$(elemShow).style.display='block';
	elemShowFx.slideIn();

}


/*
 * Tooltips beim Rendern der Seite anzeigen
 */

window.addEvent('load', function() {
	tooltipObj = new Tips('.tooltip', {className: 'tooltipcont'});
	tooltipObj.addEvent('show', function(tip){
		tip.fade('in');
	});
	tooltipObj.addEvent('hide', function(tip){
		tip.fade('out');
	});
});



/*
 * umfangreiche ID-Card fuer Mitgliederdaten
 *
 * Reihenfolge der Attribute:
 * 1. Name
 * 2. Flag fuer Portraitbild
 * 3. Geschlecht
 * 4. Wohnort
 * 5. freies Feld
 */
var idCard = null;

var Idcard = new Class({

	getOptions: function(){
		return {
			onShow: function(tip){
				tip.setStyle('visibility', 'visible');
			},
			onHide: function(tip){
				tip.setStyle('visibility', 'hidden');
			},
			maxTitleChars: 30,
			showDelay: 100,
			hideDelay: 100,
			className: 'idcard',
			offsets: {'x': 16, 'y': 16},
			fixed: false
		};
	},

	initialize: function(elements, options){
		this.setOptions(this.getOptions(), options);
		this.toolTip = new Element('div').addClass(this.options.className+'-tip').setStyles({
			'position': 'absolute',
			'top': '0',
			'left': '0',
			'visibility': 'hidden'
		}).injectInside(document.body);
		this.wrapper = new Element('div').injectInside(this.toolTip);
		$each(elements, function(el){
			this.build($(el));
		}, this);
		if (this.options.initialize) this.options.initialize.call(this);
	},

	build: function(el){
		el.myNickname = el.href ? el.href.replace('http://', '') : (el.rel || false);
		if (el.title){
			var dual = el.title.split('::');
			if (dual.length > 0) {
				el.myNickname = dual[0].trim();
				el.myPortrait = dual[1].trim();
				el.mySex = dual[2].trim();
				el.myCity = dual[3].trim();
				el.myTooltip = dual[4].trim();
			}
			el.removeAttribute('title');
		} else {
			el.myPortrait = false;
			el.mySex = false;
			el.myCity = false;
			el.myTooltip = false;
		}
		if (el.myNickname && el.myNickname.length > this.options.maxTitleChars) el.myNickname = el.myNickname.substr(0, this.options.maxTitleChars - 1) + "&hellip;";
		el.addEvent('mouseover', function(event){
			this.start(el);
			this.locate(event);
		}.bindWithEvent(this));
		if (!this.options.fixed) el.addEvent('mousemove', this.locate.bindWithEvent(this));
		el.addEvent('mouseout', this.end.bindWithEvent(this));
	},

	start: function(el){
		this.wrapper.set('html', '');
		var idcard = new Element('div').addClass(this.options.className+'-bg').injectInside(this.wrapper)
		if (el.myPortrait){
			var portrait = '';
			if (el.myPortrait != 0) {
				portrait = config["pathPortrait"]+el.myPortrait+'.jpg';
			} else {
				portrait = config["pathSystem"]+'images/user_sex'+el.mySex+'.gif';
			}
			new Element('img').injectInside(
				new Element('div').addClass(this.options.className+'-portrait').injectInside(idcard)
			).setProperty('src', portrait);
		}
		if (el.myNickname){
			new Element('span').addClass(this.options.className+'-nickname').injectInside(idcard).set('html', el.myNickname);
		}
		if (el.myCity){
			new Element('span').addClass(this.options.className+'-city').injectInside(idcard).set('html', el.myCity);
		}
		if (el.myTooltip){
			new Element('span').addClass(this.options.className+'-tooltip').injectInside(idcard).set('html', el.myTooltip);
		}
		$clear(this.timer);
		this.timer = this.show.delay(this.options.showDelay, this);
	},

	end: function(event){
		$clear(this.timer);
		this.timer = this.hide.delay(this.options.hideDelay, this);
		event.stop();
	},

	locate: function(event){
		var win = {'x': window.getWidth(), 'y': window.getHeight()};
		var scroll = {'x': window.getScrollLeft(), 'y': window.getScrollTop()};
		var tip = {'x': this.toolTip.offsetWidth, 'y': this.toolTip.offsetHeight};
		var prop = {'x': 'left', 'y': 'top'};
		for (var z in prop){
			var pos = event.page[z] + this.options.offsets[z];
			if ((pos + tip[z] - scroll[z]) > win[z]) pos = event.page[z] - this.options.offsets[z] - tip[z];
			this.toolTip.setStyle(prop[z], pos + 'px');
		};
		event.stop();
	},

	show: function(){
		this.fireEvent('onShow', [this.toolTip]);
	},

	hide: function(){
		this.fireEvent('onHide', [this.toolTip]);
	}

});

Idcard.implement(new Events);
Idcard.implement(new Options);



/*
 * Sprache aendern
 */

function changeSessionLang (value) {

	new Request.JSON({url: config['fileWeb'], onComplete: function(response){
		if (response.status == "true") {

			window.location.href = document.URL;

		} else {

			alert('Ein Fehler ist leider aufgetreten');

		}
	}}).get({'ajax': 'updateSessionValue', 'key': 'lang', 'value': value});

}


/*
 * Elemente in Session aktualisieren
 */

function changeUsersView (value) {

	new Request.HTML({url:config['fileWeb'], evalResponse: true, update: $('usersListviewChange'), onSuccess: function(resp) { if ($('userslist')) $('userslist').setProperty('class', value);}}).get({'ajax': 'updateSessionValue', 'key': 'usersView', 'value': value});

}



/*
 * Element in Session aktualisieren
 */

function updateSessionValue (element, key, value) {

	new Request.JSON({url: config['fileWeb'], onComplete: function(response){
		if (response.status == "true") {

		} else if (response.status == 'false') {

			alert('Ein Fehler ist leider aufgetreten');

		} else {

			$(element).innerHTML = response.msg;

		}
	}}).get({'ajax': 'updateSessionValue', 'key': key, 'value': value});

}




/*
 * Aktivitaet ausfuehren
 */

var doLangKey = '';
var doActKey = '';
var doIdKey = '';
var doIdValue = '';
var doForward = '';

function doActivity (langKey, actKey, idKey, idValue, forward) {
	doLangKey = langKey;
	doActKey = actKey;
	doIdKey = idKey;
	doIdValue = idValue;
	doForward = forward;
	MessageBox.confirm(lang[langKey+'.confirm'],doActivityReal);
}

function doActivityReal (Check) {

	if (Check == true) {

		var mySpinner = new Spinner(doIdKey+doIdValue, {message: lang[doLangKey+'.working']}).show();

		new Request.JSON({url: config['fileWeb']+'?'+doIdKey+'='+doIdValue, onRequest: function(instance) { mySpinner.show(true); }, onComplete: function(response){
			mySpinner.destroy();
			if (response.status == "true") {
				if (response.forward != '') {
					window.location.href = response.forward;
				} else if (doForward != '') {
					window.location.href = doForward;
				} else {
					if ($(response.idKey+response.idValue)) $(response.idKey+response.idValue).dispose();
					if ($(response.idKeyMore+response.idValueMore)) $(response.idKeyMore+response.idValueMore).dispose();
				}
			} else {
				if (response.msg != '') {
					MessageBox.status(response.msg);
				} else {
					MessageBox.status(lang[response.langKey+'.error']);
				}
			}
		}}).get({'ajax': doActKey, 'langKey': doLangKey, 'forward': doForward});

	}

}




/*
 * Ansicht auf eine Liste aendern
 */

function changeListView (key, value) {

	new Request.HTML({url:config['fileWeb'], update: $(key+'Change'), onSuccess: function(resp) { if ($(key)) $(key).setProperty('class', 'overview'+value); }}).get({'ajax': 'updateSessionValue', 'key': key, 'value': value});


}





/*
 * SqueezeBox fuer iFrames starten
 */
window.addEvent('load', function() {

	SqueezeBox.assign($$('a.boxed'), {
		parse: 'rel'
	});

	SqueezeBox.assign($$('a.portraiticon_email'), {
		parse: 'rel'
	});

	SqueezeBox.assign($$('a[rel=boxed]'));


});




/*
 * ID-Card ausfuehren
 */
window.addEvent('load', function() {
	idCard = new Idcard($$('.idcard'), {
		initialize:function(){
			this.fx = new Fx.Tween(this.toolTip, {property: 'opacity', onStart: Events.prototype.clearChain, duration: 200, link: 'cancel'}).set(0);
		},
		onShow: function(toolTip) {
			this.fx.start(1);
		},
		onHide: function(toolTip) {
			this.fx.cancel();
			this.fx.start(0);
		},
		maxTitleChars: 50
	 });
});




/*
 * Ausrichtung von Bilder ausfuehren
 */

window.addEvent("load", function(){

	['left', 'center', 'right'].each(function(item, index) {

		container = new Element('span', { 'class': 'gupsi_imageSubtitle_'+item});

		$$('.align_'+item).each(function(img) {

			var subtitle = img.getProperty('title');

			if (subtitle != null) {

				imageContainer = container.clone();
				imageContainer.setStyle('width', img.offsetWidth);
				imageContainer.set('text', subtitle);
				img.setProperty('title', '');
				imageContainer.injectAfter(img);
				img.injectTop(imageContainer);

			}
		});
	});

});





/*
 * Suchformular anzeigen
 */

window.addEvent("domready", function(){

	if ($('searchFormEdit')) {

		var showSearchForm = new Fx.Slide('searchForm', {duration: 500}).hide();
		showSearchForm.hide();

		$('searchForm').setStyle('display', 'block');

		$('searchFormEdit').addEvent('click', function(e){

			$('searchFormDetails').dispose();
			$('searchFormButtons').dispose();

			showSearchForm.slideIn();

		});

	}

});



/*
 * Inline Edit
 */

var MooIEdit = new Class({

	options: {
		'input_type' : 'input',
		'ajax' : '',
		'request_options' : {},
		'request_param' : 'value'
	},

	initialize: function(element_id, options){

		this.setOptions(options);

		this.element = $(element_id);

		this.currentValue = this.element.get('text').trim();

		var imgEdit = new Element('img', {
			'src' : config["pathSystem"]+'images/icon_edit.gif',
			'class': 'icon'
		});

		imgEdit.inject(this.element, 'bottom');

		imgEdit.addEvent('click', function(e){
			this.edit();
		}.bind(this));

		this.clone = imgEdit.clone().cloneEvents(imgEdit);

	},

	//Formular fuer Aendern anzeigen
	edit: function(){

		var form_wrapper = new Element('div', {
	    	'class': 'mooiedit_wrapper'
		});

		var input_ext_opt = {};
		var input_base_opt = {
			'name': this.options.request_param,
			'value': this.currentValue
		};

		switch (this.options.input_type){
			case 'textarea':
				input_ext_opt = {'cols': '5', 'rows': '2'};
				break;

			default:
				input_ext_opt = {'type': 'text', 'class': 'text'};
				break;
		}

		this.form_input = new Element(this.options.input_type, $merge(input_base_opt, input_ext_opt));

		var form_submit = new Element('input', {
			'type': 'submit',
			'value': 'Speichern',
			'class': 'button',
			'events': {
				'click': function(){ this.save() }.bind(this)
			}
		});

		var form_reset = new Element('input', {
			'type': 'reset',
			'value': 'Abbrechen',
			'class': 'buttonsec',
			'events': {
				'click': function(){ this.cancel() }.bind(this)
			}
		});

		this.element.empty();
		this.element.adopt(form_wrapper);
		this.form_input.injectInside(form_wrapper);
		form_submit.injectInside(form_wrapper);
		form_reset.injectInside(form_wrapper);
	},

	//Aenderungen zuruecksetzen
	cancel: function(){

		this.hideForm();

	},

	//Aenderungen speichern
	save: function(){

		this.currentValue = this.form_input.getProperty('value');

		this.hideForm();
		var element = this.element;
		var clone = this.clone;
		var ajax = this.options.ajax;

		new Request.JSON({url: config['fileWeb']+'?ajax='+this.options.ajax+'&user_id='+element.getProperty('rel'), onRequest: function(instance) { clone.setProperty('src', config["pathSystem"]+'images/spinner.gif'); }, onComplete: function(response){
			if (response.status == "true") {
				clone.setProperty('src', config["pathSystem"]+'images/icon_edit.gif');
			} else {
			}
		}}).post({'value': this.currentValue});

	},

	//Formular loeschen
	hideForm: function(){

		this.element.empty();
		this.setText();

	},

	//Text anzeigen
	setText: function(custom_value){

		this.element.set('html', this.currentValue);

		this.clone.inject(this.element, 'bottom');

	}

});

MooIEdit.implement(new Options, new Events);





/*
 * Aktivitaetsrad erzeugen
 */

function createSpinner (imgFile, container, position) {

	if ($(container) != null) {

		var imgEdit = new Element('img', {
			'src' : config["pathSystem"]+'images/'+imgFile,
			'class': 'edit'
		});

		imgEdit.inject($(container), position);

	}

}



/*
 * Statusmeldung
 */

window.addEvent("load", function(){

	if ($('doneList') != null) {

		if ($('doneList').hasClass('error')) {

			var positionError = $$('li span.error').getPosition();

			if (positionError.length > 0) {

				$('statusError').setStyle('display', 'inline');

				$('statusError').addEvent('click', function(e){

					window.scrollTo(positionError[0].x, positionError[0].y-150);

				});

			}

		}

		if ($('statusClose') != null) {

			$('statusClose').setStyle('display', 'block');

			$('statusClose').addEvent('click', function(e){

				$('doneList').dispose();
				//new Fx.Slide('doneList', {duration: 1000}).slideOut();

			});

		}

	}

});




/*
 * Angaben zu einer Telefonnummer per Ajax pruefen
 */

function checkFormPhone (field) {

	new Request.JSON({url: config['fileWeb']+'?ajax=checkFormPhone', onComplete: function(response){

		if (response.status == "true") {

			if ($(field+'_li').hasClass('error')) {

				$(field+'_li').removeClass('error');
				$(field+'_error').dispose();

			}

		} else if (response.status == "false") {

			if (!$(field+'_li').hasClass('error')) {

				$(field+'_li').addClass('error');

				var errorElement  = new Element('span', {'id': field+'_error', 'class': 'error'});
				errorElement.set('html', response.msg);
				errorElement.inject($(field+'_li'), 'bottom');

			} else {

				$(field+'_error').set('html', response.msg);

			}

		}

	}}).post({'country': $(field+'country').value, 'city': $(field+'city').value, 'number': $(field+'number').value});

}



/*
 * Angaben zu einer ganzen Zahl per Ajax pruefen
 */

function checkFormNumber (field) {

	checkFormNumberReal(field, field+'_li');

}

function checkFormNumberReal (field, fieldLi) {

	new Request.JSON({url: config['fileWeb']+'?ajax=checkFormNumber', onComplete: function(response){

		if (response.status == "true") {

			if ($(fieldLi).hasClass('error')) {

				$(fieldLi).removeClass('error');
				$(fieldLi+'_error').dispose();

			}

		} else if (response.status == "false") {

			if (!$(fieldLi).hasClass('error')) {

				$(fieldLi).addClass('error');

				var errorElement  = new Element('span', {'id': fieldLi+'_error', 'class': 'error'});
				errorElement.set('html', response.msg);
				errorElement.inject($(fieldLi), 'bottom');

			} else {

				$(fieldLi+'_error').set('html', response.msg);

			}

		}

	}}).post({'value': $(field).value});

}


/*
 * Angaben zu einer Fließzahl per Ajax pruefen
 */

function checkFormFloat (field) {

	new Request.JSON({url: config['fileWeb']+'?ajax=checkFormFloat', onComplete: function(response){

		if (response.status == "true") {

			if ($(field+'_li').hasClass('error')) {

				$(field+'_li').removeClass('error');
				$(field+'_error').dispose();

			}

		} else if (response.status == "false") {

			if (!$(field+'_li').hasClass('error')) {

				$(field+'_li').addClass('error');

				var errorElement  = new Element('span', {'id': field+'_error', 'class': 'error'});
				errorElement.set('html', response.msg);
				errorElement.inject($(field+'_li'), 'bottom');

			} else {

				$(field+'_error').set('html', response.msg);

			}

		}

	}}).post({'value': $(field).value});

}


/*
 * Groesse im Inhaltsbereich im Popup anpassen
 */

function popupResize () {

	var size = $('content').getSize();
	size.x += 100;
	size.y += 50;
	parent.SqueezeBox.asset.setProperty('width',size.x);
	parent.SqueezeBox.asset.setProperty('height',size.y);
	parent.SqueezeBox.resize(size);

}

function popupResizeExact (x, y) {

	var size = $('content').getSize();
	if (x != '') {
		size.x = x;
	} else {
		size.x += 100;
	}
	if (y != '') {
		size.y = y;
	} else {
		size.y += 30;
	}
	parent.SqueezeBox.asset.setProperty('width',size.x);
	parent.SqueezeBox.asset.setProperty('height',size.y);
	parent.SqueezeBox.resize(size);

}


/*
 * ausgewaehlter Inhalt einem Inhalt zuordnen
 */

function contentSelectAdd (item, key) {

	var id = item.getProperty('name').replace(/contentId/, '');

	parent.document.getElementById(key+'_content_preview').set('html', '<a href="'+$('contentId'+id+'Title').getProperty('href')+'" target="_blank">'+$('contentId'+id+'Title').get('html')+'</a>');
	parent.document.getElementById(key+'_content_preview').setStyle('display', 'inline');
	parent.document.getElementById(key+'_contentid').value = id;
	parent.SqueezeBox.close();

}





/*
 * optionale, durch Checkboxen gesteuerte Zusatzfelder verbergen bzw. anzeigen
 */

window.addEvent("domready", function(){

	$$('.checktrue').each(function(item) {

		var id = item.getProperty('id');

		if (id != null) {

			if (item.checked == false) {
				if ($(id+'_true').match('div')) {
					$(id+'_true').setStyle("display", "none");
				} else {
					$(id+'_true').setStyle("visibility", "hidden");
				}
			}

			item.addEvent('click', function(e){

				if (item.checked == false) {
					if ($(id+'_true').match('div')) {
						$(id+'_true').setStyle("display", "none");
					} else {
						$(id+'_true').setStyle("visibility", "hidden");
					}
				} else {
					if ($(id+'_true').match('div')) {
						$(id+'_true').setStyle("display", "block");
					} else {
						$(id+'_true').setStyle("visibility", "visible");
					}

				}

			}.bind(this));

		}
	});

});




/*
 * Ajax-Requests anzeigen und bearbeiten
 */

window.addEvent("domready", function(){

	$$('.ajaxrequest').each(function(item) {

		item.setStyle('display', 'inline');

		var rel = item.getProperty('rel');

		if (rel != null) {

			item.addEvent('click', function(e){

				var tmp = item.get('html');

				new Request.JSON({url: config['fileWeb'], onRequest: function(instance) { item.set('html', '<img src="'+config["pathSystem"]+'images/spinner.gif" class="icon" alt="" />'); }, onComplete: function(response){

					//erfolgreicher Request
					if (response.status == "true") {

						if (response.updateIdValue != '' && $(response.updateId) != '') {

							if ($(response.updateId) != null) $(response.updateId).value = response.updateIdValue;

						}

					} else {

						//Fehlermeldung ausgeben
						alert(response.errormsg);

					}

					//Inhalt zuruecksetzen
					item.set('html', tmp);

				}}).get({'ajax': rel});

				return false;

			}.bind(this));

		}
	});

});


/*
 * Hoehe des Inhaltsbereiches aktualisieren
 *

window.addEvent("load", function(){ contentResize(); });
window.addEvent("resize", function(){ contentResize(); });

function contentResize () {

	if ($('page_margins')) {
		var size = document.getSize();
		var pageMargins = $('page_margins').getSize();
		if (pageMargins.y < size.y) {
			$('page_margins').setStyle('height', size.y);

			//Inhaltsbereich anpassen
			var header = $('header').getComputedSize();
			var subnavi = ($('subnavi')) ? $('subnavi').getComputedSize() : $('subnaviempty').getComputedSize();
			var page = $('page').getComputedSize();
			if (header.totalHeight+page.totalHeight+subnavi.totalHeight < size.y) {
				$('page').setStyle('height', size.y-header.totalHeight-subnavi.totalHeight);
			}
		}
	}
}
*/


/*
 * Ansicht auf eine Statistik aendern
 */

function changeChartView (id, view) {

	['yesterday', 'week', 'month', 'year'].each(function(item, index) {

		if ($(id+'-'+item) != null) {
			if (!$(id+'-'+item).hasClass('hidden')) $(id+'-'+item).addClass('hidden');
			if (item == view) $(id+'-'+item).removeClass('hidden');
		}

		if ($(id+'-'+item+'-more') != null) {
			if (!$(id+'-'+item+'-more').hasClass('hidden')) $(id+'-'+item+'-more').addClass('hidden');
			if (item == view) $(id+'-'+item+'-more').removeClass('hidden');
		}

	});

	return false;
}




/*
 * Slider fuer das Bearbeiten von ueberlangen Navigationen
 */

window.addEvent("load", function(){

	//Slider fuer Hauptnavigation
	if ($('navi') && $('navi').hasClass('edit')) {

		var naviWidth = 20;
		var naviCount = 0;
		var naviPosition = 0;
		var naviCurrent = 0;
		var naviElements = [];

		$$('#navilist li').each(function(item) {
			naviWidth += item.getComputedSize().totalWidth + 2;
			naviElements.push(item.getProperty('id'));
			naviCount++;
		});

		if (naviWidth > $('navilist').getComputedSize().totalWidth) {

			$('navislider').setStyle('width', $('navilist').getStyle('width'));
			$('navilist').setStyle('width', naviWidth+'px');

			var myFx = new Fx.Scroll('navislider', { duration: 500, wait: true });

			var iconSliderRight = new Element('img', {
				'src' : config["pathSystem"]+'images/icon_slideright.gif',
				'class': 'sliderright'
			});
			var iconSliderLeft = new Element('img', {
				'src' : config["pathSystem"]+'images/icon_slideleft.gif',
				'style' : 'display: none;',
				'class': 'sliderleft'
			});

			iconSliderRight.addEvent('click', function(event){


				naviCurrent++;
				myFx.toElement(naviElements[naviCurrent]);
				(function(){ 
					if (naviWidth + $(naviElements[0]).getPosition('navi').x - 25 < $('navislider').getComputedSize().totalWidth) {
						iconSliderRight.setStyle('display', 'none');
						iconSliderLeft.setStyle('display', 'inline');
					} else {
						iconSliderLeft.setStyle('display', 'inline');
					}
				}).delay(550);

			}.bindWithEvent(this));

			iconSliderLeft.addEvent('click', function(event){

				naviCurrent--;
				myFx.toElement(naviElements[naviCurrent]);
				(function(){ 
					if ($(naviElements[0]).getPosition('navi').x >= -25) {
						iconSliderLeft.setStyle('display', 'none');
						iconSliderRight.setStyle('display', 'inline');
					} else {
						iconSliderRight.setStyle('display', 'inline');
					}
				}).delay(550);
			}.bindWithEvent(this));

			iconSliderRight.inject($('navi'));
			iconSliderLeft.inject($('navi'));

		}

	}

	//Slider fuer Unternavigation
	if ($('subnavi') && $('subnavi').hasClass('edit')) {

		var subNaviWidth = 0;
		var subNaviCount = 0;
		var subNaviPosition = 0;
		var subNaviCurrent = 0;
		var subNaviElements = [];

		$$('#subnavilist li').each(function(item) {
			subNaviWidth += item.getComputedSize().totalWidth + 10;
			subNaviElements.push(item.getProperty('id'));
			subNaviCount++;
		});

		if (subNaviWidth > $('subnavilist').getComputedSize().totalWidth) {

			$('subnavislider').setStyle('width', $('subnavilist').getStyle('width'));
			$('subnavilist').setStyle('width', subNaviWidth+'px');

			var myFx = new Fx.Scroll('subnavislider', { duration: 500, wait: true });

			var iconSliderRight = new Element('img', {
				'src' : config["pathSystem"]+'images/icon_slideright_s.gif',
				'class': 'sliderright'
			});
			var iconSliderLeft = new Element('img', {
				'src' : config["pathSystem"]+'images/icon_slideleft_s.gif',
				'style' : 'display: none;',
				'class': 'sliderleft'
			});

			iconSliderRight.addEvent('click', function(event){

				subNaviCurrent++;
				myFx.toElement(subNaviElements[subNaviCurrent]);
				(function(){ 
					if (subNaviWidth + $(subNaviElements[0]).getPosition('subnavi').x - 5 < $('subnavislider').getComputedSize().totalWidth) {
						iconSliderRight.setStyle('display', 'none');
					} else {
						iconSliderLeft.setStyle('display', 'inline');
					}
				}).delay(550);

			}.bindWithEvent(this));

			iconSliderLeft.addEvent('click', function(event){

				subNaviCurrent--;
				myFx.toElement(subNaviElements[subNaviCurrent]);
				(function(){ 
					if ($(subNaviElements[0]).getPosition('subnavi').x >= 0) {
						iconSliderLeft.setStyle('display', 'none');
					} else {
						iconSliderRight.setStyle('display', 'inline');
					}
				}).delay(550);
			}.bindWithEvent(this));

			iconSliderRight.inject($('subnavi'));
			iconSliderLeft.inject($('subnavi'));

		}

	}

});
