// begin lib

//***************************************************************************
//** Funktionen öppnar ett nytt fönster. Används i Evenemang.
//** 
//** 
//***************************************************************************
function MM_openBrWindow(theURL,winName,features) {
  window.open(theURL,winName,features);
}
//***************************************************************************
//** Funktionen återställer bild efter bildbyte. Används i sid. 1.
//** 
//** 
//***************************************************************************
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

//***************************************************************************
//** Funktionen förladdar bilder. Används i sid. 1
//** 
//** 
//***************************************************************************
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

//***************************************************************************
//** Funktionen används vid överrullningsbild, sid. 1.
//** 
//** 
//***************************************************************************
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

//***************************************************************************
//** Funktionen byter bilder i överrullningsbild, sid. 1.
//** 
//** 
//***************************************************************************
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//***************************************************************************
//** Funktionen stänger befintligt fönster.
//** 
//** 
//***************************************************************************
function closeWindow()	{
	self.close();
}

//***************************************************************************
//** Funktionen startar ett nytt fönster för UserDetails
//** 
//** 
//***************************************************************************

 function openWindow(url){
   JobWindow=window.open(url, 'JobInfo', 'toolbar=no,location=no,copyhistory=no,directories=no,scrollbars=yes,resizable=yes,WIDTH=500,HEIGHT=400');
 	JobWindow.focus();
	}

//***************************************************************************
//** Funktionen startar ett nytt fönster för nyhetsarkivet
//** 
//** 
//***************************************************************************

 function openNewsWindow(url){
   JobWindow=window.open(url, 'Nyhetsarkiv', 'toolbar=no,location=no,copyhistory=no,directories=no,scrollbars=yes,resizable=yes,WIDTH=250,HEIGHT=400');
 	JobWindow.focus();
	}




//***************************************************************************
//** Funktionen går till valfri url via get med valfri parameter
//** u=url, n=namn på variabel, p=parameter som ska skickas i variabel.
//** 
//***************************************************************************
function goWithParam(u,n,p){
	var url=u;
	var name=n;
	var param=p;

	var newurl=url+"?"+name+"="+param;

	location.href=newurl;

}



//***************************************************************************
//**	I house_all_admin.php
//**	Varnar för att radera objekt. Varpå vid godkännande objekt raderas.
//**	 
//***************************************************************************
function submitDeleteObject(form)	{
	
		
		if(confirm("Vill du ta bort objektet?")){
			form.submit();
		}

}

//***************************************************************************
//**	I user_all_admin.php
//**	Varnar för att radera användare. Varpå vid godkännande anv. raderas.
//**	 
//***************************************************************************
function submitDeleteUser(form)	{
	
		
		if(confirm("Vill du ta bort användaren? Alla objekt som hör till denna raderas också!")){
			form.submit();
		}

}
//***************************************************************************
//**	I house_newobject.php
//**	Kolla att alla fält är ifyllda.
//**	 
//***************************************************************************

function validateObject(form){
		var illegal=false;
		
			var areacode=form.f_areaid.options[form.f_areaid.selectedIndex].value;
			if(areacode=="0"){
				alert("Fyll i "+getFieldName("f_areaid"));
				illegal=true;
			}

			// Kolla att kvm och rum är integers.
			var area=form.f_area.value;
			var rooms=form.f_rooms.value;
			
			if (area.search(/[^0-9]/g) > 0) {
				alert("Enbart siffror tillåts för angivelse av kvadratmeter.");
				illegal=true;
			} 
			else if (rooms.search(/[^0-9]/g) > 0)
			{
				alert("Enbart siffror tillåts för angivelse av antal rum.");
				illegal=true;
			}

		if (illegal==false)
		{
		var nr=form.elements.length;	// Hämta ut hur många formulärfält det är
	  
		for(i=0; i<nr;i++){	// loopa igenom alla formulärelement.
			el=form.elements[i];	// el blir ett element.
			var illegal=false;

			if(el.value=='' && el.name!="houseId" && el.name!="f_save"){
				alert('Fyll i '+ getFieldName(el.name))
				illegal=true;		// Sätts true då inte alla fält fyllts i.
				break;
			}	// end if
		}	// end for
		}

		
		// Om allt annat godkänns, kolla datum.
		if(illegal==false){
			datecheck=isValidDate(form.f_date.value);
			if(datecheck==false){
				illegal=true;
			}
		}

		
		if(illegal==false){
			form.submit()
			return true;
		}
	
}	 // end validate




//***************************************************************************
//**	I users.php
//**	Kolla att alla fält är ifyllda.
//**	 
//***************************************************************************

function validateUser(form){
		var nr=form.elements.length;	// Hämta ut hur många formulärfält det är
	  
		for(i=0; i<nr;i++){	// loopa igenom alla formulärelement.
			el=form.elements[i];	// el blir ett element.
			var illegal=false;

			if(el.value=='' && el.name!="houseId" && el.name!="f_save"){
				alert('Fyll i '+ getFieldName(el.name))
				illegal=true;		// Sätts true då inte alla fält fyllts i.
				break;
			}	// end if
		}	// end for

		
		// Om allt annat godkänns, kolla att lösenordet är minst sex tecken.
		if(illegal==false){

			var pwlength=form.f_password.length;
			if(pwlength<6){
				alert("Lösenordet måste vara minst sex tecken långt");
				illegal=true;
			}

		}

		if(illegal==false){
			form.submit()
			return true;
		}
	
}	 // end validate


//***************************************************************************
//** Översätter fältnamn till begriplig svenska.
//** 
//** 
//***************************************************************************

function getFieldName(name){	// funktion som översätter fältnamn till förståelig text.
	  if(name=='f_area'){
	  		return('Kvadratmeter');
		}
		if(name=='f_rooms'){
	  		return('Antal rum');
		}
		if(name=='f_areaid'){
	  		return('Kommun');
		}
		if(name=='f_address'){
	  		return('Adress');
		}
		if(name=='f_price'){
	  		return('Pris');
		}
		if(name=='f_url'){
	  		return('Webbsida för mer information');
		}
		if(name=='f_date'){
	  		return('Datum då annons upphör');
		}
		if(name=='f_company'){
	  		return('Företag');
		}
		if(name=='f_firstname'){
	  		return('Förnam');
		}
		if(name=='f_lastname'){
	  		return('Efternamn');
		}
		if(name=='f_handle'){
	  		return('Användarnamn');
		}
		if(name=='f_password'){
	  		return('Lösenord');
		}
		if(name=='f_email'){
	  		return('E-post');
		}
		if(name=='f_ycoor'){
	  		return('Positionen på kartan genom att dra cirkeln på plats.');
		}
		if(name=='f_xcoor'){
	  		return('Positionen på kartan genom att dra cirkeln på plats.');
		}
		if(name=='f_city'){
	  		return('Ort');
		}

}

//***************************************************************************
//**  Kollar om inmatat datum är inskrivet på rätt form.
//** 
//** 
//***************************************************************************

function isValidDate(dateStr) {
// Checks for the following valid date formats:
// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
// Also separates date into month, day, and year variables

//var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;

 var datePat = /^(\d{4})(\-)(\d{2})(\-)(\d{2})$/;
//var datePat = /^(\d{2})(\d{2})(\d{2})$/;
// To require a 4 digit year entry, use this line instead:
//var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;




var matchArray = dateStr.match(datePat); // is the format ok?
if (matchArray == null) {
alert("Ange datum på formen åååå-mm-dd")
return false;
}
month = matchArray[3]; // parse date into variables	(3)
//alert("month=" + month);
day = matchArray[5];	  //(5)
//alert("day=" + day);
year = matchArray[1];

hour=matchArray[7];
minute=matchArray[9];
//alert("år="+year);
//alert("Year=" + year);
if (month < 1 || month > 12) { // check month range
alert("Ange en månad mellan 1 och 12.");
return false;
}
if (day < 1 || day > 31) {
alert("Ange ett datum mellan 1 och 31.");
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31) {
alert("Månaden "+month+" har inte 31 dagar!")
return false
}
if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day>29 || (day==29 && !isleap)) {
alert("Februari " + year + " har inte " + day + " dagar!");
return false;
   }
}

return true;  // date is valid
}


/***********************************************
**	Namn: openMapWindow	Version: 1.0
**	Programmerare: Nicklas Lundgren, Novitell
**	Syfte: Öppna ett flytande fönster för kartan på sid. 1.
***********************************************/
function openMapWindow(theurl)	{
aWindow=window.open(theurl,'theWindow', 'toolbar=no,location=no,copyhistory=no,directories=no,scrollbars=yes,resizable=yes,WIDTH=410,HEIGHT=550');

aWindow.focus();
}

/***********************************************
**	Namn: jumpMenu	Version: 1.0
**	Programmerare: Nicklas Lundgren, Novitell
**	Syfte: Öppna nytt fönster med extern url
***********************************************/
function jumpMenu(targ,selObj,restore){ //v3.0
	// Gör bara detta om en url kom in.
	if(selObj.options[selObj.selectedIndex].value){
		window.open(selObj.options[selObj.selectedIndex].value,targ);
	}

 // eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}



// end lib