/**
 * Affärsvärlden
 */

var Affarsvarlden = function() {
	return {	
		init: function() {
			Talentum.poll.init();
			Talentum.addAnchors.init([
				{element: ".teaser", include: ["P", "IMG"], exclude: [".poll"]}
			]);
			Talentum.stickyAd.init({left: "wrapper", top: "wrapper"});
			Talentum.leiki.init();
			Talentum.removeEmptyAdtechAds.init();
			Talentum.externalLinks.init();
		}
	};
}();

Affarsvarlden.init();

var timerLength = 5;
var slideAnimationLength = 300;

var timerID = new Array();
var startTime = new Array();
var object = new Array();
var endHeight = new Array();
var moving = new Array();
var direction = new Array();
var heightOfAdvancedSearch = 120;

var objectName = "advancedSearch";

function slideAdvancedSearch() {
	if (moving[objectName]) {
		return;
	}
	endHeight[objectName] = heightOfAdvancedSearch;
	moving[objectName] = true;
	if (document.getElementById(objectName).className == "hidden") {
		direction[objectName] = "down";
		document.getElementById("showHideAdvancedSearch").innerHTML = "Göm alternativ";
	} else {
		direction[objectName] = "up";
		document.getElementById("showHideAdvancedSearch").innerHTML = "Avancerad sök";
	}

	startSlide(objectName);
}


function startSlide(objectName) {
	object[objectName] = document.getElementById(objectName);

	startTime[objectName] = (new Date()).getTime();

	if (direction[objectName] == "down"){
		object[objectName].style.height = "1px";
	}

	object[objectName].style.display = "block";

	timerID[objectName] = setInterval('slideTick(\'' + objectName + '\');',timerLength);
}

function slideTick(objectName) {
	var elapsed = (new Date()).getTime() - startTime[objectName];

	if (elapsed > slideAnimationLength) {
		endSlide(objectName);
	} else {
		var newHeight = Math.round(elapsed / slideAnimationLength * endHeight[objectName]);
		if (direction[objectName] == "up") {
			newHeight = endHeight[objectName] - newHeight;
		}

		object[objectName].style.height = newHeight + "px";
	}

	return;
}

function endSlide(objectName) {
	clearInterval(timerID[objectName]);

	if (direction[objectName] == "up") {
		object[objectName].className = "hidden";
		object[objectName].style.height = "0px";
	} else {
		object[objectName].className = "shown";
		object[objectName].style.height = endHeight[objectName] + "px";
	}

	delete(moving[objectName]);
	delete(timerID[objectName]);
	delete(startTime[objectName]);
	delete(endHeight[objectName]);
	delete(object[objectName]);
	delete(direction[objectName]);

	return;
}

function getFirstChild(el) {
	for (var i = 0; i < el.childNodes.length; i++) {
		if (el.childNodes[i].nodeType == 1)	{
			return el.childNodes[i];
		}
	}
	return null;
}

function changeListTabTo(tabPrefix, tabSuffix) {
	var activeTab = document.getElementById(tabPrefix + "Tab");
	var tabs = activeTab.parentNode.parentNode.childNodes;
	for (var i = 0; i < tabs.length; i++) {
		if (tabs[i].nodeType == 1 && tabs[i] != activeTab.parentNode) {
			getFirstChild(tabs[i]).className = "";
		}
	}
	activeTab.className = "selected";
	activeTab.blur();
	
	var activeDivName = tabPrefix;
	if (tabSuffix) {
		activeDivName += "_" + tabSuffix;
	}
	var tabItems = activeTab.parentNode.parentNode.parentNode.childNodes;
	var activeTabItem = null;
	for (var i = 0; i < tabItems.length; i++) {
		if (tabItems[i].nodeType == 1 && tabItems[i].tagName == "DIV") {
			if (tabItems[i].id.indexOf(activeDivName) == 0) {
				activeTabItem = tabItems[i];
			} else {
				tabItems[i].style.display = "none";
			}
		}
	}
	
	if (activeTabItem) {
		performChangeOpacity(0, activeTabItem.id);
		if (tabSuffix) {		
			var subtabs = getFirstChild(activeTabItem).childNodes;
			var subIdIndexStart = tabSuffix.length + tabPrefix.length + 1;
			var subtabHook = tabSuffix.toLowerCase();
			for (var i = 0; i < subtabs.length; i++) {
				if (subtabs[i].nodeType == 1) {
					var subtab = getFirstChild(subtabs[i]);
					if (subtab.id.toLowerCase().indexOf(subtabHook, subIdIndexStart) >= 0) {
						subtab.className = "selected";
					} else {
						subtab.className = "";
					}
				}
			}
		}
		activeTabItem.style.display = "block";
		fadeOpacity(activeTabItem.id, 0, 100, 400);
	}
}

function setFormAction(text) {
  document.getElementById("searchFormAdvanced").action=text;
}


function fadeOpacity(id, opacityStart, opacityEnd, milliseconds) {
	var speed = Math.round(milliseconds / 100);
	var timer = 0;
	if (opacityStart > opacityEnd) {
		for (i = opacityStart; i >= opacityEnd; i--) {
			setTimeout("performChangeOpacity(" + i + ",'" + id + "')", (timer * speed));
			timer++;
		}
	} else if (opacityStart < opacityEnd) {
		for (i = opacityStart; i <= opacityEnd; i++) {
			setTimeout("performChangeOpacity(" + i + ",'" + id + "')", (timer * speed));
			timer++;
		}
	}
}

function performChangeOpacity(opacity, id) {
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function openwin(doc,width,height) {
  	win=window.open(doc,"","screenX="+width+",screenY="+height+",scrollbars=yes,resizable=1,width="+width+",height="+height+",status=0,toolbar=0,menubar=0");
  	win.focus();
}

function checkForumForm(form) {
	if (form.approve.checked==false){
		alert("Du har inte godkänt villkoren för kommentering.");
		return false;
	} else if (document.getElementById('commentFormName').value==""){
		alert("Vi vill att du fyller i ditt namn");
		return false;
	} else if (form.title.value == "") {
		alert("Vi vill att du fyller i en rubrik");
		return false;
	} else if (form.body.value == "") {
		alert("Vi vill att du fyller i en kommentar");
		return false;
	} else if (form.body.value.toLowerCase().indexOf("href") > 0) {
		alert("Inga länkar i formulären");
		return false;
	} 
	else{
		return true;
	}
}

function openWinStripped(doc,width,height) {
	win=window.open(doc,"","screenX="+width+",screenY="+height+",scrollbars=0,resizable=0,width="+width+",height="+height+",status=0,toolbar=0,menubar=0");
	win.focus();
}

function scrollToArticleCommentForm() {
	location.href = "#articleCommentForm";
}

function setCommentTitle(text) {
	document.getElementById("commentFormTitle").value = text;
	scrollToArticleCommentForm();
	document.getElementById("commentFormName").focus();
}
