/* browser dependant stuff (requires browser.js) */



function BrowserDetect() {

   var ua = navigator.userAgent.toLowerCase(); 



   // browser engine name

   this.isGecko       = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);

   this.isAppleWebKit = (ua.indexOf('applewebkit') != -1);



   // browser name

   this.isKonqueror   = (ua.indexOf('konqueror') != -1); 

   this.isSafari      = (ua.indexOf('safari') != - 1);

   this.isOmniweb     = (ua.indexOf('omniweb') != - 1);

   this.isOpera       = (ua.indexOf('opera') != -1); 

   this.isIcab        = (ua.indexOf('icab') != -1); 

   this.isAol         = (ua.indexOf('aol') != -1); 

   this.isIE          = (ua.indexOf('msie') != -1 && !this.isOpera && (ua.indexOf('webtv') == -1) ); 

   this.isMozilla     = (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length);

   this.isFirebird    = (ua.indexOf('firebird/') != -1);

   this.isNS          = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && !this.isOpera && !this.isSafari && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );

   

   // spoofing and compatible browsers

   this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE);

   this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla);

   

   // rendering engine versions

   this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );

   this.equivalentMozilla = ( (this.isGecko) ? parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) ) : -1 );

   this.appleWebKitVersion = ( (this.isAppleWebKit) ? parseFloat( ua.substring( ua.indexOf('applewebkit/') + 12) ) : -1 );

   

   // browser version

   this.versionMinor = parseFloat(navigator.appVersion); 

   

   // correct version number

   if (this.isGecko && !this.isMozilla) {

      this.versionMinor = parseFloat( ua.substring( ua.indexOf('/', ua.indexOf('gecko/') + 6) + 1 ) );

   }

   else if (this.isMozilla) {

      this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) );

   }

   else if (this.isIE && this.versionMinor >= 4) {

      this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );

   }

   else if (this.isKonqueror) {

      this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) );

   }

   else if (this.isSafari) {

      this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('safari/') + 7 ) );

   }

   else if (this.isOmniweb) {

      this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('omniweb/') + 8 ) );

   }

   else if (this.isOpera) {

      this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera') + 6 ) );

   }

   else if (this.isIcab) {

      this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab') + 5 ) );

   }

   

   this.versionMajor = parseInt(this.versionMinor); 

   

   // dom support

   this.isDOM1 = (document.getElementById);

   this.isDOM2Event = (document.addEventListener && document.removeEventListener);

   

   // css compatibility mode

   this.mode = document.compatMode ? document.compatMode : 'BackCompat';



   // platform

   this.isWin    = (ua.indexOf('win') != -1);

   this.isWin32  = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1) );

   this.isMac    = (ua.indexOf('mac') != -1);

   this.isUnix   = (ua.indexOf('unix') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)

   this.isLinux  = (ua.indexOf('linux') != -1);

   

   // specific browser shortcuts

   this.isNS4x = (this.isNS && this.versionMajor == 4);

   this.isNS40x = (this.isNS4x && this.versionMinor < 4.5);

   this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7);

   this.isNS4up = (this.isNS && this.versionMinor >= 4);

   this.isNS6x = (this.isNS && this.versionMajor == 6);

   this.isNS6up = (this.isNS && this.versionMajor >= 6);

   this.isNS7x = (this.isNS && this.versionMajor == 7);

   this.isNS7up = (this.isNS && this.versionMajor >= 7);

   

   this.isIE4x = (this.isIE && this.versionMajor == 4);

   this.isIE4up = (this.isIE && this.versionMajor >= 4);

   this.isIE5x = (this.isIE && this.versionMajor == 5);

   this.isIE55 = (this.isIE && this.versionMinor == 5.5);

   this.isIE5up = (this.isIE && this.versionMajor >= 5);

   this.isIE6x = (this.isIE && this.versionMajor == 6);

   this.isIE6up = (this.isIE && this.versionMajor >= 6);

   

   this.isIE4xMac = (this.isIE4x && this.isMac);

}



var browser = new BrowserDetect();



function FixClasses() {

  if(!browser.isWin32 || !browser.isIE6up) {

/*

    obj=document.getElementById('gray');

    if(obj!=null)

      obj.className='grayrect';

*/

  }

}



/* navigation ***/



function goto(url) {

  if(document.images)

    location.replace(url);

  else

    location.href = url;

}

function home() {

  goto('start.html');

}





/*** design ***/



function BrdHilite(obj) {

  obj.style.border='solid 2px #ffffff';

}



function BrdUnlite(obj) {

  obj.style.border='solid 2px #dfdfdf';

}



function BkgHilite(obj) {

  obj.style.backgroundColor='#ffffff';

}



function BkgUnlite(obj) {

  obj.style.backgroundColor='#dfdfdf';

}



function Opaque(obj) {

  obj.style.filter='alpha(opacity=100)';

}



function Trans(obj) {

  obj.style.filter='alpha(opacity=50)';

}



/*** cookies ***/



function getCookieVal(offset) {

  var endstr = document.cookie.indexOf(";",offset);

  if(endstr == -1)

    endstr=document.cookie.length;

  return unescape(document.cookie.substring(offset,endstr));

}



function GetCookie(name) {

  var arg=name + "=";

  var alen=arg.length;

  var clen=document.cookie.length;

  var i = 0;

  while(i < clen) {

    var j = i + alen;

    if(document.cookie.substring(i,j) == arg)

      return getCookieVal(j);

    i = document.cookie.indexOf(" ",i) + 1;

    if(i == 0)

      break;

  }

  return null;

}



function SetCookie(name,value,expires,path,domain,secure) {

  document.cookie = name + "=" + escape(value) +

  ((expires) ? "; expires=" + expires.toGMTString() : "") +

  ((path) ? "; path=" + path : "") +

  ((domain) ? "; domain=" + domain : "") +

  ((secure) ? "; secure" : "");

}



function DeleteCookie(name,path,domain) {

  if(GetCookie(name)) {

    document.cookie = name + "=" +

      ((path) ? "; path=" + path : "") +

      ((domain) ? "; domain=" + domain : "") +

      "; expires=Thu, 01-Jan-70 00:00:01 GMT";

  }

}



/*** windows ***/



var mypopup=0;

function popup(page,width,height) {

  if(mypopup!=0)

    mypopup.close();

  mypopup=window.open(page+'.html','page','width='+width+',height='+height+',scrollbars=no,status=no,menubar=no,toolbar=no,resizable=no,copyhistory=no');

  return false;

}



/*** validation ***/



var charexp = /./

var letterexp = /[a-z]/i

var phonexp = /^[0-9]*\-[0-9]*/

var memberexp = /^\d{3}$/

var zipexp = /^\d{5}$|^\d{5}[\-\s]?\d{4}$/

var emailexp = /(^[a-z]([a-z_\.]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i;



function isValid(pattern,str) {

  return pattern.test(str)

}



function hasLetter(str) {

  return letterexp.test(str)

}



function hasChar(str) {

  return charexp.test(str)

}



/*** strings ***/



function stripChars(pattern,str) {

  return str.replace(pattern,'')

}



function stripNonDigits(str) {

  return str.replace(/[^0-9]/g,'')

}



function trim(str) {

  while(str != str.replace(/  /,' '))

    str = str.replace(/  /g,' ');

  while(str != str.replace(/^\s/,''))

    str = str.replace(/^\s/,'')

  while(str != str.replace(/\s$/,''))

    str = str.replace(/\s$/,'')

  return str;

}



function collapse(str) {

  return str.replace(/\s/g,'')

}



function cleanup(str) {

  str = trim(str);

  str = str.replace(/\\/g,'');

  str = str.replace(/\'/g,'\\\'');

  return str.replace(/\"/g,'\\\"');

}



/*** email, sms ***/



function SendEmail(from,to) {

  if(isValid(emailexp,from)) {

    alert('Ditt meddelande har skickats.');

    document.contact.message.value='';

  }

  else {

    alert('Kontrollera att du har angivit din rätta epost-adress.');

  }

}

function SendSMS(from,to) {

  if(isValid(phonexp,from)) {

    alert('Ditt meddelande har skickats.');

    document.contact.message.value='';

  }

  else {

    alert('Kontrollera att du har angivit ditt rätta telefonnummer.');

  }

}

