//Globals
var ns4 = (document.layers)? true:false
var ie4 = (document.all)? true:false
var ns6 = (document.getElementById && !document.all) ? true:false


//Global ClientScript Error Handling & logging
function errorHandler(message, url, line)
{
   // message == text-based error description
   // url     == url which exhibited the script error
   // line    == the line number being executed when the error occurred

	var sAlertMsg // msg displayed to user
	var lang = frm.Language.value.toString()

	 //err message, 
		if(lang == 'se' || lang == 'dk'){
			sAlertMsg = 'Javascript fel:' +  message + ',rad=' + line}
		else{ 	sAlertMsg = 'Javascript error:' + message + ',line=' + line}

			//alert(sAlertMsg) //for dubugging purposes only!
		
	
 // stop the event from bubbling up to the default window.onerror handler
   return true;
}

// install the global error-handler
//window.onerror = errorHandler;


function wOpen(inURL,inWidth,inHeight){	
	var xLeft
	var yTop
	
	var m_objMapWin=window.open (inURL, 'BM', 'resizable=0,scrollbars=1,width='+inWidth+',height='+inHeight)
	
  
	xLeft=(screen.width-inWidth)/2
	yTop=(screen.height-inHeight-50)/2
	m_objMapWin.moveTo(xLeft,yTop) // absolute positioning
	m_objMapWin.focus()		
	
	return 
}


function getRadioValue(radioObject) { 
		var value = null 
		for (var i=0; i<radioObject.length; i++) { 
			if (radioObject[i].checked) { 
				value = radioObject[i].value
				break } 
		} 
		return value 
} 	

function checkTime(objInpBox){

	if (objInpBox.value=='') return //OK

	if (objInpBox.value.length==3) objInpBox.value = '0' + objInpBox.value
	
	var retVal = false
	var strVal = objInpBox.value
	
	if(strVal.length == 4){
		if(!isNaN(strVal)){
			while(strVal.charAt(0) == '0') strVal = strVal.substring(1, strVal.length)
			if(strVal == '') strVal = '0'
			var intTime = parseInt(strVal)
			if(intTime<2400 && intTime >= 0){
				if(intTime%100<60){
					retVal = true
				}
			}
		}
	}

	if (retVal == false){
		alert('Du har angivit ett icke giltigt klockslag: ' + objInpBox.value)
		objInpBox.focus()
				}

}

function checkDate(objInpBox)
{
	//Checks if a shortdate (yymmdd) is valid.

	var shortDate, Length, Day, Month, Year, daysOfMonth;

	shortDate=objInpBox.value;
	Length=objInpBox.value.length;

	//if (Length == 0) return true; //An empty field is allowed

	if (Length != 6) 
	{
  		alert('Du har angivit fel datum-format (ċċmmdd): ' + objInpBox.value);
  		objInpBox.focus();
  		return false;
	}

	Year=parseInt(shortDate.substr(0,2),10);
	Month=parseInt(shortDate.substr(2,2),10);
	Day=parseInt(shortDate.substr(4,2),10);

	//alert(Year);
	//alert(Month);
	//alert(Day);

	if (Month==4 || Month==6 || Month==9 || Month==11)
		daysOfMonth=30;
	else if (Month==1 || Month==3 || Month==5 || Month==7 || Month==8 || Month==10 || Month==12)
		daysOfMonth=31;
	else if(Month==2 && Year%4==0 && Year%100!=0 || Year%400==0)
		daysOfMonth=29;
	else if(Month==2 && Year%4!=0 || Year%100==0 && Year%400!=0)
		daysOfMonth=28;

	if (Day>=1 && Day<=daysOfMonth && Month>=1 && Month<=12)
	{
 		return true;
	}

	alert('Du har angivit ett icke giltigt datum: ' + objInpBox.value);
	objInpBox.focus();
	return false;
}

function checkMask(e, charMask){

	var key, keyChar;
	key = getKey(e);
	if (key == null) return true;
	
	keyChar = String.fromCharCode(key);
	keyChar = keyChar.toLowerCase();
	charMask = charMask.toLowerCase();
	
	if (charMask.indexOf(keyChar) != -1) return true;

	// control keys
	if (key==null || key==0 || key==8 || key==9 || key==13 || key==27) return true;

	// else return false
	return false;
}

function getKey(e){
	if (window.event){
		return window.event.keyCode
	}else if (e){
		return e.which
	}else
	return null
}
