/*
Copyright Codesign Oy 2010
http://www.codesign.fi/
*/

var lastTime = 0;
var ttime = 10000000;
var atime = 2000;
var targetHeight = 0;
var ddebug = '';
var moveHeight = 0;
var menuvelocity = 0;
var startPos = 0;
var endPos = 0;
var startTime = 0;
var rintelval = 150;


msenter = function(e) {
	if (!e) var e = window.event;
	var targ =  e.target ||  e.srcElement;
	targ.className+=" over";
}

msleave = function(e) {
    targetHeight = 0;
	if (!e) var e = window.event;
	var targ =  e.target ||  e.srcElement;
	targ.className=targ.className.replace(" over", "");
}

startHide = function() {
	var menuDiv = document.getElementById('mainmenu');
	var mmenu;
	if (menuDiv.hasChildNodes()) {
		for (var i = 0; i < menuDiv.childNodes.length; i++) {
			if (menuDiv.childNodes[i].nodeName == 'UL') {
				mmenu = menuDiv.childNodes[i];
			}
		}
	}
	if (mmenu) {
		if (mmenu.hasChildNodes()) {
			for (var i = 0; i < mmenu.childNodes.length; i++) {
				var menuelem = mmenu.childNodes[i];
				if (menuelem.nodeName == 'LI') {
					mEvent(menuelem,'mousemove', showmiframe);
					mEvent(menuelem,'mouseover', showmiframe);
					mEvent(menuelem,'mouseleave', msleave);
					mEvent(menuelem,'mouseenter', msenter);
				}
			}
		}
	}
}

mEvent = function(element, name, observer) {
if (element) {
    if (element.addEventListener) {
      element.addEventListener(name, observer, false);
    } else if (element.attachEvent) {
      element.attachEvent('on' + name, observer);
    }
}
}

checkover = function(e) {
		var targ = document.getElementById('mainmenu_ul');
		for (var i = 0; i < targ.childNodes.length; i++) {
			var menuelem = targ.childNodes[i];
			if (menuelem.nodeName == 'LI') {
				for (var i = 0; i < menuelem.childNodes.length; i++) {
					var submenu = menuelem-childNodes[i];
					if (menuelem.nodeName == 'UL') {
						alert(Element.getStyle(this.element,'left'));

					}
				}
			}
		}

}

showmiframe = function(e) {
	if (!e) var e = window.event;
	var targ =  e.target ||  e.srcElement;
	var foundHeight = false;
	while ( targ && (targ.nodeType == 1) && ( targ.tagName.toLowerCase() != 'ul' )&& ( targ.tagName.toLowerCase() != 'body' )) {
		if (targ.parentNode.parentNode.id=='mainmenu') {

			if (targ.hasChildNodes()) {
				for (var i = 0; i < targ.childNodes.length; i++) {
					var menuelem = targ.childNodes[i];
					if (menuelem.nodeName == 'UL') {
						targetHeight = menuelem.offsetHeight;
						foundHeight = true;
						break;
					}
				}
			}
		} else if (targ.nodeName=='LI') {
			targetHeight = targ.parentNode.offsetHeight;
			ddebug = targ.nodeName + ' ' + targ.parentNode.id;
			foundHeight = true;
			break;
		}
		targ = targ.parentNode;
	}
	if (!foundHeight) {
		targetHeight = 0;
	} else {
		startmove();
	}
}

rendermenu = function() {
	if (moveHeight > 2) {
	    var mm = document.getElementById('mainmenu');
	    mm.style.height = moveHeight + 80 + 'px';
		mm.style.borderBottom = '8px #eaeaea solid';

	} else {
	    var mm = document.getElementById('mainmenu');
		mm.style.height = 80 + 'px';
		mm.style.borderBottom = '1px #fff solid';
	}

	if (endPos!=targetHeight) {
		startmove(true);
	}
	calcposition();
	if (moveHeight<0) {
		moveHeight = 0;
	}
	if (moveHeight == targetHeight) {
		rinterval = 150;

	} else {
		rinterval = 55;
	}
	//var currentDate = new Date();
	//var currentTime = currentDate.getTime();
	//document.getElementById('counter').innerHTML = currentTime + " " + moveHeight + " " + targetHeight + " " + rinterval;

	window.setTimeout('rendermenu()', rinterval);
}

startmove = function(force) {
	var currentDate = new Date();
	var currentTime = currentDate.getTime();
	if (force || ((currentTime - startTime)>atime)) {
		ddebug += 'startmove';
		startTime = currentTime;
		startPos = moveHeight;
		endPos = targetHeight;
	}
//	document.getElementById('counter').innerHTML = "STARTMOVE startTime:" + startTime + " , startPos:" + startPos + " , targetHeight:" + targetHeight + " , " + ddebug;
}

calcposition = function() {
	var currentDate = new Date();
	var currentTime = currentDate.getTime();
	var ctime = currentTime - startTime;
	var distance = endPos - startPos;
	//atime = distance*distance* 0.05;
	atime = 500;
	if (ctime<atime) {
		var ntime = 1 - (ctime/atime);
		moveHeight = startPos + distance - ntime*ntime*distance;
	} else {
		moveHeight = endPos;
	}
}

checkoutside = function(e) {
	if (!e) var e = window.event;
	var targ =  e.target ||  e.srcElement;
	var menufound = false;
	var i = 0;
	while ( targ && (targ.nodeType == 1) && ( targ.tagName.toLowerCase() != 'body' )) {
		if (targ.parentNode.id=='mainmenu') {
			menufound = true;
			break;
		}
		targ = targ.parentNode;
	}
	if (!menufound) {
		targetHeight = 0;
	}
}

old_initpage = function() {
	 mEvent(window,'mousemove', checkoutside);
	 startHide();
	 window.setTimeout('rendermenu()', 80);
}


initpage = function() {
	mEvent(window,'mousemove', checkoutside);
	startHide();
	window.setTimeout('rendermenu()', 80);

	var menuelem = top.document.getElementById('select-language');
	mEvent(menuelem,'mouseleave', msleave);
	mEvent(menuelem,'mouseenter', msenter);

	var i;
	for (i=1; i<14; i++) {
		var elem = document.getElementById('network'+i+'-card');
		if (elem) {
			elem.className = 'network-card-minimized';
		}
	}
	toggle('solutions-form-group');
	toggle('bulletins-form-group');
	toggle_class('solutions-form-trigger','collapse-form-open','collapse-form-closed');
	toggle_class('bulletins-form-trigger','collapse-form-open','collapse-form-closed');
}
toggle_quicklinksmenu = function(selected, linkelem) {
	linkelem.href = "#";
	for (var i = 1; i < 8; i++) {
		var elem = document.getElementById('quicklinks-menu-' + i);
		if (i == selected) {
			if (elem.style.display=='block') {
				elem.style.display = 'none';
			} else {
				elem.style.display = 'block';
			}
		} else {
			elem.style.display = 'none';
		}
	}
	return false;
}
toggle_class = function(elemid, class1, class2) {
	var elem = document.getElementById(elemid);
	if (elem) {
		if (class1 == elem.className) {
			elem.className = class2;
		} else {
			elem.className = class1;
		}
	}
	return false;
}

toggle = function(elemid) {
	
	var elem = document.getElementById(elemid);
	if (elem) {
		if (elem.style.display=='block') {
			elem.style.display = 'none';
		} else {
			elem.style.display = 'block';
		}
		
	}
	return false;
}
show = function(elemid) {
	var elem = document.getElementById(elemid);
	if (elem) {
		elem.style.display = '';
	}
	return false;
}
toggle_with_class = function(elemid, anchor, class1, class2) {
	var elem = document.getElementById(elemid);
	if (elem.style.display=='block') {
		elem.style.display = 'none';
	} else {
		elem.style.display = 'block';
	}
	if (class1 == anchor.className) {
		anchor.className = class2;
	} else {
		anchor.className = class1;
	}
	return false;
}

function wp_tracker(url) {
	if (document.getElementById('firstname').value=="" || document.getElementById('lastname').value=="" || document.getElementById('jobtitle').value=="" || document.getElementById('email').value=="" ||
		document.getElementById('company').value=="" || document.getElementById('country').value=="") {
		return false;
	} else {
		_uacct = 'UA-2162394-1';
	    urchinTracker(url);
   }
   return true;
}
