// general functions
function addLoadEvent(func) {	
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function switchStyleSheet() {
	var objFF = document.getElementById('ctl00_cssFF');
    var isFF = navigator.userAgent.indexOf("Firefox") != -1

    if (isFF){
        objMac.disabled = false;}
    else{
        objMac.disabled = true;}
}

function getWindowWidth() {
	var winW = window.screen.width;
	
	if (window.innerWidth)
		winW = window.innerWidth;
	else {
		if(document.documentElement.offsetWidth)
			winW = document.documentElement.offsetWidth;
		else if (document.body.offsetWidth)
			winW = document.body.offsetWidth;
		}
		return winW;
}

function getElementByClass(classname){ 
     var messages=new Array();
     var inc=0; 
     var alltags=document.all? document.all : document.getElementsByTagName("*"); 

     for (i=0; i<alltags.length; i++){
        if (alltags[i].className.match(classname)){ 
         messages[inc++]=alltags[i]; 
         }
     }
     if(messages != null){return messages;}
     else {return null;}
} 

function applyHideToBasket() {
    // apply onclick to continue shopping
    var elementBtnClose = document.getElementById('closecart');
    var elementAddToBasket = document.getElementById('add-to-basket');
    
    if (elementBtnClose!=null){
       elementBtnClose.onclick = function ()
        {
        elementAddToBasket.className = "add-basket-hide";
        } 
    }  
}

function applyOnClickToForms() {
    var elementBtnAdd = getElementByClass('addtocart');  
    var elementBtnClose = document.getElementById('closecart');  
    var elementAddToBasket = document.getElementById('add-to-basket');
    var elementBtnIncrease = document.getElementById('increase-font'); 
    var elementBtnDecrease = document.getElementById('decrease-font'); 
    var elementBtnReset = document.getElementById('reset-font'); 
    
    if (elementBtnAdd!=null){
        for (var intCounter = 0; intCounter < elementBtnAdd.length; intCounter++) {
        elementBtnAdd[intCounter].onclick = function ()
	        {	
	            // temporary just to show/hide add to basket div.
	            // this should overide the URL link and call the URL through AJAX.
	            // e.g. /product?id=12345&cat=books
	            // Avanade to implement.
	            if (elementAddToBasket!=null){
	                if (elementAddToBasket.className == "add-basket-hide png")
                    {
                    elementAddToBasket.className = "add-basket-show png";
                    if (elementBtnClose!=null){
                        elementBtnClose.onclick = function () {elementAddToBasket.className = "add-basket-hide png";} 
                        }  
                    } //else {elementAddToBasket.className = "add-basket-hide png";}
	            }           			
            }
        }
    }
    
    // accesibility font btns
    if (elementBtnIncrease!=null){
        elementBtnIncrease.onclick = function () {increaseFontSize();}
    }
    
    if (elementBtnDecrease!=null){
        elementBtnDecrease.onclick = function () {decreaseFontSize();}
    }
    
    if (elementBtnReset!=null){
        elementBtnReset.onclick = function () {resetFontSize();}
    }
    
}

// font re-size functions
var fontsize = 100;
var size = getCookie("font-size");
var factor = 20;

function checkZoom(){   
   var d = document.getElementsByTagName('body');
   
   if (size!=null){
     var v = parseInt(size);
     d[0].style.fontSize = v + "%";
     }
}

function resetFontSize() {
   var d = document.getElementsByTagName('body');
   if (d!=null){ d[0].style.fontSize = fontsize + "%";}
   size = fontsize;
   deleteCookie("font-size");   
}

function increaseFontSize() {
   var d = document.getElementsByTagName('body');
   
   if (size!=null){ var v = parseInt(size) + factor;}
   else { var v = fontsize + factor;}
   
   if (d!=null){
        d[0].style.fontSize = v + '%';
        size = v;
        setCookie("font-size",size,365,null,null,false);
   }
}

function decreaseFontSize() {
   var d = document.getElementsByTagName('body');
   
   if (size!=null){ var v = parseInt(size) - factor;}
   else { var v = fontsize - factor;}
   
   if (d!=null){
        d[0].style.fontSize = v + '%';
        size = v;
        setCookie("font-size",size,365,null,null,false);
   }  
}

// cookie functions
function setCookie(name,value,days,path,domain,secure) {
  var expires, date;
  if (typeof days == "number") {
    date = new Date();
    date.setTime( date.getTime() + (days*24*60*60*1000) );
		expires = date.toGMTString();
  }
  document.cookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

function getCookie(name) {
  var nameq = name + "=";
  var c_ar = document.cookie.split(';');
  for (var i=0; i<c_ar.length; i++) {
    var c = c_ar[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameq) == 0) return unescape( c.substring(nameq.length, c.length) );
  }
  return null;
}

function deleteCookie(name,path,domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

// load and attach events
//switchStyleSheet();
//window.onresize = switchStyleSheet;



