/* Utility functions */
function element(id) {
  var e = false;
  if (document.getElementById) { e = document.getElementById(id); }
  else if (document.all) { e = document.all(id); }
  return e;
}
// login
function toPassword(objOldInput) {
	var objNewElement = document.createElement('input');
	objNewElement.setAttribute('type', 'password');
	objNewElement.setAttribute('value', '');
	objNewElement.setAttribute('name', objOldInput.name);
	objNewElement.className = 'text';
	objOldInput.parentNode.replaceChild(objNewElement, objOldInput);
	toPassword.el = objNewElement;
	setTimeout('toPassword.el.focus()',100);
	return true;
}
// quicklinks
function quickLinks(){
	$('#serviceMenu a.quicklinks').each(function(){
		$(this).mouseover(function(){
			$('#quicklinks').css('visibility','visible');
	    }).mouseout(function(){
	    	$('#quicklinks').css('visibility','hidden');
	    	//$('#quicklinks').hide('fast');
	    });
	});
}
// menu.js
function hasULchildren(linode) {
	var uls = linode.getElementsByTagName('ul')[0];
	if(uls) return true;
	return false;
}
function efMenu(menuid, menutype) {
	var menudiv = element(menuid);
	var listitems = menudiv.getElementsByTagName('li');
	if(listitems){
		for(var i=0; i<listitems.length; i++){
			var listitem = listitems[i];
			if(hasULchildren(listitem)) {
				listitem.onmouseover = function (e) {
					if (this.firstChild.nodeName.toUpperCase() == 'A') {
						if(this.firstChild.className.indexOf('active') != -1) { this.firstChild.className = 'active mouse'; }
						 else { this.firstChild.className = 'mouse'; }
					}
					for (var i=0; i<this.childNodes.length; i++) {
						var child = this.childNodes[i];
						if (child.nodeName.toUpperCase() == 'UL') { child.style.visibility = 'visible'; }
					}
					return false;
				};
				listitem.onmouseout = function (e) {
					for (var i=0; i<this.childNodes.length; i++) {
						var child = this.childNodes[i];
						if (child.nodeName.toUpperCase() == 'UL') {	child.style.visibility = 'hidden'; }
					}	
					if (this.firstChild.nodeName.toUpperCase() == 'A') {
						if(this.firstChild.className.indexOf('active') != -1) { this.firstChild.className = 'active'; }
						else { this.firstChild.className = ''; }
					}
					return false;
				};
			}
		}
	}
	return void(0);
}
$(document).ready(function(){
	efMenu('mainMenu');
	efMenu('serviceMenu');
	if(element("twittertweet")){ $("#twittertweet").tweet(); }
}); 

$(document).ready(function(){
	var autoslide = '0';
	var autoslide_dur = '';
	k_fader(".ef_slide_preview a",".ef_slide"); // this is the mainpages fading script-> when a image is clicked a fadeout followed by a fade in occurs
	k_pointer(); 
	if (autoslide == "1"){
		if(autoslide_dur != ""){ $duration = autoslide_dur; } else { $duration = 7000; }
		k_autoslide(".ef_slide_preview a", $duration); // this script starts the automatic slideshow, number represents the time between the transition in milliseconds
	}
	k_next_slide(".ef_slide_preview a",".ef_slide",".show-next"); // shows the next slide
});

function k_next_slide($items_to_click, $items_to_fade,$next){
	$items = $($items_to_fade);
	$click_these_items = $($items_to_click);
	var x = 0;
	$items.each(function(i)	{
		$(this).find($next).click(function(){
			i+1 < $click_these_items.length ? x = i + 1 : x = 0;	
			$click_these_items.filter(":eq("+x+")").trigger('click');
			return false;
		});
	});
}

function k_autoslide($items_to_click, $display_time){	
	interval = setInterval(k_start_autoplay, $display_time);
	var $click_these_items = $($items_to_click);
	var i = 1;
	$click_these_items.click(function($eventobject, $autoplay){
		if(interval && !$autoplay) clearInterval(interval);
	});
	function k_start_autoplay(){	
		$click_these_items.filter(":eq("+i+")").trigger('click',[true]);
		i+1 < $click_these_items.length ? i++ : i = 0;
	}
}

function k_pointer(){		
	$(".ef_slide_preview a").each(function(i){
		$(this).click(function(){	
			$(".current_prev").removeClass('current_prev');
			$(this).parent().addClass('current_prev');
		});
	});
}

function k_fader($items_to_click, $items_to_fade){	
	var $item = $($items_to_fade);
	$($items_to_click).each(function(i){
		$(this).click(function(){	
			$new_item = $item.filter(":eq("+i+")");
			if( $new_item.css("display") == "none" ){
				$item.filter(":visible").fadeOut(1000, function(){	
					$item.filter(":visible").css('z-index','0');
				});
				$new_item.fadeIn(1000, function(){
					$new_item.css('z-index','10');
				});
			}
			return false;
		});
	});
}

