if (window.console == undefined) {
	window.console = { log: function() { }, dir: function() { } };
}

var mw_distance = 100;
var mw_time = 0;
var reset_to_logo = false;

$(function() {
	
	$('#listframe').mousewheel(function(e, delta) {
		if (delta > 0) {
			$('#listframe').scrollTo('-=' + (delta * mw_distance) + 'px', mw_time);
		}
		else {
			$('#listframe').scrollTo('+=' + (Math.abs(delta) * mw_distance) + 'px', mw_time);	
		}
	});	
	
	padlist();
	//$(window).resize(padlist); // dette breaker med resize-handlern  i client-detail
	
	if (window.unFocus != undefined) {
		unFocus.History.addEventListener('historyChange', historyChange);
		current = unFocus.History.getCurrent();
		if (current) {
			 // avoid flicker of logo if deeplinked
			if (current.match(/\d+$/))  $('#flashheader').hide(); 
			$('#listframe').hide();
			
			historyChange(current, true);
		}
	}
	
//	$('#listframe').jScrollHorizontalPane(); 
	
});
var adding_to_history = false;
var changing_history = false;
function historyAdd(url) {
	if (window.unFocus == undefined) return;
	adding_to_history = true;
	//console.log('adding '+url);
	unFocus.History.addHistory(url);
	adding_to_history = false;
}
function historyChange(url, fromPermaLink) {
	if (adding_to_history) return;
	changing_history = true;
	//console.log('history change to: '+url);
	if (fromPermaLink) {
		mx(url);
	}
	return (url.match(/\d+$/)) ? x(url) : mx(url);
}

function x(anchor, tgt) {
	if (tgt == undefined) tgt = 'detailframe';
	
	url = (typeof anchor != 'string') ? $(anchor).attr('href') : anchor;
	
	if (changing_history) {
		changing_history = false;
	}
	else {
		historyAdd(url);
	}
	
	$('#'+tgt).fadeOut(200, function() {	
		$.ajax({
			type: 'GET',
	  		url: url,
	  		data: { tgt: tgt },
	  		dataType: 'html',
	  		success: function(html){
	    		$('#'+tgt).html(html);
	    		if (tgt == 'listframe') {
	    			$('#'+tgt).fadeIn('200', padlist);
	    		}
	    		else {
	    			$('#'+tgt).fadeIn('200');
	    		}
	  		}
		});
	});

	if (reset_to_logo && $('#flashheader').length == 0) {
		$.ajax({
			type: 'GET',
	  		url: '/',
	  		data: { tgt: 'detailframe' },
	  		dataType: 'html',
	  		success: function(html){
	    		$('#detailframe').html(html);
	    		$('#detailframe').fadeIn('200');
	  		}
		});			
	}		
	reset_to_logo = false;
	return false;
}

function mx(anchor) {
	if (typeof anchor != 'string') {
		url = $(anchor).attr('href');	
		$(anchor).parent().siblings().removeClass('aktiv');
		$(anchor).parent().addClass('aktiv');
	}
	else {
		url = anchor;		
		$('#menu li').each(function() {
			if ($(this).find('a').attr('href') == url) {
				$(this).addClass('aktiv');
			}
			else {
				$(this).removeClass('aktiv');
			}
		});
		if (url == '') {
			$('#menu li:first').addClass('aktiv');
		}
	}
	reset_to_logo = true;
	return x(url, 'listframe');
}

function sx(anchor) {
	$("#loading").fadeIn();
	$("#solution").fadeOut(100, function() {
		$.ajax({
			type: 'GET',
	  		url: $(anchor).attr('href'),
	  		dataType: 'html',
	  		success: function(html){
	    		$("#solution").html(html);
	  		}
		});
	});	
	return false;
}



function s(c) {
	if (c == null && !(c = getCountryCookie()))	return false;
	
	if (!$('#listframe').is(':visible')) {
		setTimeout(function() { s(c) }, 50);
	}
	else {
		$('.countryselect a').removeClass('active');
		$('.countryselect a.'+c).addClass('active');
		$('#listframe').scrollTo('#'+c, 700, { easing: 'swing', offset: { left: -210, top: 0 }} );
		setCountryCookie(c);
	}
}


function padlist() {
	//console.log('padlist');
	//console.trace();
	if ($('#hometext').length) return; 
	
	$('#tdpadding').remove();
	var w = $(window).width();	
	var t = 480; // countrystart + margin
	t -= 100; 
	$('#listframe table td.countrystart:last').nextAll().each(function() {
    	t += $(this).width();
	});
	if (w < t) return;	
	if (!$('#tdpadding').length) {
	    $('#listframe table td:last').after('<td id="tdpadding"><div></div></td>');
	}
	$('#tdpadding div').css('width', (w - t)+'px');
}

var map = null;
function GMapLoad(lat, lng, data) {
  if (GBrowserIsCompatible()) {
  	
  	point = new GLatLng(lat, lng);
  	
    map = new GMap2(document.getElementById("gmap"));
    map.addControl(new GSmallZoomControl());        
    map.enableScrollWheelZoom();
    map.setMapType(G_NORMAL_MAP);
    
	marker = new GMarker(point);
	map.addOverlay(marker);    
    
	infobox(marker, data);
	map.setCenter(point, 16);    
  }
}

var open_marker = null;
function infobox(marker, data) {
	
	html  = '<h3>' + data.name + '</h3><p>';
	/*
	html += data.address + '<br/>'; 	
	html += data.zip + ' ' + data.city + '<br/><br/>'; 
	html += '<a href="' + data.url + '">' + data.url.replace(/https?:\/\//, '') + '</a><br/><br/>'; 
	html += 'P: ' + data.phone;
	if (data.fax) {
		html += '<br />F: ' + data.fax;
	}
	*/
	marker.openInfoWindowHtml(html, { maxWidth: 1000 } );
}

function maximizeDivHeight(id) {
	$('#'+id).css('height', $(window).height() - parseInt($('#bottom').css('height') + 'px'));
}

/*
var sln_cur_cat = null;
var sln_cur_cat_id = null;
var sln_cur_idx = 1;
var sln_left_offset = 0;
var sln_top_offset = 0;
var sln_scroll_duration = 700;
var sln_rowcount = 0

function slnInit(sln_start_cat) {
	if (sln_start_cat) {
		sln_cur_cat = $('[id='+sln_start_cat+']');
	}
	else {
		sln_cur_cat = $('tr:first');
	}
	sln_cur_cat_id = $(sln_cur_cat).attr('id');
	$('#scrollable').scrollTo(sln_cur_cat, sln_scroll_duration);
}
	
function slnMove(dir) {
	switch (dir) {
		case 'n':
			if ($(sln_cur_cat).attr('id') == $('tr:first').attr('id')) {
				sln_goto_cat = $('tr:last');
			}
			else {
				sln_goto_cat = $(sln_cur_cat).prev();
			}
			$('#scrollable').scrollTo(sln_goto_cat, sln_scroll_duration, {axis: 'y'});
			sln_cur_cat = sln_goto_cat;
			sln_cur_cat_id = $(sln_cur_cat).attr('id');
			slnMove('rowchange');						
			break;
		case 's':
			if ($(sln_cur_cat).attr('id') == $('tr:last').attr('id')) {
				sln_goto_cat = $('tr:first');
			}
			else {
				sln_goto_cat = $(sln_cur_cat).next();
			}
			$('#scrollable').scrollTo(sln_goto_cat, sln_scroll_duration, {axis: 'y'});
			sln_cur_cat = sln_goto_cat;
			sln_cur_cat_id = $(sln_cur_cat).attr('id');
			slnMove('rowchange');
			break;					
		case 'e':
			sln_cur_idx++;
			sln_rowcount = $(sln_cur_cat).children().length;
			if (sln_cur_idx > sln_rowcount) sln_cur_idx = 1;
			$('#scrollable').scrollTo($('#'+sln_cur_cat_id+'_'+sln_cur_idx), sln_scroll_duration, {axis: 'x', offset: { left: sln_left_offset, top: sln_top_offset }});			
			break;
		case 'w':
			sln_cur_idx--;
			sln_rowcount = $(sln_cur_cat).children().length; 
			if (sln_cur_idx < 1) sln_cur_idx = sln_rowcount;
			$('#scrollable').scrollTo($('#'+sln_cur_cat_id+'_'+sln_cur_idx), sln_scroll_duration, {axis: 'x', offset: { left: sln_left_offset, top: sln_top_offset }});			
			break;
		case 'rowchange':
			sln_rowcount = $(sln_cur_cat).children().length;
			if (sln_cur_idx > sln_rowcount) {
				sln_cur_idx = sln_rowcount + 1;
				slnMove('w'); 
			}
			break;
	}
}
*/
function setCountryCookie(c) {
    document.cookie = "country=" + c + "; path=/";    
    var logo = document.getElementById('headerswf');    
    if (logo) {
    	logo.SetVariable('slogan', flashheaders[c]);
    	logo.SetVariable('country', c);
    }
    return true;
}

function getCountryCookie() {
	return document.cookie.match(/country=([^;]+)/) ? RegExp.$1 : false;
}
/*
function getLogoSwf() {
	// FIXME! broken in IE8
	
	if (window['logoswf'] == undefined && document['logoswf'] == undefined) return false;
	
	if (navigator.appName.indexOf("Microsoft") != -1) { 
		return window['logoswf']; 
	}
	else { 
		if (document['logoswf'].length != undefined) { 
			return document['logoswf'][1]; 
		} 
		return document['logoswf']; 
	} 
}
*/