function asArray(o, fields, def){
	var o2 = o;
	for (n=0; n<fields.length; n++){
		o2 = o2[fields[n]];
		if (!o2)
			return def;
	}
	if (o2.constructor != Array)
		return new Array(o2);
	return o2;
}	

function updateSpan(id, txt){
	var o = document.getElementById(id);
	if (o){
		o.innerHTML = txt;
	}
}

function updateImg(id, url, alt){
	var o = document.getElementById(id);
	if (o){
		o.src = url;
		o.alt = alt;
	}
}

function updateAnchor(id, url){
	var o = document.getElementById(id);
	if (o){
		o.href = url;
	}
}

function updateInfoPage(url){
	if (!url) return;
	var m = document.getElementById('MenuBalkInfo'),
		o = document.getElementById('infopostit');
	if (!(m&&o)) return;
	m.style.display = '';
	o.childNodes[0].src = url;
}

function updateRp(url){
	if (!url){
		return
	}
	var m = document.getElementById("MenuBalkRouteplanner"), 
		o = document.getElementById("routepliframe");
	if (o&&m){
		m.style.display = "";
		o.innerHTML = '<iframe frameborder="0" border="0" src="' + url + '" style="width: 100%; height: 100%; background-color: #fff;">'
	}
}

function insertCss(url,media){
	var o = document.getElementsByTagName('head')[0];
	if (o){
		var c = document.createElement('link');
		c.rel = 'stylesheet';
		c.type = 'text/css';
		c.href = url;
		o.appendChild(c);
	}
}

function updateTitle(title){
	document.title = title;
}

function getParam(name, def){
	  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	  var regexS = "[\\?&]"+name+"=([^&#]*)";
	  var regex = new RegExp( regexS );
	  var results = regex.exec( window.location.href );
	  if( results == null )
	    	return def;
	  else
		return results[1];
}

