﻿
var linkmaker = {
	
	init: function(){
		
		for (var i = 0, l = this.data.length; i < l; i++) {
			
			var _id = document.getElementById(this.data[i].id);
			var img = _id.getElementsByTagName('img')[0];
			var span = document.createElement('span');
			
			span.setAttribute('class','linkArea');
			_id.insertBefore( span , img );
			span.appendChild(img);
			
			var _span = _id.getElementsByTagName('span')[0];
			if (_span != undefined) this.mouseEvent(i, _span);
		}
	},
	

	mouseEvent: function(i, _id) {
		
		var gN = document.getElementById('gN');
		var chapel = document.getElementById('gN5');
		var chapelList = chapel.getElementsByTagName('span');
			
		_id.onmouseover = function() {
			linkmaker.addClass(_id, 'onmouseover');
			
			if(i < 5) {
				linkmaker.addClass(document.getElementById('gN1'), 'dropdown');
			} else if (i < 13){
				linkmaker.addClass(document.getElementById('gN2'), 'dropdown');
			} else if (i < 17){
				linkmaker.addClass(document.getElementById('gN3'), 'dropdown');
			} else if (i < 20){
				linkmaker.addClass(document.getElementById('gN4'), 'dropdown');
			} 			
		};
		
		_id.onmouseout = function() {
			linkmaker.removeClass(this, 'onmouseover');
			
			if(i < 5) {
				linkmaker.removeClass(document.getElementById('gN1'), 'dropdown');
			} else if (i < 13){
				linkmaker.removeClass(document.getElementById('gN2'), 'dropdown');
			} else if (i < 17){
				linkmaker.removeClass(document.getElementById('gN3'), 'dropdown');
			} else if (i < 20) {
				linkmaker.removeClass(document.getElementById('gN4'), 'dropdown');
			}
		
		};
		
		_id.onclick = function() {
			linkmaker.removeClass(this, 'onmouseover');
			if(linkmaker.data[i].page)	window.location.href = linkmaker.root() + linkmaker.data[i].page;
		};
		
		chapel.onmouseover = function() { linkmaker.addClass(chapel, 'dropdown');}
		chapel.onmouseout = function() { linkmaker.removeClass(chapel, 'dropdown');}
		
	},
	

	addClass: function(target, value) {
		if (this.hasClassName(target, value)) return false;
		if (!target.className) target.className = value;
		else target.className += ' ' + value;
	},


	hasClassName: function(target, value) {
		var c = target.className.split(' ');
		var i = c.length;
		while(i--) {
			if (c[i] == value) {
				return true;
				break;
			}
		}
	},
	
	
	removeClass: function(target, value) {
		var c = target.className.split(' ');
		target.className = '';
		for (var i = 0, l = c.length; i < l; i++) {
			if (c[i] != value) target.className += (i != l - 1)? c[i] + ' ' : c[i];
		}
		if (target.className == '') (target.getAttribute('className'))? target.removeAttribute('className') : target.removeAttribute('class');
	},


	addElement: function(element, attr, parentObject) {
		var newElement = document.createElement(element);
		for (var i in attr) newElement.setAttribute(i, attr[i]);
		var _parent = (parentObject)? parentObject : document.body;
		return _parent.appendChild(newElement);
	},

	
	currentPath: function() {
		var s = document.getElementsByTagName('script');
		for (var i = 0, l = s.length; i < l; i++) {
			if (s[i].src && s[i].src.match(/js\/linkmaker\.js(\?.*)?$/)) {
				return s[i].src.replace(/js\/linkmaker\.js(\?.*)?$/, '');
				break;
			}
		}
	},


	root: function() { return this.currentPath();}
	
	
};


window.onload = function() {
	linkmaker.init();
};



linkmaker.data = [
	{
		id: 'gN1',
		page: 'corporate/'
	},{
		id: 'gN2',
		page: 'description/'
	},{
		id: 'gN3',
		page: 'recruit/'
	},{
		id: 'gN4',
		page: 'contact/'
	},{
		id: 'gN5',
		page: 'chapel-list.html'
	}
]

