
/* Alla externa länkar ska ha rel="ext" eller rel="nofollow". */
/* Använd INTE target="_blank"                                */
function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
  var anchor = anchors[i];
  if (anchor.getAttribute("href") && ( anchor.getAttribute("rel") == "ext" || anchor.getAttribute("rel") == "nofollow" )) {
   anchor.target = "_blank";
  }
 }
 // w3counter
 if (document.getElementById('w3counter')) {
  var w3p = document.getElementById('w3counter');
  var w3l = w3p.getElementsByTagName("a");
  w3l[0].target = "_blank";
 }
}

/* den här byter ut alla H1 mot bilder */
function replaceHeaders() {
 var h1tags;
 var h1txt;
 if(wideheader==1) { var wide = 'wide'; }
 else { var wide = ''; }
 if (document.getElementsByTagName) {
  h1tags = document.getElementsByTagName('h1');
 }
 for (var i=0; i<h1tags.length; i++) {
  h1txt = h1tags[i].innerHTML;
  h1tags[i].innerHTML = '<img src="/pics/text/h1'+wide+'.php?text='+escape(h1txt)+'" alt="" />';
 }
}

/* räkna tecken i kommentarfomuläret på seriesidorna, gästboken och feedback */
function textCounter(field, countfield, maxlimit) {
 if (field.value.length > maxlimit) {
  field.value = field.value.substring(0, maxlimit);
  alert ("Maximalt antal tecken är uppnått.");
 }
 else { countfield.value = maxlimit - field.value.length; }
}

/* facebook */
function fbs_click() {
 var u=location.href;
 var t=document.title;
 window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
 return false;
}

/* context menu http://www.webtoolkit.info/javascript-context-menu.html */

var SimpleContextMenu = {

 // private attributes
 _menus : new Array,
 _attachedElement : null,
 _menuElement : null,
 _preventDefault : true,
 _preventForms : true,


 // public method. Sets up whole context menu stuff..
 setup : function (conf) {

  if ( document.all && document.getElementById && !window.opera ) {
   SimpleContextMenu.IE = true;
  }

  if ( !document.all && document.getElementById && !window.opera ) {
   SimpleContextMenu.FF = true;
  }

  if ( document.all && document.getElementById && window.opera ) {
   SimpleContextMenu.OP = true;
  }

  if ( SimpleContextMenu.IE || SimpleContextMenu.FF ) {

   document.oncontextmenu = SimpleContextMenu._show;
   document.onclick = SimpleContextMenu._hide;

   if (conf && typeof(conf.preventDefault) != "undefined") {
    SimpleContextMenu._preventDefault = conf.preventDefault;
   }

   if (conf && typeof(conf.preventForms) != "undefined") {
    SimpleContextMenu._preventForms = conf.preventForms;
   }

  }

 },


 // public method. Attaches context menus to specific class names
 attach : function (classNames, menuId) {

  if (typeof(classNames) == "string") {
   SimpleContextMenu._menus[classNames] = menuId;
  }

  if (typeof(classNames) == "object") {
   for (x = 0; x < classNames.length; x++) {
    SimpleContextMenu._menus[classNames[x]] = menuId;
   }
  }

 },


 // private method. Get which context menu to show
 _getMenuElementId : function (e) {

  if (SimpleContextMenu.IE) {
   SimpleContextMenu._attachedElement = event.srcElement;
  } else {
   SimpleContextMenu._attachedElement = e.target;
  }

  while(SimpleContextMenu._attachedElement != null) {
   var className = SimpleContextMenu._attachedElement.className;

   if (typeof(className) != "undefined") {
    className = className.replace(/^\s+/g, "").replace(/\s+$/g, "")
    var classArray = className.split(/[ ]+/g);

    for (i = 0; i < classArray.length; i++) {
     if (SimpleContextMenu._menus[classArray[i]]) {
      return SimpleContextMenu._menus[classArray[i]];
     }
    }
   }

   if (SimpleContextMenu.IE) {
    SimpleContextMenu._attachedElement = SimpleContextMenu._attachedElement.parentElement;
   } else {
    SimpleContextMenu._attachedElement = SimpleContextMenu._attachedElement.parentNode;
   }
  }

  return null;

 },


 // private method. Shows context menu
 _getReturnValue : function (e) {

  var returnValue = true;
  var evt = SimpleContextMenu.IE ? window.event : e;

  if (evt.button != 1) {
   if (evt.target) {
    var el = evt.target;
   } else if (evt.srcElement) {
    var el = evt.srcElement;
   }

   var tname = el.tagName.toLowerCase();

   if ((tname == "input" || tname == "textarea")) {
    if (!SimpleContextMenu._preventForms) {
     returnValue = true;
    } else {
     returnValue = false;
    }
   } else {
    if (!SimpleContextMenu._preventDefault) {
     returnValue = true;
    } else {
     returnValue = false;
    }
   }
  }

  return returnValue;

 },


 // private method. Shows context menu
 _show : function (e) {

  SimpleContextMenu._hide();
  var menuElementId = SimpleContextMenu._getMenuElementId(e);

  if (menuElementId) {
   var m = SimpleContextMenu._getMousePosition(e);
   var s = SimpleContextMenu._getScrollPosition(e);

   SimpleContextMenu._menuElement = document.getElementById(menuElementId);
   SimpleContextMenu._menuElement.style.left = m.x + s.x + 'px';
   SimpleContextMenu._menuElement.style.top = m.y + s.y + 'px';
   SimpleContextMenu._menuElement.style.display = 'block';
   return false;
  }

  return SimpleContextMenu._getReturnValue(e);

 },


 // private method. Hides context menu
 _hide : function () {

  if (SimpleContextMenu._menuElement) {
   SimpleContextMenu._menuElement.style.display = 'none';
  }

 },


 // private method. Returns mouse position
 _getMousePosition : function (e) {

  e = e ? e : window.event;
  var position = {
   'x' : e.clientX,
   'y' : e.clientY
  }

  return position;

 },


 // private method. Get document scroll position
 _getScrollPosition : function () {

  var x = 0;
  var y = 0;

  if( typeof( window.pageYOffset ) == 'number' ) {
   x = window.pageXOffset-150;
   y = window.pageYOffset+2;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
   x = document.documentElement.scrollLeft-150;
   y = document.documentElement.scrollTop+2;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
   x = document.body.scrollLeft-150;
   y = document.body.scrollTop+2;
  }

  var position = {
   'x' : x,
   'y' : y
  }

  return position;

 }

}

function lyftframnyjuttu() {
 // för att lyfta fram en puff då sidan laddats
 // <h2 id="nyjutturubrik"> och <p id="nyjuttutext" class="puff">
 if(document.getElementById('nyjutturubrik')&&document.getElementById('nyjuttutext')) {
  // ändra bg och border till röda
  document.getElementById('nyjutturubrik').style.background = 'red';
  document.getElementById('nyjuttutext').style.border = '1px solid red';
  setTimeout ('fadetillnormal()',3000);
 }
}
function fadetillnormal() {
 var colorArray = new Array( );
 colorArray[0] = '#ef0b12'; // "90 %"
 colorArray[1] = '#dd1726';
 colorArray[2] = '#cd2338';
 colorArray[3] = '#bc2e4b';
 colorArray[4] = '#ab3a5e';
 colorArray[5] = '#9a4671';
 colorArray[6] = '#8a5183';
 colorArray[7] = '#795d96';
 colorArray[8] = '#6868a9';
 colorArray[9] = '#5774bc'; // 0 "back to normal"
 for (var i=0;i<10;i++) {
  setTimeout('document.getElementById("nyjutturubrik").style.background="'+colorArray[i]+'";',i*100);
  setTimeout('document.getElementById("nyjuttutext").style.border="1px solid '+colorArray[i]+'";',i*100);
 }
}

function skrivutaddthisjuttuna() {
 // add this -grejerna gjorde sidan trög, så skriver ut dem först efter att resten laddats
 var juttun = document.getElementById('addthisjuttu');
 juttun.style.display = 'block';
 var knappar = document.getElementById('addthisknappar');
 knappar.style.display = 'block';
 // gör samma med w3counter
 var w3c = document.getElementById('w3counter');
 w3c.style.display = 'block';
}

function doallkindofshit() {
 externalLinks();
 replaceHeaders();
 /* context menu */
 SimpleContextMenu.setup({'preventDefault':true, 'preventForms':false});
 SimpleContextMenu.attach('customcontextmenu', 'kencomixcontextmenu');
 lyftframnyjuttu();
 skrivutaddthisjuttuna();
}
window.onload = doallkindofshit;

