   function validateLoginForm()
   {
      valid=true;
      err = "";
      err=checknrofchar(document.forms[0].f_username.value,err,"Username", 5, 15);
      err=checknrofchar(document.forms[0].f_password.value,err,"Password", 5, 15);
      if (err=="")
         err=checkifequals(document.forms[0].f_username.value, document.forms[0].f_password.value, err, "Username must not be equal to password")
      if(err!="")
      {
         valid=false;
         err = "Please correct following:\n" + err;
         alert(err);
      }
      return valid;
	}
	function validateRecommendUsForm()
	{
		valid=true;
      err = "";
      err = checkminimumofchar(document.forms[0].f_friendsname.value,err,"Friends name", 3);
      err = checkemail(document.forms[0].f_friendsemail.value,err,"Friends email");
      err = checkminimumofchar(document.forms[0].f_name.value,err,"Your name", 3);
      err = checkemail(document.forms[0].f_email.value,err,"Your email");
      if(err!="")
      {
         valid=false;
         err = "Please correct following:\n" + err;
         alert(err);
      }
      return valid;
	}
   function validateForgottenForm()
   {
      valid=true;
      err1 = "";
      err2 = "";
      err1 = checknrofchar(document.forms[0].f_username.value,"","Username",5,15);
      err2 = checkemail(document.forms[0].f_email.value,"","E-mail");
      if ( (err1.length>0) && (err2.length>0) )
      {
         valid = false;
         err = "Please correct atleast one:\n" + err1 + err2;
         alert(err);
      }
      return valid;
   }
	function validateCancelAccountForm()
	{
      valid=true;
      err = "";
      err = checkminimumofchar(document.forms[0].f_password.value,err,"Password", 5);
      if(err!="")
      {
         valid=false;
         err = "Please correct following:\n" + err;
         alert(err);
      }
      return valid;
	}
	function validateSubscribeNewsletterForm()
	{
      valid=true;
      err = "";
      err = checkminimumofchar(document.forms[0].f_name.value,err,"Name", 5);
      err = checkemail(document.forms[0].f_email.value,err,"E-mail");
      if(err!="")
      {
         valid=false;
         err = "Please correct following:\n" + err;
         alert(err);
      }
      return valid;
	}
	function validateUnsubscribeNewsletterForm()
	{
      valid=true;
      err = "";
      err = checkemail(document.forms[0].f_email.value,err,"E-mail");
      if(err!="")
      {
         valid=false;
         err = "Please correct following:\n" + err;
         alert(err);
      }
      return valid;
	}
   function validateAddSiteForm()
   {
      valid=true;
      err = "";
      err = checkminimumofchar(document.forms[0].f_title.value, err, "Title", 5)
      err = checkminimumofchar(document.forms[0].f_url.value, err, "URL", 5)
      err = checkminimumofchar(document.forms[0].f_description.value,err,"Description", 5);
      err = checkempty(document.forms[0].f_artist.value, err, "Artist");
      if(err!="")
      {
         valid=false;
         err = "Please correct following:\n" + err;
         alert(err);
      }
      return valid;
   }
   function validateAddArtistForm()
   {
      valid=true;
      err = "";
      err = checkempty(document.forms[0].f_artist.value, err, "Artist");
      if(err!="")
      {
         valid=false;
         err = "Please correct following:\n" + err;
         alert(err);
      }
      return valid;
   }
   function validateSearchForm()
   {
      valid=true;
      err = "";
      err = checkempty(document.forms[0].f_searchString.value, err, "Search for");
      if(err!="")
      {
         valid=false;
         err = "Please correct following:\n" + err;
         alert(err);
      }
      return valid;
   }
   function validateJoinForm()
   {
      valid=true;
      err = "";
      err=checkminimumofchar(document.forms[0].f_firstname.value,err,"Firstname",5);
      err=checkminimumofchar(document.forms[0].f_lastname.value,err,"Lastname",5);
      err=checkemail(document.forms[0].f_email.value,err,"Email");
      err=checkempty(document.forms[0].f_country.value,err,"Country");
      err=checknrofchar(document.forms[0].f_username.value,err,"Username",5,10);
      err=checknrofchar(document.forms[0].f_password1.value,err,"Lösenord",5,10);
      err=checknotequals(document.forms[0].f_password1.value,document.forms[0].f_password2.value,err,"The passwords has to be identical");
      err=checkifequals(document.forms[0].f_username.value,document.forms[0].f_password1.value,err,"Password cannot be identical to username");
      if(err!="")
      {
      	valid=false;
      	err = "Please correct following:\n" + err;
      	alert(err);
      }
      return valid;
   }
   function validatecontact()
   {
      valid=true;
      err = "";
      err=checkempty(document.forms[0].f_name.value,err,"Name");
      err=checkemail(document.forms[0].f_email.value,err,"Email");
      err=checkempty(document.forms[0].f_comment.value,err,"Message");
      if(err!="") { valid=false; err = "Please correct these fields:\n" + err; alert(err);}
      return valid;
   }
   function checkempty(str, err, errmsg)
   {
      if(str=="") err+="\n"+errmsg+": missing";
      return err;
   }
   function checkemail(str, err, errmsg)
   {
      if((str=="") || (str.indexOf('@') > str.lastIndexOf('.')) || (str.indexOf('@')==-1) || (str.indexOf('.')==-1)) err+="\n"+errmsg+": missing or invalid";
      return err;
   }
   function checknrofchar(str, err, errmsg, min, max)
   {
      if( !( (str.length >= min) && (str.length <= max) ) )
         err+="\n"+errmsg+": wrong numbers of characters (" + min + "-" + max +")";
      return err;
   }
   function checkminimumofchar(str, err, errmsg, min)
   {
      if( (str.length < min) )
      {
         err+="\n"+errmsg+": to few characters (min=" + min + ")";
      }
      return err;
   }
   function checkifequals(str1, str2, err, errmsg)
   {
      if(str1==str2) err+="\n"+errmsg;
      return err;
   }
   function checknotequals(str1, str2, err, errmsg)
   {
      if(str1!=str2) err+="\n"+errmsg;
      return err;
   }
   function checknumbers(str, err, errmsg)
   {
      alert("Not yet implemented");
      return err;
   }
   function displayAlert(message)
   {
      out = "<br>"; // replace this
      add = "\n"; // with this
      temp = "" + message; // temporary holder

      while (temp.indexOf(out)>-1) {
         pos= temp.indexOf(out);
         temp = "" + (temp.substring(0, pos) + add +
         temp.substring((pos + out.length), temp.length));
      }
      alert(temp);
   }
   function openwin(page, height, width)
   {
      myWin = this.open(page, '', 'width='+width+',height='+height+',scrollbars');
   }
   function opendeletesitewin(sid, aid)
   {
   	width = 246;
   	height = 120;
   	myWin = this.open('adminpopup.php?action=confirmDeleteSite&id='+sid+'&aid='+aid, '', 'width='+width+',height='+height+',scrollbars');
   }
   function opendeletememberwin(mid)
   {
   	width = 246;
   	height = 120;
   	myWin = this.open('adminpopup.php?action=confirmDeleteMember&id='+mid, '', 'width='+width+',height='+height+',scrollbars');
   }
   function openeditsitewin(sid)
   {
   	width = 480;
   	height = 408;
   	myWin = this.open('adminpopup.php?action=editSite&id='+sid, '', 'width='+width+',height='+height+',scrollbars');
   }
   function openeditmemberwin(mid)
   {
   	width = 480;
   	height = 406;
   	myWin = this.open('adminpopup.php?action=editMember&id='+mid, '', 'width='+width+',height='+height+',scrollbars');
   }
   function openeditlinkwin(lid)
   {
   	width = 480;
   	height = 406;
   	myWin = this.open('adminpopup.php?action=editLink&id='+lid, '', 'width='+width+',height='+height+',scrollbars');
   }
   function opendeletelinkwin(lid)
   {
   	width = 246;
   	height = 120;
   	myWin = this.open('adminpopup.php?action=confirmDeleteLink&id='+lid, '', 'width='+width+',height='+height+',scrollbars');
   }