({
	name:"Cookie",
	set:function(n,v,c){var d,e="";if(c){d=new Date();d.setTime(d.getTime()+c*24*60*60*1000);e="; expires="+d.toGMTString()}document.cookie=escape(n)+"="+v+e+"; path=/"},
	get:function(n){var e,b,p,c=document.cookie;p=n+"=";b=c.indexOf(";"+" "+p);if(b==-1){b=c.indexOf(p);if(b!=0)return ""}else b+=2;e=c.indexOf(";",b);if(e==-1)e=c.length;return unescape(c.substring(b+p.length,e))},
	unset:function(n){return this.set(n,"")},
	init:function(){window[this.name]=this}
}).init();

var cat_replace_table = [];

cat_replace_table[0]={original_value:"teknik",replace_list:"teknik,tech,"};
cat_replace_table[1]={original_value:"ekonomi/bransch",replace_list:"ekonomi/bransch,ekonomi/branch,investment,grants and awards,agreements,appointment,contract,acquisition,licensing,financial reports,upphandlingsguiden:,affärsutveckling, affärer &#38; företag, affärsfokus, marknadsföring, kanalstrategen, affärer,"};
cat_replace_table[2]={original_value:"debatt",replace_list:"debatt, för och emot, åsikterna, åsikten, duellen:,"};
cat_replace_table[3]={original_value:"krönika",replace_list:"krönika, krönika, gnällspiken, it-chefens dagbok, kuriosa, språksamt, humor,"};
cat_replace_table[4]={original_value:"reportage",replace_list:"reportage, hallå där, hallå där..., porträttintervju, 60 sekunder, branschspaning:, branschspaning 60 minuter:, folk, haverikommisionen, heta stolen, på jobbet, entreprenörsskap, i praktiken, profilen, fokus, profilen, möte med, vimmel, intervju,"};
cat_replace_table[5]={original_value:"tema",replace_list:"tema,"};
cat_replace_table[6]={original_value:"test",replace_list:"test, cs testar, guide, jämförande test, guider, surftips nytta, ****tester - generella****, ****tester - hårdvara****, ****tester - mjukvara****, tester, prisguide, köpguide,"};
cat_replace_table[7]={original_value:"kultur",replace_list:"kultur, kultur-kategori, fest,"};
cat_replace_table[8]={original_value:"läsarartikel",replace_list:"läsarartikel, blogg, bloggstafetten, blogg - säkerhet, bloggkalendern, blogg:, forum,"};
cat_replace_table[9]={original_value:"skola",replace_list:"skola, cio-skolan, macskolan, *****skolor*******, howto, så gör du, skolor,"};
cat_replace_table[10]={original_value:"recension",replace_list:"recension, böcker, sajtkoll, böcker:, litteratur,"};
cat_replace_table[11]={original_value:"hårdvara",replace_list:"hårdvara, hem-pc, -hårdvara, - - hårdvara - - -, macbook, macbook pro, macbook air, mac pro,- - övrig hårdvara - - -, procesorer, hårddisk,"};
cat_replace_table[12]={original_value:"mjukvara",replace_list:"mjukvara, mac os x leopard, mac os x (generellt), operativsystem, program, tema outsourcing:, databaser, kontorsprogram, öppen källkod, vista, apachecon, virtualisering, verktyg, -mjukvara, - - mjukvara - - -, photoshop, webbläsare, techworld opensource,"};
cat_replace_table[13]={original_value:"internet/webbtjänster",replace_list:"internet/webbtjänster, webb-tv, webbdesign, webbutveckling, web 2.0 expo, webben, webb 20, webbstrategi, på webben, webbläsare, internet, internettjänst, internet explorer, firefox, internettjänster, internetworld, internet, bredband,"};
cat_replace_table[14]={original_value:"telekom",replace_list:"telekom, iphone, fra, ip-telefoni, mobilt --- underkategorier:, mobileme, bredband, telecom,"};
cat_replace_table[15]={original_value:"nätverk",replace_list:"nätverk, kommunikation, nät &#38; kommunikation, fra, -nätverk, aiport express/extreme, voip, wlan, bredband, fildelning, kommunikation nätverk,"};
cat_replace_table[16]={original_value:"säkerhet",replace_list:"säkerhet, blogg - säkerhet, självförsvar, säkerhetsfrågan, backup &#38; säkerhet, säkerhet:, självförsvar:, backup, techworld säkerhet, cso, it-säkerhet,"};
cat_replace_table[17]={original_value:"underhållning/spel",replace_list:"underhållning/spel, playstation 3, playstation, spelindustrin, spelsajten, spel, surftips nöje,"};
cat_replace_table[18]={original_value:"medieproduktion",replace_list:"medieproduktion, film, flash, foto, förpackningar, grafisk design, illustration, proffsfoto, redaktionell design, redesign, reklam, rörligt, typografi, webbdesign, gör om mig, bild --- underkategorier:, -bild -rekommenderar, photoshop, bild och grafik, film och video, foto och film, cap&#38;amp;design, digitalkamera, digitalfoto,"};
cat_replace_table[19]={original_value:"fou (forskning och utveckling)",replace_list:"fou (forskning och utveckling), research, funding, study, clinical, thesis, utveckling, forskning,"};
cat_replace_table[20]={original_value:"biotech",replace_list:"biotech, life science, drug approval, swedenbio, swedenbio på svenska, grön it:, grön it, it och miljö, miljöfara, clentech / clean tech, kemikalier, återvinning, miljöteknik, energi, hållbarhetsredovisning, klimat, biotech sweden, miljöaktuellt,"};
cat_replace_table[21]={original_value:"virus",replace_list:"virus, självförsvar, antivirus,datavirus, datorvirus,"};
cat_replace_table[22]={original_value:"karriär/utbildning",replace_list:"karriär/utbildning, employment opportunities, karriär, utbildning, på nytt jobb, ledarskap, csjobb, arbetsmarknaden, söka jobb, utbildning, karriärtips, personlig utveckling, lön, yrkesrollen, jobb, platsannonser,"};
cat_replace_table[23]={original_value:"rapport/undersökning/trend",replace_list:"rapport/undersökning/trend, study, thesis, trend, upphandlingsguiden, business intelligence, beslutsstöd, teknikspaning, statistik och trender, jämförande test, rapporter,"};
cat_replace_table[24]={original_value:"juridik",replace_list:"juridik, patent, fildelning, fra, piarte bay,"};
cat_replace_table[25]={original_value:"samhälle/politik",replace_list:"samhälle/politik, samhället, samhälle, etik, politik,"};
cat_replace_table[26]={original_value:"systemutveckling",replace_list:"systemutveckling, webbutveckling, tema outsourcing:, tema it governance:, tema projektstyrning:, tema soa:, tema cio-rollen:, utvecklarfrågan, integration, outsourcing, projekthantering, virtualisering, konsulter,"};
cat_replace_table[27]={original_value:"lagring",replace_list:"lagring, databaser, time capsule, backup, hårddisk,"};
cat_replace_table[28]={original_value:"affärssystem",replace_list:"affärssystem, affärssystem, erp:, 7. beslutsstöd, kontorsprogram,"};
cat_replace_table[29]={original_value:"webb-tv",replace_list:"webb-tv, webb-tv,"};
cat_replace_table[30]={original_value:"e-handel",replace_list:"e-handel, ehandel, betallösningar, retail,"};
cat_replace_table[31]={original_value:"servrar",replace_list:"servrar, windows server, databaser, serverrummet, server, solaris, suse, red hat,"};
cat_replace_table[32]={original_value:"persondatorer",replace_list:"persondatorer, hem-pc, -dator - rekommenderar, datorer, stationär dator, ubuntu, pc,"};
cat_replace_table[33]={original_value:"mobilt/handdator/laptop",replace_list:"mobilt/handdator/laptop, iphone, mobilt, mobilt --- underkategorier:, -trådlöst, -bärbart, -mobil-rekommenderar, ----företag - mobilprovar---, macbook, macbook pro, macbook air, surftips mobil, mobiltelefoni, bärbar dator, mobiltelefon, wlan, mobileme, bärbara datorer, mobilt, mac ipod, handdatorer,"};
cat_replace_table[34]={original_value:"datortillbehör",replace_list:"datortillbehör, pryl, prylar, dagens pryl,  -mobiltillbehör, prylar --- underkategorier:, prylvärlden, -prylar - rekommenderar, - - övrig hårdvara - - -, grafikkort, skrivare, bildskärm, \"mus, tangentbord etc\", tillbehör, skärmar, minnen, gadgets, grejer, dvd,"};
cat_replace_table[35]={original_value:"spelkonsol",replace_list:"spelkonsol, playstation 3, playstation, -nintendo, -playstation, -xbox, konsollkoll,"};
cat_replace_table[36]={original_value:"hemelektronik",replace_list:"hemelektronik, cshemma, hemmabio --- underkategorier:, ljud --- underkategorier:, -hemmabio - rekommenderar, ----digitalboxar - test - kategorier---, mediecenter, digitalkameror, kameror, mp3, dvd, gps, grejer, mp3-spelare,"};
cat_replace_table[37]={original_value:"macintosh",replace_list:"macintosh, iphone, mac os x leopard, mac os x (generellt), mac os leopard, -ipod, macskolan, ipod, macbook, macbook pro, macbook air, mac pro, macworld, mobileme, mac ipod,"};
cat_replace_table[38]={original_value:"windows",replace_list:"windows, windows server, windows vista, vista, microsoft office, internet explorer, pc för alla, pc,"};
cat_replace_table[39]={original_value:"linux",replace_list:"linux, öppen källkod, apachecon, linux, open source, open office, firefox, bsd, ubuntu, red hat, techworld opensource,"};
cat_replace_table[40]={original_value:"unix",replace_list:"unix,"};
cat_replace_table[41]={original_value:"bio",replace_list:"bio, biotech sweden,"};
cat_replace_table[42]={original_value:"cap",replace_list:"cap, cap&#38;amp;design,"};
cat_replace_table[43]={original_value:"cio",replace_list:"cio, cio sweden,"};
cat_replace_table[44]={original_value:"cs",replace_list:"cs, computer sweden,"};
cat_replace_table[45]={original_value:"idg.se",replace_list:"idg.se,"};
cat_replace_table[46]={original_value:"iw",replace_list:"iw, internetworld,"};
cat_replace_table[47]={original_value:"it i vården",replace_list:"itb, it i vården,"};
cat_replace_table[48]={original_value:"it.branschen",replace_list:"it.branschen,"};
cat_replace_table[49]={original_value:"mw",replace_list:"mw,macworld,"};
cat_replace_table[50]={original_value:"it-tjej",replace_list:"it-tjej,"};
cat_replace_table[51]={original_value:"upphandling24",replace_list:"upphandling24,"};
cat_replace_table[52]={original_value:"m3",replace_list:"m3,"};
cat_replace_table[53]={original_value:"pc för alla",replace_list:"pc för alla, pfa,"};
cat_replace_table[54]={original_value:"studio",replace_list:"stu,studio,"};
cat_replace_table[55]={original_value:"it24",replace_list:"it24,"};
cat_replace_table[56]={original_value:"bigtwin",replace_list:"bigtwin,"};
cat_replace_table[57]={original_value:"miljöaktuellt",replace_list:"miljöaktuellt,"};
cat_replace_table[58]={original_value:"nyhet",replace_list:"nyhet, toppnyhet idg.se, notis, branschnytt, folk, utblick, event, rykte, it-nyheter, nyheter, toppnyhet idg.se (rör ej),"};
cat_replace_table[59]={original_value:"debatt",replace_list:"debatt, för och emot, åsikterna, åsikten, duellen:,"};
cat_replace_table[60]={original_value:"tw",replace_list:"tw, techworld, techworld mikrodatorn, techworld opensource, techworld säkerhet,"};

function __getCookie(_cid)
{ 
	if (document.cookie.length > 0)
	{ 
		var begin = document.cookie.indexOf(_cid+"=");
		if (begin != -1)
		{ 
			begin += _cid.length+1;
			var end = document.cookie.indexOf(";", begin);
			if (end == -1) end = document.cookie.length;
			return unescape(document.cookie.substring(begin, end));
		}
	}
	return "no_cookie";
}

function __getMetaData(tag)
{
	if(!document.getElementsByTagName) return;
	
	var metaColl = document.getElementsByTagName('meta');
	var content = 'no_category';
	for (var i=0; i < metaColl.length; i++)
	{
		var attr_name = metaColl[i].getAttribute('name');
		if(attr_name == tag)
		{ 
			content = metaColl[i].getAttribute('content');
			break;
		}
	}
	return content;
};

function isArticleId(parm) {
	if (parm == "") return true;
	for (i=0; i<parm.length; i++) {
		if ("0123456789.".indexOf(parm.charAt(i),0) == -1) return false;
	}
	return true;
}

 function getArticleId(url) {
 	if(!url) return null;
   	var urlTokens = (url.replace(/\\/g,"/").replace(/((f|ht)tp(s?):\/\/)/i,"")).split("/");
	var result = urlTokens[urlTokens.length-1];
	if(!isArticleId(result))return null;
	return result;
}

function recodeCategories(categories){
	var result="";
	var catList = categories.split(",");
	for(var i=0;i<catList.length;i++){
		var curCat = catList[i].replace(/^\s+/, "").replace(/\s+$/, "").toLowerCase();			
		for(var j=0;j<cat_replace_table.length;j++){
			if(cat_replace_table[j].replace_list.toLowerCase().indexOf(curCat+",")==0 ||
				cat_replace_table[j].replace_list.toLowerCase().indexOf(", "+curCat+",") > 0 || 
				cat_replace_table[j].replace_list.toLowerCase().indexOf(","+curCat+",") > 0){
				var curReplaceCat = cat_replace_table[j].original_value.toLowerCase();
				if(result.indexOf(curReplaceCat)<0){
					result+=curReplaceCat+",";
				}
			}
		}				
	}
	if(result.charAt(result.length-1)==",")result = result.substring(0,result.length-1);
	//it will replace all special chars by encoded values i.e. & by %26 etc.
	return escape(result);
}

function getRandomIndexArray(maxIndexVal) {
	var arr = new Array(maxIndexVal+1);
	var used = new Array(maxIndexVal+1);
	for( ii=0; ii< used.length; ii++ ){
		used[ ii ] = false;
	}		
	for( ii=0; ii<arr.length; ii++ ){
		randomNumber = Random(0, maxIndexVal);
		while(used[randomNumber]){
			randomNumber = Random(0, maxIndexVal);
		}
		arr[ ii ] = randomNumber;
		used[randomNumber] = true;
	}
	return arr;
}

function Random( low, high ){
	with( Math ){return floor(random() * ( 1 + high - low ) + low );}
}

// 	Generates Guid - Global Unique Identifier
function __newGuid()
{
    var g = "";
    for(var i = 0; i < 32; i++)
    	g += Math.floor(Math.random() * 0xF).toString(0xF) + (i == 8 || i == 12 || i == 16 || i == 20 ? "-" : "");
    return g;
};


function _onunload() {
	Cookie.unset("sp_cat_sent");
};
window.attachEvent ? window.attachEvent("onbeforeunload", _onunload) : window.addEventListener("unload", _onunload, false);

//	wrapping object
var adaptMA = {};

//	Members
adaptMA.__getCookie = function (_cid)
{ 
	if (document.cookie.length > 0)
	{ 
		var begin = document.cookie.indexOf(_cid+"=");
		if (begin != -1)
		{ 
			begin += _cid.length+1;
			var end = document.cookie.indexOf(";", begin);
			if (end == -1) end = document.cookie.length;
			return unescape(document.cookie.substring(begin, end));
		}
	}
	return "no_cookie";
};

adaptMA.__getMetaData = function (tag)
{
	if(!document.getElementsByTagName) return;
	
	var metaColl = document.getElementsByTagName('meta');
	var content = 'no_category';
	for (var i=0; i < metaColl.length; i++)
	{
		var attr_name = metaColl[i].getAttribute('name');
		if(attr_name == tag)
		{ 
			content = metaColl[i].getAttribute('content');
			break;
		}
	}
	return content;
};

// 	Generates Guid - Global Unique Identifier
adaptMA.__newGuid = function ()
{
    var g = "";
    for(var i = 0; i < 32; i++)
    	g += Math.floor(Math.random() * 0xF).toString(0xF) + (i == 8 || i == 12 || i == 16 || i == 20 ? "-" : "");
    return g;
};

adaptMA.__sendRequest = function (url)
{
	var bearer = new Image();
	bearer.src = url;
	setTimeout( function() {
			if (!bearer.complete) {
				bearer = null;
				return;
			}
		}
		, 5000);
	//alert("Request was sent !");
};

adaptMA.start = function ()
{
	var cookieEnabled = (navigator.cookieEnabled) ? true : false;
	if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
		document.cookie = "testcookie";
		cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false;
	}
	if (!cookieEnabled) return;
	
	//	config values
    var _cid = 'user_idg';
	var _cdomain = "idg.se";
	var _cpath = "/";
    var _mdt = 'keywords';
    var _aid = 'idgse';

	//	server-load control
	var _peload = 1;
	var _maloadprob=Math.floor(Math.random()*101);
	if (_maloadprob > _peload) return;

	
	//	processing cookie
	var now = new Date();
	var exp_date = new Date(Date.UTC(now.getUTCFullYear()+1, now.getUTCMonth(), now.getUTCDate()));
	var user_id = adaptMA.__getCookie(_cid);
	if (user_id == 'no_cookie') 
	{		
		//create & set cookie with name as _cid value
		document.cookie = _cid+"="+escape(adaptMA.__newGuid())+"; expires="+exp_date.toGMTString()+"; path="+_cpath+"; domain="+_cdomain;
		return;
	}
	else
	{
		//	just update expiration date
		document.cookie = _cid+"="+escape(user_id)+"; expires="+exp_date.toGMTString()+"; path="+_cpath+"; domain="+_cdomain;
	}
	//	cookie with name as _cid value should exist by this moment


	if (Cookie.get("sp_cat_sent")) {		
		return;
	}else{
		Cookie.set("sp_cat_sent", "is_set", 1);
	}
	//	metadata retrieval
	var meta = adaptMA.__getMetaData(_mdt);
	if (meta == "no_category") return;
	meta=recodeCategories(meta);
	
	var url  = 'http://pec5.adaptlogic.com/Adapt-0.1/adapt/markAction?user=' + encodeURIComponent(user_id) + '&customer=' + _aid + '&category=' + meta;
	adaptMA.__sendRequest(url);
	
};

//	This is entry-point
adaptMA.start();
