var alphaChars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
var numChars="0123456789";

/*
//specify clock size in pixels
var clocksize=70

function updatePointers() {
    var now = new Date();
    
    secondsPointer.style.rotation = now.getSeconds() * 6;
    minutesPointer.style.rotation = now.getMinutes() * 6 + now.getSeconds() / 10;
    hoursPointer.style.rotation = now.getHours() * 30 + now.getMinutes() / 2;
	
}

if (document.all&&window.print){
window.attachEvent("onload", initVMLClock);
window.attachEvent("onresize", resizeObjects);
}

function initVMLClock() {
    resizeObjects();
    updatePointers();
    window.setInterval("updatePointers()", 1000);
    

}

function resizeObjects() {
    var size = Math.min(clocksize, clocksize);
    clock.style.pixelWidth = size - 2*(size * 0.045);
    clock.style.pixelHeight = size - 2*(size * 0.045);
    
    clock.childNodes.item(0).childNodes.item(0).weight = size * 0.01;

    secondsPointer.childNodes.item(0).childNodes.item(0).weight = size * 0.001;
    minutesPointer.childNodes.item(0).childNodes.item(0).weight = size * 0.002;
    hoursPointer.childNodes.item(0).childNodes.item(0).weight = size * 0.004;
}
*/


function PreloadImages( ksImgRoot )
    {
	if ( document.images )
	{
		var sRoot	= ksImgRoot;	
		
		var i1	=new Image();
		var i2	=new Image();
	
	
		i1.src 	= sRoot + "btn_tabort.gif";
		i2.src 	= sRoot + "1h_ruler_hr.gif";
		var i3 = new Image();i3.src 	= sRoot + "top_new.gif";
		var i4 = new Image();i4.src 	= sRoot + "admin_mail.gif";
		var i5 = new Image();i5.src 	= sRoot + "help_pdf.gif";
		var i6 = new Image();i6.src 	= sRoot + "stay_mail.gif";
		var i7 = new Image();i7.src 	= sRoot + "startsida.gif";
		var i8 = new Image();i8.src 	= sRoot + "top_new_foot.gif";	
		var i9 = new Image();i9.src 	= sRoot + "menu_public.gif";
		var i10 = new Image();i10.src 	= sRoot + "menu_spacer.gif";		
	
		var i11 = new Image();i11.src 	= sRoot + "menu_my.gif";
		var i12 = new Image();i12.src 	= sRoot + "arrow.gif";	
		var i13 = new Image();i13.src 	= sRoot + "menu_admin.gif";
		var i14 = new Image();i14.src 	= sRoot + "menu_member.gif";		
	
		var i15 = new Image();i15.src 	= sRoot + "flik.gif";
		var i16 = new Image();i16.src 	= sRoot + "flik_sel.gif";	
		var i17 = new Image();i17.src 	= sRoot + "1pix_grey.gif";
		var i18 = new Image();i18.src 	= sRoot + "menu_spacer_blue.gif";		

		var i19 = new Image();i19.src 	= sRoot + "btn_back.gif";
		var i20 = new Image();i20.src 	= sRoot + "nixpix.gif";	
		var i21 = new Image();i21.src 	= sRoot + "btn_spara.gif";
		var i22 = new Image();i22.src 	= sRoot + "btn_framat.gif";		

		var i23 = new Image();i23.src 	= sRoot + "line.gif";
		var i24 = new Image();i24.src 	= sRoot + "pix_phone2.gif";	
		var i25 = new Image();i25.src 	= sRoot + "pix_fax.gif";
		var i26 = new Image();i26.src 	= sRoot + "pix_mail.gif";		

	}
}

function CheckDate(obj)
    {
  a = obj.value;

  for (var i = 0; i < a.length ; i++)
  {
    a = a.replace("/","-");
    a = a.replace(".","-");
  }

  if (a.length!=6 && a.length!=8 && a.length!=10)
  {
    alert(a+' är inget giltigt datum.');
    obj.select();
    obj.focus();
    return false;
  }

  if (a.length==6)
    a = a.substr(0,2)+"-"+a.substr(2,2)+"-"+a.substr(4,2);
  else
    if(a.length==8)
      if (a.charAt(2)!="-" && a.charAt(4)!="-")
        a = a.substr(0,4)+"-"+a.substr(4,2)+"-"+a.substr(6,2);

  if (a.length<10)
    if (a.substr(0,2)<50)
      a = '20'+a;
    else
      a = '19'+a;

  if(a.charCodeAt(0)>=48 && a.charCodeAt(0)<=57 &&
     a.charCodeAt(1)>=48 && a.charCodeAt(1)<=57 &&
     a.charCodeAt(2)>=48 && a.charCodeAt(2)<=57 &&
     a.charCodeAt(3)>=48 && a.charCodeAt(3)<=57 &&
     a.charAt(4)=="-" &&
     a.charCodeAt(5)>=48 && a.charCodeAt(5)<=57 &&
     a.charCodeAt(6)>=48 && a.charCodeAt(6)<=57 &&
     a.charAt(4)=="-" &&
     a.charCodeAt(8)>=48 && a.charCodeAt(8)<=57 &&
     a.charCodeAt(9)>=48 && a.charCodeAt(9)<=57)
    a = a;
  else
  {
    alert(obj.value+' is not a valid date.');
    obj.select();
    obj.focus();
    return false;
  }

  if(a.substr(0,4)<1900 || a.substr(0,4)>2100)
  {
    alert(obj.value+' är inget giltigt datum.');
    obj.select();
    obj.focus();
    return false;
  }

  switch (a.substr(5,2))
  {
    case "11" :
    case "04" :
    case "06" :
    case "09" :
      if (a.substr(8,2)>30 || a.substr(8,2)<1)
      {
        alert(obj.value+' är inget giltigt datum.');
        obj.select();
        obj.focus();
        return false;
        break;
      }
      else
      {
        obj.value=a;
        return true;
        break;
      }
    case "02" :
      if (a.substr(8,2)>29 || a.substr(8,2)<1)
      {
        alert(obj.value+' är inget giltigt datum.');
        obj.select();
        obj.focus();
        return false;
        break;
      }
      else
      {
        obj.value=a;
        return true;
        break;
      }
    case "01" :
    case "03" :
    case "05" :
    case "07" :
    case "08" :
    case "10" :
    case "12" :
      if (a.substr(8,2)>31 || a.substr(8,2)<1)
      {
        alert(obj.value+' är inget giltigt datum.');
        obj.select();
        obj.focus();
        return false;
        break;
      }
      else
      {
        obj.value=a;
        return true;
        break;
      }
    default :
        alert(obj.value+' är inget giltigt datum.');
        obj.select();
        obj.focus();
        return false;
        break;
  }
}

function CheckNumeric(obj)
    {
  	var a = obj.value;

	var nNumbers = /^\d+$/;
	if (!nNumbers.test(a) )
	{
		alert ( obj.value + ' innehåller inte enbart siffor eller är inte ett korrekt formaterat belopp.')
		obj.value = "0";
		return false;
	}
	return true;
		

}

function JCheckPnr(obj)
{
  	var a = obj.value;

	var nNumbers = /\d{6}-\d{4}/;
	if (!nNumbers.test(a) )
	{
		alert ( obj.value+' är inget giltigt personnummer.');
		return false;
	}
	return true;
}

function JValidateYear(obj){
		var a = obj.value;
		// 2004, 1991, 2010
		var rgxYear = /^[1-2]\d\d\d$/;
		//var objRegExp  = /^(([0-1]?\d)|(2[0-3])):[0-5][0-9]$/;
		if(!rgxYear.test(a)){
				alert( a + ' är inte ett realistiskt årtal.');
				return false;
		}
		return true;
}

function Printpage(ksOptionalPageTitle, klOptionalWidth,klOptionalHeight)
    {
	var divField 	= window.document.getElementById("divContent");
	var aArg 		= new Array();
	var sTxt		= '';
	
	if ( ksOptionalPageTitle != "" &&  ksOptionalPageTitle != undefined)
	{
			
		sTxt = "<table><tr><td align=center><b>" + ksOptionalPageTitle + "</b></td></tr></table>" + divField.innerHTML;
	}else{
		sTxt = divField.innerHTML;
	}
	
	aArg[0] = sTxt;
	
	var sScreenHeight	= screen.height-100;
	var sScreenWidth	= screen.width-100;
	if ( sScreenWidth > 800 ) {sScreenWidth=800}

	if ( klOptionalWidth != "" && klOptionalWidth > 0)
	{
		sScreenWidth=klOptionalWidth;
	}
	if ( klOptionalHeight != "" && klOptionalHeight > 0)
 	{
		sScreenHeight=klOptionalHeight;
	}

	var sSettings	= "dialogHeight: " + sScreenHeight + "px; dialogWidth: " + sScreenWidth + "px; edge: Raised; center: Yes; help: No; resizable: Yes; status: No;";
	var pop_win = window.showModalDialog("clean.htm", aArg,sSettings);
}


function JPopup_Modal(ksOptionalPageTitle)
    {
	var divField 	= window.document.getElementById("divContent");
	var aArg 		= new Array();
	var sTxt		= '';
	
	if ( ksOptionalPageTitle != "" &&  ksOptionalPageTitle != undefined)
	{
			
		sTxt = "<table><tr><td align=center><b>" + ksOptionalPageTitle + "</b></td></tr></table>" + divField.innerHTML;
	}else{
		sTxt = divField.innerHTML;
	}
	
	aArg[0] = sTxt;
	
	var sScreenHeight	= screen.height-100;
	var sScreenWidth	= screen.width-100;
	if ( sScreenWidth > 800 ) {sScreenWidth=800}

	var sSettings	= "dialogHeight: " + sScreenHeight + "px; dialogWidth: " + sScreenWidth + "px; edge: Raised; center: Yes; help: No; resizable: Yes; status: No;";
	var pop_win = window.document.showModalDialog("popup.htm", aArg,sSettings);
}

function JValidateForm(oFrm, sPage, sAction,kbSubmitFrm ){
	var rgxSelect = /^select/i;
	var rgxText = /^text/i;
	var rgxHidden = /^hidden/i;
	var rgxCheck = /^checkbox/i;
	var rgxRadio = /^radio/i;
	var rgxFile = /^file/i;
	var rgxButton = /^button/i;
	var rgxSubmit = /^submit/i;
	var rgxReset = /^reset/i;
	var sCurrentAction = JGetAction();
	var sAction ='index.asp?page=' + sPage + '&action=' + sAction;
	var sQuery = '';
	var sTmpValue = '';
	var bErr = false;
	var bSomeValue = false;
	var sErrorClr = '#9999BB';
	var sOkClr = '#FFFFFF';
	var frmElement;
	var oCtrlGroup_Name 	= new Array();
	var oCtrlGroup_Value 	= new Array();	
	var oCtrlGroup 			= new Object();
	
	for(var i = 0; i < oFrm.elements.length; i++){
		
		frmElement = oFrm.elements[i];
		
		switch(true)
		{
			case (rgxSelect.test(frmElement.type)):
				sTmpValue = frmElement.options[frmElement.selectedIndex].value;
				break;
			case (rgxText.test(frmElement.type)):
				sTmpValue = frmElement.value;
				break;
			case (rgxHidden.test(frmElement.type)):
				sTmpValue = frmElement.value;
				break;
			case (rgxCheck.test(frmElement.type)):
				if (frmElement.checked)
				{
					sTmpValue = '1';
				}else{
					sTmpValue = '';
				}
				break;
			case (rgxRadio.test(frmElement.type)):
				sTmpValue = frmElement.value;
				break;
			case (rgxFile.test(frmElement.type)):
				sTmpValue = frmElement.value;
				break;
			case (rgxButton.test(frmElement.type)):
				sTmpValue = frmElement.value;
				break;
			case (rgxSubmit.test(frmElement.type)):
				sTmpValue = frmElement.value;
				break;
			case (rgxReset.test(frmElement.type)):
				sTmpValue = frmElement.value;
				break;
			default:
			// Strunta i alla andra typer
			//alert(frmElement.type);
		}
		
		//PILL FÖR GRUPPER DÄR BARA ETT VÄRDE RÄCKER
		if (frmElement.required && frmElement.ctrlgroup)
		{
			switch (true)
			{
			case  typeof oCtrlGroup[frmElement.ctrlgroup] == "undefined" :
				{
					if (sTmpValue != '')
					{
						oCtrlGroup[frmElement.ctrlgroup] = true;
					}else{
						oCtrlGroup[frmElement.ctrlgroup] = false;					
					}
					break;
				}
			default:
				{
					if (oCtrlGroup[frmElement.ctrlgroup] != true && sTmpValue != '')
					{
						oCtrlGroup[frmElement.ctrlgroup] = true;
					}
					break;
				}
			}
		}	
		if (frmElement.required && sTmpValue == '' && !frmElement.ctrlgroup) 
		{
			eval("frmElement.style.backgroundColor = sErrorClr" );
			bErr = true;
		}
		
		if(frmElement.required && sTmpValue != '')
		{
			eval("frmElement.style.backgroundColor = sOkClr" );
			bSomeValue = true;
		}
		
		if(sTmpValue != '')
		{
			if(!rgxButton.test(frmElement.type)){
				
				//sTmpValue = frmElement.value; 
				var sQueryName = (frmElement.name).substring(3,(frmElement.name).length);
				sQuery += "&" + sQueryName.toLowerCase() + "=" + sTmpValue;
			}
		}
	}

	//KOntroll av arrayen med grupper det räcker med att någon är satt så är det OK
	var oItem;
	for(oItem in oCtrlGroup)
	{
	 	if (oCtrlGroup[oItem]==false)
		{
			bErr	= true;
			break;
		}
	}			
	
	if((sCurrentAction == 'sok' || sCurrentAction == 'search') && bSomeValue){
		bErr = false;
	}
	
	if(bErr)
	{	
		alert('Du har inte fyllt i alla nödvändiga värden.\nAlla fält markerade med * måste fyllas i.\nDe fält du missat har färgmarkerats.');
		return !bErr;
	}else{
		if (kbSubmitFrm)
		{
			if(sPage != '' && sAction != '')
				oFrm.action = sAction + sQuery;
				oFrm.submit();
		}else{
			return !bErr;
		}
	}
}

function JGetAction(){
	var rgxAction = /action=(\w*)/i;
	
	var sAction = rgxAction.exec(window.location.search);
	
	return sAction[1];
	
}

function JArStorreAnNoll(knObject)
{
	if ( parseInt(knObject.value)>0) 
	{
		return true;
	}else{
		alert ("Du måste ange ett värde större än noll.");
		return false;
	}
}

function JValidate_Pnr(nr)
{
var bReturn=false;
var sErrTxt = "Du har angivit ett felaktigt personnummer.";

	//this.valid=false;
	if(!nr.match(/^(\d{2})(\d{2})(\d{2})\-(\d{4})$/))
	{ 
		alert (sErrTxt);
		return false; 
	}
	
	this.now=new Date(); 
	this.nowFullYear=this.now.getFullYear()+""; 
	this.nowCentury=this.nowFullYear.substring(0,2); 
	this.nowShortYear=this.nowFullYear.substring(2,4);
	this.year=RegExp.$1; 
	this.month=RegExp.$2; 
	this.day=RegExp.$3; 
	this.controldigits=RegExp.$4;
	this.fullYear=(this.year*1<=this.nowShortYear*1)?(this.nowCentury+this.year)*1:((this.nowCentury*1-1)+this.year)*1;
	
	var months = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	
	if(this.fullYear%400==0||this.fullYear%4==0&&this.fullYear%100!=0)
	{ 
		months[1]=29; 
	}
	
	if(this.month*1>12||this.day*1>months[this.month*1-1])
	{ 
		alert (sErrTxt);
		return false; 
	}
	
	this.alldigits=this.year+this.month+this.day+this.controldigits;
	var nn="";
	
	for(var n=0;n<this.alldigits.length;n++)
	{ 
		nn+=((((n+1)%2)+1)*this.alldigits.substring(n,n+1)); 
	}
	
	this.checksum=0;
	
	for(var n=0;n<nn.length;n++)
	{ 
		this.checksum+=nn.substring(n,n+1)*1; 
	}
	
	bReturn=(this.checksum%10==0)?true:false;
	if (!bReturn)
	{
		alert (sErrTxt);
	}
	
	return bReturn;
	//this.sex=parseInt(this.controldigits.substring(2,3))%2;
}

function JValidate_Email(koObject)
{
var sErrTxt = "Du har angivit en felaktig e-postadress.";
var sEmail	= koObject.value;

	if (sEmail == null)
	{
		alert (sErrTxt);
		return false;
	}

	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	if (!r1.test(sEmail) && r2.test(sEmail))
	{
		return true;
	}else{
		alert (sErrTxt);
		return false;
	}
	
}

function JValidateValue( strValue, strMatchPattern ) 
{

	var objRegExp = new RegExp( strMatchPattern);

 	//check if string matches pattern
 	return objRegExp.test(strValue);
}


function JMaxAntalTecken(koObj,klMax)
{
  	var bResult = true;
  	if (koObj.value.length >= klMax)
	{
		bResult = false;
		alert ("Du har angivit " + (koObj.value.length + 1 ) + " tecken. \nMax tillåtet antal tecken för denna kontroll är " + klMax + " tecken.");
	}
  
  	if (window.event)
    	window.event.returnValue = bResult;
  	
	return bResult;
}


function JPunktTillKomma(koObj)
{
	var sValue = koObj.value;
   	var r, re;                  
 
   	re = /./g;             
	if ( sValue.search(re) != -1)
	{
	   	r = sValue.replace(re, ",");
		koObj.value = r;
	}
   	return(true);                   

}


function JKommaTillPunk(koObj)
{
	var sValue = koObj.value;
   	var r, re;                  
 
   	re = /,/g;             
	if ( sValue.search(re) != -1)
	{
	   	r = sValue.replace(re, ".");
		koObj.value = r;
	}
   	return(true);                   

}
//script för forskarprogram
function newEditBox(id){
 	if (id == 28){
		document.frmansokan.txtsFouEnhet.disabled=false
		document.frmansokan.txtsFouEnhet.style.background='#FFFFFF'
		document.frmansokan.txtsFouEnhet.focus()
	}else{
		document.frmansokan.txtsFouEnhet.disabled=true
		document.frmansokan.txtsFouEnhet.style.background='#EEEEEE'
	}
}