function init() {
  
	var orderform = $('order-form');
	$('kommune') && $('kommune').observe('change', show_kommune_info);
	$$('#steg-neste', '#steg-forrige', '#steg-fullfor').each(function(f) { f.observe('mouseover', over_steg); f.observe('mouseout', out_steg); });
	$$('a.vis_kanalar').each(function(f) { f.observe('click', vis_kanalar); });
	$$('#get_box_hd', '#get_box_hd_pvr').each(function(e) { e.observe('change', change_dekodar); });
	//$('pakke-2') && $('pakke-2').observe('click', change_favorittar);
	
	/* bundle order */
	$$('.order_button', '.configure_button', '.custom_button').each(function(f) {
		f.observe('click', function(event) {
			var b = Event.element(event);
			$('bundle_action').setValue(b.id);
		});
	});	
	
	inputs = orderform.getInputs('radio', 'breibandstelefon');
	if(inputs) { inputs.each(function(e) { e.observe('click', toggle_info); }); }
	
	inputs = orderform.getInputs('radio', 'nytt_telefonnummer_tildelt');
	if(inputs) { inputs.each(function(e) { e.observe('click', toggle_overfore); }); }
	
	inputs = orderform.getInputs('radio', 'favoritt');
	if(inputs) { inputs.each(function(e) { e.observe('click', change_favoritt); } ); }
	
	inputs = orderform.getInputs('checkbox', 'favorittkanalar[]');
	if(inputs) { inputs.each(function(e) { e.observe('click', select_favoritt); } ); }
	select_favoritt();
	
	var fullfor = $("steg-fullfor");
	if(fullfor) {
		fullfor.disable();
		fullfor.addClassName("disabled_button");
	}
	var stadfest = $("stadfest");
	if(stadfest) {
		stadfest.observe('click', change_confirm);
	}
  
	if(favos = $('pakke-2')) {
    if(favos.checked) {
      $('container_favorittar').hide();
    }
  }
  
}

function show_help(event) {
  bod 				= document.getElementsByTagName('body')[0];
	overlay 			= document.createElement('div');
	overlay.id		= 'overlay';
	lb					= document.createElement('div');
	lb.id				= 'lightbox';
	lb.className 	= 'loading';
	lb.innerHTML	= '<div id="lbLoadMessage">' +
						  '<p>Vent litt, vi sjekkar linja di...</p>' +
						  '</div>';
	bod.appendChild(overlay);
	bod.appendChild(lb);
  
  var closeLink = new Element('a', {id: 'closeLink', href: '#', title: 'Lukk vindauge'}).update('X');
	closeLink.observe('click', deactivate);
					
	Element.insert($('lbLoadMessage'), {after: content});
	Element.insert($('lbLoadMessage'), {after: closeLink});
  
  Event.stop(event);
}
function change_favorittar(event) {
	var e = Event.element(event);
	var form = $('order-form');
	var favorittar = $('container_favorittar');
	if(e.checked) {
		var inputs = form.getInputs('checkbox', 'favorittkanalar[]');
		inputs.each(function(e) {
			e.checked = false;
			e.enable();
		});
		$('favoritt-0').checked = true;
		$('favorittar').hide();
		favorittar.hide();
	}
	else { 
		favorittar.show();
	}
}
function change_confirm(event) {
	var e = Event.element(event);
	var fullfor = $("steg-fullfor");
	if(e.checked) {
		fullfor.enable();
		fullfor.removeClassName("disabled_button");
	}
	else {
		fullfor.disable();
		fullfor.addClassName("disabled_button");
	}
}
function change_dekodar(event) {
	var e = Event.element(event);
	
	var url = base_url;
	var d1 = $("get_box_hd");
	var d2 = $("get_box_hd_pvr");
	var d1_info = $(d1.id + '_pris');
	var d2_info = $(d2.id + '_pris');
	var total = parseInt(d1.getValue()) + parseInt(d2.getValue());
	if(total <= 3) {
		var params1 = {ajax: 'get_prices', param: d1.id, get_box_hd: d1.getValue(), get_box_hd_pvr: d2.getValue()};
		new Ajax.Request(url, {
			parameters: params1,
			onSuccess: function(transport){
				var response = transport.responseText || "no response";
				d1_info.update(response);
				new Effect.Highlight(d1_info, { startcolor: '#99ff99', endcolor: '#ffffff' });
			},
			onFailure: function(){ 
				var response = "error on update";
				d1_info.update(response);
			}
		});
		
		var params2 = {ajax: 'get_prices', param: d2.id, get_box_hd: d1.getValue(), get_box_hd_pvr: d2.getValue()};
		new Ajax.Request(url, {
			parameters: params2,
			onSuccess: function(transport){
				var response = transport.responseText || "no response";
				d2_info.update(response);
				new Effect.Highlight(d2_info, { startcolor: '#99ff99', endcolor: '#ffffff' });
			},
			onFailure: function(){ 
				var response = "error on update";
				d2_info.update(response);
			}
		});
	}
	else {
		alert("Du kan bestille inntil 3 dekodarar.");	
	}
}
function change_favoritt(event) {
	// deselect all favorites
	var e = Event.element(event);
	e.value=="0" ? $("favorittar").hide() : $("favorittar").show();
	var form = $('order-form');
	var inputs = form.getInputs('checkbox', 'favorittkanalar[]');
	inputs.each(function(e) {
		e.checked = false;
		e.enable();
	});
}
function select_favoritt(event) {
	var form = $('order-form');
	var favorittar = form.getInputs('radio','favoritt');
	if(favorittar.length>0) {
		var limit = favorittar.find(function(radio) { return radio.checked; }).value;
		var total = form.getInputs('checkbox', 'favorittkanalar[]');
		var unchecked = form.getInputs('checkbox', 'favorittkanalar[]').findAll(function(c) { return !c.checked; });
		var checked = form.getInputs('checkbox', 'favorittkanalar[]').findAll(function(c) { return c.checked; });
		if(checked.length == limit && limit>0) {
			unchecked.each(function(e) { e.disable(); } );
		}
		else {
			total.each(function(e) { e.enable(); } );	
		}
	}
}
function toggle_overfore() {
	var form = $('order-form');
	var inputs = form.getInputs('radio', 'nytt_telefonnummer_tildelt');
	if(inputs.length>0) {
		var fieldset = $('info_overfore_telefonnummer');
		if(inputs.find(function(radio) { return radio.checked; }).value=='ja'){
			fieldset.removeClassName('active-fieldset');
		}
		else {
			fieldset.addClassName('active-fieldset');
		}
	}
}
function toggle_info(event) {
	var form = $('order-form');
	var inputs = form.getInputs('radio', 'breibandstelefon');
	if(inputs.length>0) {
		var e = inputs.find(function(radio) { return radio.checked; });
		fieldset = $('info_' + e.name);
		if(inputs.find(function(radio) { return radio.checked; }).value=='0|ingen|0|0'){
			fieldset.removeClassName('active-fieldset');
		}
		else {
			fieldset.addClassName('active-fieldset');
		}
	}
}
function vis_kanalar(event) {
	var e = Event.element(event);
	var id = e.id.split("-")[1];
	if(e.innerHTML=="vis kanalar") {
		$('kanal_liste_'+id).show();
		e.update('skjul kanalar');
	}
	else {
		$('kanal_liste_'+id).hide();
		e.update('vis kanalar');
	}
	Event.stop(event);
}
function over_steg(event) {
	var e = Event.element(event);
	e.addClassName('submit_hover');
}
function out_steg(event) {
	var e = Event.element(event);
	e.removeClassName('submit_hover');
}
function show_kommune_info(event) {
	var kommune = Event.element(event);
	var id = kommune.value.split("-", 1);
	$$('div.kommune-info').invoke('hide');
	if($('felt-kommune-id-' + id)) {$('felt-kommune-id-' + id).show()};
}
document.observe("dom:loaded", init);
