function convertEmails(){
	var spans = document.getElementsByTagName("span");
	var numSpans = spans.length;
	for(var i = 0; i < numSpans; i++){
		if(spans[i] && spans[i].className == "epost"){
			var at = new RegExp("\\(snabel\-a\\)", "i");
			var punkt = new RegExp("\\(punkt\\)", "ig");
			var contact = spans[i].firstChild.data.split("|");

			if (contact.length == 2) {
				var address = contact[1].replace(at, "@").replace(punkt, ".");
               	var theLink = document.createElement("A");
               	theLink.setAttribute("href", "mailto:" + address);
               	theLink.className = "email";
               	theLink.appendChild(document.createTextNode(contact[0]));
               	spans[i].replaceChild(theLink, spans[i].firstChild);
			}
			else {
				var address = spans[i].firstChild.data.replace(at, "@").replace(punkt, ".");
				var theLink = document.createElement("A");
				theLink.setAttribute("href", "mailto:" + address);
				theLink.className = "email";
				theLink.appendChild(document.createTextNode(address));
				spans[i].replaceChild(theLink, spans[i].firstChild);
			}
		}
	}
}

function nospam(user,domain) {
	locationstring = "mailto:" + user + "@" + domain;
	window.location = locationstring;
}

function selectCurrentPage(ul_id, li_position, check_last){
	var on = location.href;
	var ul = document.getElementById(ul_id);
	if (ul) {
		var lis = ul.getElementsByTagName("li");
		var numLis = lis.length;
		for (i = 0; i < numLis; i++) {
			if (lis[i] && lis[i].className != "on") {
				var linkPage = lis[i].childNodes[li_position];
				while(linkPage.nodeType != 1) linkPage = linkPage.nextSibling; // Skip textnodes eg. /n
				linkPage = linkPage.getAttribute("href");
				if(linkPage.indexOf("javascript:") !== -1){
					var re = new RegExp("javascript:void('(.*)')", "i");
					var newLP = linkPage.match(re);
					if(newLP != null) linkPage = "/"+ newLP[1] +"/";
				}
				var re =  new RegExp(document.location.protocol + "//"+ document.location.host, "i");
				linkPage = linkPage.replace(re, ""); // IE6
				if (linkPage == "/"){
					if(location.pathname == "/") lis[i].className = "on";
				}
				else if (on.indexOf(linkPage) != -1){ //&& on.indexOf(linkPage) + linkPage.length == on.length) {
					if(check_last){
						if(on.lastIndexOf(linkPage) == (on.length - linkPage.length)){
							lis[i].className = "on";
						}
					}
					else {
						lis[i].className = "on";
					}
				}
			}
		}
	}
}

function init(){

   	selectCurrentPage("mainMenu",0); // 0 taggar mellan <li> och <a>
   	selectCurrentPage("subMenu",0); // 1 tag mellan <li> och <a>.

   	convertEmails();
   	makeLinksBlank();

   	var links = document.getElementsByTagName("a");
   	var num = links.length;
   	for(var i = 0; i < num; i++){
       	links[i].setAttribute("onfocus","this.blur()");
   	}
}

function makeLinksBlank(){
	var links = document.getElementsByTagName("a");
	for(var i = 0; i < links.length; i++){
		if(links[i].rel == "external"){
			links[i].target = "_blank";
		}
	}
}

function lbs(id){
	var ol = document.getElementById("overlay");
	ol.className += " show";
	setTimeout("sl('"+ id +"');", 200);
}
function lbh(id){
	var d = document.getElementById(id);
	var ol = document.getElementById("overlay");
	d.className = d.className.replace(/.?show/i, "");
	ol.className = ol.className.replace(/.?show/i, "");
}
function sl(id){
	var d = document.getElementById(id);
	d.className += " show";
}

function setStep(step) {
    var origAction = $("#orderform").attr("action");
    $("#orderform").attr("action", origAction+"&step="+step);
    origAction = $("#orderform").attr("action");
}
 
function ajaxResponseCmd(div) {
	$('#'+div).livequery(function() {
			var options = {
				success: function(responseText, statusText) {
					try {
						eval(responseText);
					}
					catch (error) {alert('error'+error);}
				}
			};
			$('#'+div).ajaxForm(options);
			return false;
		});
}

function initDomainSearchLayer() {
	lbs('search_domain_layer');
}

function initSearchDomain(searchStr, mode) {
	$.ajax({
			type: "POST",
				url: "ajax.php",
				data: "p=domainsearch&search="+searchStr+"&mode="+mode,
				success: function(data) {
				$("#searchresult").empty();
				$("#searchresult").append(data);
			}
		});
	$('html,body').animate({scrollTop: 230}, 1000);
}	

function printSDLLookup(layer, status, price, wprice, selected, domain) {
	$("#price_"+layer).empty();

	$("#pic_"+layer).empty();
	$("#pic_"+layer).append("<img src=\"img/layout/"+status+".png\" alt=\" "+status+" \" />");

	$("#order_"+layer).empty();
	
	var cb = "";
	if (selected) {
		cb = "checked"
	}
	
	if (status == "available") {
		$("#order_"+layer).append("<input class=\"radio\" type=\"checkbox\"  name=\"domain_"+layer+"\" "+cb+"/>")
		$("#wprice_"+layer).append(wprice);
;		$("#price_"+layer).append(price);
	}
	else if (status == "unavailable") {
		$("#order_"+layer).append("<a href=\"#\" onclick=\"lbs('whois_layer'); whoisQuery('whois_result', '"+domain+"'); return false;\">Whois</a>");
		$("#price_"+layer).append("&nbsp;");
		
	}
}

function initDomainQuery(sdl, tdl, layer, selected) {
	$.ajax({
			type: "POST",
				url: "ajax.php",
				data: "p=domainquery&sdl="+sdl+"&tdl="+tdl,
				success: function(data) {
				try {
					var responseData = eval(data);
				}
				catch (error) { alert("Internal error reading response headers. Please try again."); }
				printSDLLookup(layer, responseData[0], responseData[1], responseData[2], selected, sdl+"."+tdl);
			}
		});
}

function bccQueryPerson(mapPostFix) {
	if (!mapPostFix) {
		mapPostFix = '';
	}
	
	map = new Array("PERSONNUMBER:birthdate"+mapPostFix,
									"OFFICIALGIVENNAME:firstname"+mapPostFix,
									"OFFICIALLASTNAME:lastname"+mapPostFix,
									"OFFICIALADDRESS:address"+mapPostFix,
									"OFFICIALZIPCODE:zipcode"+mapPostFix,
									"OFFICIALCITY:city"+mapPostFix);

	var value = $("#birthdate"+mapPostFix).attr("value");
	value = value.replace(" ", "");
	value = value.replace("-", "");
	if (isNaN(value) || 
			value.length < 10 ||
			value.length > 12) {
		$("#err_birthdate"+mapPostFix).empty();
		$("#err_birthdate"+mapPostFix).append("Felaktigt personnummer");
		return;
	}

	$("#err_birthdate").empty();
	$("#err_birthdate").append("<img src=\"img/layout/init.png\" />");

	$.get("ajax.php?p=bccom&ac=queryPerson&retvar=retVar&no="+$("#birthdate"+mapPostFix).attr("value"), function(data) {
 			try {
 				eval(data);
				if (isArray(retVar)) {
					if (isArray(retVar['ERROR'])) {
						$("#err_birthdate"+mapPostFix).empty();
						$("#err_birthdate"+mapPostFix).append(retVar['ERROR']['ERRORMESSAGE']);
						return;
					}
					else {
						inputReplaceMap(map, retVar);
					}
				}
				else if (retVar == "invalid") {
					$("#err_birthdate"+mapPostFix).empty();
					$("#err_birthdate"+mapPostFix).append("Felaktigt personnummer");
				}
				else {
					$("#err_birthdate"+mapPostFix).empty();
					$("#err_birthdate"+mapPostFix).append("Tillf&auml;lligt fel, var god fyll i uppgifterna f&ouml;r hand");
				}
				if (isArray(retVar)) {
					inputReplaceMap(map, retVar);
				}
				else {
					$("#err_birthdate"+mapPostFix).attr("value", "Felaktigt personnummer");
				}
 			}
 			catch (error) {
			    $("#err_birthdate").empty();
 			}
 		});
}

function bccQueryCompany() {
	var map = new Array("ORGANIZATIONNUMBER:orgno",
											"OFFICIALNAME:companyname",
											"OFFICIALADDRESS:address",
											"OFFICIALZIPCODE:zipcode",
											"OFFICIALCITY:city");

	var value = $("#orgno").attr("value");
	value = value.replace(" ", "");
	value = value.replace("-", "");
	if (isNaN(value) || 
			value.length < 8 ||
			value.length > 10) {
		$("#err_orgno").empty();
		$("#err_orgno").append("Felaktigt organisationsnummer");
		return;
	}
	$("#err_orgno").empty();
	$("#err_orgno").append("<img src=\"img/layout/init.png\" />");

	$.get("ajax.php?p=bccom&ac=queryCompany&retvar=retVar&no="+value, function(data) {
 			try {
 				eval(data);
				if (isArray(retVar)) {
					if (isArray(retVar['ERROR'])) {
						$("#err_orgno").empty();
						$("#err_orgno").append(retVar['ERROR']['ERRORMESSAGE']);
						return;
					}
					else {
						inputReplaceMap(map, retVar);
					}
				}
				else if (retVar == "invalid") {
					$("#err_orgno").empty();
					$("#err_ogno").append("Felaktigt organisationsnummer");
				}
				else {
					$("#err_orgno").empty();
					$("#err_orgno").append("Tillf&auml;lligt fel, var god fyll i uppgifterna f&ouml;r hand");
				}
				if (isArray(retVar)) {
					inputReplaceMap(map, retVar);
				}
				else {
					$("#err_orgno").attr("value", "Felaktigt organisationsnummer");
				}
 			}
 			catch (error) {

 			}
 		});
}

function showInvoiceForm(toggle) {
	if (toggle) {
		$("#invoice_form").show();
	}
	else {
    $("#invoice_form").hide();

	}
}

function disableEnterKey(e) {
	var key;
	if(window.event)
		key = window.event.keyCode;     //IE
	else
		key = e.which;     //firefox
	if(key == 13)
		return false;
	else
		return true;
}

function initSetOs(os) {
	if (os == "linux") {
		setOs($("#btnSelLin").get(0));
	}
	else if (os == "windows") {
		setOs($("#btnSelWin").get(0));
	}
}

function initSetPackage(package) {
	if (package == "private") {
		setDomainPackage($("#btnSelPrivate").get(0));
	}
	else if (package == "company") {
		setDomainPackage($("#btnSelCompany").get(0));
	}
	else if (package == "none") {
		setDomainPackage($("#btnSelDom").get(0));
	}
}



function updatePackage() {
  package = $("#tmp_package").attr("value");
  os = $("#os").attr("value");
  if (os == "")
    os = "linux";
  $("#package").attr("value", package + "_" + os);
}


function setDomainPackage(val) {
  doPackageUpdate = true;

	if(val.id=="btnSelCompany"){
 		$("#os_fieldset").removeClass("hidden");

		$("#btnSelPrivate").removeClass("on");
		$("#btnSelDom").removeClass("on");
// 		$("#os_info_win").addClass("hidden");
// 		$("#os_info_lin").removeClass("hidden");
		$("#tmp_package").attr("value", "company");
		$("#payment_interval_holder").removeClass("hidden");
	}
	else if(val.id=="btnSelPrivate") {
 		$("#os_fieldset").removeClass("hidden");

		$("#btnSelCompany").removeClass("on");
		$("#btnSelDom").removeClass("on");
// 		$("#os_info_lin").addClass("hidden");
// 		$("#os_info_win").removeClass("hidden");
		$("#tmp_package").attr("value", "private");
		$("#payment_interval_holder").removeClass("hidden");
	}
	else {
 		$("#os_fieldset").addClass("hidden");

		$("#btnSelPrivate").removeClass("on");
		$("#btnSelCompany").removeClass("on");
		$("#os_info_lin").addClass("hidden");
		$("#os_info_win").addClass("hidden");
		$("#package").attr("value", "none");
		$("#payment_interval_holder").addClass("hidden");
    doPackageUpdate = false;
	}
	val.className = "on";
	val.blur();

  if (doPackageUpdate)
    updatePackage();
}

function setOs(val){
	if(val.id=="btnSelLin"){
		$("#btnSelWin").removeClass("on");
		$("#os_info_win").addClass("hidden");
		$("#os_info_lin").removeClass("hidden");
		$("#os").attr("value", "linux");
		$("#payment_interval_holder").removeClass("hidden");
	}
	else if(val.id=="btnSelWin") {
		$("#btnSelLin").removeClass("on");
		$("#os_info_lin").addClass("hidden");
		$("#os_info_win").removeClass("hidden");
		$("#os").attr("value", "windows");
		$("#payment_interval_holder").removeClass("hidden");
	}
	val.className = "on";
	val.blur();
  updatePackage();
}

function setOsPackage(val){
        if(val.id=="btnSelLin"){
                $("#btnSelWin").removeClass("on");
                $("#btnSelDom").removeClass("on");
                $("#os_info_win").addClass("hidden");
                $("#os_info_none").addClass("hidden");
                $("#os_info_lin").removeClass("hidden");
								$("#package_link").removeClass("icons0");
								$("#package_link").addClass("icons99");
								$("#value").empty();
								$("#value").append("74");
                $("#package").attr("value", "linux_74");
                $("#payment_interval_holder").removeClass("hidden");
        }
        else if(val.id=="btnSelWin") {
                $("#btnSelLin").removeClass("on");
                $("#btnSelDom").removeClass("on");
                $("#os_info_lin").addClass("hidden");
                $("#os_info_none").addClass("hidden");
                $("#os_info_win").removeClass("hidden");
								$("#package_link").removeClass("icons0");
								$("#package_link").addClass("icons99");
								$("#value").empty();
								$("#value").append("74");
                $("#package").attr("value", "windows_74");
                $("#payment_interval_holder").removeClass("hidden");
        }
        else {
                $("#btnSelLin").removeClass("on");
                $("#btnSelWin").removeClass("on");
                $("#os_info_lin").addClass("hidden");
                $("#os_info_win").addClass("hidden");
                $("#os_info_none").removeClass("hidden");
								$("#package_link").removeClass("icons99");
								$("#package_link").addClass("icons0");
								$("#value").empty();
								$("#value").append("0");
                $("#package").attr("value", "none");
                $("#payment_interval_holder").addClass("hidden");
        }
        val.className = "on";
        val.blur();
}

function setServer(val) {
    if(val.value != undefined)
    	var package = val.value;
    else
	var pacakge = 'none';
    $("#package").attr("value",package );
}

function removeError(id) {
	$("#"+id).removeClass("redborder");
	$("#err_"+id).empty();
}

function errorDisplay(arr) {
	for (i=0; i<arr.length; i++) {
		$("#err_"+arr[i]).empty();
		$("#err_"+arr[i]).append(getErrorTextForParam(arr[i]));
		$("#"+arr[i]).addClass("redborder");
	}
}

function initCufon() {
	Cufon.replace('h1');
	Cufon.replace('h2');
	Cufon.replace('h3');
	Cufon.replace('h4');
	Cufon.replace('.cf');
	Cufon.now();
}

function switchOrderRedirect(to) {
	if (to == "existing_domain") {
    $("#domain_name").hide();
    $("#domain_name_lable").hide();
    $("#search_button_div").hide();
    $("#move_domain_lable").show();
		$("#searchresult").empty();
		$("#err_domains").empty();
		nextDomainId = 1;
		addMoveDomainRow();
	}
	else {
		$("#searchresult").empty();
    $("#domain_name").show();
    $("#domain_name_lable").show();
    $("#move_domain_lable").hide();
    $("#search_button_div").show();
		$("#err_domains").empty();
	}
}

function addMoveDomainRow() {
	$("#searchresult").append(createMoveDomainRow());
}

function getErrorTextForParam(param) {
	var texts = new Array();
	texts['domains'] = "Du m&aring;ste v&auml;lja/ange minst en dom&auml;n";
	texts['birthdate'] = "Fyll i personnummer";
	texts['orgno'] = "Fyll i organisationsnummer";
	texts['firstname'] = "Fyll i f&ouml;rnamn";
	texts['lastname'] = "Fyll i efternamn";
	texts['address'] = "Fyll i adress";
	texts['zipcode'] = "Fyll i postnummer";
	texts['city'] = "Fyll i stad";
	texts['email'] = "Fyll i e-postadress";
	texts['phone'] = "Fyll i telefonnummer";
	texts['companyname'] = "Fyll i f&ouml;retagsnamn";
	texts['approve'] = "Du m&aring;ste godk&auml;nna villkoren";
	texts['domain'] = "Fyll i en giltlig dom&auml;n";
	texts['code'] = "Fyll i kod";

	if (texts[param]) {
		return texts[param];
	}
	return "Ingen eller felaktig data angiven. Var god fyll i.";
}

nextDomainId    = 1;
function createMoveDomainRow() {
	var str  = "<div>";
	str     += " <input type=\"text\" id=\"move_domain_"+nextDomainId+"\" name=\"move_domain_"+nextDomainId+"\" value=\"\" onkeypress=\"return disableEnterKey(event);\" />";
	str     += " <img style=\"margin: 6px;\" src=\"img/layout/plus_small.png\" onclick=\"addMoveDomainRow(); this.className='hidden'\" />";
	str     += " <br class=\"clear\" />";
	str     += "</div>";
	nextDomainId++;
	return str;
}

function inputReplaceMap(map, arr) {
	for(i=0; i<map.length; i++) {
		var tmp = map[i].split(":");
		$("#"+tmp[1]).attr("value", arr[tmp[0]]);
		removeError(tmp[1]);
	}
}

function whoisQuery(resultLayer, value) {
	$("#"+resultLayer).empty();
	$("#"+resultLayer).append("<hr />S&ouml;kning p&aring;g&aring;r, var god v&auml;nta<br /><img src=\"img/layout/init.png\" />");

	$.ajax({
			type: "POST",
				url: "ajax.php",
				data: "p=whoisquery&whois="+value,
				success: function(data) {
				$("#"+resultLayer).empty();
				$("#"+resultLayer).append("<hr />Whois resultat f&ouml;r <b>"+value+"</b><br />"+data);
			}
		});
}

function idnaQuery(resultLayer, value) {
        $("#"+resultLayer).empty();
        $("#"+resultLayer).append("<hr />S&ouml;kning p&aring;g&aring;r, var god v&auml;nta<br /><img src=\"img/layout/init.png\" />");

        $.ajax({
                        type: "POST",
                                url: "ajax.php",
                                data: "p=idnaquery&idna="+value,
                                success: function(data) {
                                $("#"+resultLayer).empty();
                                $("#"+resultLayer).append("<hr />IDNA resultat f&ouml;r <b>"+value+"</b><br />"+data);
                        }
                });
}


function digQuery(resultLayer, value, type) {
        $("#"+resultLayer).empty();
        $("#"+resultLayer).append("<hr />S&ouml;kning p&aring;g&aring;r, var god v&auml;nta<br /><img src=\"img/layout/init.png\" />");

        $.ajax({
                        type: "POST",
                                url: "ajax.php",
                                data: "p=digquery&dig="+value+"&type="+type,
                                success: function(data) {
                                $("#"+resultLayer).empty();
                                $("#"+resultLayer).append("<hr />Dig resultat f&ouml;r <b>"+value+"</b><br />"+data);
                        }
                });
}
	

function myMailLogin() {
	try {
		var loginArr = $("#email_login").attr("value").split("@");
		$("#email_username").attr("value", loginArr[0]);
		$("#email_pop3host").attr("value", loginArr[1]);
	}
	catch (e) {}
}

function scrollTop() {
	$('html,body').animate({scrollTop: 0}, 0);
}

function checkField(field, format) {
	try {
		$("#err_"+field).empty();
		$("#err_"+field).append("<img src=\"img/layout/init.png\" />");
		var value = $("#"+field).attr("value");

		$.ajax({
				type: "POST",
					url: "ajax.php",
					data: "p=checkField&f="+format+"&v="+value,
					success: function(data) {
					if (data == "good") {
						removeError(field);
					}
					else if (data == "bad") {
						$("#err_"+field).empty();
						$("#err_"+field).append(getErrorTextForParam(field));
						$("#"+field).addClass("redborder");
					}
					else {
					    $("#err_"+field).empty(); // might want to show error or report error here
					}
				}
			});
	}
	catch (error) {}
}

																																																																																																 function feedbackMessage(msg) {
	$('#feedbackMessageContent').empty()
	$('#feedbackMessageContent').append(msg)
	$('#feedbackMessageOverlay').slideDown('slow');
	setTimeout("$('#feedbackMessageOverlay').slideUp('slow');", 7000);
	
}

function postServerOS(topage) {
	if($('input:radio[name=select]:checked').val() != undefined) {
		setStep(topage);
		return true;
	}
	alert('Ni måste välja en server innan ni kan gå vidare.');
	return false;
}


function addUrchinTrack( params ) {
  urchinPageIdBox = urchinPageId + params;
  if (typeof(urchinTracker) != "undefined") {
    urchinTracker( urchinPageIdBox );
  }
}

function doFocus(element) {
	document.getElementById(element).focus();
}
