﻿$(document).ready(function(){
	
	// Fix newslinks in PageBlock
	/*
	$("#swPageCol .news .news-list-header a").each(function(){
		href = $(this).attr("href");
		id = href.split("&")[2].replace("id=", "");
		href = "/sw/frontend/detail.asp?parent=159648&typeid=13&id="+id+"&leftmenu_parent=140073&menu_parent=&layout=0";
		$(this).attr("href", href);
	});
	
	// Fix header on News Pages
	if (document.location.href.indexOf("detail.asp") > -1) {
		$(".page-head").text("Nyheder");
	}
	*/
	// initialize Input fields
	inputInitValue();

	// Initialize Domain Tester
	$("#domainTester").append("<form id=\"swDomainCheck\"><table><tr><td width=\"70\">Domæne</td><td><input id=\"domain\" type=\"text\"/></td></tr><tr><td>TLD</td><td><select id=\"tldn\"><option label=\"Alle\">dk|com|net</option><option label=\".dk\">dk</option><option label=\".com\">com</option><option label=\".net\">net</option></select></td></tr><tr><td></td><td><input id=\"doCheckDomain\" type=\"button\" value=\"Test Domæne\" /></td></tr></table><div id=\"domainResult\"></div><hr /></form>");
	$("#doCheckDomain").click(function(){
		$("#domainResult").empty().show();							   
		var tldn 	= $("#tldn").val();
		var domain 	= $("#domain").val();
		//alert(tldn);
		
		if (tldn.indexOf("|") > -1) {
			tldnArr = tldn.split("|"); 
			jQuery.each(tldnArr, function(i, val) {
      			checkDomain(domain, val);
    		});	
		}
		else {
			checkDomain(domain, tldn);
		}
	});
	$("#swDomainCheck").submit(function(){
		$("#doCheckDomain").trigger('click');
		return false;
	});

	// Initialize Support Clock
	var currentTime = new Date();
	var timeSlot = "";
	var workDay = "";
	var responseTime = "";
	var responseText = "Skriv til supporten nu og vi besvarer din e-mail så snart vi kan.";
	
	
	switch(currentTime.getHours()) {
		case 8: case 12:
			responseTime = "4 timer";
			break;
		case 9: case 13:
			responseTime = "3 timer";
			break;
		case 10: case 14:
			responseTime = "2 timer";
			break;
		case 11: case 15:
			responseTime = "1 time";
			break;
		default:
			responseTime = "Supporten er lukket";
	}
	if(currentTime.getDay() < 1 || currentTime.getDay() > 5) {
		workDay = false;
		responseTime = "Supporten er lukket";
	}
	else {
		workDay = true;
	}
	$("#supportClock").empty().append(responseTime);

	// Apply colors to elements
	var blueElements = ["#eid160615", "#eid174141", "#eid174175", "#eid174179", "#eid175187", "#eid175189", "#eid174993", "#eid175213", "#eid175224", "#eid175227", "#eid175225", "#eid175199"];
	var orangeElements = [];
	
	jQuery.each(blueElements, function(i, val){
		$(val).addClass("blue");
	});
	
	jQuery.each(orangeElements, function(i, val){
		$(val).addClass("orange");
	});
	
	// Create placeholder for topImage and move first image
	$("#swContentDiv").before("<div class=\"topImage\"></div>");
	if ($("#eid214071").length>0)
	{
		
		var topImage = $(".swMainContent table[id].file").eq(0);
	
		if (topImage.hasClass("layout6"))  {
			//topImage.appendTo(".topImage");
			topImage.css("position", "relative");
			topImage.css("margin-top", "-20px");
			topImage.css("margin-left", "-10px");
			
			var pageColHeight = $("#swPageCol").height();
			var contentDivHeight = $(".swMainContent").height();
			
				$(".swMainContent").height(pageColHeight+300);
			
		}
	}
	else
	{
		var topImage = $(".swMainContent table[id].paragraph").eq(0);
	
		if (topImage.hasClass("layout3"))  {
			topImage.appendTo(".topImage");
		}
		
	
		var newMargin = $(".topImage img").height();
		if (newMargin) {
			$("#swPageCol").css("margin-top", newMargin+"px");
		}
		
	}
	

	// Set margin for pageCol
	
	
	// Create placeholder for swfMenu and insert menu
	$("body").append("<div class=\"swfMenu\"><div id=\"swfMenu2\" class=\"paragraph-bodytext\">Your browser does not have Flash Player 9 or higher installed. <a href=\"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash\" title=\"Download FP9\">Click here to download</a>.</div></div>");
	
	if ($("#swBody").length>0)
		insertMenu("swfMenu2");
	
	// Get text for Left menu heading and Create placeholder
	var menuHeading = $(".page-navigator > *:nth-child(3)").text();
	$(".page-navigator").hide();
	$("#swTreeMenuPlaceholder").prepend("<div class=\"menuHeading\"><h2 class=\"paragraph-header\">" + menuHeading + "</h2></div>");


	// Insert Headers
	$("h2").not(".commerce-show-header, .commerce-header").each(function(i){
		if ($("#swBody").length>0)
			insertHeader(i, "rotisSemiSerif", this);
		$(this).hide();
	});
	
	$("h1").each(function(i){
		if ($("#swBody").length>0)
			insertHeader(i, "rotisSansSerif", this);
		$(this).hide();
	});


	// Creates tabs on frontpage from all column elements exept the first one
	if((!$("#swParent").text()) && (!$(".page-navigator a").text()) || ($("#swParent").text()=="0")) {
		createTabs($(".swColumns:gt(0)"));
	}

	// Insert References SWF on first tab
	if((!$("#swParent").text()) && (!$(".page-navigator a").text()) || ($("#swParent").text()=="0")) {
		$("#swTab0 .postcard").before("<div id=\"swReferences\" class=\"paragraph-bodytext\">Your browser does not have Flash Player 9 or higher installed. <a href=\"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash\" title=\"Download FP9\">Click here to download</a>.</div>");
		if ($("#swBody").length>0)
			insertReferences("swReferences");
		$("#swTab0 .postcard").hide();
	}


	// Creates box around login in support
	$("div.logon").wrap("<div class=\"boxWrapper\"><div class=\"box\"></div></div>");

	// Creates boxes around elements in pageCol
	$("#swPageCol table[@id]").wrap("<div class=\"boxWrapper\"><div class=\"box\"></div></div>");
	$(".box").before("<div class=\"top\"></div>");
	$(".box").after("<div class=\"bottom\"></div>");
	
	// Creates boxes around CB Topresults in mainArea
	$(".swCBRankingTopResult").wrap("<div class=\"cbtopboxWrapper\"><div class=\"cbtopbox\"></div></div>");
	$(".cbtopbox").before("<div class=\"top\"></div>");
	$(".cbtopbox").after("<div class=\"bottom\"></div>");

	
	// Create "view all news" link on frontpage
	$("#eid160619").parent().append("<a href=\"/sw/frontend/show.asp?parent=159648&leftmenu_parent=140073\" class=\"dot orange paragraph-bodytext\">Se alle nyheder</a>");

	
	// Move PageCol to Content to adjust page height to pageCol
	var pageColHeight = $("#swPageCol").height();
	var contentDivHeight = $(".swMainContent").height();
	
	if(contentDivHeight < pageColHeight -20) {
		$(".swMainContent").height(pageColHeight-50+100);
	}
	
	

});


/*******************************************
FUNCTIONS
*******************************************/


/* Clear and set initial value of input fields */
function inputInitValue() {

	$("*[@behaviours='inputInitValue']").focus(function() {

		if (!$(this).attr("oldValue")) {
			$(this).attr("oldValue", $(this).attr("value"));
		}
		
		if ($(this).attr("value") == $(this).attr("oldValue")) {
			$(this).attr("value", "");
		}
	});
	
	$("*[@behaviours='inputInitValue']").blur(function() {
	
		if (!$(this).attr("value")) {
				$(this).attr("value", $(this).attr("oldValue"));
		}
	});
}


function createTabs(elements) {
	elements.eq(0).before("<div class=\"swTabButtons\" id=\"swTabButtons\"><div class=\"panel\"></div></div>");
	
	elements.each(function(i) {
		$(this).wrap("<div class=\"swTab\" id=\"swTab"+i+"\"></div>");
		tabText = $("h2:first", $(this)).text();
		
		$("#swTabButtons .panel").append("<a href=\"javascript:void(0);\" onclick=\"activateTab('#swTab"+i+"')\" class=\"swTabButton\" id=\"swTabButton"+i+"\">" + tabText + "</a>");
		if (i == 0) {
			//activateTab("#swTab"+i);
			// Must wait for Google Chrome to finish loading
			setTimeout("initTabs( )", 500);
		}
	});
	// hack to make IE update tables after DOM manipulation
	$(".swMainContent").parent().parent().css("border", "none");
	
}

function initTabs() {
	activateTab("#swTab0");	
}

function activateTab(id) {
	//alert("activate" + id);
	var element = $(id);
	if (element.attr("id") != activeTab.attr("id")) {
		showTab(element);
		//alert("activating" + id);
	}

}

var tabZindex = 100;
var activeTab = $("#swTab0");

function showTab(element) {
	tabZindex++;
	element.css("z-index", tabZindex);
	//element.fadeIn("slow");

	element.show("slow", function(){
		hideTab(activeTab);
		activeTab = element;	
	});
}

function hideTab(element) {
	element.hide();	
	element.css("z-index", "-1");
}

function insertReferences(Id) {
	
		var Width = "660";
		var Height = "220";

		var flashvars = {
		};
		var params = {
		  wmode: "transparent"	
		};
		var attributes = {};
		
		swfobject.embedSWF("/cgi-files/external/site08/flash/swReferences.swf", Id, Width, Height, "9.0.0", false, flashvars, params, attributes);	
}


function insertMenu(Id) {
	
		var Width = "600";
		var Height = "150";

		var XmlPath = "/sw/frontend/xml/xmlmenu.asp?layout=0&level_max=10";
		var Parent = "0";
		var Active = "";
		//if($(".page-navigator > *:nth-child(2)").attr("href")) {
		if($(".page-navigator > *:nth-child(2)").text()) {
			//Active = $(".page-navigator > *:nth-child(2)").attr("href").split("&")[2].replace("leftmenu_parent=", "");
			Active = $(".page-navigator > *:nth-child(2)").text();
		}
		/*else if (document.location.href.split("&")[2]) {
			Active = document.location.href.split("&")[2].replace("leftmenu_parent=", "");		
		}
		*/
		var Color = "0x676864";
		var Size = "18";
		var Domain = "";

		var flashvars = {
		  XmlPath: XmlPath,
		  Parent: Parent,
		  Active: Active,
		  Domain: Domain,
		  Size: Size,
		  Color: Color,
		  Id: Id
		};
		var params = {
		  wmode: "transparent"	
		};
		var attributes = {};
		
		swfobject.embedSWF("/cgi-files/external/site08/flash/swMenu.swf", Id, Width, Height, "9.0.0", false, flashvars, params, attributes);	
}


function insertHeader(index, font, obj) {
	
		var Color = $(obj).css("color").toString();
		Color = Color.replace("#","");
		if(Color.indexOf("rgb")>=0) {
			Color = Color.replace("rgb(", "");	
	   		Color = Color.replace(")", "");	
			Color = Color.split(",");
			Color = toHex(parseInt(Color[0]), parseInt(Color[1]), parseInt(Color[2]));
		}
		Color = "0x" + Color;
		
		var Size = $(obj).css("font-size").replace("px","");
		var Text = $(obj).text().trim();
		var Width = $(obj).parent().width();
		var Height = $(obj).parent().height();
		//$(obj).wrap("<div class=\"swfHeader\" id=\"swfHeader"+font+index+"\"></div>");
		$(obj).before("<div class=\"swfHeader\" id=\"swfHeader"+font+index+"\"></div>");
		
		var flashvars = {
		  Size: Size,
		  Text: Text,
		  Width: Width,
		  Color: Color,
		  Font: "/cgi-files/external/site08/flash/" + font,
		  Id: "swfHeader"+font+index
		};
		var params = {
		  wmode: "transparent"	
		};
		var attributes = {};
		
		swfobject.embedSWF("/cgi-files/external/site08/flash/swHeading.swf", "swfHeader"+font+index+"", Width, Height, "9.0.0", false, flashvars, params, attributes);
	
}

function setHeaderHeight(Height, Id) {
	$("#"+Id).height(parseInt(Height)+5);
}


// JS Hex/Number: Copyright 2007, John Resig
// http://www.opensource.org/licenses/mit-license.php
function toHex(){
  var ret = "";
  for ( var i = 0; i < arguments.length; i++ )
    ret += (arguments[i] < 16 ? "0" : "") + arguments[i].toString(16);
  return ret.toUpperCase();
}

function toNumbers( str ){
  var ret = [];
   str.replace(/(..)/g, function(str){
    ret.push( parseInt( str, 16 ) );
  });
  return ret;
}


function callJavascript(msg) {
	//alert(msg);
	var parms = msg.split("|");
	setHeaderHeight(parms[0], parms[1]);
	
	//return "ExternalInterface is a new Flash Player 8 API."
}


function checkDomain(domain,tldn) {
	$.getScript("http://192.168.42.1/domaintest.php?domain=" + domain + "&tldn=" + tldn, function(){
	  //alert("Domaincheck returns: " + swDomainCheck);
	  $("#domainResult").append("<div class=\"domainResult "+ getDomainStatus(swDomainCheck) +" \">" + domain + "." + tldn + "</div>")
	});
}

function getDomainStatus(status) {
	switch(status) {
		case 0:
			return "available";
			break;
		case 1:
			return "occupied";
			break;
		case 2:
			return "domainError";
			break;
		case 3:
			return "tldnError";
			break;
		default:
			return "unknownError";
	}
}