var submenu = null;

var submenu = {
	
	// Legger p� klikkevent p� lenkene til de menypunktene som har en undermeny
	init:function(){
		$('ul.submenu > li > ul').each(submenu.addEvent);
		$('ul.submenu > li > ul > li > ul').each(submenu.addEvent);
	},
	
	addEvent:function(index,element){
		$(element).prev().children('a').click(function(event){
			// Dersom LI ikke har 'noexp' skal javasript blokkere lenken og open en udermeny i stedet
			if(!$(this).parents('li').hasClass('noexp')){
				event.preventDefault();
				var sublevel = $(this).parent().next();
				submenu.manage(sublevel);
			}
		});
	},
	
	// Bytter mellom � lukke � �pne meny ut i fra menyens tilstand
	manage:function(sublevel){
		if(sublevel.parent().hasClass('open')){
			submenu.close(sublevel);
		}else{
			submenu.open(sublevel);
		}
	},
	
	// �pner en undermeny
	open:function(sublevel){
		sublevel.css({display:'none',height:'auto'});
		var maxHeight = (sublevel.height()-6);
		
		sublevel.css({display:'',height:'0px'});
		
		sublevel.animate(
			{
				height:maxHeight
			},
			'slow',
			function(){
				sublevel.css({display:'',height:''});
			}
		);
		sublevel.parent().addClass('open');
	},
	
	// Lukker en undermeny
	close:function(sublevel){
		sublevel.animate(
			{
				height:'0px'
			},
			'slow',
			function(){
				sublevel.parent().removeClass('open');
				sublevel.css({display:'',height:''});
			}
		);
	}
};

$(document).ready(submenu.init);

$(document).ready(function() {

	$('#flashcontent').each(function() {
		swfobject.embedSWF("elm/videoplayer.swf", "flashcontent", "483", "386", "9.0.0", "expressInstall.swf");
	});

	/* Skjuler og viser ledeteksten i s�kefeltet */
	$('input.frase').each(function(index, element) {

		/* Oppretter et attributt p� input-elementet som holder ledeteksten */
		$(element).attr('label', element.value);

		/* Skjuler ledeteksten p� fokus dersom det er ledeteksten som ligger i feltet. */
		$(element).focus(function() {
			if ($.trim($(this).val()) == $(this).attr('label')) {
				$(this).val('');
			}
		});

		/* Viser ledeteksten dersom feltet er tomt */
		$(element).blur(function() {
			if ($.trim($(this).val()) == '') {
				$(this).val($(this).attr('label'));
			}
		});
	});

	/* Blank ut ledetekst i telefonfeltet */
	$('#sms-form').each(function() {
		$('.phonenumber').focus(function() {
			$(this).val('');
		});
	});

	$('a[rel="external"]').each(function() {
		$(this).attr('target', '_blank');
	});

	var hasMap = false;
	$('div#map').each(function() {
		$(this).html('');
		hasMap = true;
	});

	if (hasMap) {

		if (GBrowserIsCompatible()) {
			var map = new GMap2($('#map').get(0));
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			map.setCenter(new GLatLng(59.969962, 10.916634), 13);
			geocoder = new GClientGeocoder();
		}

		$('.vcard').each(function() {
			var hcard = $(this);
			var streetaddress = hcard.find('.street-address').text();
			var postcode = hcard.find('.postal-code').text();
			var locality = hcard.find('.locality').text();
			var countryName = hcard.find('.country-name').text();
			var address = streetaddress + ', ' + postcode + ' ' + locality + ' ' + countryName;

			if (geocoder) {
				geocoder.getLatLng(address, function(point) {
					if (point) {
						var marker = new GMarker(point);
						var infoWindowHtml = '<div class="bubble">' + hcard.html() + '</div>';
						map.addOverlay(marker);

						GEvent.addListener(marker, "click", function() {
							marker.openInfoWindowHtml(infoWindowHtml);
						});

						marker.openInfoWindowHtml(infoWindowHtml);
					}
				});
			}

		});
	}
});
