/*****************
// Event-Handlers
*****************/

//////////////
// Navigation
nav_over = function(e) {
	var elem = getEventTarget(e);
	//debug('nav_over aufgerufen' + elem.id);
	elem.style.color = '#FFFFFF';
}

nav_out = function(e) {
	elem = getEventTarget(e);
	if(!elem.active) elem.style.color = '#510000';
}

agb_click = function(elem) {
	act_target = elem.id;
	debug('agb_click aufgerufen');
	get_data(false, change_content);
	if(document.getElementById("nav")) n = document.getElementById("nav").childNodes;
	for (var i = 0; i < n.length; i++) {
		if(n[i].style) {
			n[i].active = false;
			n[i].style.color = '#510000';
		};
	 }

	
}


res_click = function(elem) {
	act_target = elem.id;
	debug('agb_click aufgerufen');
	get_data(false, change_content);
	if(document.getElementById("nav")) n = document.getElementById("nav").childNodes;
	for (var i = 0; i < n.length; i++) {
		if(n[i].style) {
			n[i].active = false;
			n[i].style.color = '#510000';
		};
	 }

	
}

nav_click = function(e) {
	elem = getEventTarget(e);
	act_target = elem.id;
	debug('nav_click aufgerufen');
	get_data(false, change_content);
	if(document.getElementById("nav")) n = document.getElementById("nav").childNodes;
	for (var i = 0; i < n.length; i++) {
		if(n[i].style) {
			n[i].active = false;
			n[i].style.color = '#510000';
		};
	 }
	elem.active = true;	
	elem.style.color = '#FFFFFF';
}

lang_click = function(e) {
	elem = getEventTarget(e);
	if(elem.tagName == "IMG") elem = elem.parentNode;
		act_lang = elem.id;
		get_news(false, change_news);
		get_data(false, change_content);
		debug('Language changed to: ' + act_lang);
		set_labels();
	
}

change_content = function(data) {
	debug('change_content aufgerufen')
	document.getElementById('content').innerHTML = data;
	translate();
	}

change_news = function(data_news) {
	debug('change_news aufgerufen')
	document.getElementById('newsbar').innerHTML = data_news;
	}

set_labels = function() {
    var lang = eval('label_' + act_lang);
	if(document.getElementById("nav")) n = document.getElementById("nav").childNodes;
	for (var i = 0; i < n.length; i++) {
			if(!n[i].lang && n[i].tagName == 'LI') {
				n[i].innerHTML = lang[n[i].id];
			}
    }
}

gallery = function(gal, item) {
	document.getElementById('aussen').style.display = 'none';
	document.getElementById('og').style.display = 'none';
	document.getElementById('og2').style.display = 'none';
	document.getElementById('eg').style.display = 'none';
	document.getElementById(gal).style.display = 'block';
	child = document.getElementById('gall').childNodes;
	for(i = 0; i < child.length; i++) {
		if(child[i].tagName == 'LI') child[i].style.textDecoration = 'none';
	}
	item.style.textDecoration = 'underline';
}
/**************************
// Inital load 
***************************/
inital_load = function() {
	load_flash();
	get_news(false, change_news);
	get_data(false, change_content);
	set_labels();
	elem = document.getElementById(act_target);
	elem.active = true;
	elem.style.color = '#FFFFFF';
}

/*****************
// Event-Triggers
*****************/
function addEvent(obj, evType, fn){
	if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    return false;
  }
}

function getEventTarget(e){
    return (e.target) ? e.target : e.srcElement
}

onPageLoad = function() {
	n = 0;
	if(document.getElementById("nav")) n = document.getElementById("nav").childNodes;
    for (var i = 0; i < n.length; i++) {
			//debug('event added to'+ n[i]);
			if(!n[i].lang) {
				addEvent(n[i], "click", nav_click);
				addEvent(n[i], "mouseover", nav_over);
				addEvent(n[i], "mouseout", nav_out);
			}
			else {	
			debug(n[i].id);
			addEvent(n[i], "click", lang_click);
			}
    }
	inital_load();
	//addEvent(document.getElementById("agb"), "click", nav_click);

}

window.onload = onPageLoad;

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

get_data = function(data_content, called_by) {
	debug('get_data aufgerufen');
	if(!data_content) { 
		file = 'get_content.php?load='+act_lang + '_' + act_target;
		ajaxit(file, get_data, called_by); // get data from server!
	}
	else { 
			called_by(data_content);
		}
	
}

get_news = function(data_news, called_by_news) {
		debug('get_news aufgerufen');
	if(!data_news) { 
		file = 'get_content.php?load='+act_lang + '_news';
		ajaxit_news(file, get_news, called_by_news); // get data from server!
	}
	else { 
		//debug('angekommen!\n' +data) ;
		//debug(called_by);
			called_by_news(data_news);
		}
	
}


function ajaxit(file, func, called_by) {
	activX = false;
    activX = window.ActiveXObject; 
if (window.XMLHttpRequest)
     x = new XMLHttpRequest();
    else if (activX)
     x = new ActiveXObject("Microsoft.XMLHTTP");                             
	if (x)	{
		x.onreadystatechange = function() {
					if (x.readyState == 4 && x.status == 200) {
					//alert("ajax bereit: "+x.responseText);
					 //debug("ajax geschickt: "+called_by);
					 func(x.responseText, called_by);
					 
                          // return;
					}
				};
	 
	x.open("GET", file, true);
	x.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
	x.send(null);
	 }
};

function ajaxit_news(file, func, called_by_news) {
	activX = false;
    activX = window.ActiveXObject; 
if (window.XMLHttpRequest)
    y = new XMLHttpRequest();
    else if (activX)
    y = new ActiveXObject("Microsoft.XMLHTTP");                             
	if (y)	{
		y.onreadystatechange = function() {
					if (y.readyState == 4 && y.status == 200) {
					//alert("ajax bereit: "+x.responseText);
					 //debug("ajax geschickt: "+called_by);
					 func(y.responseText, called_by_news);
					 
                          // return;
					}
				};
	 
	y.open("GET", file, true);	
	y.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
	y.send(null);
	 }
};

function send_contact(form) {
		var data = "";
		var lang = eval('label_' + act_lang);
		err = false;
		fields = form.elements;
		debug(fields.msg_name.value);
		if(fields.msg_name.value == "" || fields.msg_name.value == lang['noname']) {
			fields.msg_name.value = lang['noname'];
			err = true;
		}
		if(fields.msg.value == "" || fields.msg.value == lang['nomessage']) {
			fields.msg.innerHTML = lang['nomessage'];
			err = true;
		}
		
		if(!err) {
			for(i=0;i<fields.length;i++) {
				val = form.elements[i].value;
				key = form.elements[i].id;
				amp = "&";
				if(i == 0) amp = "";
				if(val)	data += amp+key+"="+val;
			}
			debug(encodeURI(data));
			file = 'ajax.php?ajax=3';
			msie = false;
			msie = window.ActiveXObject; 
			if (window.XMLHttpRequest)
				 x = new XMLHttpRequest();
			else if (msie)
				  x = new ActiveXObject("Microsoft.XMLHTTP") ;
			else      {          };
			
			if (x)	{
				x.open("POST", file, true);
				x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				x.send(encodeURI(data));
			 }
		var lang = eval('label_' + act_lang);
		document.getElementById('content').innerHTML = '<h3>'+lang['thanx']+'</h3>';
		};
		return false;
		
	}

function translate() {
	if(ma = document.getElementsByTagName('adress')) {
		for(i = 0; i<ma.length; i++) {
			whom = ma[i].id;
			str = '<a href="mailto:'+whom+'@casadellaluce.ch">';
			str += whom;
			str += '@casadellaluce.ch</a>';
			ma[i].innerHTML  = str;
		}
	}
	
}

res = function(urll) {
	reswin = window.open(urll, '', 'width=960px,height=300px');
	reswin.focus();
	return false;
}

/*****************
// Load Flash Movie (IE-Active-X-Problem)
*****************/

load_flash = function() {
	var flashfile = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="800" height="181">';
	    flashfile += '<param name="movie" value="media/nur_head.swf" /> <param name="quality" value="high" /><param name="menu" value="false" />';
		flashfile += '<embed src="media/nur_head.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="800" height="181"></embed>';
        flashfile += '</object>'
		document.getElementById('flash').innerHTML = flashfile;
}

/*****************
// Debugging
*****************/
function debug(txt) {
	debugOn = false;
	if(debugOn) {
	
	if(!document.getElementById('debug')) {
			bodytag = document.getElementsByTagName("body");
			bodytag[0].innerHTML += '<div id="debug"></div>';
		}
	
	document.getElementById('debug').innerHTML += txt +'<br />';
	};
}


