var functions = {
	init: function(){
		functions.hide_all();
		functions.calc_price();
		Event.observe(document, 'click', functions.click_handler.bindAsEventListener());
	},
	hide_all: function(){
		$$('.a').each(function(s){ s.setStyle({display:'none'}); });
		$$('.price').each(function(s){ s.value = 0; });
		$$('.price_fixed').each(function(s){ s.value = 0; });
		$$('.dropdown_list').each(function(s){ s.setStyle({display:'none'}); });
	},
	click_handler: function(e){
		var tag = Event.element(e);
		
		switch(tag.className){
			case 'print':
			  	window.print();
			  break;
			case 'checkbox':
			  	functions.checkbox(tag);
			  break;   
			case 'dropdown':
			  	functions.dropdown(tag);
			  break;  
			case 'question':
			  	(tag.up(0).next('.a').visible()) ? tag.up(0).next('.a').fade({duration:'0.5'}) : tag.up(0).next('.a').appear({duration:'0.5'});
			  break;
			case 'q':
			  	(tag.up('tr').next('.a').visible()) ? tag.up('tr').next('.a').fade({duration:'0.5'}) : tag.up('tr').next('.a').appear({duration:'0.5'});
			  break;
		}
	},
	checkbox: function(obj){
		if (obj.src.include('/unchecked.jpg')){ 
			obj.src = 'images/checked.jpg';
			obj.previous(0).value = obj.title;  
		}else{
			obj.src = 'images/unchecked.jpg';
			obj.previous(0).value = '0';  
		}
		functions.calc_price();
	},
	dropdown: function(obj){
		obj.next(0).appear({duration:'0.5'});
		
		obj.next(0).select('li').each(function(s){
			Event.observe(s,'mouseover',function(){s.setStyle({backgroundColor:'#eee'})});
			Event.observe(s,'mouseout',function(){s.setStyle({backgroundColor:'#fff'})});
			Event.observe(s,'click',function(){
				obj.update(s.innerHTML);
				s.up('.l').previous(0).value = s.title;
				functions.calc_price();
			});
		});
		Event.observe(document,'click',function(){obj.next(0).hide()});
	},
	calc_price: function(){
		var pris = 0;
		var pris_fixed = 0;
		if ($('abn_price')){
			$$('.price').each(function(s){ pris += parseInt(s.value); });
			$$('.price_fixed').each(function(s){ pris_fixed += parseInt(s.value); });
			pris += parseInt($('abn_price').value);
			if ($('antall_brukere'))
			{
				pris = pris * parseInt($('antall_brukere').value);
			}
			pris += pris_fixed;
			$('totalt').update('Din pris totalt ' + pris + ',- for 12 m&aring;nder.');
			$('total_pris').value = pris;
		}
	}
}

document.observe("dom:loaded", function() {
	functions.init();
});