var sticky_fade = 500;
function init_content(pref) {
	if ( pref==null ) pref='';
	$(pref+'.stikcybutton, .sticky_bar img').bind('click',function() { toggleSticky(this.id); });
	$(pref+'.resourcebutton,'+pref+'.enlarge_image').bind('click',function() { toggleResource(this.id); });
	$(pref+'.metabutton').bind('click',function() { toggleMeta(this.id,this.getAttribute('loadsrc')); });
	$(pref+'.sticky').Drags({
		opacity:.8,
		handler: '.sticky_bar'
	});
	$(pref+'.attext p:last').css({'margin-bottom':0,'display':'inline'});
}
function toggleSticky(id) {
	var sid = id.split('_').slice(0,-1).join('_');
	var sjq = $('#'+sid);
	if ( sjq.css('display')=='none' ) {
		var pos =  $('#'+sid+'_button').position();
		var top = pos.top;
		if ( sjq.outerHeight()+top > $('#content_content').height() + $('#header').height()) {
			top = Math.max(
				$('#content_content').height() + $('#header').height() - sjq.outerHeight() + sjq.find('.sticky_space div').outerHeight(),
				$('#header').height()
			);
		}
		var left = pos.left;
		var offset_left = $('#site_content').offset().left;
		if ( sjq.outerWidth()+left+offset_left > $('body').width()) {
			left = Math.max(
				$('body').width() - sjq.outerWidth(),
				($('body').width() - $('#site_content').width())/2
			);
		}
		sjq.css({left: left, top: top});
		if ( sjq.outerWidth() + pos.left > $('#contents').innerWidth()) {
			sjq.width( $('#contents').innerWidth() + $('#contents').position().left - pos.left );
		}
		sjq.fadeIn(sticky_fade);
	} else {
		sjq.fadeOut(sticky_fade);
	}
}
function toggleResource(id) {
	var sid = id.split('_').slice(0,-1).join('_');
	if ( $('#resource .resource_bar').length ) {
		$('#resource').animate( { height: 0 }, 'standard', function() {
			$('#resource')
				.empty()
				.hide();					
		} );
	} else {
		$('#resource')
			.html( '<div class="resource"><div class="resource_bar"><div class="resource_close" id="'+sid+'_close"><'+'/div><'+'/div>'+$('#'+sid).html()+'<'+'/div>' )
			.show()
			.animate( { height: $('#resource .resource').outerHeight() } );
		$('.resource_close').bind('click',function() { toggleResource(this.id); });
	}
}
function toggleMeta(id, src) {
	var sid = id.split('_').slice(0,-1).join('_');
	var sjq = $('#'+sid);
	if ( sjq.css('display')=='none' ) {
		$.ajax({ url: "/mediatheek/metadata/?src="+escape(src), success: function(data) {
			$('#'+sid+' .sticky_content').html(data);
			var pos =  $('#'+sid+'_button').position();
			sjq.css({left: pos.left, top: pos.top});
			if ( sjq.outerWidth() + pos.left > $('#contents').innerWidth()) {
				sjq.width( $('#contents').innerWidth() + $('#contents').position().left - pos.left );
			}
			sjq.fadeIn(sticky_fade);
		} } );
	} else {
		sjq.fadeOut(sticky_fade);
	}
}
function login_status(frm_status, frm_error) {
	if (frm_status) {
		location.reload();
	} else {
		alert(frm_error);
	}
}
logout_status = login_status;


// xAjax Stuff
function switchlang(href, page) {
	var lang = href.substr(href.length-3,2);
	xajax.call('custom_xajax#switchlang', [ lang, page ], 1);
	return false;
}

function submitForm(e, additional_cf ) {
	if (e && e.tagName == 'FORM') {
		if(!ValidateForm(e)) return false;
		var formElements = e.elements;
		var target_cf = formElements['target_cf'] ? formElements['target_cf'].value : additional_cf;
		if(target_cf) {
			var chksum = location.hostname;
			formElements['checksum'].setAttribute("value",chksum);
			xajax.call(target_cf, new Array(xajax.getFormValues(e)), 1);
		} else {
			alert('submitForm: No valid arguments');
		}
	} else {
		alert('submitForm: No valid FORM object');
	}
	return false;
}


function ValidateForm(e) {
	var msg = '';
	var chk = '';
	var focusfld = '';
	var i,ii,x;
	var rclist = [];
	var val = '';
	for(i=0;i<e.length;i++) {
		if (chk = e[i].getAttribute('inpchk')) {
			e[i].className = e[i].className.replace('mandatory','');
			if ((chk == 'notempty')) {
				if (e[i].type == 'checkbox') {
					val = (e[i].checked) ? '1' : '';
				} else {
					val = e[i].value;
				}
				if (val == '') {
					if (focusfld == '') focusfld = e[i].name;
					msg += e[i].getAttribute('chkmsg')+"\n";
					e[i].className += ' mandatory';
				}
			}
			if ((chk == 'minmaxlen')) {
				var min = e[i].getAttribute('minlen');
				var max = e[i].getAttribute('maxlen');
				if (e[i].value.length < min) {
					msg += e[i].getAttribute('chkmsg')+"\n";
					if (focusfld == '') focusfld = e[i].name;
					e[i].className += ' mandatory';
				}
				if (e[i].value.length > max) {
					msg += e[i].getAttribute('maxmsg')+"\n";
					if (focusfld == '') focusfld = e[i].name;
					e[i].className += ' mandatory';
				}
			}
			if ((chk == 'radiovalue')) {
				if (rclist[e[i].name] == 1) continue;
				rclist[e[i].name] = 1;
				x = e[e[i].name];
				if (!!x[0]) {
					for(ii=0;ii<x.length;ii++) {
						x[ii].className = x[ii].className.replace('mandatory','');
					}
					val = false;
					for(ii=0;ii<x.length;ii++) {
						if (x[ii].checked) val = true;
					}
					if (!val) {
						for(ii=0;ii<x.length;ii++) {
							x[ii].className += ' mandatory';
						}
						if (focusfld == '') focusfld = i;
						msg += e[i].getAttribute('chkmsg')+"\n";
					}
				}
			}
		}
	}
	if (msg) {
		alert(msg);
		e[focusfld].scrollIntoView(false);
		try {
			e[focusfld].focus();
		} catch(e) {}
		return false;
	}
	return true;
}

