function adjustImageSize(fNewImage, fNewMaxWidth, fNewMaxHeight) {
	fImageObject = new Image();
	fImageObject.src = fNewImage.src;
	fNewImage.style.height = '';
	fNewImage.style.width = '';
	fOriginalSize = true;

	if ((fImageObject.width / fImageObject.height) < (fNewMaxWidth / fNewMaxHeight)) {
		if (fImageObject.height > fNewMaxHeight) {
			fNewImage.style.width = (fImageObject.width * fNewMaxHeight / fImageObject.height) + 'px';
			fNewImage.style.height = fNewMaxHeight + 'px';
			fOriginalSize = false;
		}
	} else {
		if (fImageObject.width > fNewMaxWidth) {
			fNewImage.style.height = (fImageObject.height * fNewMaxWidth / fImageObject.width) + 'px';
			fNewImage.style.width = fNewMaxWidth + 'px';
			fOriginalSize = false;
		}
	}

	if (fOriginalSize) {
		fNewImage.style.height = fImageObject.height + 'px';
		fNewImage.style.width = fImageObject.width + 'px';
	}


	if (arguments.length > 3 && arguments[3]) alert('Bildens anpassning är färdig.   ');

	//Anpassar den angivna bilden proportonellt genom styles-egenskaper så att den passar det angivna utrymmet.
}



function isBrowser(fnewCodeName) {
	fAgent = navigator.userAgent.toLowerCase();
	fBrowserDetected = false;

	if (fnewCodeName == 'ie') fBrowserDetected = (fAgent.indexOf("msie") >= 0);
	else if (fnewCodeName == 'ns') fBrowserDetected = (fAgent.indexOf("netscape") >= 0);

	return fBrowserDetected;

	//Returnerar sant om den den sökta webbläsaren har hittats.
}



function getLayer(fNewId) {
	var fLayer;

	if (document.all) {
		fLayer = document.all[fNewId];
	} else if (document.getElementById) {
		fLayer = document.getElementById(fNewId);
	} else if (document.layers) {
		fLayer = document.layers[fNewId];
	}

	return fLayer;

	//Returnerar referencen till det angivna layer-objektet.
}



function getOptionsArray(newTextArray, newValueArray) {
	var fOptionsArray = new Array();

	if (newTextArray.length == newValueArray.length) {
		for (ia = 0; ia < newTextArray.length; ia++) {
			fOptionsArray[ia] = new Option(newTextArray[ia], newValueArray[ia]);
		}
	} else {
		fOptionsArray[0] = new Option('error', 'error');
	}

	return fOptionsArray;

	//Returnerar en array av option-objekt skapade av varje array-position från parametrarna. 
}



function getStringArray(newString) {
	return newString.replace(/^\s+/, '').replace(/;\s+/g, ';').replace(/;$/, '').split(';');

	//Delar upp den angivna strängen efter varje ; (semikolon) och returnerar delarna i form av
	//en array. Om strängen inte delas returneras hela strängen i en array av längden 1 istället.
}



function selectOption(newSelect, newOptionValue) {
	for (ia = 0; ia < newSelect.length; ia++) {
		if (newSelect.options[ia].value == newOptionValue) newSelect.options[ia].selected = true;
		else newSelect.options[ia].selected = false;
	}

	//Väljer den angivna värdet i en kombinationsruta. I fall värdet inte hittas
	//kommer första värdet i kombinationsrutan att bli vald.
}



function setOptions(newSelect, newOptionsArray, newOptionValue) {
	while (newSelect.length > 0) {
		newSelect.options[0] = null;
	}

	for (ia = 0; ia < newOptionsArray.length; ia++) {
		if (newOptionValue == newOptionsArray[ia].value) newOptionsArray[ia].selected = true;
		newSelect.options[ia] = newOptionsArray[ia];
	}

	//Tilldelar de nya angivna värden till den angivna kombinationsrutan och väljer
	//det angivna värdet om det hittas, i annat fall väljs det första värdet.
}



function validCharacters(newCharacters) {
	fValidation = (newCharacters.search(/['|"|<]/g) < 0);

	return fValidation;

	//Returnerar sant ifall den angivna strängen innehåller varken ', " eller <.
}



function validEmail(newEmail) {
	fAtIndex = newEmail.indexOf('@');
	fPointIndex = newEmail.lastIndexOf('.');
	fValidation = (fAtIndex > 1 && (fAtIndex + 2) < fPointIndex && fPointIndex < (newEmail.length - 2));
	fValidation = (fValidation && (newEmail.search(/['|"|<]/g) < 0));

	return fValidation;

	//Returnerar sant ifall den angivna strängen har följande DOS-format: ??*@??*.??* utan tecknen ', " eller <.
}



function validPassword(fNewCharacters) {
	fValidation = (fNewCharacters.search(/[^a-zåäöA-ZÅÄÖ0-9]/g) < 0);

	return fValidation;

	//Returnerar sant ifall den angivna strängen bara innehåller tecknen a-z och/eller 0-9.
}



function validUsername(fNewCharacters) {
	fValidation = (fNewCharacters.search(/[^a-zåäöA-ZÅÄÖ0-9_]/g) < 0);

	return fValidation;

	//Returnerar sant ifall den angivna strängen bara innehåller tecknen a-z och/eller 0-9.
}
