﻿//------------------------ function that changes the font-size of the given html-elements  ------------------------

function ndeCheck(enlargement)
{
if (ndeReadCookie("Session_Enlarge", true) == "1") 
	{
	    if (enlargement){
	       ndeSetTextSize('incr',enlargement);
		} 
		else{
		   ndeSetTextSize('incr');
		}	    
	}
}

function ndeSetTextSize(chgsize,enlargement,rs) 
{
  var startSize;
  var newSize;

  if (!document.getElementsByTagName){
    return;
  }

  startSize = parseInt(ndeGetDocTextSize());
  
  if (!startSize){
    startSize = 12;
  }

  switch (chgsize)
  {
  	case 'incr':  	      
  	    if (enlargement){  	        
		   newSize = startSize + enlargement;
		} 
		else{
		   newSize = startSize + 10;
		}
		break;

	case 'decr':
	   	newSize = startSize - 2;
	   	break;

	case 'reset':
		if (rs){
		   newSize = rs;
		} 
		else{
		   startSize = 14;
		}
    break;

  	default:
    		newSize = parseInt(ndeReadCookie("nde-textsize", true));
	    	if (!newSize)
    		{
  			newSize = startSize;
    		}
    		break;
  }

  if (newSize < 10){
    	newSize = 10;
  }

  var thisImgs = document.getElementsByTagName("SPAN");
  
  for (var idx = 0; idx < thisImgs.length; idx++){
		document.getElementsByTagName('SPAN')[idx].style.fontSize = newSize;
  }
  
  var thisImgs = document.getElementsByTagName("table");
  for (var idx = 0; idx < thisImgs.length; idx++){
		document.getElementsByTagName('table')[idx].style.fontSize = newSize;
  }
  
    var thisImgs = document.getElementsByTagName("TR");
  for (var idx = 0; idx < thisImgs.length; idx++){
		document.getElementsByTagName('TR')[idx].style.fontSize = newSize;
  }
  
  var thisImgs = document.getElementsByTagName("TD");
  for (var idx = 0; idx < thisImgs.length; idx++){
		document.getElementsByTagName('TD')[idx].style.fontSize = newSize;
  }
  
  
  
  var thisImgs = document.getElementsByTagName("B");
  for (var idx = 0; idx < thisImgs.length; idx++){
		document.getElementsByTagName('B')[idx].style.fontSize = newSize;
  } 
  
  var thisImgs = document.getElementsByTagName("A");
  for (var idx = 0; idx < thisImgs.length; idx++){
		document.getElementsByTagName('A')[idx].style.fontSize= newSize;
  }
  
  var thisImgs = document.getElementsByTagName("INPUT");
  for (var idx = 0; idx < thisImgs.length; idx++){
		document.getElementsByTagName('INPUT')[idx].style.fontSize = newSize;
  } 
  
  var thisImgs = document.getElementsByTagName("FONT");
  for (var idx = 0; idx < thisImgs.length; idx++){
		document.getElementsByTagName('FONT')[idx].style.fontSize = newSize;
  } 
  
  var thisImgs = document.getElementsByTagName("IMG");
  for (var idx = 0; idx < thisImgs.length; idx++){
		document.getElementsByTagName('IMG')[idx].style.fontSize = newSize;
  } 
 
  ndeCreateCookie("nde-textsize", newSize, 365, true);
}


//------------------------ function that fetches the current font-size  ------------------------
function ndeGetDocTextSize() 
{
  if (!document.getElementsByTagName){
    return 0;
  }

  var size = 0;
  var body = document.getElementsByTagName('body')[0];
  
  if (body.style && body.style.fontSize)
  {
    size = body.style.fontSize;
  }
  else if (typeof(getComputedStyle) != 'undefined')
  {
    size = getComputedStyle(body,'').getPropertyValue('font-size');
  }
  else if (body.currentStyle)
  {
    size = body.currentStyle.fontSize;
  }
  return size;
}

//------------------------ function that sets the cookie  ------------------------
function ndeCreateCookie(name,value,days,useLang) 
{
  var langString = useLang ? ndeGetLang() : "";
  var cookie = name + langString + "=" + value + ";";

  if (days) 
  {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    cookie += " expires=" + date.toGMTString() + ";";
  }
  cookie += " path=/";

  document.cookie = cookie;
}

//------------------------ function that reads the cookie  ------------------------
function ndeReadCookie(name, useLang) 
{
  var langString = useLang ? ndeGetLang() : "";
  var nameEQ = name + langString + "=";
  var ca = document.cookie.split(';');

  for(var i = 0; i < ca.length; i++) 
  {
    var c = ca[i];
    while (c.charAt(0) == ' '){
      c = c.substring(1, c.length);
    }

    if (c.indexOf(nameEQ) == 0){
      return c.substring(nameEQ.length,c.length);
    }
  }
  return null;
}

//------------------------ function that checks the browser version  ------------------------
function ndeGetLang()
{
  var langString = "";

  if (document.documentElement){//IE?
    langString = document.documentElement.lang;
    if (langString != ""){
      langString = "-" + langString;
    }
  }  
  return langString;
}

function normalFont() 
{
try {
		ndeCreateCookie("Session_Enlarge", "0", 365, true);
		window.location.reload();
} catch (e) {}
}

function largeFont() 
{
try {
		ndeCreateCookie("Session_Enlarge", "1", 365, true);
		window.location.reload();
} catch (e) {}
}
