//<script language="JavaScript" type="text/javascript">
<!--
// *****************************************************************************
// Title:		Functions 2.0 JS
// Copyright:	H-kan (www.h-kan.se)
// Date:		2000-08-20
// Modified:	2007-02-10
// Description:	Javascript functions
// *****************************************************************************

var errormsg = '';

function testFunc(){
	var bredd = screen.width;
	var hojd = screen.height;
	alert("Upplösning: " + bredd + "x" + hojd);
	return;
}

function strLeft(str, n){
	str = trimStr(str);
	if (str == '')
		return '';
	else if (n <= 0)
		return '';
	else if (n > str.length)
		return str;
	else
		return str.substring(0,n);
}

function strRight(str, n){
	str = trimStr(str);
	if (str == '')
		return '';
	else if (n <= 0)
		return '';
	else if (n > str.length)
		return str;
	else {
		return str.substring(str.length, str.length - n);
	}
}

function winPopUp(winUrl, winName, tools, menu, scrollbar, resizable, bredd, hojd){
	var winParam = 'toolbar=' + tools + ',location=0,directories=0,status=0,menubar=' + menu + ',scrollbars=' + scrollbar + ',resizable=' + resizable + ',left=10,top=10,screenX=10,screenY=10,width=' + bredd + ',height=' + hojd;
	window.open(winUrl,winName,winParam);
	return;
}

function isInt(str){
	var validChars = '-0123456789';
	return validate(str, validChars);
}

function chkInt(formName, strAlert){
	return (isInt(formName.value))?(true):(alertFocusFalse(formName, strAlert));
}

function isDec(str){
	var validChars = '-0123456789.,';
	return validate(str, validChars);
}

function chkDec(formName, strAlert){
	return (isDec(formName.value))?(true):(alertFocusFalse(formName, strAlert));
}

function isDigits(str){
	var validChars = '-0123456789., ';
	return validate(str, validChars);
}

function chkDigits(formName, strAlert){
	return (isDigits(formName.value))?(true):(alertFocusFalse(formName, strAlert));
}

function chkStrLength(formName, antal, strAlert){
	return (formName.value.length <= antal)?(true):(alertFocusFalse(formName, strAlert));
}

function chkPhone(formName, strAlert){
	var validChars = '0123456789 /-+()';
	return (validate(formName.value, validChars))?(true):(alertFocusFalse(formName, strAlert));
}

function chkPhoneCountry(formName, strAlert){
	var validChars = '0123456789 +';
	var phoneNr = trimStr(formName.value);
	if (phoneNr.length < 10)
		return alertFocusFalse(formName, strAlert);
	if (phoneNr.substring(0,4) != '+46 ')
		return alertFocusFalse(formName, strAlert);
	if (phoneNr.charAt(4) == '0')
		return alertFocusFalse(formName, strAlert);
	return (validate(formName.value, validChars))?(true):(alertFocusFalse(formName, strAlert));
}

function chkImageName(formName, strAlert){
	var validChars = '0123456789abcdefghijklmnopqrstuvwxyz._-';
	var imgPath = formName.value;
	var imgName = imgPath.substring((imgPath.lastIndexOf('\\') + 1), imgPath.length);
	return (validate(imgName, validChars))?(true):(alertFocusFalse(formName, strAlert + '\nFil:' + imgName));
}

function chkTime(formName, strAlert){
	var validChars = '0123456789';
	var time = trimStr(formName.value);
	var tt = time.substring(0,2);
	var mm = time.substring(3,5);
	var str = time.charAt(2);
	if (!(time.length == 5 && (str == ':' || str == '.')))
		return alertFocusFalse(formName, strAlert);
	if (!validate(tt, validChars))
		return alertFocusFalse(formName, strAlert);
	if (!validate(mm, validChars))
		return alertFocusFalse(formName, strAlert);
	return (((parseInt(tt,10) >=0) && (parseInt(tt,10) < 24) && (parseInt(mm,10) >= 0) && (parseInt(mm,10) < 60)))?(true):(alertFocusFalse(formName, strAlert));
}

function chkDate(formName, strAlert){
//Kontroll på året!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//Visa formen pa datumet.
	var validChars = '0123456789';
	var datum = trimStr(formName.value);
	var aaaa = datum.substring(0,4);
	var mm = datum.substring(5,7);
	var dd = datum.substring(8,10);
	var str1 = datum.charAt(4);
	var str2 = datum.charAt(7);
	if (!(datum.length == 10 && str1 == '-' && str2 == '-'))
		return alertFocusFalse(formName, strAlert);
	if (!validate(aaaa, validChars))
		return alertFocusFalse(formName, strAlert);
	if (!validate(mm, validChars))
		return alertFocusFalse(formName, strAlert);
	if (!validate(dd, validChars))
		return alertFocusFalse(formName, strAlert);
	return (((parseInt(mm,10) > 0 ) && (parseInt(mm,10) < 13) && (parseInt(dd,10) > 0) && (parseInt(dd,10) < 32)))?(true):(alertFocusFalse(formName, strAlert));
}

function isMail(str){
	var validChars = '0123456789@abcdefghijklmnopqrstuvwxyzåäö._-';
	var str = trimStr(str).toLowerCase();
	var at = str.indexOf('@');
	var dot = str.lastIndexOf('.');
	if (!(validate(str, validChars)))
		return false;
	return ((at > 0) && (dot > (at + 2)) && (dot >= (str.length - (4 + 1))) && (dot <= (str.length - (2 + 1))))?(true):(false);
}

function chkMail(formName, strAlert){
	return (isMail(formName.value))?(true):(alertFocusFalse(formName, strAlert));
}

function isUrl(str){
	var validChars = '0123456789@abcdefghijklmnopqrstuvwxyzåäö.:;_-/?&=#%+~$';
	var str = trimStr(str).toLowerCase();
	if (!(validate(str, validChars)))
		return false;
	return (((str.substring(0, 7) == 'http://') || (str.substring(0, 8) == 'https://')) && !(str.indexOf('.') == -1))?(true):(false);
}

function chkUrl(formName, strAlert){
	return (isUrl(formName.value))?(true):(alertFocusFalse(formName, strAlert));
}

function isLetters(str){
	var validChars = 'abcdefghijklmnopqrstuvwxyzåäöé?,.;:-_ ';
	return validate(str, validChars);
}

function isNotEmptyStr(str){
	str = trimStr(str);
	return (!(str == ''))?(true):(false);
}

function chkNotEmptyStr(formName, strAlert){
	return (isNotEmptyStr(formName.value))?(true):(alertFocusFalse(formName, strAlert));
}

function chkSelect(formName, strAlert){
	return (!(formName.selectedIndex == 0))?(true):(alertFocusFalse(formName, strAlert));
}

function chkRadioSelect(formName, strAlert){
	var i;
	var antal = 100;
	var radio = false;
	if (formName == undefined){
		alert('The form do not exist!');
		return false;
	}
	//for (i = 0; i < formName.length; i++)	????????
	for (i = 0; i < antal; i++){
		if (formName[i] != undefined)
			if(formName[i].checked)
				radio = true;
	}
	if(!radio){
		alert(strAlert);
		return false;
	}
	return true;
}

function trimStr(str){
	while('' + str.charAt(0) == ' ')
		str = str.substring(1, str.length);
	while('' + str.charAt(str.length - 1) == ' ')
		str = str.substring(0, str.length - 1);
	return str;
}

function replaceChar(str, oldStr, newStr){
	var pos = 0;
	while(str.indexOf(oldStr) > -1){
		pos = str.indexOf(oldStr);
		str = '' + (str.substring(0, pos) + newStr + str.substring((pos + oldStr.length), str.length));
	}
	return str;
}

function validate(str, validChars){
	var pos;
	str = trimStr(str).toLowerCase();
	for (pos = 0; pos < str.length; pos++)
		if (validChars.indexOf(str.substring(pos, pos + 1)) == -1)
			return false;
	return true;
}

function reDirect(reurl){
	window.location = reurl;
}

function reDirectConf(reurl, str){
	if (confirm(str))
		window.location = reurl;
}

function setFocus(formName){
	//if (formName != undefined) funkar i NSx+ och IE5+???
	if (formName != undefined)
		formName.focus();
	return true;
}

function alertFocusTrue(formName, strAlert){
	alert(strAlert);
	formName.focus();
	return true;
}

function alertFocusFalse(formName, strAlert){
	alert(strAlert);
	formName.focus();
	return false;
}
//-->
//</script>
