
// Object to store all of our stuff (in the long run kind of a Kinetiqa JavaScript library)
var kinetiqa = {
  // registry for onload functions
  // all of its properties will be executed on window.onload
  loadObject : {}
};

function right_size() {
  defaultFontSize = getCurrentFontSize();
  if( document.cookie && document.cookie.search( /fontsize=/ ) != -1 ) {
    newDefault = document.cookie.replace( /.*fontsize=([^;]+).*/, "$1" );
    document.getElementsByTagName( "body" )[0].style.fontSize = newDefault;
  }
  // generic loader: add a function as method, and off you go!
  for( var e in kinetiqa.loadObject ) {
    if( typeof kinetiqa.loadObject[e] == "function" ) {
      kinetiqa.loadObject[e]();
    }
  }
  setHeight(true);
}


// change font size
var defaultFontSize = "12px"; // the default font size. Will be actualized in the onLoad-Handler

// size the font: current size + diff
function sizeFont( diff ) {
  if( !Number(diff) ) {
    document.cookie = "fontsize="+defaultFontSize+"; expires=Mon, 10 Sep 2040 18:17:28 GMT";
    return (document.getElementsByTagName( "body" )[0].style.fontSize = defaultFontSize);
  }
  var curSize = getCurrentFontSize();
  var newSize = (Number( curSize.replace( / *px/, "" ) ) + Number(diff)) + "px";
  document.cookie = "fontsize="+newSize+"; expires=Mon, 10 Sep 2040 18:17:28 GMT";
  setHeight(false);
  return (document.getElementsByTagName( "body" )[0].style.fontSize = newSize);
}

// get the current font size of the body tag
function getCurrentFontSize() {
  var body = document.getElementsByTagName( "body" )[0];
  var curSize = body.style.fontSize;
  if( !curSize ) {
    if( window.getComputedStyle ) {
      curSize = window.getComputedStyle( body, "" ).getPropertyValue( "font-size" );
    } else if( body.currentStyle ) {
      curSize = body.currentStyle[ "fontSize" ];
    } else {
      curSize = "12px";
    }
  }
  return curSize;
}

// function for change the length of all columns
function setHeight( set ) {
  if( !set ) {
  	try { document.getElementById('leftcolumn').style.height = ''; } catch (e) {}
  	try { document.getElementById('fullmidcolumn').style.height = ''; } catch (e) {}
  	try { document.getElementById('midcolumn').style.height = ''; } catch (e) {}
  	try { document.getElementById('rightcolumn').style.height = ''; } catch (e) {}
  } else {
  	var footerheight = document.getElementById('footer').offsetHeight;
  	var maxheight = document.getElementById('contentarea').offsetHeight - footerheight;
  	try { document.getElementById('leftcolumn').style.height = maxheight + 'px'; } catch (e) {}
  	try { document.getElementById('fullmidcolumn').style.height = maxheight + 'px'; } catch (e) {}
  	try { document.getElementById('midcolumn').style.height = maxheight + 'px'; } catch (e) {}
  	try { document.getElementById('rightcolumn').style.height = maxheight + 'px'; } catch (e) {}
  }
}










// start the height and font size check
window.onload = right_size;



