﻿
/*---
//====================================================================================
//                   COPYRIGHT NOTICE - ALL RIGHTS RESERVED
//                          ScandiSoft AB 2002-2012
//   Use, copying or redistribution of this code or part of the code without
//   a licens or written permission is prohibited. This code and information are
//   provided "as is" without warranty of any kind, either expressed or implied.
//         Please contact info@scandisoft.se to avoid any legal claims.
//====================================================================================
//----// NameSpace : 
//----// PageId    : 010-123-0098
//----// Name      : common.js
//----// Access    : Javascript-funktioner
//----// Matrix    : 
//----// Task      : 
//----// Date      : 2010-10-04
//----// Author    : per.lindstrom@scandisoft.biz
//----// REM       : 
//----//
//----// Update    : 2012-02-01
//----// By        : per.lindstrom@scandisoft.biz
//----// REM       : Dialog mini
//====================================================================================
---*/


//------ Receptionsdialog ------------------------------------------------------------------------
var objRecWin;
function winReception(pageURL) {
	var posLeft = (screen.availWidth - 765) / 2;
	var posTop = (screen.availHeight - 420) / 2;
	//--- Nolla variabel om fönstret öppnats förut
	objRecWin = null;
	//--- Kolla om 800x600 används
	if (screen.width <= 800) {
		posLeft = 0;
		posTop = 0;
	}
	objRecWin = window.open(pageURL, '', 'width=795,height=500,left=' + posLeft + ',top=' + posTop + ',resizable=1,scrollbars=1,toolbar=0,location=0,directories=0,status=0,menubar=0');
	objRecWin.focus();
}

//------ Hjälpdialog -----------------------------------------------------------------------------
var objHelpWin;
function winHelp(pageURL, leftPos, topPos) {
	//--- Kolla att det finns plats på bredden
	var posLeft = window.screenLeft + leftPos;
	if (posLeft > screen.availWidth)
		posLeft = 100;
	//--- Kolla att det finns plats på höjden
	var posTop = window.screenTop + topPos;
	if (posTop > screen.availHeight)
		posTop = 100;
	//--- Nolla variabel om fönstret öppnats förut
	objHelpWin = null;
	//--- Kolla om 800x600 används
	if (screen.width <= 800) {
		posLeft = 0;
		posTop = 0;
		objHelpWin = window.open(pageURL, 'targetInfoWin', 'width=280,height=400,left=' + posLeft + ',top=' + posTop + ',resizable=1,scrollbars=1,toolbar=0,location=0,directories=0,status=0,menubar=0');
	} else {
		objHelpWin = window.open(pageURL, 'targetInfoWin', 'width=280,height=400,left=' + posLeft + ',top=' + posTop + ',resizable=1,scrollbars=1,toolbar=0,location=0,directories=0,status=0,menubar=0');
	}
	objHelpWin.focus();
}

//------ Dialog calendar -------------------------------------------------------------------------
var calWin;
function winCal(pageURL, leftPos, topPos) {
	var posLeft = window.screenLeft + leftPos;
	if (posLeft > screen.availWidth)
		posLeft = 100;
	var posTop = window.screenTop + topPos;
	if (posTop > screen.availHeight)
		posTop = 100;
	calWin = null;
	calWin = window.open(pageURL, 'dialogCal', 'width=166,height=154,left=' + posLeft + ',top=' + posTop + ',resizable=0,scrollbars=0,toolbar=0,location=0,directories=0,status=0,menubar=0');
	calWin.focus();
}

//------ Validera tid ----------------------------------------------------------------------------
function checkIfTime(strTime) {
	if (strTime.length < 3) {
		return '';
	} else {
		var pattern_1 = /^([0-1][0-9]|2[0-3]):[0-5][0-9]$/;
		var pattern_2 = /^([0-9]):[0-5][0-9]$/;
		var pattern_3 = /^([0-1][0-9]|2[0-3])[0-5][0-9]$/;
		var pattern_4 = /^([0-9])[0-5][0-9]$/;
		if (strTime.match(pattern_1)) {
			strTime = strTime;
		} else if (strTime.match(pattern_2)) {
			strTime = '0' + strTime;
		} else if (strTime.match(pattern_3)) {
			strTime = strTime.substring(0, 2) + ':' + strTime.substring(2, 4);
		} else if (strTime.match(pattern_4)) {
			strTime = '0' + strTime.substring(0, 1) + ':' + strTime.substring(1, 3);
		} else {
			strTime = '';
		}
	}
	return strTime;
}

//------ Dialog mini ----------------------------------------------------------------------------
var miniWin;
function winMini(pageURL, leftPos, topPos) {
	var posLeft = window.screenLeft + leftPos;
	if (posLeft > screen.availWidth)
		posLeft = 100;
	var posTop = window.screenTop + topPos;
	if (posTop > screen.availHeight)
		posTop = 100;
	if (window.opener == null) {
		miniWin = null;
	}
	if (miniWin == null) {
		miniWin = window.open(pageURL, 'dialogadd', 'width=255,height=255,left=' + posLeft + ',top=' + posTop + ',resizable=0,scrollbars=0,toolbar=0,location=0,directories=0,status=0,menubar=0');
	}
	miniWin.focus();
}


//################################################################################################


//------ Trimma whitespace -----------------------------------------------------------------------
function trim(strTemp) {
	strTemp = strTemp.replace(/^\s+|\s+$/g, '');
	return strTemp;
}

//------ Avrundning decimaler --------------------------------------------------------------------
function formNumber(value2round, dp) {
	var newValue = Number('1e' + dp);
	return Math.round(value2round * newValue) / newValue;
}

//------ Validera integer ------------------------------------------------------------------------
function checkIfInteger(value) {
	if ((parseFloat(value) == parseInt(value)) && !isNaN(value)) {
		return true;
	} else {
		return false;
	}
}

//------ Validera nummer -------------------------------------------------------------------------
function checkIfNumeric(strNumber) {
	strNumber = strNumber.replace(",", ".");
	strNumber = strNumber.replace(/ /g, "");
	if (strNumber.length == 0) {
		return false;
	} else {
		if (isNaN(strNumber)) {
			return false;
		} else {
			return true;
		}
	}
}

//------ Validera datum --------------------------------------------------------------------------
function checkIfDate(strDate) {
	var pattern = /\d\d\d\d-{1}\d\d-{1}\d\d/gi;
	if (strDate.match(pattern)) {
		//--- Dela upp strängen i dag/månad/år
		if (strDate.substring(8, 9) == '0') {
			var intDay = parseInt(strDate.substring(9, 10));
		} else {
			var intDay = parseInt(strDate.substring(8, 10));
		}
		if (strDate.substring(5, 6) == '0') {
			var intMonth = (parseInt(strDate.substring(6, 7)) - 1);
		} else {
			var intMonth = (parseInt(strDate.substring(5, 7)) - 1);
		}
		var intYear = strDate.substring(0, 4);
		var today = new Date();
		var test = new Date(intYear, intMonth, intDay);
		if ((y2k(test.getYear()) == intYear) && intMonth == test.getMonth() && (intDay == test.getDate())) {
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
}
function y2k(number) {
	return (number < 1000) ? number + 1900 : number;
}

//------ Kolla webbläsare ------------------------------------------------------------------------
var browserName = navigator.appName;
var isIE4 = document.all ? true : false;
var isNav = navigator.appName.indexOf('Netscape') == 0;
var isNav4 = document.layers ? true : false;
var isNav6 = isNav && (navigator.appVersion.substr(0, 2) == '5.');
var isMac = navigator.appVersion.indexOf('Mac') >= 0;

//------ validerEmail ----------------------------------------------------------------------------
function valideraEmail(strTemp) {
	strMessage = '';
	//toppdomän - punkten efter snabel - bokstav före snabel
	if ((strTemp.length - strTemp.lastIndexOf('.')) < 3 || strTemp.lastIndexOf('.') < strTemp.lastIndexOf('@') || strTemp.lastIndexOf('@') < 1) {
		strMessage = strMessage + "E-postadressen är felaktig";
	} else if (strTemp.indexOf(' ') > 0) {
		strMessage = strMessage + "E-postadressen innehåller mellanslag";
	}
	return strMessage;
}


//------ Dialog Medium ---------------------------------------------------------------------------
var objMediWin;
function winMedi(pageURL, leftPos, topPos) {
	//--- Kolla att det finns plats på bredden
	var posLeft = window.screenLeft + leftPos;
	if (posLeft > screen.availWidth)
		posLeft = 100;
	//--- Kolla att det finns plats på höjden
	var posTop = window.screenTop + topPos;
	if (posTop > screen.availHeight)
		posTop = 100;
	//--- Nolla variabel om fönstret öppnats förut
	objMediWin = null;
	//--- Kolla om 800x600 används
	if (screen.width <= 800) {
		posLeft = 0;
		posTop = 0;
		objMediWin = window.open(pageURL, 'targetMediWin', 'width=485,height=540,left=' + posLeft + ',top=' + posTop + ',resizable=1,scrollbars=1,toolbar=0,location=0,directories=0,status=1,menubar=0');
	} else {
		objMediWin = window.open(pageURL, 'targetMediWin', 'width=485,height=540,left=' + posLeft + ',top=' + posTop + ',resizable=1,scrollbars=1,toolbar=0,location=0,directories=0,status=1,menubar=0');
	}
	objMediWin.focus();
}

//------ Utskrift --------------------------------------------------------------------------------
var objPrintWin;
function winPrint(pageURL, leftPos, topPos) {
	//--- Kolla att det finns plats på bredden
	var posLeft = window.screenLeft + leftPos;
	if (posLeft > screen.availWidth)
		posLeft = 100;
	//--- Kolla att det finns plats på höjden
	var posTop = window.screenTop + topPos;
	if (posTop > screen.availHeight)
		posTop = 100;
	//--- Nolla variabel om fönstret öppnats förut
	objPrintWin = null;
	//--- Kolla om 800x600 används
	if (screen.width <= 800) {
		posLeft = 0;
		posTop = 0;
		objPrintWin = window.open(pageURL, 'targetInfoWin', 'width=735,height=' + (screen.availHeight - 150) + ',left=0,top=0,resizable=1,toolbar=1,scrollbars=1');
	} else {
		objPrintWin = window.open(pageURL, 'targetInfoWin', 'width=735,height=' + (screen.availHeight - 150) + ',left=0,top=0,resizable=1,toolbar=1,scrollbars=1');
	}
	objPrintWin.focus();
}

//------ Dialog Wide -----------------------------------------------------------------------------
var objWideWin;
function winWide(pageURL, leftPos, topPos) {
	//--- Kolla att det finns plats på bredden
	var posLeft = window.screenLeft + leftPos;
	if (posLeft > screen.availWidth)
		posLeft = 100;
	//--- Kolla att det finns plats på höjden
	var posTop = window.screenTop + topPos;
	if (posTop > screen.availHeight)
		posTop = 100;
	//--- Nolla variabel om fönstret öppnats förut
	objWideWin = null;
	//--- Kolla om 800x600 används
	if (screen.width <= 800) {
		posLeft = 0;
		posTop = 0;
		objWideWin = window.open(pageURL, 'targetInfoWin', 'width=710,height=700,left=' + posLeft + ',top=' + posTop + ',resizable=1,scrollbars=1,toolbar=0,location=0,directories=0,status=0,menubar=0');
	} else {
		objWideWin = window.open(pageURL, 'targetInfoWin', 'width=710,height=700,left=' + posLeft + ',top=' + posTop + ',resizable=1,scrollbars=1,toolbar=0,location=0,directories=0,status=0,menubar=0');
	}
	objWideWin.focus();
}


