// Additional code for NS
var SearchEnabled = false;

if (navigator.appName=="Netscape") {
	document.addEventListener("keypress",showDown,true);
}
document.onkeydown  = showDown;

function disableFKeys() {
	var aInp = document.getElementsByTagName('input');
	for(var i=0;i<aInp.length;i++){
		aInp[i].setAttribute('autocomplete','off')
	}
}
/*********************************************************************************
'Author:       Francesca Bäckmalm
'*********************************************************************************/
function ReloadSearchResults(OrderByVal) {
	document.getElementById("OrderBy").value = OrderByVal;
	document.forms[0].submit();
}
/*********************************************************************************/
/*********************************************************************************
'Author:       Stefan Mattsson (SMA), Informia AB
'FunctionName: setSearchMode ()
'Parameters:   in_Enter: True if onenter, False if onblur
'Purpose:      
'Date:         2006-09-12
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function setSearchMode(in_Enter) {
	if (in_Enter) {
		SearchEnabled = true;
	}
	else {
		SearchEnabled = false;
	}
}
/*********************************************************************************/

/*********************************************************************************
'Author:       Stefan Mattsson (SMA), Informia AB
'FunctionName: showDown ()
'Parameters:   evt: event
'Purpose:      disable F5 and Backspace
'Date:         2005-09-16
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function showDown(evt) {
	evt = (evt) ? evt : ((window.event) ? window.event : "")

	if (evt) {
		var elem = (evt.target) ? evt.target : evt.srcElement
		if (evt.keyCode == 8 && (elem.type != "text" && elem.type != "file" && elem.type != "textarea" && elem.type != "password")) {
			// When backspace is pressed but not in form element
			cancelKey(evt);
		}
    
      else if (evt.keyCode == 13 && SearchEnabled) {
			//When Enter is pressed and focus lies on search criteria
			if (document.getElementById("filter")) {
				document.getElementById("filter").click();
			}
			cancelKey(evt);
      }
      else if (evt.ctrlKey && (evt.keyCode == 78 || evt.keyCode == 82)) {
			// When ctrl is pressed with R or N
         cancelKey(evt);
      }
	}
}
/*********************************************************************************/

/*********************************************************************************
'Author:       Stefan Mattsson (SMA), Informia AB
'FunctionName: cancelKey ()
'Parameters:   evt: event
'Purpose:      Disable keypress
'Date:         2005-09-16
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function cancelKey(evt) {
	if (evt.preventDefault) {
		evt.preventDefault();
		return false;
	}
	else {
		evt.keyCode = 0;
		evt.returnValue = false;
	}
}
/*********************************************************************************/

/*********************************************************************************
'Author:       Stefan Mattsson (SMA), Informia AB
'FunctionName: logout ()
'Parameters:   N/A
'Purpose:      Confirm if to logout
'Date:         2005-09-16
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function logout() {
	if (confirm("Är du säker på att du vill logga ut?")) {
		document.location.href = "/pages/login.asp?Logout=true";
	}
}
/*********************************************************************************/
/*********************************************************************************/

/*********************************************************************************
'Author:       Sabina Karlsson , Informia AB
'FunctionName: logout ()
'Parameters:   N/A
'Purpose:      Confirm if to logout
'Date:         2008-07-21
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function logout_test() {
	if (confirm("Är du säker på att du vill logga ut?")) {
		document.location.href = "/pages/login_test.asp?Logout=true";
	}
}
/*********************************************************************************/
/*********************************************************************************
'Author:       Stefan Mattsson (SMA), Informia AB
'FunctionName: showTutorial ()
'Parameters:   in_URL: URL of callin page
'Purpose:      Show tutorial of page
'Date:         2005-09-08
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function showTutorial(in_URL) {
	var width = 500;
	var height = 675;
	var LeftPosition = (screen.width) ? (screen.width-(width))/2 : 0;
	var TopPosition = (screen.height) ? (screen.height-height)/2 : 0;
	window.open("/pages/tutorial.asp?url="+in_URL, "tutorial", "menubar=no,toolbar=no,status=yes,scrollbars=yes,resizeable=no,width="+width+",height="+height+",left="+LeftPosition+",top="+TopPosition);
}
/*********************************************************************************/

/*********************************************************************************
'Author:       Stefan Mattsson (SMA), Informia AB
'FunctionName: SelectAllOptions ()
'Parameters:   obj: Object to select all items in
'Purpose:      Select all items in a listbox
'Date:         2005-08-29
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function SelectAllOptions(obj) {
	for (var i=0; i<obj.options.length; i++) {
		var o = obj.options[i];
		o.selected = true;
	}
}
/*********************************************************************************/

/*********************************************************************************
'Author:       Stefan Mattsson (SMA)
'FunctionName: closeFrame ()
'Parameters:   in_ID: ID of frame to close
'Purpose:      Close popup frame
'Date:         2005-06-14
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function closeFrame(in_ID) {
	if (document.getElementById(in_ID)) {
		document.getElementById(in_ID).style.display = "none";
	}
}
/*********************************************************************************/

/*********************************************************************************
'Author:       Stefan Mattsson (SMA)
'FunctionName: changeUserPassWord ()
'Parameters:   N/A
'Purpose:      Change password for user
'Date:         2005-04-25
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function changeUserPassWord(in_UserID) {
	var width = 425;
	var height = 175;
	var LeftPosition = (screen.width) ? (screen.width-(width))/2 : 0;
	var TopPosition = (screen.height) ? (screen.height-height)/2 : 0;
	window.open("/pages/settings/change_Password.asp", "change_Password", "menubar=no,toolbar=no,status=yes,scrollbars=no,resizeable=no,width="+width+",height="+height+",left="+LeftPosition+",top="+TopPosition);
}
/*********************************************************************************/

/*********************************************************************************
'Author:       Stefan Mattsson (SMA)
'FunctionName: mouseOverSearchResult ()
'Parameters:   in_Href: ID of Href to change text color on
'					in_backgroundColor: Background color when mouse over
'					in_HreftextColor: Color of Href
'					in_textColor: Text color when mouse over
'					in_Obj: TR object
'Purpose:      Change styles on TR when mouse over
'Date:         2005-03-08
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function mouseOutSearchResult(in_Org_className, in_Obj) {
	if (in_Org_className == "EvenBackground") {
		in_Obj.style.backgroundColor = "#F2F2F2";
	}
	else if (in_Org_className == "OddBackground")  {
		in_Obj.style.backgroundColor = "#FFFFFF";
	}
	else {
		in_Obj.style.backgroundColor = "99CCFF";
		
	}
	in_Obj.style.color = "#000000";
}
/*********************************************************************************/

/*********************************************************************************
'Author:       Stefan Mattsson (SMA)
'FunctionName: mouseOverSearchResult ()
'Parameters:   in_Href: ID of Href to change text color on
'					in_backgroundColor: Background color when mouse over
'					in_textColor: Text color when mouse over
'					in_Obj: TR object
'Purpose:      Change styles on TR when mouse over
'Date:         2005-03-08
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function mouseOverSearchResult(in_Obj) {
	in_Obj.style.backgroundColor = "#000064";
	in_Obj.style.color = "#FFFFFF";
}
/*********************************************************************************/

/*********************************************************************************
'Author:       Stefan Mattsson (SMA)
'FunctionName: InitFrames ()
'Parameters:   N/A
'Purpose:      Init Frames
'Date:         2005-03-05
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function InitFrames() {
	for (var i=0; i < frame_Array.length; i++) {
		if (document.getElementById(frame_Array[i].frameID)) {
			document.getElementById(frame_Array[i].frameID).style.height = frame_Array[i].frameHeight;
			document.getElementById(frame_Array[i].frameID).style.top = frame_Array[i].frameTopPos;
			document.getElementById(frame_Array[i].frameID).style.left = frame_Array[i].frameLeftPos;
			document.getElementById(frame_Array[i].frameID).style.width = frame_Array[i].frameWidth;
			document.getElementById(frame_Array[i].frameID).style.zIndex = 1;
			document.getElementById("header_"+frame_Array[i].frameID).innerHTML = frame_Array[i].original_Header_Text;
			document.getElementById(frame_Array[i].frameID).style.display = "block";
  		}
	}
}
/*********************************************************************************/

function openNote(in_obj) {
	document.getElementById(in_obj).style.display = "";
	document.getElementById("table_"+in_obj).style.display = "none";
}

function closeNote(in_obj) {
	document.getElementById(in_obj).style.display = "none";
	document.getElementById("table_"+in_obj).style.display = "";
}

function CloseAlert_floating() {
	document.getElementById("DIV_ErrorMsg_Menu").style.display = "none";
	document.getElementById("div_Error_Shadow").style.display = "none";
}


function CloseAlert() {
	document.getElementById("tbl_Error_Msg").style.display = "none";
}

function SetFocus(obj) {
	document.getElementById(obj).focus();
}


function ShowError(ErrorMsg, Height) {
	document.getElementById("span_Error_Msg").innerHTML = ErrorMsg;
	document.getElementById("tbl_Error_Msg").style.height = Height;
	document.getElementById("div_Error_Shadow").style.height = Height;
	document.getElementById("div_Error_Shadow").style.display = "";
	document.getElementById("DIV_ErrorMsg_Menu").style.display = "";
}


/*********************************************************************************
'Author:       Stefan Mattsson (SMA)
'FunctionName: CheckFloatMoney ()
'Parameters:   obj: The object to check
'					showError: Flag; If to show alert or not on error
'Purpose:      Check objects value for correct Float or Money type
'Date:         2002-02-22
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function CheckFloatMoney(obj, showError) {
	if (obj.value != '') {
		var validRegExp = /^[,0-9]{0,}$/;
		var sepChar = /^[,]{0,}$/;
		if (obj.value.search(validRegExp) != 0) {
			if (showError) {
				alert("Only numeric and ',' character are valid input!");
			}
			return false;
		}
		else {
			var CountSep = 0;
			var x;
			for (var i=0; i < obj.value.length; i++) {
				if (obj.value.charAt(i) == ',') {
					CountSep++
				}
			}
			if (CountSep > 1) {
				if (showError) {
					alert("Too many ',' are entered!");
				}
				return false;
			}
			else {
				return true;
			}
		}
	}
	else {
		return true;
	}
}
/*********************************************************************************/	

/*********************************************************************************
'Author:       Stefan Mattsson (SMA)
'FunctionName: CheckOnlyNumeric ()
'Parameters:   obj: The object to check
'					showError: Flag; If to show alert or not on error
'Purpose:      Check objects value for correct Float or Money type
'Date:         2004-04-06
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function CheckOnlyNumeric(obj, showError) {
	if (obj.value != "") {
		var validRegExp = /^[0-9]{0,}$/;
		if (obj.value.search(validRegExp) != 0) {
			if (showError) {
				alert("Endast numeriska värden är godkända för inmatning!");
			}
			return false;
		}
		return true;
	}
	else {
		return true;
	}
}
/*********************************************************************************/

/*********************************************************************************
'Author:       Stefan Mattsson (SMA)
'FunctionName: CheckInteger ()
'Parameters:   obj: The object to check
'					showError: Flag; If to show alert or not on error
'Purpose:      Check objects value for correct Float or Money type
'Date:         2004-04-06
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function CheckInteger(obj, showError) {
	if (obj.value != "") {
		var validRegExp = /^[-,0-9]{0,}$/;
		if (obj.value.search(validRegExp) != 0) {
			if (showError) {
				alert("Endast numeriska värden är godkända för inmatning!");
			}
			return false;
		}
		return true;
	}
	else {
		return true;
	}
}
/*********************************************************************************/


/*********************************************************************************
'Author:       Stefan Mattsson (SMA)
'FunctionName: checkZipCode()
'Parameters:   in_Value: Value to check
'Purpose:      Check if value is correct zip code
'Date:         2005-08-26
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function checkZipCode(in_Value) {
	var validRegExp = /^[\s,0-9]{0,}$/;
	
	//ENDAST KONTROLL OM SIFFROR ANGES FÖR TILLFÄLLET
	
	if (in_Value.search(validRegExp) != 0) {
		return false;
	}
	else {
		return true;
	}
	
	if (in_Value.length > 6) {
		return false;
	}
	else {
		if (in_Value.substring(0,3).search(validRegExp) != 0) {
			return false;
		}
		else {
			if (in_Value.substring(3,4) != " ") {
				return false;
			}
			else {
				if (in_Value.substring(4,6).search(validRegExp) != 0) {
					return false;
				}
			}
		}
	}
	return true;
}

/*********************************************************************************/


/*********************************************************************************
'Author:       Stefan Mattsson (SMA)
'FunctionName: CheckDate ()
'Parameters:   obj: The object to check
'					showError: Flag; If to show alert or not on error
'Purpose:      Check objects value for correct Date type
'Date:         2004-06-16
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function CheckDate(obj, showError) {
	if (obj.value != '') {
		var validRegExp = /^[-,0-9]{0,}$/;
		if (obj.value.search(validRegExp) == 0) {
			if (obj.value.length == 8) {
				obj.value = obj.value.substr(0,4) + "-" + obj.value.substr(4,2) + "-" + obj.value.substr(6,2);
				if (!ValidateDate(obj.value, '-', '', false)) {
					if (showError) {
						alert('Date not valid!');
					}
					return false;
				}
				else {
					return true;
				}
			}
			else if (obj.value.length == 10) {
				if ((obj.value.substr(4,1) != "-") || (obj.value.substr(7,1) != "-")) {
					if (showError) {
						alert("Date has wrong format, use yyyy-mm-dd!")
					}
					return false;
				}
				else {
					if (!ValidateDate(obj.value, '-', '', false)) {
						if (showError) {
							alert('Date not valid!');
						}
						return false;
					}	
					else {
						return true;
					}
				}
			}
			else if (obj.value.length == 6) {
				obj.value = "20" + obj.value.substr(0,2) + "-" + obj.value.substr(2,2) + "-" + obj.value.substr(4,2);
				if (!ValidateDate(obj.value, '-', '', false)) {
					if (showError) {
						alert('Date not valid!');
					}
					return false;
				}	
				else {
					return true;
				}
			}
			else {
				if (showError) {
					alert("Date has wrong format, use yyyy-mm-dd!")
				}
				return false;
			}
		}
		else {
			if (showError) {
				alert("Illegal characters, only 0-9, and '-' are allowed!")
			}
			return false;
		}
	}	
	else {
		return true;
	}
}
/*********************************************************************************/	

/*********************************************************************************
'Author:       Stefan Mattsson (SMA)
'FunctionName: setPath ()
'Parameters:   in_Path: Path
'Purpose:      Set path
'Date:         2005-04-25
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function setPath(in_Path) {
	window.top.document.getElementById("path").innerHTML = in_Path;
}
/*********************************************************************************/	

/*********************************************************************************
'Author:       Stefan Mattsson (SMA), Informia AB
'FunctionName: ValidateDate ()
'Parameters:   myDate: Date to check
'					inSep: Character that seperates year/month/dag
'					inControl: Wich control that fired the error
'					showError: Flag; If to show alert or not on error
'Purpose:      Check objects value for correct Date type
'Date:         2004-04-21
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function ValidateDate(myDate, inSep, inControl, showError) {
	if (myDate.length == 10) {
		if (myDate.substring(4,5) == inSep && myDate.substring(7,8) == inSep) {
			var year  = myDate.substring(0,4);
			var month = myDate.substring(5,7);
			var date  = myDate.substring(8,10);
			
			var test = new Date(year,month-1,date);
			if (year == y2k(test.getYear()) && (month-1 == test.getMonth()) && (date == test.getDate())) {
				reason = '';
			}
			else {
				reason = 'Godkänt format men ett ogiltligt datum';
			}
		}
		else {
			reason = 'Otillåtna datum seperatorer';
		}
	}
	else {
		if (myDate.length == 0) {
			reason = '';
		}
		else {
			reason = 'Otillåten längd';
		}
	}
	if (reason != '') {
		if (showError) {
			alert(inControl + ': ' + reason);
		}
		return false;
	}
	else {
		return true;
	}
}
/*********************************************************************************/	

/*********************************************************************************
'Author:       Stefan Mattsson (SMA), Informia AB
'FunctionName: LeapYear ()
'Parameters:   year
'Purpose:      Return if year is leapyear
'Date:         2004-04-28
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function LeapYear(year) {
	if ((year/4)   != Math.floor(year/4))   return false;
	if ((year/100) != Math.floor(year/100)) return true;
	if ((year/400) != Math.floor(year/400)) return false;
	return true;
}
/*********************************************************************************/


/*********************************************************************************
'Author:       Stefan Mattsson (SMA), Informia AB
'FunctionName: y2k ()
'Parameters:   number: Year to check
'Purpose:      Check if year is correct
'Date:         2004-04-21
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function y2k(number) { 
	return (number < 1000) ? number + 1900 : number; 
}
/*********************************************************************************/	

/*********************************************************************************
'Author:       Stefan Mattsson (SMA), Informia AB
'FunctionName: InsertMemberNo ()
'Parameters:   Member_No: Member no
'					Member_ID: Member id
'Purpose:      Set Properties of object
'Date:         2006-03-24
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function InsertMemberNo(Member_No, Member_ID) {
	this.Member_No = Member_No;
	this.Member_ID = Member_ID;
}
/*********************************************************************************/