// $
function $(id) {
    return document.getElementById(id);
}

// addEvent() v1.0
function addEvent(obj, evt, fnc, useCapture){
	if (!useCapture) useCapture=false;
	if (obj.addEventListener){
		obj.addEventListener(evt,fnc,useCapture);
		return true;
	} else if (obj.attachEvent) return obj.attachEvent("on"+evt,fnc);
}

// getElementsByClassName() v1.0
document.getElementsByClassName = function(clsName){
    var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
	return retVal;
}

/*	
	mmAddEventHandler() v1.0
	Author: Mammon Media (c) 2006
	Description: Add events to elements with specific class names
	takes an array of items and adds fn to all
	Usage: mmAddEventHandler("classname", "event", function)
	run in onload event
	Depends on: getElementsByClassName()
*/
function mmAddEventHandler(cls, ev, fn) {

	var elm = document.getElementsByClassName(cls);
	
	if(elm.length > 0) {
		for(var i = 0; i < elm.length; i++) {
			if(elm[i].addEventListener) {
				elm[i].addEventListener(ev, fn, false);
			} else if(elm[i].attachEvent) {
				elm[i].attachEvent("on"+ev, fn);
			}
		}
	}
}

mmMenu = {
	
	subColor: "#cd162d",
   
	Activate: function() {
		var filename = document.location.href;
		filename = filename.substring(filename.lastIndexOf("/")+1, filename.length).toLowerCase();
		
		if (!filename) filename = "default.aspx";
		
	    var id = filename.substring(0, filename.lastIndexOf(".")).toLowerCase();
	   // id = id.substring(0, (id.indexOf("_") > 0) ? id.indexOf("_") : id.length);
	    
	    var item = document.getElementById(id);
	    	   
	   // alert(id);
	    if(item)
		    item.firstChild.className += " active";

	},

	ActivateSub: function() {
		
		// Get container
		var container = document.getElementById("submenu");        
        
		// check if container element exists
		if (container) {
			
			// Get all LI elements in container
			var linklist = container.getElementsByTagName("li");
			
			// Get filename and remove everything before last "/" + set everything to lowercase
			var filename = document.location.href;
			filename = filename.substring(filename.lastIndexOf("/")+1, filename.length).toLowerCase();

			for (var i = 0; i<linklist.length; i++) {
				var linkobj = linklist[i].firstChild;
				
				
				if(linkobj.href) {
					var linkname = linkobj.href.substring(linkobj.href.lastIndexOf("/")+1, linkobj.href.length).toLowerCase();
				
					// Set color to subColor if link href = current page name	
					if(linkname == filename) linkobj.style.color = mmMenu.subColor;
				}
			}
		}
	}
}

var Utils = {
	
	ExternalLinkRel: "external",
	
	ExternalLinks: function() 
	{
		
		var a = document.getElementsByTagName("a");
		
		for(var i = 0; i < a.length; i++)
		{
			if(a[i].rel == this.ExternalLinkRel) {
				a[i].onclick = function()
				{
					window.open(this.href, "external");
					return false;
				}
			}
		}
	},
	
	FocusBorder: function() {
		var nl = document.getElementsByTagName("a"), i;
		for (i=0; i<nl.length; i++)
			nl[i].setAttribute("onmousedown", "return false;");
	}
}

mmGallery = {

 links : function() {
 
     var links = document.getElementsByClassName("thumb");
       
     for (var i = 0; i < links.length; i++)

         links[i].onclick = function (e) {

         (e) ? elm = e.target : elm = window.event.srcElement;
         if(elm.tagName != "A") elm = elm.parentNode;
           
         mmGallery.setImage(elm);

         return false;

     }

 },

 setImage : function(elm) {
	
    var img = document.getElementById("bigimg");
    img.src = elm.href;
    
    //bildtext
    var imgContainer = elm;       
    var myImgText = imgContainer.getElementsByTagName("img")[0];
    // link to pdf
    var pdflink = myImgText.getAttribute('title');
    
    // check current file
    var currentFile = location.pathname.substr(location.pathname.lastIndexOf('/') + 1);
    var path = location.pathname;
	var currentLang = path.substring(1,path.lastIndexOf('/'),2);	
	
	// check current category
	var url = window.location.href;
	var length = url.length;
	var cat = url.substring(length-1, length);	
	
	//console.log(cat);
	
    if(currentFile != "NS_References.aspx" && currentFile != "FF_References.aspx" && currentFile != "AIW_References.aspx" )
    {
        document.getElementById("galleryimg_text").innerHTML = elm.title + " <br /> " + myImgText.getAttribute('alt');
        if(pdflink != "**inget produktblad**" && currentLang == "se")
			document.getElementById("galleryimg_text").innerHTML += "<p><a href='../files/" + pdflink + "' rel='external'>Visa produktblad &raquo;</a></p>"; 
		if(pdflink != "**inget produktblad**" && currentLang == "en")
			document.getElementById("galleryimg_text").innerHTML += "<p><a href='../files/" + pdflink + "' rel='external'>Product info &raquo;</a></p>"; 
		if(cat==8)
			document.getElementById("galleryimg_text").innerHTML += '<p><img src="/images/emblem.png" alt="" align="right" /></p>';
    }
    else
    {
        document.getElementById("galleryimg_text").innerHTML = elm.title + " <br /> " + myImgText.getAttribute('alt');
		 
		if(cat==8)
			document.getElementById("galleryimg_text").innerHTML += '<p><img src="/images/emblem.png" alt="" align="right" /></p>';		 
    }

    
    Utils.ExternalLinks();
 }
}

function _mmPageInit() {

	// Remove background flicker in IE
	try {
	  document.execCommand('BackgroundImageCache', false, true);
	} catch(e) {}
	
    Utils.ExternalLinks();
	mmMenu.Activate();
	//mmMenu.ActivateSub();
	
    if(document.getElementById("gallery"))
        mmGallery.links();    
}


// Attach events
addEvent(window, "load", _mmPageInit);