﻿/*global font*/

function createCookie(name,value,days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        expires = "; expires="+date.toGMTString();
        document.cookie = name+"="+escape(value)+expires+"; path=/;";
    }
}
function setLightBoxExampleCSS(on, off)
{
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) 
             {
                if (a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) 
                {
                if (a.getAttribute("title") == on) 
                {
                    a.disabled = false;
                   // a.href="/javascript/colorbox/"+on+"/colorbox.css";
                    
                }
                 if (a.getAttribute("title") == off) 
                {
                    // a.href="/javascript/colorbox/"+off+"/colorbox.css";
                    a.disabled = true;
                   
                }
                }
            }
}

var bugRiddenCrashPronePieceOfJunk = (navigator.userAgent.indexOf('MSIE 5') != -1 && navigator.userAgent.indexOf('Mac') != -1);

var W3CDOM = (!bugRiddenCrashPronePieceOfJunk && document.getElementsByTagName && document.createElement);

function setActiveStyleSheet(title, reset){
  
  if (!W3CDOM){return false;}
    var i, a, main, ch = false;
    
    var sfb = document.getElementById("globalscalebutton_small");
    var mfb = document.getElementById("globalscalebutton_medium");
    var lfb = document.getElementById("globalscalebutton_large");
    manipulateObjectClass(sfb, "remove", "textActive");   
    manipulateObjectClass(mfb, "remove", "textActive");   
    manipulateObjectClass(lfb, "remove", "textActive");   
    
    
    for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
        if (a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
            a.disabled = true;
            if (a.getAttribute("title") == title) {
                a.disabled = false;
                ch = true;
                if(title == "Large font"){                     
                    manipulateObjectClass(lfb, "add", "textActive");  
                }else{
                    manipulateObjectClass(mfb, "add", "textActive");
                }
            }
        }
    }
    if(!ch){
        manipulateObjectClass(sfb, "add", "textActive");
    }
    if (reset == 1) {
        createCookie("wstyle", title, 365);
    }
}

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 unescape(c.substring(nameEQ.length,c.length));
        }
    }
    return null;
}

function setStyle() {

    var style = readCookie("wstyle");
    if (style != null) {
        setActiveStyleSheet(style, 0);
    }
    else
    {
//        if (window.innerWidth > 1440) {
//            setActiveStyleSheet("Large font", 1)
//        } else if (window.innerWidth > 1200) {
//            setActiveStyleSheet("Medium font", 1)
//        } else {
            setActiveStyleSheet("Normal font", 1)
//        }
    }
}

function registerEventListener(elem, event, func) {
    if (elem.addEventListener) {
        elem.addEventListener(event, func, false);
        return true;
    } else if (elem.attachEvent) {
        var result = elem.attachEvent("on"+event, func);
        return result;
    }

    return false;
}

function registerPloneFunction(func) {
     registerEventListener(window, "load", func);
}

registerPloneFunction(setStyle);

function scaleButtonsM0ver(size, elem){
    elem.src="/Templates/Public/Images/a"+ size +"_mo.png";    
}

function scaleButtonsM0ut(size, elem){
    
    font = 1;
    
    var style = readCookie("wstyle");
    
    if(style == "Large font"){
        font = 3;
    }else if(style == "Medium font"){
        font = 2;
    }
    
    if(size == font){
        elem.src="/Templates/Public/Images/a"+ size +"_md.png";
    }else{
        elem.src="/Templates/Public/Images/a"+ size +".png";
    }
}
function manipulateObjectClass(obj, mode, class1, class2) {
	if (obj != null) {
		switch (mode) {
		case 'check':
			return new RegExp('\\b'+class1+'\\b').test(obj.className)
			break;
		case 'add':
			if(!manipulateObjectClass(obj,'check',class1)){
				obj.className+=obj.className?' '+class1:class1;
			}
			break;
		case 'remove':
			var rep=obj.className.match(' '+class1)?' '+class1:class1;
			obj.className=obj.className.replace(rep,'');
			break;
		case 'swap':
			obj.className=!manipulateObjectClass(obj,'check',class1)?obj.className.replace(class2,class1): obj.className.replace(class1,class2);
			break;
		}
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\\\s)"+searchClass+"(\\\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

