// Marker Data
var data = [
	// text 00, marker A
	{lat: 4, long: -108, text: '<p id="text0" class="win"><strong>Banii fondului de pensie nu stau la noi, ci la un "depozitar".</strong>E o masura de siguranta impusa de lege, care spune ca activele trebuie pastrate la o entitate neutra si nu la administrator. Depozitarii au rolul de a inregistra, verifica si monitoriza aceste active. Trebuie sa fie o institutie financiara puternica, iar BRD este una dintre ele. La randul sau, depozitarul este supravegheat de catre BNR. in caz ca te intrebi si "ce sunt activele", iti putem da o definitie scurta si usor de inteles: toti banii pe care ii administreaza un fond de pensii.</p>'},
 	// text 01, marker B
	{lat: 1.5, long: -104.5, text: '<p id="text1" class="win">O insititutie financiara independenta care verifica activitatea fondului de pensii si a Administratorului si raporteaza catre Comisia de Supraveghere a Sistemului de Pensii Private. Auditul fondului este o masura de siguranta impusa de lege.</p>'},
 	// text 02, marker C
	{lat: -2.5, long: -101, text: '<p id="text2" class="win">Societatea care are ca obiect exclusiv de activitate administrarea fondului de pensii private.</p>'},
 	// text 03, marker D	
	{lat: 55.5, long: 31.5, text: '<p id="text3" class="win">In fiecare luna, o particica din venitul tau brut ajunge in contul tau administrat de noi.</p>'},
	// text 05, marker E
	{lat: 56, long: 49.6, text: '<p id="text5" class="win">Banii tai, pe care ii investim dupa ce am scazut comisionul de administrare.</p>'},	
	// text 06, marker F
	{lat: 53.7, long: 53, text: '<p id="text6" class="win"><strong>Ca sa-i investim, ii tranformam in unitati ale fondului de pensii.</strong>Altfel spus, cumparam de banii tai <em>unitati de fond</em> care au o anumita valoare.</p>'},
	// text 07, marker G
	{lat: 55.7, long: 56.4, text: '<p id="text7" class="win"><strong>Ce e o unitate de fond?</strong>Daca fondul de pensii ar fi un mar, unitatea de fond este o felie din el. Cu cat valoarea marului creste, cu atat creste si valoarea fiecarei felii in parte. Si toti cei care au conturile individuale administrate de noi, au banii transformati in aceste unitati de fond. Numarul unitatilor variaza in functie de valoarea contributiei, dar si de valoarea unitatilor.</p>'},	
	// text 08, marker H
	{lat: 53.5, long: 60, text: '<p id="text8" class="win"><strong>De ce iti transformam banii in unitati de fond?</strong>Pentru ca vrem ca fondul nostru de pensii sa fie un sistem omogen. In aceste conditii, unitatea de fond nu e decat o unitate de masura comuna pentru toti participantii. Aceasta se intampla din doua motive:<br>1) Pentru ca fiecare participant are contributii diferite in functie de salariu si<br>2) Pentru ca noi investim toti banii o data, adica tot "marul". E mai profitabil asa. Cand o companie investeste multi bani o data, are putere mai mare de negociere.  In plus, acesti bani se investesc intr-un mixt de instrumente financiare, si ar fi dificil sa repartizezi banii fiecarui participant pe fiecare categorie de instrument. La final, banii din fond au o anumita valoare, care se imparte fiecarui participant in functie de numarul de unitati. Astfel, desi fiecare participant contribuie cu sume diferite, procentul de castig este acelasi.</p>'},
	// text 04, marker I	
	{lat: 54.4, long: 70.5, text: '<p id="text9" class="win">Valoarea unitatii e diferita de la o luna la alta. Fluctueaza in functie de investitiile facute.</p>'},
	// text 09, marker J	
	{lat: 54, long: 82, text: '<p id="text12" class="win">Am impartit contributia ta la valoarea unitatii, iar acesta este numarul de unitati pe care l-am cumparat in luna respectiva.</p>'},
	// text 10, marker K
	{lat: 53.5, long: 94, text: '<p id="text13" class="win">Acesta este numarul total de unitati adunate in contul tau, de cand ai inceput sa platesti contributii la pensia ta privata obligatorie.</p>'},
 	// text 11, marker L	
	{lat: 53, long: 107, text: '<p id="text14" class="win">Cand valoarea unitatii de fond creste, cresc si sumele acumulate in contul tau. Valoarea unitatii creste in functie de randamentul fondului. Randamentul anualizat al fondului de pensii private ING a fost de 19,4% in 2009, comparativ cu 17,7%, cat a fost randamentul pietei*.</p>'},
	// text 12, marker M
	{lat: 46.1, long: 70.5, text: '<p id="text10" class="win">Atat valora o unitate de fond cand am cumparat-o in luna ianuarie.</p>'},
	// text 13, marker N	
	{lat: 43, long: 61, text: '<p id="text11" class="win">Aceasta este valoarea cu care am cumparat o unitate de fond in martie.</p>'},
 	// text 14, marker O
	{lat: 24.5, long: 29.6, text: '<p id="text4" class="win">Atat ai dat anul trecut pentru viitoarea ta pensie privata.</p>'},
	// text 15, marker P
	{lat: 20, long: 116, text: '<p id="text15" class="win">Atat ai strans la finalul anului in contul tau. Sumele acumulate in cont vor fi folosite pentru plata viitoarei tale pensii private.</p>'},
 	// text 16, marker Q
	{lat: -10, long: 55.3, text: '<p id="text16" class="win"><strong>De ce avem doua bilanturi?</strong>Pentru ca Fondul de Pensii Administrat Privat de ING nu e acelasi lucru cu institutia ING Fond de Pensii. Contributiile tale nu sunt in proprietatea ING-ului, ci sunt parte a Fondului de Pensii pe care noi il administram. De aceea activele fondului nu sunt aceleasi cu activele administratorului. Acest lucru este reglementat prin lege si este facut in interesul tau, astfel incat daca vreodata administratorul are probleme, acest lucru sa nu afecteaze fondul de pensii propriu-zis. Adica banii tai.</p>'}
];

// Layout Variables
var winH;
var winW;
var bodyDim = {x: 0, y: 0};

// Map Variables
var map;
var mapMinZoom = $(window).width() < 1200 ? 2 : 3;
var mapMaxZoom = 4;
var mercator = new GMercatorProjection(5);
var coordonateInitiale = new GLatLng(0, 0);
var mapBounds = new GLatLngBounds(new GLatLng(-90, -180), new GLatLng(90, 180));
var copyright = new GCopyright(1, mapBounds, mapMinZoom, '');
var copyrightCollection = new GCopyrightCollection('');	

// Functions
var functions = {
	// Manage html, body and #canvas dimensions
	getInShape : function(){
		winH = $(window).height();
		winW = $(window).width();
		if ( winW < 876 ) { $('html, body, #canvas').css('width', '876px'); } else { $('html, body, #canvas').css('width', winW + 'px'); };
		if ( winH < 560 ) { $('html, body, #canvas').css('height', '560px'); } else { $('html, body, #canvas').css('height', winH + 'px'); };		
	},
	// Show stuff
	showHtml : function(){
		$('.hide-me').show();
	},
	// Hide stuff
	hideHtml : function(){
		$('.hide-me').hide();	
	},
	// Function to fetch tiles
	customGetTileURL : function(a,b){
		var c=Math.pow(2,b);
		var d=a.x;
		var e=a.y;
		var f="t";
		for(var g=0;g<b;g++){
			c=c/2;
			if(e<c){
				if(d<c){f+="q"}
				else{f+="r";d-=c}
			}
			else{
				if(d<c){f+="t";e-=c}
				else{f+="s";d-=c;e-=c}
			};
		};

			return "../dms/insCorporatePages/images/statement/scrisoare_P2/"+f+".jpg";
    },
	// Get body center coordinates
	getBC : function(){
		bodyDim.x = $('body').width() / 2;
		bodyDim.y = $('body').height() / 2;
	}
};

// Document is ready!
$(function(){
	
	//Let CSS know that JS is on
	$('body').addClass('js-on');
	
	// All links open in new window
	$('a').attr('target', '_blank');
		   
	// Who's map canvas?
	var canvas = document.getElementById('canvas');

	// Manage html, body and #canvas dimensions
	functions.getInShape();
	$(window).resize(function(){functions.getInShape();});
	
	// We prepare the map
	copyrightCollection.addCopyright(copyright);
	var tilelayers = [new GTileLayer(copyrightCollection, mapMinZoom, mapMaxZoom)];
	tilelayers[0].getTileUrl = functions.customGetTileURL;
	var INGMapType = new GMapType(tilelayers, mercator, "ING", {errorMessage:"no data"});
	map = new GMap2(canvas, {backgroundColor: "#86B7D7", mapTypes: [INGMapType]});	

	// Start and set map
	var mapButtons = new GLargeMapControl3D();
	var mapButtonsOffset = new GSize(40, 40);
	var mapButtonsPosition = new GControlPosition(G_ANCHOR_TOP_RIGHT, mapButtonsOffset);	
	map.addControl(mapButtons, mapButtonsPosition);
	map.setCenter(coordonateInitiale, mapMinZoom);
	map.disableDoubleClickZoom();
	map.enableContinuousZoom();
	map.enableScrollWheelZoom();
	
	// Add points, markers and texts to the map
	// This function needs to be outside of the loop
	function addMarkerClick(marker, point, text){
		GEvent.addListener(marker, 'click', function(){
			map.openInfoWindow(point, text, {pixelOffset: new GSize(10, -30), maxWidth: 450, onCloseFn: functions.showHtml});
			functions.hideHtml();		
		});
	};
	for (i=0; i<data.length; i++) {
		var icon = new GIcon();
		icon.image = '../dms/insCorporatePages/images/statement/icons/' + i + '.png';
		icon.iconSize = new GSize(30, 36);
		icon.iconAnchor = new GPoint(15, 36);
		var point = new GLatLng(data[i].lat, data[i].long);
		var marker = new GMarker(point, {icon: icon});
		var text = data[i].text;
		map.addOverlay(marker);
		addMarkerClick(marker, point, text);
	};

	// Position the map according to body dimensions and zoom level 
	// Reference point on the map = 57, -142 degrees
	// Reference point on the viewport (approx.) = 240, 250 px
	functions.getBC(); // get body center coordinates
	var pixelsPerDegree = mercator.getWrapWidth(mapMinZoom) / 360;
	var diffX = parseInt((bodyDim.x - 240) / pixelsPerDegree);
	var diffY = parseInt((bodyDim.y - 252) / pixelsPerDegree);	
	map.setCenter(new GLatLng(57-diffY, -142 + diffX), mapMinZoom);
});
