var MyFormID = 'MyForm';
var MyFormLang = 'de';

var MyFormTranslationTable = {
	'de' : {
		'delete_it':'Wirklich löschen?',
		'':''
	},
	'en' : {
		'delete_it':'Remove? Really?',
		'':''
	}
};

function MyForm_toggle_checkbox(id) {
	var el = document.forms[MyFormID].elements[id]; if (el) el.checked=!el.checked;
}

function page_offset() {
  var X = 0; var Y = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    Y = window.pageYOffset;
    X = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    Y = document.body.scrollTop;
    X = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    Y = document.documentElement.scrollTop;
    X = document.documentElement.scrollLeft;
  }
  return (0+X)+','+(0+Y);
}

function goto_url(ref) {
	var f = document.forms[MyFormID];
	var oldOffsetValues = '';
	if (f.elements["PageOffsets"]) oldOffsetValues = f.elements["PageOffsets"].value;
	var ref_ext = 'PageOffsets='+oldOffsetValues+encodeURIComponent(';'+location.pathname+':'+page_offset());
	location.href=ref+((ref.match(/\?/)) ? '&':'?')+ref_ext+((arguments.length>1) ? arguments[1]:'');
}
/*
function ReturnableCall(ref) {
	var f = document.forms[MyFormID];
	var oldOffsetValues = '';
	var teilnehmer_ref = '';
	if (f.teilnehmer_id && !ref.match(/teilnehmer_id=/)) teilnehmer_ref = '&teilnehmer_id=' + f.teilnehmer_id.value;
	if (f.page_offsets) oldOffsetValues = f.page_offsets.value;
	var ref_ext = 'direct_called=1&direct_caller='+encodeURIComponent(location.pathname)+teilnehmer_ref+'&page_offsets='+oldOffsetValues+encodeURIComponent(';'+location.pathname+':'+page_offset());
	location.href=ref+((ref.match(/\?/)) ? '&':'?')+ref_ext+((arguments.length>1) ? arguments[1]:'');
}
*/
function ReturnableCall(ref) {
	var options = arguments[1];
	if (options == undefined) options = {};
	var f = document.forms[MyFormID];
	var oldOffsetValues = '';
	if (f && f.elements["PageOffsets"]) oldOffsetValues = f.elements["PageOffsets"].value;
	var stack = '';
	var newURL = document.URL;
	newURL = newURL.replace(/^https?:\/\/[^\/]*(.*?)/,'');
	newURL = newURL.replace(/#\w+/,'');
	if (f && !newURL.match(/\?/)) if (f.direct_called && f.direct_called.value && f.direct_called.value.length) newURL = f.direct_called.value;
	newURL = reject_param(newURL,'forced_offset');
	newURL = reject_param(newURL,'article_id');
	newURL = reject_param(newURL,'clang');
	var article_id = '';
	if (f && f.elements["article_id"]) {
		//article_id = ((newURL.match(/\?/)) ? '&':'?') + 'article_id=' + f.elements["article_id"].value;
		article_id = '&article_id=' + f.elements["article_id"].value;
	} else {
		article_id = document.URL.replace(/.*?article_id=(\d+).*/,'&article_id=$1');
	}
	newURL = newURL + article_id;
	if (f && f.direct_caller && f.direct_caller.value) {
		if (options['caller_wait_for']) newURL = reject_param(newURL,options['caller_wait_for']);
		newURL = newURL.replace(/index\.php\??(&(amp;)?)+/,'index.php?');
		stack = '&direct_called=1&direct_caller='+encodeURIComponent(newURL)+ '&prev_call=' + encodeURIComponent(f.direct_caller.value) + ((f.caller_offset) ? '&prev_offset=' + encodeURIComponent(f.caller_offset.value):'');
	} else  {
		newURL = newURL.replace(/index\.php\??(&(amp;)?)+/,'index.php?');
		stack = 'direct_called=1&direct_caller='+encodeURIComponent(newURL);
	}
	var curr_offset = page_offset();
	var has_offset=!(curr_offset=='0,0');
	var ref_ext = ((has_offset) ? '&caller_offset='+curr_offset:'')+((options['caller_wait_for']) ? '&caller_wait_for='+options['caller_wait_for']:'');
	ref_ext = ref_ext + ((ref.match(/\?/)) ? '&':'?') + stack;
	// +'&PageOffsets='+oldOffsetValues+encodeURIComponent(';'+location.pathname+':'+page_offset());
	ref = ref+ref_ext+((options['add_string']) ? options['add_string']:'');
	ref = ref.replace(/index\.php\?(&(amp;)?)+/,'index.php?');
	if (options['do_command']) {
		do_command(options['do_command'],ref);
	} else location.href=ref;
}

function reject_param(URL,name) {
	var intro = '&'+name+'=';
	var start = URL.indexOf(intro);
	if (start<0) {
		intro = '?'+name+'=';
		start = URL.indexOf(intro);
	}
	if (start>-1) {
		var subURL = URL.substr(start+intro.length);
		subURL = subURL.replace(/[^\?\&]*/,'');
		return URL.substr(0,start)+subURL;
	} else return URL;
}

function add_page_offset() {
	var f = document.forms[MyFormID];
	var oldOffsetValues = '';
	if (f.elements["PageOffsets"]) {
		f.elements["PageOffsets"].value = page_offset();
	}
	/*
	if (f.elements["PageOffsets"]) {
		f.elements["PageOffsets"].value = f.elements["PageOffsets"].value + ';'+location.pathname+':'+page_offset();
	}
	*/
}

function do_command(com) {
	var f = document.forms[MyFormID];
	if (f && f != 'undefined') {
		if (f.com) f.com.value=com;
		if (arguments.length>1 && f.com_arg) f.com_arg.value=arguments[1];
		if (f.com_time) {
			var t = new Date();
			f.com_time.value=t.getUTCFullYear()+'-'+t.getUTCMonth()+'-'+t.getUTCDate()+' '+t.getUTCHours()+':'+t.getUTCMinutes()+':'+t.getUTCSeconds()+':'+t.getUTCMilliseconds();
		}
		add_page_offset();
		if (f.onsubmit) {var r = f.onsubmit(); if (r) f.submit();}
		else f.submit();
		 // alert(f.onsubmit);
	}
}

function do_confirmed_command(msg,com) {
	if (confirm(msg)) {
		var f = document.forms[MyFormID];
		if (f.com) f.com.value=com;
		if (arguments.length>2 && f.com_arg) f.com_arg.value=arguments[2];
		if (f.com_time) {
			var t = new Date();
			f.com_time.value=t.getUTCFullYear()+'-'+t.getUTCMonth()+'-'+t.getUTCDate()+' '+t.getUTCHours()+':'+t.getUTCMinutes()+':'+t.getUTCSeconds()+':'+t.getUTCMilliseconds();
		}
		add_page_offset();
		if (f.onsubmit) {var r = f.onsubmit(); if (r) f.submit();}
		else f.submit();
		 // alert(f.onsubmit);
	}
}

function delete_it(id) {
	if (confirm(MyFormTranslationTable[MyFormLang]['delete_it_question']))
		do_command('delete',id);
}

function save_it() {
	do_command('save',arguments[0]);
}

function show_element(id) {
	var d=document.getElementById(id);
	if (d && d.style) document.getElementById(id).style.display = '';
}

function hide_element(id) {
	var d=document.getElementById(id);
	if (d && d.style) document.getElementById(id).style.display = 'none';
}

function toggle_element(id) {
	var d = document.getElementById(id);
	if (d && d.style)
		if (d.style.display=='none') d.style.display = '';
		else d.style.display = 'none';
}

function mark_field_labels_as_must() {
	for(var i=0; i < arguments.length; i++) {
		var label_id = 'Label_'+arguments[i];
		var d = document.getElementById(label_id);
		if (d) {
			var t = d.innerHTML;
			if (t.substr(t.length-1,1)=='*') return;
			d.innerHTML = t + '*';
		}
	}
}

function confirm_selection_change(id,def_val) {
	if (confirm("Sind Sie sicher?")) {
		
	} else {
		
		var s = document.getElementById(id);
		if (s && s.tagName=='SELECT') {
			for(var i=0; i<s.options.length; i++) {
				if (s.options[i].value!=def_val) s.options[i].selected = false;
				else s.options[i].selected = true;
			}
		}
		
	}
}

function goto_page(nr) {
	var f = document.forms[MyFormID];
	if (f) {
		f.com.value = 'goto';
		f.com_arg.value = nr;
		f.submit();
	}
}


