imagePathBase = 'layout/';//relativ sökvägsbas till bilderna, gör override på denna variabel om det behövs

//funktion för att skapa nya bilder
function newImage(imageFile){
	imageObject = new Image();
	imageObject.src = imagePathBase + imageFile;
	return imageObject;
}

//funktion för att byta bilder på menyn
function switchImage(imageName,imageFile){
	document.images[imageName].src = imagePathBase + imageFile;
}

//funktion för att byta bilder på menyn (från annan frame)
function switchImage2(imageName,imageFile){
	parent.navigation.document.images[imageName].src = imagePathBase + imageFile;
}

//funktion för att byta bilder på menyn
function toggleImage(imageName,alternateImageFile,originalImageFile){
	if(document.images[imageName].src.indexOf(originalImageFile)>=1 || originalImageFile.indexOf(document.images[imageName].src)>=1){
		document.images[imageName].src = imagePathBase + alternateImageFile;
	}else{
		document.images[imageName].src = imagePathBase + originalImageFile;
	}
}

function toggleTitle(linkID,alternateTitle,originalTitle){
	if(document.links[linkID].title == originalTitle){
		document.links[linkID].title = alternateTitle;
	}else{
		document.links[linkID].title = originalTitle;
	}
}

//funktion för att lägga till favoriter
function addFavorite(url,title){
	//(getLanguage()=='se')?output='Din webbl\xE4sare st\xF6der inte denna funktion! L\xE4gg till oss manuellt (Ctrl+D).':output='Your browser does not support this function! Add us manually (Ctrl+D).';
	output = 'Din webbl\xE4sare st\xF6der inte denna funktion! L\xE4gg till oss manuellt (Ctrl+D).';
	(!window.external)?alert(output):window.external.AddFavorite(url,title);
}

//This function removes control charachters (NewLine, CarriageReturn and Tab characters) from a string
function removeControlChars(aString) {
	retVal = "";
  	for (i=0; i < aString.length; i++) {
    		if (aString.charAt(i) != '\n' && aString.charAt(i) != '\r' && aString.charAt(i) != '\t'){
      			retVal += aString.charAt(i);
      		}
  	}
  	return retVal;
}

//This function removes spaces from a string
function removeSpaces(aString) {
	retVal = "";
  	for (i=0; i < aString.length; i++) {
    		if (aString.charAt(i) != ' '){
      			retVal += aString.charAt(i);
      		}
  	}
  	return retVal;
}

//This function checks if a textarea contains any valid information or not
function isTextAreaEmpty(aTextArea){
	value1 = aTextArea.value;
	value1 = removeControlChars(value1);
	value1 = removeSpaces(value1);
	
	if(value1==""){
		return true
	}else{
	 	return false
	}	
}

//Use with body onLoad()
//Sets focus to the first form element encountered (except checkboxes and radiobuttons)
function setFocus(){
	for(i=0;i<document.forms.length;i++){
		for(j=0;j<document.forms[i].elements.length;j++){
			if(document.forms[i].elements[j].type == "text"||document.forms[i].elements[j].type == "textarea"||document.forms[i].elements[j].type == "password"){
				document.forms[i].elements[j].focus();
				return;
			}
		}
	}
}

//funktion för att ta reda på läsarens språkinställning, returnerar en sträng på två tecken, exempelvis 'se' för svenska
//eller null om inte språkinställning finns tillgänglig.
function getLanguage(){
	language = (navigator.language)? navigator.language : navigator.userLanguage;
	
	if(language){
		language = language.substring(0,2);
	}else{
		language = null;
	}
	return language;
}

//funktion för att skicka vidare vid olika språkinställningar
function languageRedirect(){
	switch (getLanguage()){
		case "sv" :
      			window.location="se/index.htm";
      			break;
    		case "en" :
      			window.location="en/index.htm";
      			break;
		default :
 			window.location="se/index.htm";
	}
}

//An email should contain an '@' and atleast one '.'. The last '.' should appear after the '@', this function checks this
function checkEmail(aString){
	retVal = false;
	value1 = 0;
	value2 = 0;
	if(aString.lastIndexOf('@')>-1){
		value1 = aString.lastIndexOf('@')
		if(aString.lastIndexOf('.')>-1){
			value2 = aString.lastIndexOf('.')
			if(value2>value1){
				retVal = true;
			}
		}
	}

	return retVal;
}

//Hide an element, a div for example. The argument should be an id string of the element to be hidden.
function close(element){
	var toBeClosed = document.getElementById(element);
	//toBeClosed.className = "hide";
	toBeClosed.style.visibility = 'hidden';
}

//Limits keystrokes in a textarea
function textCounter(field, maxlimit){
	if(field.value.length > maxlimit){
    		field.value = field.value.substring(0, maxlimit);
    		alert( 'Textf\xE4ltet f\xE5r inte inneh\xE5lla mer \xE4n ' + maxlimit + ' tecken.\nDe tecken som \xF6verskridit maxl\xE4ngden har klippts bort.' );
    		return false;
  	}
}

//Displays the amount of keystrokes left in a limited textfield in another textfield
function displayCounter(displayField,textField,maxLimit){
	displayField.value = maxLimit - textField.value.length;
}

//This function will take the text in a field and split up words that are too long
function limitWordLengths(textField,maxWordLength,separator){
	var str = textField.value;
	var strResult = ""
	aryWords = str.split(" ")

	for(var i=0; i<aryWords.length; i++){
		strResult = strResult + limitWordLengthsHelper(aryWords[i],maxWordLength,separator) + " "
     	}

	textField.value = strResult;
}

//This is just a helper for the limitWordLengths function, should not be called directly     
function limitWordLengthsHelper(str,maxWordLength,separator){
	var strResult = ""
	aryChars = str.split("")
	
	for(var j=0; j<aryChars.length;j++){
		if(j%maxWordLength==0 && j!=0){
			strResult += separator;
		}
		strResult = strResult + aryChars[j]
	}
	return strResult
}

//This function will take the text in a field and check if it contains words that are too long
function areWordsTooLong(textField,maxWordLength){
	var splitText = textField.value.split(" ")
	var foundTooLongWord = false

	for(var i=0; i<splitText.length; i++){
  		if(splitText[i].length > maxWordLength){
			foundTooLongWord = true;
			break;
		}
	}
	return foundTooLongWord;
}

