

function addSmiley(sign)
{
  document.getElementById('text').value = document.getElementById('text').value + ' ' + sign;
}

function text_tools_highlight(span,h)
{
  if(h==1)
  {
    span.style.backgroundColor = '#C0D0EE';
	span.style.borderColor  = '#306AC5';
	span.style.borderWidth = '1px';
	span.style.borderStyle = 'solid';
	span.style.padding = '0px';
  } else
  {
    span.style.backgroundColor = '';
	span.style.borderWidth = '0px';
	span.style.borderStyle = 'solid';
	span.style.padding = '1px';
  }
}

function text_tools_insert_tagx(start_tag,end_tag)
{
  var txt = document.getElementById('text');

  if (txt.createTextRange){
   txt.caretPos = document.selection.createRange().duplicate();
  }

  if(txt.createTextRange && txt.caretPos && txt.caretPos.text != '')
  {
	txt.caretPos.text = start_tag + txt.caretPos.text + end_tag;
  } else
  {
    txt.value += start_tag + end_tag;
  }
  alert(txt.caretPos.text.length);
}


function text_tools_insert_tag(start_tag,end_tag)
{
  var txt = document.getElementById('text');
  if (txt.createTextRange) txt.caretPos = document.selection.createRange().duplicate();

  if(txt.selectionEnd && (txt.selectionEnd - txt.selectionStart > 0))
  {
    // Mozilla
	var start = (txt.value).substring(0, txt.selectionStart);
	var middle = (txt.value).substring(txt.selectionStart, txt.selectionEnd);
	var end = (txt.value).substring(txt.selectionEnd, txt.textLength);
	txt.value = start + start_tag + middle + end_tag + end;
  }
  else if(txt.createTextRange && txt.caretPos && txt.caretPos.text != '')
  {
    // IE
	txt.caretPos.text = start_tag + txt.caretPos.text + end_tag;
  }
  else
  {
    txt.value += start_tag + end_tag;
  }
}

function text_tools_insert_link()
{
  var txt = document.getElementById('text');
  if(txt.createTextRange) txt.caretPos = document.selection.createRange().duplicate();

  if(txt.selectionEnd && (txt.selectionEnd - txt.selectionStart > 0))
  {
    // Mozilla
	var start = (txt.value).substring(0, txt.selectionStart);
	var middle = (txt.value).substring(txt.selectionStart, txt.selectionEnd);
	var end = (txt.value).substring(txt.selectionEnd, txt.textLength);
	var l_title = prompt('Linktitel (optional)',middle);
	var l_link = prompt('Link URL','http://');
	if(l_link == 'http://' || l_link == '' || l_link == null) l_link = '';
	if(l_title && l_link) txt.value = start + '[url=' + l_link + ']' + l_title + '[/url]' + end;
	else if(l_link != '') txt.value = start + '[url]' + l_link + '[/url]' + end;
  }
  else if(txt.createTextRange && txt.caretPos && txt.caretPos.text != '')
  {
    // IE
	var l_title = prompt('Linktitel (optional)',txt.caretPos.text);
	var l_link = prompt('Link URL','http://');
	if(l_link == 'http://' || l_link == '' || l_link == null) l_link = '';
	if(l_title && l_link) txt.caretPos.text = '[url=' + l_link + ']' + l_title + '[/url]';
	else if(l_link != '') txt.caretPos.text = '[url]' + l_link + '[/url]';
  }
  else
  {
	var l_title = prompt('Linktitel (optional)','');
	var l_link = prompt('Link URL','http://');
	if(l_link == 'http://' || l_link == '' || l_link == null) l_link = '';
	if(l_title && l_link) txt.value += '[url=' + l_link + ']' + l_title + '[/url]';
	else if(l_link != '') txt.value += '[url]' + l_link + '[/url]';
  }
}

function text_tools_insert_email()
{
  var txt = document.getElementById('text');
  if(txt.createTextRange) txt.caretPos = document.selection.createRange().duplicate();

  if(txt.selectionEnd && (txt.selectionEnd - txt.selectionStart > 0))
  {
    // Mozilla
	var start = (txt.value).substring(0, txt.selectionStart);
	var middle = (txt.value).substring(txt.selectionStart, txt.selectionEnd);
	var end = (txt.value).substring(txt.selectionEnd, txt.textLength);
	var l_title = prompt('Linktitel (optional)',middle);
	var l_link = prompt('E-Mail Adresse','');
	if(l_link == 'http://' || l_link == '' || l_link == null) l_link = '';
	if(l_title && l_link) txt.value = start + '[url=mailto:' + l_link + ']' + l_title + '[/url]' + end;
	else if(l_link != '') txt.value = start + '[url=mailto:' + l_link + ']' + l_link + '[/url]' + end;
  }
  else if(txt.createTextRange && txt.caretPos && txt.caretPos.text != '')
  {
    // IE
	var l_title = prompt('Linktitel (optional)',txt.caretPos.text);
	var l_link = prompt('E-Mail Adresse','');
	if(l_link == 'http://' || l_link == '' || l_link == null) l_link = '';
	if(l_title && l_link) txt.caretPos.text = '[url=mailto:' + l_link + ']' + l_title + '[/url]';
	else if(l_link != '') txt.caretPos.text = '[url=mailto:' + l_link + ']' + l_link + '[/url]';
  }
  else
  {
	var l_title = prompt('Linktitel (optional)','');
	var l_link = prompt('E-Mail Adresse','');
	if(l_link == 'http://' || l_link == '' || l_link == null) l_link = '';
	if(l_title && l_link) txt.value += '[url=mailto:' + l_link + ']' + l_title + '[/url]';
	else if(l_link != '') txt.value += '[url=mailto:' + l_link + ']' + l_link + '[/url]';
  }
}

function text_tools_insert_quote()
{
  var txt = document.getElementById('text');
  if(txt.createTextRange) txt.caretPos = document.selection.createRange().duplicate();

  if(txt.selectionEnd && (txt.selectionEnd - txt.selectionStart > 0))
  {
    // Mozilla
	var start = (txt.value).substring(0, txt.selectionStart);
	var middle = (txt.value).substring(txt.selectionStart, txt.selectionEnd);
	var end = (txt.value).substring(txt.selectionEnd, txt.textLength);
	var q_text = prompt('Zitattext',middle);
	var q_autor = prompt('Autor des Zitats (optional)','');
	if(q_text == '' || q_text == null) q_text = '';
	if(q_text && q_autor) txt.value = start + '[quote=' + q_autor + ']' + q_text + '[/quote]' + end;
	else if(q_text != '') txt.value = start + '[quote]' + q_text + '[/quote]' + end;
  }
  else if(txt.createTextRange && txt.caretPos && txt.caretPos.text != '')
  {
    // IE
	var q_text = prompt('Zitattext',txt.caretPos.text);
	var q_autor = prompt('Autor des Zitats (optional)','');
	if(q_text == '' || q_text == null) q_text = '';
	if(q_text && q_autor) txt.caretPos.text = '[quote=' + q_autor + ']' + q_text + '[/quote]';
	else if(q_text != '') txt.caretPos.text = '[quote]' + q_text + '[/quote]';
  }
  else
  {
	var q_text = prompt('Zitattext','');
	var q_autor = prompt('Autor des Zitats (optional)','');
	if(q_text == '' || q_text == null) q_text = '';
	if(q_text && q_autor) txt.value += '[quote=' + q_autor + ']' + q_text + '[/quote]';
	else if(q_text != '') txt.value += '[quote]' + q_text + '[/quote]';
  }
}

function toggle_layer(id,st)
{
  var layer = document.getElementById(id);
  if(st==1)
  {
    layer.style.display = 'block';
	layer.style.visibility = 'visible';
  }
  else
  {
    layer.style.display = 'none';
	layer.style.visibility = 'hidden';
  }
}

function url_confirm(url)
{
  if(confirm('Sicher dass du da klicken wolltest?')) document.location.href=url;
  return false;
}




function opacity(id, opacStart, opacEnd, millisec) {
	opacity_fps(id, opacStart, opacEnd, millisec);
}

function dummy_opa() {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			i--;
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			i++;
            timer++;
        }
    }
}


function opacity_fps(id, opacStart, opacEnd, millisec) {
	var deffps = 20;
	var minframetime = millisec / (Math.abs(opacEnd - opacStart));
	var fps = 1000 / minframetime;
	if(fps > deffps) fps = deffps;
	var frametime = 1000 / fps;
	var dx = (opacEnd - opacStart) / millisec;
	var end = Math.round(millisec / frametime);
	var opac = lopac = -1;
    for(i = 0; i <= end; i++) {
		opac = (i == end) ? opacEnd : Math.round( opacStart + i*dx*frametime );
	    setTimeout("changeOpac(" + opac + ",'" + id + "')",Math.round(i * frametime));
		//document.write('i: '+i+' dx: '+dx+' fps: '+fps+' opac: '+opac+' time: '+(i*frametime)+'<br />\r\n');
	}
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
	if(opacity == 100) {
		object.opacity = '';
		object.MozOpacity = '';
		object.KhtmlOpacity = '';
		object.filter = '';
	}
}


function menu_fadein(obj) {
	var id;
	if(obj.childNodes[1]){
		id = obj.childNodes[1].id;
		opacity(id,10,80,200);
	} else {
		id = 'menu_'+(Math.random()*99999);
		obj.innerHTML = obj.innerHTML + '<div id="'+id+'" onmouseout="menu_fadeout(this.parentNode);" style="position:absolute; left:0px; top:0px; display:none; z-index:0; height:100px; width:100px; overflow: hidden; background:url(/gfx/link_dots_1.gif) left top no-repeat;"></div>';
		changeOpac(0,id);
		obj.childNodes[1].style.display = 'block';
		opacity(id,10,80,200);
	}
}

function menu_fadeout(obj) {
	var id;
	if(obj.childNodes[1]){
		id = obj.childNodes[1].id;
		opacity(id,80,0,200);
	}
}


function home_fadein(obj) {
	var id;
	if(obj.childNodes[0]){
		id = obj.childNodes[0].id;
		opacity(id,10,80,200);
	} else {
		id = 'menu_'+(Math.random()*99999);
		obj.innerHTML = obj.innerHTML + '<div id="'+id+'" onmouseout="home_fadeout(this.parentNode);" style="position:absolute; left:0px; top:0px; cursor:hand; display:none; height:100px; width:150px; overflow: hidden; background:url(/gfx/home_enter_1.gif) left top no-repeat;"></div>';
		changeOpac(0,id);
		obj.childNodes[0].style.display = 'block';
		opacity(id,10,80,200);
	}
}

function home_fadeout(obj) {
	var id;
	if(obj.childNodes[0]){
		id = obj.childNodes[0].id;
		opacity(id,80,0,200);
	}
}


function films_fadein(obj) {
	var id;
	if(obj.childNodes[0]){
		id = obj.childNodes[0].id;
		opacity(id,10,99,200);
	} else {
		id = 'menu_'+(Math.random()*99999);
		obj.innerHTML = '<div id="'+id+'" onmouseout="films_fadeout(this.parentNode);" style="cursor:hand; display:none; height:100px; width:128px; overflow: hidden; background: left bottom no-repeat;"></div>';
		changeOpac(0,id);
		obj.childNodes[0].style.display = 'block';
		obj.childNodes[0].style.backgroundImage = obj.style.backgroundImage;
		opacity(id,10,99,200);
	}
}

function films_fadeout(obj) {
	var id;
	//alert(typeof(obj));
	if(typeof(obj)=='string') obj = document.getElementById(obj);
	if(obj.childNodes[0]){
		id = obj.childNodes[0].id;
		opacity(id,80,0,200);
	}
}



function films_flash() {
	var obj = document.getElementById('films_frame');
	var nodes = obj.childNodes.length;
	var nodeid = Math.round(Math.random()*(nodes-1));
	var node = obj.childNodes[nodeid];
	if(node.nodeName == 'A') {
		films_fadein(node);
		node.id = 'films_link_'+nodeid;
		setTimeout('films_fadeout(\''+node.id+'\');',100);
	}
	setTimeout('films_flash();',8000+Math.random()*15000);
}

function getHTTP(url,fkt) {
	var xmlHttp = false;
	// Mozilla, Opera, Safari sowie Internet Explorer 7
	if (typeof XMLHttpRequest != 'undefined') {
	    xmlHttp = new XMLHttpRequest();
	}
	if (!xmlHttp) {
	    // Internet Explorer 6 und älter
	    try {
	        xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
	    } catch(e) {
	        try {
	            xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
	        } catch(e) {
	            xmlHttp  = false;
	        }
	    }
	}
	if (xmlHttp) {
	    xmlHttp.open('GET', url, true);
	    xmlHttp.onreadystatechange = function () {
	        if (xmlHttp.readyState == 4) {
	            eval(fkt+'(xmlHttp.responseText);');
	        }
	    }
	    xmlHttp.send(null);
	}
}


function essay_init() {
	var obj = document.getElementById('essay_navi_title');
	obj.innerHTML = obj.innerHTML + '<img id="essay_img_p" style="top:100px" src="/img_essay_title/'+essay_prev+'.jpg" />';
	obj.innerHTML = obj.innerHTML + '<img id="essay_img_n" style="top:160px" src="/img_essay_title/'+essay_next+'.jpg" />';
	document.getElementById('essay_fader').style.display = 'block';
	document.getElementById('essay_fader').style.height = document.getElementById('essay_fader').parentNode.offsetHeight+'px';
	opacity('essay_fader',80,1,600);
}




var essay_allow_click = true;

function essay_mnext() {
	if(!essay_allow_click) return false;
	essay_allow_click = false;
	for(i=1; i<15; i++) {
		setTimeout('document.getElementById(\'essay_img_c\').style.top = \'-'+Math.round((i*i)/3)+'px\';',i*40);
	}
	for(i=15; i>=0; i--) {
		setTimeout('document.getElementById(\'essay_img_n\').style.top = \''+Math.round((i*i)/3)+'px\';',200+((15-i)*40));
	}
	setTimeout('essay_mnext_done();',300+((15)*40));
	opacity('essay_navi_select',90,30,300);
	opacity('essay_fader',20,99,300);
}

function essay_mnext_done() {
	document.getElementById('essay_img_c').id = 'essay_img_t';
	document.getElementById('essay_img_n').id = 'essay_img_c';
	document.getElementById('essay_img_t').id = 'essay_img_n';
	essay_load(essay_next);
	essay_index = (essay_index == (essay_ids.length-1)) ? 0 : essay_index+1;
	essay_prev = (essay_ids[essay_index-1]) ? (essay_ids[essay_index-1]) : (essay_ids[essay_ids.length-1]);
	essay_next = (essay_ids[essay_index+1]) ? (essay_ids[essay_index+1]) : (essay_ids[0]);
	document.getElementById('essay_img_n').src = '/img_essay_title/'+essay_next+'.jpg';
	document.getElementById('essay_img_p').src = '/img_essay_title/'+essay_prev+'.jpg';
	essay_allow_click = true;
	opacity('essay_navi_select',40,99,300);
}

function essay_mprev() {
	if(!essay_allow_click) return false;
	essay_allow_click = false;
	for(i=1; i<15; i++) {
		setTimeout('document.getElementById(\'essay_img_c\').style.top = \'+'+Math.round((i*i)/3)+'px\';',i*40);
	}
	for(i=15; i>=0; i--) {
		setTimeout('document.getElementById(\'essay_img_p\').style.top = \'-'+Math.round((i*i)/3)+'px\';',200+((15-i)*40));
	}
	setTimeout('essay_mprev_done();',300+((15)*40));
	opacity('essay_navi_select',90,30,300);
	opacity('essay_fader',20,99,300);
}
function essay_mprev_done() {
	document.getElementById('essay_img_c').id = 'essay_img_t';
	document.getElementById('essay_img_p').id = 'essay_img_c';
	document.getElementById('essay_img_t').id = 'essay_img_p';
	essay_load(essay_prev);
	//essay_index = (essay_index == (essay_ids.length-1)) ? 0 : essay_index+1;
	essay_index = (essay_index == 0) ? (essay_ids.length-1) : essay_index-1;
	essay_prev = (essay_ids[essay_index-1]) ? (essay_ids[essay_index-1]) : (essay_ids[essay_ids.length-1]);
	essay_next = (essay_ids[essay_index+1]) ? (essay_ids[essay_index+1]) : (essay_ids[0]);
	document.getElementById('essay_img_n').src = '/img_essay_title/'+essay_next+'.jpg';
	document.getElementById('essay_img_p').src = '/img_essay_title/'+essay_prev+'.jpg';
	essay_allow_click = true;
	opacity('essay_navi_select',40,99,300);
}

function essay_load(id) {
	getHTTP('/essays_ajax/'+id+'.html','httpDone');
}

function httpDone(http) {
	data = http.split('||');
//	essay_prev = data[0];
//	essay_next = data[1];
//	document.getElementById('essay_img_n').src = '/img_essay_title/'+essay_next+'.jpg';
//	document.getElementById('essay_img_p').src = '/img_essay_title/'+essay_prev+'.jpg';
	document.getElementById('essay_title').innerHTML = data[2];
	document.getElementById('essay_text').innerHTML = data[3];
	changeOpac(99, 'essay_fader');
	document.getElementById('essay_fader').style.display = 'block';
	document.getElementById('essay_fader').style.height = document.getElementById('essay_fader').parentNode.offsetHeight+'px';
	opacity('essay_fader',90,1,300);
}


function photo_init() {
	document.getElementById('photography_imageframe').innerHTML = '<div id="phfrh"></div><div id="phfrv">'+document.getElementById('photography_imageframe').innerHTML+'</div>';
}

var photo_allow_click = true;

function photo_load(id) {
	if(!photo_allow_click) return false;
	getHTTP('/photography/'+id+'.html?xml=1','photo_done');
	photo_allow_click = false;
}

function photo_done(data) {
	data = data.split('||');
	objh = document.getElementById('phfrh');
	objv = document.getElementById('phfrv');
	objn = document.getElementById('photography_navi');
	objh.style.position = 'absolute';
	objv.style.position = 'absolute';
	changeOpac(99,'phfrv');
	changeOpac(1,'phfrh');
	setTimeout('opacity(\'phfrv\',99,1,500);',100);
	setTimeout('opacity(\'phfrh\',1,99,500);',700);
	objh.innerHTML = data[0];
	objn.innerHTML = data[1];
	setTimeout('photo_layerchange();',1400);
}

function photo_layerchange() {
	objh = document.getElementById('phfrh');
	objv = document.getElementById('phfrv');
	objv.innerHTML = objh.innerHTML;
	setTimeout('changeOpac(99,\'phfrv\');',10);
	photo_allow_click = true;
}




function news_image_init() {
	document.getElementById('news_imageframe').innerHTML = '<div id="phfrh"></div><div id="phfrv">'+document.getElementById('news_imageframe').innerHTML+'</div>';
	objh = document.getElementById('phfrh');
	objv = document.getElementById('phfrv');
	objh.style.position = 'absolute';
	objv.style.position = 'absolute';
	setTimeout('news_image_load();',5000);
}

function news_image_load() {
	getHTTP('/news/?xml_img=1','news_image_done');
}

function news_image_done(data) {
	objh = document.getElementById('phfrh');
	objv = document.getElementById('phfrv');
	objh.style.position = 'absolute';
	objv.style.position = 'absolute';
	changeOpac(99,'phfrv');
	objh.innerHTML = data;
	setTimeout('opacity(\'phfrv\',80,0,900);',4000);
	setTimeout('newsimage_layerchange();',5000);
}
function newsimage_layerchange() {
	objh = document.getElementById('phfrh');
	objv = document.getElementById('phfrv');
	objv.innerHTML = objh.innerHTML;
	setTimeout('changeOpac(99,\'phfrv\');',100);
	setTimeout('news_image_load();',5000);
}


var news_offset = 0;
var news_allow_prev = news_allow_next = news_allow_click = 0;

function news_init() {
	news_allow_next = news_allow_click = 1;
	changeOpac(30,'news_link_prev');
	changeOpac(0,'news_fader');
	//document.getElementById('news_fader').style.display = 'block';
}

function news_mnext() {
	if(!news_allow_click || !news_allow_next) return false;
	news_allow_click = false;
	document.getElementById('news_fader').style.display = 'block';
	opacity('news_fader',0,100,500);
	opacity('news_link_next',100,30,300);
	if(news_allow_prev) opacity('news_link_prev',100,30,300);
	news_offset += 3;
	setTimeout('getHTTP(\'/news/?ajax=1&o='+news_offset+'\',\'news_done\');',500);
}

function news_mprev() {
	if(!news_allow_click || !news_allow_prev) return false;
	news_allow_click = false;
	document.getElementById('news_fader').style.display = 'block';
	opacity('news_fader',0,100,500);
	opacity('news_link_prev',100,30,300);
	if(news_allow_next) opacity('news_link_next',100,30,300);
	news_offset -= 3;
	setTimeout('getHTTP(\'/news/?ajax=1&o='+news_offset+'\',\'news_done\');',700);
}

function news_done(data) {
	data = data.split('||');
	document.getElementById('news_frame').innerHTML = data[1];
	opacity('news_fader',100,0,500);
	news_allow_prev = false;
	if(news_offset > 0) {
		opacity('news_link_prev',30,100,300);
		news_allow_prev = true;
	}
	news_allow_next = false;
	if(data[0] == 0) {
		opacity('news_link_next',30,100,300);
		news_allow_next = true;
	}
	news_allow_click = true;
	setTimeout('document.getElementById(\'news_fader\').style.display = \'none\';',600);
}






function photo_open_project(data) {
	//document.getElementById('photo_popup_ajax').innerHTML = '';
	photo_ajax_loaded = 0;
	changeOpac(0,'photography_popup_bg');
	changeOpac(0,'photography_popup');
	document.getElementById('photography_image').style.backgroundImage = '';
	document.getElementById('photography_popup_bg').style.display = 'block';
	document.getElementById('photography_popup').style.display = 'block';
	opacity('photography_popup_bg',0,90,300);
	opacity('photography_popup',0,100,300);
	photo_load_scroll(0);
	//photo_load_image1(data);
}

function photo_close() {
	opacity('photography_popup_bg',90,0,300);
	opacity('photography_popup',100,0,300);
	setTimeout('photo_close2()',300);
}

function photo_close2() {
	changeOpac(0,'photography_popup_bg');
	changeOpac(0,'photography_popup');
	document.getElementById('photography_popup_bg').style.display = 'none';
	document.getElementById('photography_popup').style.display = 'none';
}


function photo_load_image(data) {
	opacity('photography_image',100,0,200);
	//for(i=0; i<21; i++) setTimeout('document.getElementById(\'photography_image\').style.width=\''+(100-i*5)+'%\';',i*10);
	setTimeout('photo_load_image1(\''+data+'\')',200);
}


function photo_load_image1(data) {
	if(1) {
		document.getElementById('photography_image').style.backgroundImage = 'url(/img_image/'+js_images_ids[photo_kat][current_i]+'.jpg)';
		photo_load_image3();
	} else {
		getHTTP('/photography/'+data+'.html?xml=1','photo_load_image2');
		document.getElementById('photography_popup').style.backgroundImage = 'url(\'/gfx/loading2.gif\')';
	}
}


function photo_load_image2(data) {
	document.getElementById('photography_popup').style.backgroundImage = 'none';
	document.getElementById('photo_popup_ajax').innerHTML = data;
	photo_ajax_loaded = 1;
	setTimeout('photo_load_image3()',50);
}

function photo_load_image3() {
	changeOpac(0,'photography_image');
	document.getElementById('photography_image').style.display = 'block';
	opacity('photography_image',0,100,200);
	//for(i=0; i<21; i++) setTimeout('document.getElementById(\'photography_image\').style.width=\''+(i*5)+'%\';',i*10);
}



function photo_preload_kat(id) {
	photo_kat = id;
	document.getElementById('js_statusbar_progress').style.width = '1%';
	document.getElementById('js_photo_list').style.left = '0px';
	changeOpac(100,'js_statusbar');
	loader_cnt = 0;
	current_x = 0;
	current_i = 0;
	loader = new Array();
	document.getElementById('js_photo_list').innerHTML = '';
	for(i=0; i<js_images_ids[id].length; i++) {
		loader[i] = new Image();
		loader[i].onload = function() { photo_preload_loaded(); };
		loader[i].src = '/img_image/'+js_images_ids[id][i]+'.jpg';
		document.getElementById('js_photo_list').innerHTML += '<a class="" href="/photography/'+photo_kat+'x'+js_images_ids[id][i]+'.html" onclick="photo_load_scroll('+i+'); return false;">'+(i+1)+'</a>';
	}
	document.getElementById('js_photo_list').childNodes[0].setAttribute('class','active');
	document.getElementById('js_photo_list').childNodes[0].setAttribute('id','photo_active');

}

function photo_preload_loaded() {
	loader_cnt++;
	document.getElementById('js_statusbar_progress').style.width = Math.round(100*(loader_cnt/loader.length))+'%';
	if(loader_cnt == loader.length) setTimeout('opacity(\'js_statusbar\',100,0,300);',500);
}

function photo_load_scroll(i) {
	current_i = i;
	element_width = 26;
	frame_width = element_width*8;
	list_width = element_width*loader.length;

	frame_mid = Math.round(frame_width/2);
	target_x = -i*element_width - 13 + frame_mid;

	if(target_x > 0) target_x = 0;
	if(target_x < (list_width*-1 + frame_width)) target_x = list_width*-1 + frame_width;

	target_mid = (target_x + current_x) / 2;
	dist = current_x - target_mid;

	for(t=0; t<=12; t++) {
		dx = current_x - dist*( (t/12)*(t/12) );
		if(dx > 0) dx = 0;
		setTimeout('document.getElementById(\'js_photo_list\').style.left = '+dx+'+\'px\';',1000*t/24);
	}
	for(t=0; t<=12; t++) {
		dx = current_x - dist - dist*( 1 - ((12-t)/12)*((12-t)/12) );
		if(dx > 0) dx = 0;
		setTimeout('document.getElementById(\'js_photo_list\').style.left = '+dx+'+\'px\';',1000*t/24 + 500);
	}

	current_x = target_x;
	photo_load_image(''+photo_kat+'x'+js_images_ids[photo_kat][i]);
	//alert(document.getElementById('js_photo_list').childNodes.length);
	for(j=0; j<loader.length; j++) document.getElementById('js_photo_list').childNodes[j].setAttribute('class','');
	for(j=0; j<loader.length; j++) document.getElementById('js_photo_list').childNodes[j].setAttribute('id','');
	document.getElementById('js_photo_list').childNodes[i].setAttribute('class','active');
	document.getElementById('js_photo_list').childNodes[i].setAttribute('id','photo_active');
	if(current_i == 0) document.getElementById('photo_prev').style.display = 'none';
	  else document.getElementById('photo_prev').style.display = 'block';
	if(current_i == loader.length-1) document.getElementById('photo_next').style.display = 'none';
	  else document.getElementById('photo_next').style.display = 'block';

	//document.getElementById('js_photo_list').childNodes[i].style.color = '#F00';
}

function photo_load_next() {
	if(current_i < loader.length-1) photo_load_scroll(current_i+1);
}

function photo_load_prev() {
	if(current_i > 0) photo_load_scroll(current_i-1);
}



function frame_scroll(id,act,dir) {
	dy = 4*dir;
	if(act) {
		frame_scroll_int = setInterval('frame_scroll2(\''+id+'\','+dy+');',25);
	} else {
		clearInterval(frame_scroll_int);
	}
}

frame_y = 0;
function frame_scroll2(id,dy) {
	frame_y = frame_y + dy;
	scroller_height = document.getElementById(id).offsetHeight;
	frame_height = document.getElementById(id).parentNode.offsetHeight;
	if(frame_y > 0) frame_y = 0;
	if(frame_y < (scroller_height-frame_height)*-1) frame_y = (scroller_height-frame_height)*-1;
	document.getElementById(id).style.top = frame_y+'px';
}

schedule_openid = 0;
function schedule_popup(id) {
	schedule_close(0);
	obj = document.getElementById('info_'+id);
	obj.style.display = 'block';
	schedule_openid = id;
}

function schedule_popup_info(state,info,date,date2,css_class,css_x,css_y) {
	schedule_close(0);
	obj = document.getElementById('info_999');
	obj.style.left = css_x+'px';
	obj.style.top = '';
	obj.style.bottom = '';
	schedule_date = date2;
	if(css_class == 'bubble_top') obj.style.top = css_y+'px';
	if(css_class == 'bubble_bottom') obj.style.bottom = css_y+'px';
	//obj.setAttribute('class','info state_'+state);
	obj.className = 'info state_'+state;
	//obj.lastChild.setAttribute('class',css_class);
	document.getElementById('info_bubble').className = css_class;
	document.getElementById('info_h2').innerHTML = date;
	document.getElementById('info_p').innerHTML = info;
	document.getElementById('info_book').style.display = 'none';
	if(!state) document.getElementById('info_book').style.display = 'block';
	obj.style.display = 'block';
	schedule_openid = 999;
	if(schedule_book_open == 1) schedule_book_close();
}

function schedule_close(id) {
	if(!id && schedule_openid) id = schedule_openid;
	if(id) {
		obj = document.getElementById('info_'+id);
		obj.style.display = 'none';
	}
	schedule_openid = 0;
}

schedule_book_open = 0;
function schedule_book() {
	document.getElementById('schedule_booking_frame').style.display = 'block';
	document.getElementById('date1').value = schedule_date;
	//document.getElementById('date1').title = schedule_date;
	changeOpac(10,'schedule');
	schedule_book_open = 1;
}

function schedule_book_close() {
	document.getElementById('schedule_booking_frame').style.display = 'none';
	changeOpac(100,'schedule');
	schedule_book_open = 0;
}



function films_load(flv,info) {
	setTimeout('films_load2(\''+escape(flv)+'\',\''+escape(info)+'\');',300);
	changeOpac(0,'film_popup_bg');
	document.getElementById('film_popup_bg').style.display = 'block';
	opacity('film_popup_bg',0,90,300);
}

function films_load2(flv,info) {
  flv = unescape(flv);
  info = unescape(info);
  var so = new SWFObject('/mediaplayer.swf','mp1','480','360','7');
  so.addParam('allowfullscreen','true');
  so.addParam('allowscriptaccess','true');
  so.addVariable('file',flv);
  so.addVariable('displayheight','360');
  so.addVariable('height','360');
  so.addVariable('width','480');
  so.addVariable('backcolor','0x000000');
  so.addVariable('screencolor','0x000000');
  so.addVariable('frontcolor','0x888888');
  so.addVariable('lightcolor','0xffffff');
  so.addVariable('autostart','true');
  so.write('film_swf');

	document.getElementById('film_popup_bg').style.display = 'block';
	document.getElementById('film_popup').style.display = 'block';
	document.getElementById('film_close').style.display = 'block';
	document.getElementById('film_info').innerHTML = info;
}


function films_close() {
	document.getElementById('film_popup').style.display = 'none';
	document.getElementById('film_close').style.display = 'none';
	document.getElementById('film_swf').innerHTML = '';
	opacity('film_popup_bg',90,0,300);
	setTimeout('films_close2();',300);
}

function films_close2() {
	document.getElementById('film_popup_bg').style.display = 'none';
	document.getElementById('film_popup').style.display = 'none';
	document.getElementById('film_close').style.display = 'none';
	document.getElementById('film_swf').innerHTML = '';
}




// Mausposition
var posx = 0;
var posy = 0;
function getMouse(e) {
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}
	scroll();
}

//Das Objekt, das gerade bewegt wird.
var dragobjekt = null;
var scrollobj = null;

// Position, an der das Objekt angeklickt wurde.
var dragx = 0;
var dragy = 0;


function dragstart(element) {
   //Wird aufgerufen, wenn ein Objekt bewegt werden soll.
  dragobjekt = element;
  opacity(element.id,50,100,300);
  dragx = posx - dragobjekt.offsetLeft;
  dragy = posy - dragobjekt.offsetTop;
}


function dragstop() {
  opacity(dragobjekt.id,100,50,300);
  dragobjekt=null;
}

function scroll(ereignis) {
  //Wird aufgerufen, wenn die Maus bewegt wird und bewegt bei Bedarf das Objekt.
  var nx = 0;
  var scrollpos = 0; // zwischen 0 und 1
  if(dragobjekt != null) {
    //dragobjekt.style.left = (posx - dragx) + "px";
    nx = posy - dragy;
    if (nx < 0) nx = 0;
    if (nx > dragobjekt.parentNode.clientHeight - dragobjekt.offsetHeight) nx = dragobjekt.parentNode.clientHeight - dragobjekt.offsetHeight;
    dragobjekt.style.top =  nx + "px";
    scrollpos = nx / (dragobjekt.parentNode.clientHeight - dragobjekt.offsetHeight);

    scrollobj.style.top = -1 * Math.round( scrollpos * (scrollobj.offsetHeight - scrollobj.parentNode.clientHeight)) + 'px';
	if( Math.abs(dragx-posx) > 20 ) dragstop();
  }

}

/**
 *
 * @access public
 * @return void
 **/
function init_scrollbar_size(scroll_frame_child, scrollbar_child) {
	opacity(scrollbar_child,100,50,300);
	var sfc = document.getElementById(scroll_frame_child);
	var sbc = document.getElementById(scrollbar_child);
	var ratio = 0.3;
	ratio = sfc.parentNode.clientHeight / sfc.offsetHeight;
	//alert('ratio '+ratio);
	if (ratio > 1) ratio = 1;
	var sbh = 10;
	sbh = ratio * sbc.parentNode.clientHeight;
	if (sbh < 4) sbh = 4;
	sbc.style.height = sbh + 'px';
}


/**
 *
 * @access public
 * @return void
 **/

var flickr_thumb_offsets = new Array();
for(i=0; i<100; i++) flickr_thumb_offsets[i]=0;

function flickr_thumb_scroll(id,mode,max){
	obj = document.getElementById('flickr_thumbs_'+id);
	objl = document.getElementById('flickr_arr_left_'+id);
	objr = document.getElementById('flickr_arr_right_'+id);
	left_now = flickr_thumb_offsets[id]*-85;
	flickr_thumb_offsets[id] += mode;
	left_target = flickr_thumb_offsets[id]*-85;

	if(flickr_thumb_offsets[id] == 1 && mode == 1) {
		changeOpac(0,'flickr_arr_left_'+id);
		objl.style.display = 'block';
		opacity('flickr_arr_left_'+id,0,100,500);
	}
	//alert(2);
	if(flickr_thumb_offsets[id] == 0 && mode == -1) {
		opacity('flickr_arr_left_'+id,100,0,500);
		setTimeout('document.getElementById(\'flickr_arr_left_'+id+'\').style.display = \'none\';',500);
	}
	//alert(3);
	if(flickr_thumb_offsets[id] == max-2 && mode == 1) {
		opacity('flickr_arr_right_'+id,100,0,500);
		setTimeout('document.getElementById(\'flickr_arr_right_'+id+'\').style.display = \'none\';',500);
	}
	//alert(4);
	if(flickr_thumb_offsets[id] == max-3 && mode == -1) {
		objr.style.display = 'block';
		opacity('flickr_arr_right_'+id,0,100,500);
	}
	//alert(5);



	dist = left_now - left_target;
	for(t=0; t<=12; t++) {
		dx = left_now - (dist/2)*( (t/12)*(t/12) );
		if(dx > 0) dx = 0;
		setTimeout('document.getElementById(\'flickr_thumbs_'+id+'\').style.left = '+dx+'+\'px\';',1000*t/24);
	}
	for(t=0; t<=12; t++) {
		dx = left_now - (dist/2) - (dist/2)*( 1 - ((12-t)/12)*((12-t)/12) );
		if(dx > 0) dx = 0;
		setTimeout('document.getElementById(\'flickr_thumbs_'+id+'\').style.left = '+dx+'+\'px\';',1000*t/24 + 500);
	}

	//obj.style.left = left_target+'px';
}


/**
 *
 * @access public
 * @return void
 **/
function imagelist_init(uid){
	obj = document.getElementById('lmf_'+uid);
	obj_frame = obj.childNodes[0];
	obj_status = obj.childNodes[1];
	obj_navi = obj.childNodes[2];
	images = obj_frame.childNodes.length;
	//height = 0;
	//alert(images);
	//for(i=0; i<images; i++) if(obj_frame.childNodes[i].clientHeight > height) height = obj_frame.childNodes[i].clientHeight;
	for(i=0; i<images; i++) obj_frame.childNodes[i].style.zIndex = 100;
	for(i=1; i<images; i++) changeOpac(0,obj_frame.childNodes[i].id);
	obj_status.innerHTML = '<b>'+prezero(1,images)+'</b>/'+images;
	//alert(height);
	//obj.style.height = height+20 + 'px';
	//obj_frame.style.height = height + 'px';
}

var imagelist_heights = new Array();
var imagelist_loaded = new Array();
var imagelist_pos = new Array();
for(i=0; i<1000; i++) imagelist_heights[i] = 0;
for(i=0; i<1000; i++) imagelist_loaded[i] = 0;
for(i=0; i<1000; i++) imagelist_pos[i] = 0;
function imagelist_height(uid,sender) {
	imagelist_loaded[uid]++;
	obj = document.getElementById('lmf_'+uid);
	obj_frame = obj.childNodes[0];
	obj_status = obj.childNodes[1];
	obj_navi = obj.childNodes[2];
	imagelist_heights[uid] = Math.max(imagelist_heights[uid],sender.clientHeight);
	obj_frame.style.height = imagelist_heights[uid] + 'px';
	obj.style.height = imagelist_heights[uid] + Math.max(obj_navi.offsetHeight,obj_status.offsetHeight) + 'px';
	images = obj_frame.childNodes.length;
	if(imagelist_loaded[uid] == images) for(i=0; i<images; i++) {
		//obj_frame.childNodes[i].style.paddingTop = alert(Math.round((imagelist_heights[uid]-obj_frame.childNodes[i].clientHeight)/2) + 'px');
		if (obj_frame.childNodes[i].clientHeight > 0 && obj_frame.childNodes[i].clientHeight < imagelist_heights[uid]) {
			obj_frame.childNodes[i].style.paddingTop = Math.floor((imagelist_heights[uid]-obj_frame.childNodes[i].clientHeight)/2) + 'px';
			obj_frame.childNodes[i].style.paddingBottom = obj_frame.childNodes[i].style.paddingTop;
		}
	}
}

function imagelist(uid,mode){
	obj = document.getElementById('lmf_'+uid);
	obj_frame = obj.childNodes[0];
	obj_status = obj.childNodes[1];
	obj_navi = obj.childNodes[2];
	images = obj_frame.childNodes.length;
	for(i=0; i<images; i++) obj_frame.childNodes[i].style.zIndex = 100;
	opacity(obj_frame.childNodes[imagelist_pos[uid]].id,100,0,300);
	imagelist_pos[uid] += mode;
	//alert(images);
	if(imagelist_pos[uid] >= images) imagelist_pos[uid] = 0;
	if(imagelist_pos[uid] < 0) imagelist_pos[uid] = images-1;
	opacity(obj_frame.childNodes[imagelist_pos[uid]].id,0,100,300);
	obj_frame.childNodes[imagelist_pos[uid]].style.zIndex = 110;
	obj_status.innerHTML = '<b>'+prezero(imagelist_pos[uid]+1,images)+'</b>/'+images;

}


/**
 *
 * @access public
 * @return void
 **/
function prezero(input,ref){
	var output = input + '';
	input = input + '';
	ref = ref + '';
	while(output.length < ref.length) output = '0' + output;
	return output;
}
