﻿var lastStyle = 0;

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	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 eraseCookie(name) {
    try
    {
	    createCookie(name,"",-1);
	}
	catch(ex)
	{
	    alert("Error Occured");
	}
}


function createjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 return fileref
}

function replaceCssFile(oldfilename, newfilename, filetype){
 var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" //determine element type to create nodelist using
 var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none" //determine corresponding attribute to test for
 var allsuspects=document.getElementsByTagName(targetelement)
 for (var i=allsuspects.length; i>=0; i--){ //search backwards within nodelist for matching elements to remove
  if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(oldfilename)!=-1){
   var newelement=createjscssfile(newfilename, filetype)
   allsuspects[i].parentNode.replaceChild(newelement, allsuspects[i])
  }
 }
}


function changeTextSize(onload)
{
    var currentFile = 0;
    try
    {
    
       //  READ Value from cookie to set the page on load;
       var fromCookie = readCookie("textSize");
       if(fromCookie == null || fromCookie == "NaN" || fromCookie == NaN)
       {
            currentFile = lastStyle;
       }
       else
       {
           currentFile = parseInt(fromCookie);
       }
       
       if(!onload)
       {
           currentFile = (parseInt(currentFile) + 1) % 3;
       }
             
        // Create new value to be used for the site text size;
        var oldFilename = "";
        var newFilename = "";
        switch(currentFile)
        {
            case 1:
            oldFilename = "/_css/Size/textsize_normal.css";
            newFilename = "/_css/Size/textsize_medium.css";
            break;
            
            case 2:
            oldFilename = "/_css/Size/textsize_medium.css";
            newFilename = "/_css/Size/textsize_large.css";
            break;
            
            case 0:
            oldFilename = "/_css/Size/textsize_large.css";
            newFilename = "/_css/Size/textsize_normal.css";
            break;
        }

        //alert(onload + ' ' + currentFile + ' ' + oldFilename + ' - ' + newFilename);

        if(onload && currentFile != 0)
        {
            oldFilename = "/_css/Size/textsize_normal.css";
            replaceCssFile(oldFilename, newFilename, "css"); //Replace all occurences "oldstyle.css" with "newstyle.css"
        }
        else if(!onload)
        {
            replaceCssFile(oldFilename, newFilename, "css"); //Replace all occurences "oldstyle.css" with "newstyle.css"
        }
                           
        createCookie("textSize", currentFile, 0);        
        lastStyle = currentFile;
    }
    catch(e)
    {
        alert(e.message);
    }   
        
}