﻿/* ----------------------------

     Utskriftsvänlig layout
     John Modig Productions
     
---------------------------- */

var layout="screen";
var head=document.getElementsByTagName('head')[0];
var relPath="";

var p1=document.createElement("link");
p1.setAttribute('rel','stylesheet');
p1.setAttribute('type','text/css');
p1.setAttribute('id','printStyle');
p1.setAttribute('title','printStyle');
p1.setAttribute('href','css/print.css');
p1.setAttribute('media','screen, print');
head.appendChild(p1);

var p2=document.createElement("link");
p2.setAttribute('rel','stylesheet');
p2.setAttribute('type','text/css');
p2.setAttribute('id','printStyleOverrides');
p2.setAttribute('title','printStyle');
p2.setAttribute('href','css/print_overrides.css');
p2.setAttribute('media','print');
head.appendChild(p2);

for(i=0;(a=document.getElementsByTagName("link")[i]);i++) {
  if(a.getAttribute("title")=="printStyle"){
    a.disabled=true;
  }
}

function changeStyleRelPath(rPath) {
relPath=rPath;
p1.setAttribute('href',relPath+'css/print.css');
p2.setAttribute('href',relPath+'css/print_overrides.css');
}
function changeStyle(){
var logo=document.getElementById('header');
var i, a;
switch(layout)
{
case "print":
   for(i=0;(a=document.getElementsByTagName("link")[i]);i++) {
     if(a.getAttribute("title")=="printStyle"){
       a.disabled=true;
     }
     else if(a.getAttribute("media").indexOf("screen") != -1){
       a.disabled=false;
     }
   }
var printLogo = document.getElementById('printLogo');
var printFooter = document.getElementById('printFooter');
document.body.removeChild(document.getElementById('printHeader'));
document.getElementById('header').removeChild(printLogo);
document.getElementById('footer').removeChild(printFooter);

//iframe fix - kräver jQuery
$('div.iframe_for_print').remove();
if($('#article iframe').length > 0){
  $('#article iframe').each(function(index) {
    $(this).show();    
  });
}

layout="screen";
break
case "screen":
   for(i=0;(a=document.getElementsByTagName("link")[i]);i++) {
     if(a.getAttribute("title")=="printStyle"){
       a.disabled=false;
     }
     else if(a.getAttribute("media").indexOf("screen") != -1){
       a.disabled=true;
     }
   }
var pHeader=document.createElement("div");
pHeader.setAttribute('id','printHeader');
pHeader.innerHTML='<a href="#" onclick="return changeStyle()">Återställ layout</a>';
document.body.insertBefore(pHeader, document.body.firstChild);
var printLogo=document.createElement("div");
printLogo.setAttribute('id','printLogo');
printLogo.style.width="100%";
printLogo.style.textAlign="center";
var hrLogo = document.createElement("img");
hrLogo.setAttribute("src", relPath+"images/logotypes/pokerakademien_print.jpg");
hrLogo.setAttribute("alt", "Högupplöst utskriftsvänlig logotyp");
hrLogo.setAttribute("title", "Högupplöst utskriftsvänlig logotyp");
hrLogo.style.width="4.54cm";
hrLogo.style.height="5cm";
hrLogo.style.margin="0 0 1cm 0";
printLogo.appendChild(hrLogo);
d=new Date();
mins=d.getMinutes();
if(mins<10){mins="0"+mins;}
strD=(d.getMonth()+1)+"/"+d.getDate()+"/"+d.getYear()+" "+d.getHours()+":"+mins; 
var printFooter=document.createElement("p");
printFooter.setAttribute('id','printFooter');
printFooter.style.fontSize="7pt";
printFooter.style.lineHeight="9pt";
printFooter.innerHTML="Utskriven: "+strD+"<br />Url: "+location.href;
document.getElementById("header").appendChild(printLogo);
document.getElementById("footer").insertBefore(printFooter, document.getElementById('footer').firstChild);

//iframe fix - kräver jQuery
if($('#article iframe').length > 0){
  $('#article iframe').each(function(index) {
    $(this).before('<div id="iframe'+index+'" class="iframe_for_print"></div>');
    $('#iframe'+index).append($(this).contents().find('body').html());
    $('#iframe'+index+' p.vote').hide();
    $('#iframe'+index+' input.button_submit').hide();
    $('#iframe'+index+' #recaptcha_widget_div').hide();
    $(this).hide();    
  });
}

layout="print";
window.print();
break
}
return false;
}
