﻿var Url = {

  // public method for url encoding
  encode : function (string) {
    return escape(this._utf8_encode(string));
  },

  // public method for url decoding
  decode : function (string) {
    return this._utf8_decode(unescape(string));
  },

  // private method for UTF-8 encoding
  _utf8_encode : function (string) {
    string = string.replace(/\r\n/g,"\n");
    var utftext = "";

    for (var n = 0; n < string.length; n++) {

      var c = string.charCodeAt(n);

      if (c < 128) {
        utftext += String.fromCharCode(c);
      }
      else if((c > 127) && (c < 2048)) {
        utftext += String.fromCharCode((c >> 6) | 192);
        utftext += String.fromCharCode((c & 63) | 128);
      }
      else {
        utftext += String.fromCharCode((c >> 12) | 224);
        utftext += String.fromCharCode(((c >> 6) & 63) | 128);
        utftext += String.fromCharCode((c & 63) | 128);
      }

    }

    return utftext;
  },

  // private method for UTF-8 decoding
  _utf8_decode : function (utftext) {
    var string = "";
    var i = 0;
    var c = c1 = c2 = 0;

    while ( i < utftext.length ) {

      c = utftext.charCodeAt(i);

      if (c < 128) {
        string += String.fromCharCode(c);
        i++;
      }
      else if((c > 191) && (c < 224)) {
        c2 = utftext.charCodeAt(i+1);
        string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
        i += 2;
      }
      else {
        c2 = utftext.charCodeAt(i+1);
        c3 = utftext.charCodeAt(i+2);
        string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
        i += 3;
      }

    }

    return string;
  }

}

function getElementsByClassName(oElm, strTagName, oClassNames){
  var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
  var arrReturnElements = new Array();
  var arrRegExpClassNames = new Array();
  if(typeof oClassNames == "object"){
    for(var i=0; i<oClassNames.length; i++){
      arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames[i].replace(/-/g, "\-") + "(\s|$)"));
    }
  }
  else{
    arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames.replace(/-/g, "\-") + "(\s|$)"));
  }
  var oElement;
  var bMatchesAll;
  for(var j=0; j<arrElements.length; j++){
    oElement = arrElements[j];
    bMatchesAll = true;
    for(var k=0; k<arrRegExpClassNames.length; k++){
      if(!arrRegExpClassNames[k].test(oElement.className)){
        bMatchesAll = false;
        break;
      }
    }
    if(bMatchesAll){
      arrReturnElements.push(oElement);
    }
  }
  return (arrReturnElements)
}

function fixMyLink(str) {
  var lnk = getElementsByClassName(document, "a", str);
  for (keyVar in lnk) {
  var myUrl = lnk[keyVar].pathname;
  var myNewUrl = Url.encode(myUrl);
    lnk[keyVar].pathname = myNewUrl;
  }
  
}


jQuery(function() {
  jQuery("div.laes-mere").hide();
  jQuery("a.laes-mere-link").click(function() {
    jQuery("a.laes-mere-link").hide();
    jQuery("div.laes-mere").slideDown("slow", function() {
      // Animation complete.
    });
  });
});
