// Add site spesific javascript here

/**
 * Configuration for site components javascript
 *
 * Configuration array structure:
 * {<component>: {<parameter>: value, <parameter>: value, ... }, ...}
 */
var siteComponentsConfig = {
    'tooltip': {
        'positionby': 'element' //Valid values: mouse (default), element
     },

    'keywords': {
        'elements': ['placeholder-content'],
        'skiptags': ['h1','h2','h3','h4','h5','h6'],
        'usetooltip': true
    }
};

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) {
    createCookie(name,"",-1);
}

/**
 * Ivar specific function that recieves image alignment events, and
 * handles image switching.
 * 
 * @param event The image alignment event from scrollhandler
 */
function ivarRelatedImageAlignmentCallback(event) {
	// Skip handing if event memo is missing, since we cannot resolve event elements
	if (Object.keys(event.memo).length == 0) return;
    var eventSource = event.memo;
    var nextElement = event.findElement();
   
    if (eventSource.lastElement != null) {
        nextElement.show();
        eventSource.lastElement.hide();
    }
    else {
    	var relatedBindings = eventSource.container.getRelatedBindings(nextElement);
    	if (relatedBindings != null) {
	    	relatedBindings.each(function (element) { element.hide(); });
	        nextElement.show();
    	}	        
    }
}

// Always scroll content in scrolling-container
document.observe('dom:loaded', function(event) {
    // Create the scrollhandler instance
    var container = $$('div.scrolling-container').first();
    var containerBounds = $('placeholder-content-no-right');
    var scrollhandler = new ScrollingContainer(container, containerBounds);
  
    // Make sure an initial scroll event is fired after bindings has been made.
    scrollhandler.onScroll(null);
});
