var Dom = YAHOO.util.Dom;

//Candidates
var candidates = {
			1: {
			'name': 'Agusta Forberg',
			'city': 'Åkarp'
		},
			2: {
			'name': 'Jenny Hellfalk',
			'city': 'Malmö'
		},
			3: {
			'name': 'Leif Carlsson',
			'city': 'Växjö'
		},
			4: {
			'name': 'Linda Balkebo-Corte',
			'city': 'Löberöd '
		},
			5: {
			'name': 'Liselotte Anderberg',
			'city': 'Malmö'
		},
			6: {
			'name': 'Christina Almroth',
			'city': 'Trollhättan'
		},
			7: {
			'name': 'Lotta Larsson',
			'city': 'Halmstad'
		},
			8: {
			'name': 'Anette Eliasson',
			'city': 'Göteborg'
		},
			9: {
			'name': 'Annika Liljegren',
			'city': 'Nossebro'
		},
			10: {
			'name': 'Peter Hallén',
			'city': 'Varberg'
		},
			11: {
			'name': 'Anna Norin',
			'city': 'Sala'
		},
			12: {
			'name': 'Annika Jansson',
			'city': 'Arboga'
		},
			13: {
			'name': 'Håkan Söderman',
			'city': 'Fjugesta'
		},
			14: {
			'name': 'Jenny Östman',
			'city': 'Kumla'
		},
			15: {
			'name': 'Marie Bäcklin',
			'city': 'Katrineholm'
		},
			16: {
			'name': 'Claes Berglund',
			'city': 'Huddinge'
		},
			17: {
			'name': 'Ida Engström',
			'city': 'Borlänge'
		},
			18: {
			'name': 'Malin Isaksson',
			'city': 'Haninge'
		},
			19: {
			'name': 'Michaela Skagerling',
			'city': 'Vendelsö'
		},
			20: {
			'name': 'Stellan Ahlström',
			'city': 'Hässelby'
		}
	};

//Preload candidate-images
for(i in candidates) {
	candidates[i].image = new Image();
	candidates[i].image.src = '/img/wwoty/candidate/' + i + '_map.jpg';
}

//Preload map-images
var cardinals = ["mid", "south", "west", "north"];
var mapImages = new Array();
for(i=0; i<4; ++i) {
	mapImages[i] = new Image();
	mapImages[i].src="/img/wwoty/map_" + cardinals[i] + "_final.gif";
}

function fadeIn(cardinal) {
	var map = Dom.get('map');

	var image = Dom.get('map_' + cardinal);
	if (image) { // If the image exists it means it is fading out, remove it so we can recreate it.
		document.body.removeChild(image);
	}
	var image = new Image();
	image.src = '/img/wwoty/map_' + cardinals[cardinal] + '_final.gif';
	image.id = 'map_' + cardinal;
	image.style.position = 'absolute';
	document.body.appendChild(image);
	Dom.setX(image, Dom.getX(map));
	Dom.setY(image, Dom.getY(map));

	image.style.zIndex = 0;
	Dom.setStyle(image, 'opacity', 0);
	var anim = new YAHOO.util.Anim(image, {opacity: {to: 1}});
	anim.duration = 0.2;
	anim.animate();
}

function fadeOut(cardinal) {
	var el = Dom.get('map_' + cardinal);

	var anim = new YAHOO.util.Anim(el, {opacity: {to: 0}});
	anim.onComplete.subscribe(function() {
		document.body.removeChild(this.getEl());
	});
	anim.duration = 0.2;
	anim.animate();
}

function popupCandidate(id, x, y) {
	var map = Dom.get('map');
	
	var box = Dom.get('candidate_' + id);
	if (box) { // If the div exists it means it is fading out, remove it so we can recreate it.
		document.body.removeChild(box);
	}
	box = document.createElement('div');
	Dom.addClass(box, 'ci_map_candidate');
	box.id = 'candidate_' + id;
	box.style.position = 'absolute';
	box.innerHTML = '<img src="' + candidates[id].image.src + '" /><p>' + candidates[id].name + ', ' + candidates[id].city + '</p><br /><span>Klicka för mer info</span>';
	document.body.appendChild(box);
	box.style.zIndex = 1;

	var from = {'x' : Dom.getX(map) + x, 'y': Dom.getY(map) + y - 10};
	var to = {'x': from.x - (box.clientWidth/2), 'y': from.y - box.clientHeight};
	Dom.setX(box, from.x);
	Dom.setY(box, from.y);

	var attributes = {
		top: {to: to.y},
		height: {to: box.clientHeight},
		left: {to: to.x},
		width: {to: box.clientWidth}
	};
	var anim = new YAHOO.util.Anim(box, attributes);
	box.style.height = '0px';
	box.style.width = '0px';
	anim.duration = 0.2;
	anim.method = YAHOO.util.Easing.easeOut;
	anim.animate();
}

function popdownCandidate(id) {
	var box = Dom.get('candidate_' + id);
	var anim = new YAHOO.util.Anim(box, {opacity: {to: 0}});
	anim.onComplete.subscribe(function() {
		document.body.removeChild(this.getEl());
	});
	anim.duration = 0.2;
	anim.animate();
}