//-------------------------------------------------------------------------------------------
//Popwindow
//-------------------------------------------------------------------------------------------
function NewWindow(mypage, myname, w, h, scroll, res){
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable='+res+''
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

//-------------------------------------------------------------------------------------------
//Check E-Mail Addresses
//-------------------------------------------------------------------------------------------
function CheckEmail(address)
{
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; 
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,6}|[0-9]{1,3})(\]?)$/;
	if (!reg1.test(address) && reg2.test(address)) 
	{
		return true;
	}
return false;
}
//-------------------------------------------------------------------------------------------
//Strip 0
//-------------------------------------------------------------------------------------------
function stripZeros(inputStr) {
	var result = inputStr
	while (result.substring(0,1) == "0") {
		result = result.substring(1,result.length)
	}
	return result
}
//-------------------------------------------------------------------------------------------
//Strip space
//-------------------------------------------------------------------------------------------
function stripSpaces(inputStr) {
	var result = inputStr
	while (result.substring(0,1) == " ") {
		result = result.substring(1,result.length)
	}
	return result
}
//-------------------------------------------------------------------------------------------
//Check empty fields
//-------------------------------------------------------------------------------------------
function isEmpty(inputStr) {
	if (stripSpaces(inputStr) == "" || inputStr == null) {
		return true
	}
	return false
}
//-------------------------------------------------------------------------------------------
//Check if number is in range (date)
//-------------------------------------------------------------------------------------------
function inRange(inputStr, lo, hi) {
	var num = parseInt(inputStr)
	if (num < lo || num > hi) {
		return false
	}
	return true
}
//-------------------------------------------------------------------------------------------
//Check if input is a number
//-------------------------------------------------------------------------------------------
function isNumber(inputStr) {
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.substring(i, i + 1)
		if (oneChar < "0" || oneChar > "9") {
			return false
		}
	}
	return true
}
//-------------------------------------------------------------------------------------------
//Check Date
//-------------------------------------------------------------------------------------------
function isDate(field, field2,field3)
{
	var day = stripZeros(field);
	var month = stripZeros(field2);
	var year = stripZeros(field3);
	
	if (isEmpty(day) || isEmpty(month) || isEmpty(year)) 
	{
		return false;
	} 
	else 
	{
		if (!isNumber(day) || !isNumber(month) || !isNumber(year)) 
		{
			return false;
		}
		else 
		{
			var dayField = parseInt(day);
			var monthField = parseInt(month);
			var yearField = parseInt(year);
			
			if (monthField > 12)
			{
				return false;
			}
			else
			{
				var monthMax = new Array(31,31,29,31,30,31,30,31,31,30,31,30,31);
				var top = monthMax[monthField];
				if (!inRange(dayField,1,top)) 
				{
					return false;
				}
				
				//check for leapyear
				var daysofmonth   = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
				var daysofmonthLY = new Array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
				if (LeapYear(yearField)) 
				{
					daysofmonth = daysofmonthLY;					
				}
				if ((dayField > daysofmonth[1])&& (monthField == '2'))
				{
					return false;
				}
				//
			}
		}
		return true;
	}
}
//-------------------------------------------------------------------------------------------
//Check if year is a Leap year
//-------------------------------------------------------------------------------------------
function LeapYear(yearField) 
{
	if ((yearField/4)   != Math.floor(yearField/4))   return false;
	if ((yearField/100) != Math.floor(yearField/100)) return true;
	if ((yearField/400) != Math.floor(yearField/400)) return false;
	return true;
}
function y2k(number)
{
	return (number < 1000) ? number + 1900 : number; 
}
//-------------------------------------------------------------------------------------------
//CheckMaximum allowed lenght for textareas
//-------------------------------------------------------------------------------------------
function checkMaxLength (textarea, evt, maxLength) {
  if (textarea.selected && evt.shiftKey) 
    // ignore shift click for select
    return true;
  var allowKey = false;
  if (textarea.selected && textarea.selectedLength > 0)
    allowKey = true;
  else {
    var keyCode = 
      document.layers ? evt.which : evt.keyCode;
    if (keyCode < 32 && keyCode != 13 || keyCode == 46 || keyCode == 37 || keyCode == 38 || keyCode == 39 || keyCode == 40)
      allowKey = true;
    else           
      allowKey = textarea.value.length < maxLength;
  }
  textarea.selected = false;
  return allowKey;
}
function storeSelection (field) {
  if (document.all) {
    field.selected = true;
    field.selectedLength = 
      field.createTextRange ?
        document.selection.createRange().text.length : 1;
  }
}
//To call the function, use: 
//<textarea name="AName" cols="40" rows="5" ONKEYDOWN="return checkMaxLength(this, event, 255)" ONSELECT="storeSelection(this)"></textarea>
// 255 = maximum length
//-------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------
//Check file extensions
function getExtension(value) 
{
	return value.substring(value.lastIndexOf('.') + 1,value.length);
}
//-------------------------------------------------------------------------------------------