// COPYRIGHT ZAPNIEUWS

var map;
var geocoder;
var address;
var newsid;
var newstitle;
var newslink;
var newsplace;
var newsdescription;
var newspubdate;
var newscategory;
var newsloaded;
var newssite;
var newskudo;
var JSONData;
var MaxPageNumber;
var favomenu;
var show_menu;
var ThisPageNumber=0;
var newsbron='All';
var nownumber;

show_menu = false;
favomenu = false;
newsloaded = false;
	
	     
function initialize() {
	map = new GMap2(document.getElementById("map_canvas")); 
 	map.setCenter(new GLatLng(34, 0), 4);
 	map.setMapType(G_HYBRID_MAP);
	map.disableDoubleClickZoom();
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	 //map.disableDragging();
  	geocoder = new GClientGeocoder();
	//geocoder.setBaseCountryCode('nl');
}

   
function addAddressToMap(response) {
	if (!response || response.Status.code != 200) {	
		if ( response.Status.code == 602 ) {
			geocoder.getLocations(response.name+", Nederland", addAddressToMap);
		} else {
			alert("Er is helaas iets fout gegaan met het laden van dit artikel u wordt automatisch doorgestuurd naar het volgende artikel");
			setTimeout("GoForward();", 100);
		}
	} else { 
  		place = response.Placemark[0];
		point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
		if(place.AddressDetails.Country.CountryNameCode == 'NL' || place.AddressDetails.Country.CountryNameCode == 'BE') { showNews(point, 8); } 
		else { showNews(point, 4); }
		}	
}

function showNews(point, zoomgetal) {

	map.setZoom(zoomgetal);

	map.clearOverlays();
	var tinyIcon = new GIcon();
	tinyIcon.image = "images/" + newscategory + ".png";
	tinyIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	tinyIcon.iconSize = new GSize(20, 34);
	tinyIcon.shadowSize = new GSize(37, 34);
	tinyIcon.iconAnchor = new GPoint(13, 13);
	tinyIcon.infoWindowAnchor = new GPoint(12, 11);
	markerOptions = { icon:tinyIcon };
	marker = new GMarker(point, markerOptions);

	map.addOverlay(marker);
	var maxContentDiv = document.createElement('div');
        maxContentDiv.innerHTML = '<iframe src="reacties.php?id=' + newsid + '" width="100%" height="100%" frameborder="0" border="0" style="position: absolute; height: 100%;">Helaas gebruik je een te oude browser om dit op deze manier te bekijken ... <BR>Klik <a href="' + newslink + '" target="_blank">HIER</a> om de pagina om de "oude" manier te bekijken</iframe>'; 

	newstitleurl4 = newstitle.replace(/<\/?[^>]+(>|$)/g, "");
	newstitleurl3 = newstitleurl4.replace("'", "");
	newstitleurl2 = newstitleurl3.replace("'", "");
	newstitleurl = replacetext(newstitleurl2, ' ','_');
	newstitle = newstitle.replace(/<\/?[^>]+(>|$)/g, "");
	newstitle = replacetext(newstitle, '\'','');

	var newslinkurl = 'http://www.zapnieuws.nl/' + newstitleurl + '/' + newsid + '.html';

	var tab1 = new GInfoWindowTab("Item", '<table cellspacing="0" cellpadding="0"><tr valign="middle"><td rowspan="2" width="45" align="center" style="background: url(images/vote_bg.jpg) repeat-x; border: 0px #C0C0C0 solid;"><font style="font: 28px Helvetica, Arial, Sans-Serif; color: #000;"><B><span id="' + newscategory +'_' + newsid + '">' + newskudo + '</span></b></font><br><font style=" font: 12px Helvetica, Arial, Sans-Serif; color: #000;">kudo\'s</font></td><td><span class="newstitle">' + newstitle.replace(/&amp;#/gi,"&#") + ' &nbsp; &nbsp;</span></td></tr><tr><td><div style="width: 480px; margin-top: 4px;"><div class="newsdescription">' + newsdescription.replace(/&amp;#/gi,"&#") + '</div></div></td></tr></table><div style="margin-top: 4px;"><span class="newsundertag"> <img src="images/vote_upg.gif" height="20" width="20" onclick="vote_item(newscategory, newsid, 1, newskudo);" style="position: relative; top: 5px;" onmouseover="this.src = \'images/vote_up.gif\'" onmouseout="this.src = \'images/vote_upg.gif\'"> <img src="images/vote_downg.gif" height="20" w	idth="20" onclick="vote_item(newscategory, newsid, -1, newskudo);" style="position: relative; top: 5px;" onmouseover="this.src = \'images/vote_down.gif\'" onmouseout="this.src = \'images/vote_downg.gif\'"> | ' + newspubdate + ' <!-- | <a class="newslink" href="' + newslinkurl + '" target="_blank">Link</a> //-->| <a class="newslink" href="' + newslink + '" target="_blank">Bron link</a> | <a class="newslink" href="#" onclick="map.getInfoWindow().maximize();">Reacties (?)</a> | <img src="images/logo/' + newssite + '.gif" width="16" height="16" style="position: relative; top: 3px;"> ' + newssite + '</span><br> </div>');

	var tab2 = new GInfoWindowTab("Share", '<center><span class="grijzeitem">Voeg dit nieuwsitem toe aan <span class="rozeitem">Bookmarkinsservice:</span><span></center><div class="addtoimmages"><a href="#" onclick="bookmarksite(\'Zapnieuws - ' + newstitle + '\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/favorites.png" width="15" height="15" border="0"> &nbsp;</a><a href="#" onclick="favo2(\'google\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/goog.png" width="16" height="16" border="0" />&nbsp; </a><a href="#" onclick="favo2(\'delicious\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/delicious.png" width="16" height="16" border="0" />&nbsp; </a><a href="#" onclick="favo2(\'digg\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/digg.png" width="16" height="16" border="0" />&nbsp; </a><a href="#" onclick="favo2(\'facebook\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/facebook.gif" width="16" height="16" border="0" />&nbsp; </a><a href="#" onclick="favo2(\'furl\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/furl.gif" width="16" height="16" border="0" />&nbsp; </a><a href="#" onclick="favo2(\'su\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/su.png" width="16" height="16" border="0" />&nbsp; </a><a href="#" onclick="favo2(\'myweb\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/yahoo-myweb.png" width="18" height="18" border="0" />&nbsp; </a><a href="#" onclick="favo2(\'newsvine\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/newsvine.png" width="16" height="16" border="0" />&nbsp; </a><a href="#" onclick="favo2(\'reddit\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/reddit.gif" width="16" height="16" border="0" />&nbsp; </a><a href="#" onclick="favo2(\'technorati\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/technorati.png" width="16" height="16" border="0" />&nbsp; </a><a href="#" onclick="favo2(\'live\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/live.gif" width="18" height="17" border="0" />&nbsp; </a><a href="#" onclick="favo2(\'spurl\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/spurl.png" width="16" height="16" border="0" />&nbsp; </a><a href="#" onclick="favo2(\'twitter\', \'' + newslinkurl +'\', \'' + newstitle + '\');" class="favlink"><img src="http://s7.addthis.com/services/twitter.gif" width="16" height="16" border="0" />&nbsp; </a></div><div class="addtolink"><a href="'+ newslinkurl +'" target="_blank"><img src="images/copy.png" width="31" height="20" border="0" style="position: relative; top: 5px;"></a><input id="copytext" type="text" value="'+ newslinkurl +'" style="width: 300px; border: 1px #C0C0C0 solid;"></input></div>');


	var infoTabs = [tab1, tab2];
	marker.openInfoWindowTabsHtml(infoTabs, { maxContent: maxContentDiv, maxTitle: '<span class="newstitle2">Reacties op: <i>' + newstitle + '</i></span>' }); 
	
	GEvent.addListener(marker, "click", function() {
   	marker.openInfoWindowTabsHtml(infoTabs, { maxContent: maxContentDiv, maxTitle: '<span class="newstitle2">Reacties op: <i>' + newstitle + '</i></span>' });
	
   });	

}

function replacetext(string,text,by) {
   
	var strLength = string.length, txtLength = text.length;
   	if ((strLength == 0) || (txtLength == 0)) return string;

	var i = string.indexOf(text);
   	if ((!i) && (text != string.substring(0,txtLength))) return string;
	if (i == -1) return string;

	var newstr = string.substring(0,i) + by;

   	if (i+txtLength < strLength)
    	newstr += replacetext(string.substring(i+txtLength,strLength),text,by);

return newstr;
}	

function isDefined(variable)
{
return eval('(typeof('+variable+') != "undefined");');
}

function showLocation(JSONData) { 
	var address = JSONData.place;
	var address2 = address.split("/");
	geocoder.getLocations(address, addAddressToMap);
	newsid = JSONData.id;
	newstitle = JSONData.title;
	newslink = JSONData.link;
	newsplace = address2[0];
	newsdescription = JSONData.description;
	newspubdate = JSONData.pubdate;
	newscategory = JSONData.category;
	newssite = JSONData.site;
	newskudo = JSONData.kudo;
}  	


function showmenu() {
	if(show_menu == false) { Effect.Appear('menu_large', {duration: 0.5}); show_menu = true;}
	else if(show_menu == true) { alert("dicht"); show_menu = false;}
}

function changebron(bron) {
		document.getElementById('loadingpage').style.visibility = 'visible'; 
		newsbron = bron;
		ThisPageNumber=-1;
		get_news('Algemeen');
}

function addTo() {
	if(favomenu == false) {
		favomenu = true;
		document.getElementById('map_loading').style.background = "#313131";
		document.getElementById('layer_load').style.width = "100%";
		document.getElementById('map_loading').style.zIndex = "99";
		document.getElementById('header').innerHTML = document.getElementById('addfavorite').innerHTML;
		Effect.Appear('map_loading', {duration: 0.3, from: 0.0, to: 0.93});
		setTimeout("loadNews(1);", 200);
	}
	else { 
		favomenu = false;
		Effect.Fade('map_loading', {duration: 0.3, from: 0.93, to: 0.0}); 
	}
}

function addtoHide() { 
	favomenu = false;
	Effect.Fade('map_loading', {duration: 0.4, from: 0.93, to: 0.0}); 
}

var newwindow;
function poptastic(url)
{
	newwindow=window.open(url,'name','height=600,width=600');
	if (window.focus) {newwindow.focus()}
}

function bookmarksite(title,url) {
	if (window.sidebar) 
		window.sidebar.addPanel(title, url, "");
	else if(window.opera && window.print){ 
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} 
	else if(document.all)
		window.external.AddFavorite(url, title);
}

function favo(val) {
	window.open('bookmark.php?favo=' + val,'Voeg toe aan je favorieten bij ' + val,'width=900,height=600,scrollbars=yes,toolbar=yes,location=yes'); 
}

function favo2(val, link, title) {
	window.open('bookmarkitem.php?favo=' + val + '&link=' + link + '&title=' + title,'Voeg toe link toe aan ' + val,'width=900,height=600,scrollbars=yes,toolbar=yes,location=yes'); 
}
	
function showDisclaimer() {
	window.open('disclaimer.html','Disclaimer','width=600,height=300,scrollbars=yes,toolbar=no,location=no'); 
}
	
function browserWidth() {
	if (self.innerWidth) {
  		return self.innerWidth;
 	} else if (document.documentElement && document.documentElement.clientWidth) {
  	    	return document.documentElement.clientWidth;
 	} else if (document.body) {
		return document.body.clientWidth;
	}
	return 630;
}

function browserHeight() {
   	if (self.innerWidth) {
		return self.innerHeight;
   	} else if (document.documentElement && document.documentElement.clientWidth) {
		return document.documentElement.clientHeight;
  	} else if (document.body) {
		return document.body.clientHeight;
  	}
	return 470;
}


function changeHeightWin() {	
	document.getElementById('main').style.height = (browserHeight() - 107) + "px";
	document.getElementById('layernewscontent').style.height = (browserHeight() - 310) + "px";
	document.getElementById('main').style.left = "0px";
}
changeHeightWin();		

function GoBack() {
	if(newsloaded == true) { 
		if(ThisPageNumber == 1) { document.getElementById('go_back').style.display = 'none'; ThisPageNumber=ThisPageNumber-1; showLocation(JSONData[ThisPageNumber]);  }
	else {
		ThisPageNumber=ThisPageNumber-1; 
		showLocation(JSONData[ThisPageNumber]);
		document.getElementById('go_back').style.display = 'block'; 
		document.getElementById('go_next').style.display = 'block'; 
		make_bold((ThisPageNumber+1)); 
	} 
	}
}

function GoForward(){
	if(newsloaded == true) { 
		if(ThisPageNumber == (JSONData.length -2)) { document.getElementById('go_next').style.display = 'none'; ThisPageNumber=ThisPageNumber+1; showLocation(JSONData[ThisPageNumber]); }
	else {
		ThisPageNumber=ThisPageNumber+1;			
		showLocation(JSONData[ThisPageNumber]); 
		document.getElementById('go_back').style.display = 'block'; 
		document.getElementById('go_next').style.display = 'block'; 
		if(ThisPageNumber == 0) { document.getElementById('go_back').style.display = 'none'; }
		make_bold((ThisPageNumber+1)); 
		
	}
	} 
}

function loadclicknews(number){

		nownumber = number;
		addtoHide();
		make_bold((number)); 
		if(newsloaded == true) { 
			ThisPageNumber=number-1;
			showLocation(JSONData[ThisPageNumber]); 
			if((JSONData.length-1) == ThisPageNumber) { document.getElementById('go_next').style.display = 'none'; document.getElementById('go_back').style.display = 'block';} 
			else if(ThisPageNumber == 0) { document.getElementById('go_back').style.display = 'none'; document.getElementById('go_next').style.display = 'block'; }
			else { document.getElementById('go_back').style.display = 'block'; document.getElementById('go_next').style.display = 'block'; }
			} 
}

function make_bold(number) {

	var lengteitems = JSONData.length-1;
	
	for (var i = 0; i < lengteitems; i++) {	
		var id = lengteitems-i;

		if((i%2)==0) { 	document.getElementById('divlayer_' + id).style.background = '#FFFFFF';  }
		else { document.getElementById('divlayer_' + id).style.background = '#DDDDDD'; }
	}	

	document.getElementById('divlayer_' + number).style.background = '#9D9D9D'; 
}


function get_news(niewssoort) {
	var myConn = new XHConn();
	if (!myConn) alert("XMLHTTP is niet beschikbaar op uw pc. Kom terug met een nieuwere versie van uw browser.");
	var loadPlaces = function (oXML) {

	JSONData = oXML.responseText.parseJSON();
	var layernewscontent = document.getElementById('layernewscontent').innerHTML;
	document.getElementById('layernewscontent').innerHTML = '';
	newsloaded = true;
		
	var lengteitems = JSONData.length-1;
							
	for (var i = 0; i < lengteitems; i++) {
		var JSONDataid = JSONData[i];
		var newscategory = JSONDataid['category'];
		var newssite = JSONDataid['site'];
		
		var layernewscontent = document.getElementById('layernewscontent').innerHTML;
		var cijferitem = i + 1;
						
		if((i%2)==0) { document.getElementById('layernewscontent').innerHTML = layernewscontent + '<div id="divlayer_' + cijferitem + '" align="left" style="padding: 2px; background-color: #DDDDDD; cursor: pointer;" onclick="loadclicknews(' + cijferitem + ');" onmouseover="hover_layer(' + cijferitem + ');" onmouseout="hover_layer_out(' + cijferitem + ');">&nbsp;<a id="alayer_' + cijferitem + '" class="layertitle" href="#">' +  JSONDataid['title'] + '</a></div>'; }
		else { document.getElementById('layernewscontent').innerHTML = layernewscontent + '<div id="divlayer_' + cijferitem + '" align="left" style="padding: 2px; cursor: pointer;" onclick="loadclicknews(' + cijferitem + ');" onmouseover="hover_layer(' + cijferitem + ');" onmouseout="hover_layer_out2(' + cijferitem + ');">&nbsp;<a id="alayer_' + cijferitem + '" class="layertitle" href="#">' +  JSONDataid['title'] + '</a></div>'; }
	}	
				
	document.getElementById('layernewscontent').scrollTop = 0;
		if(newscategory == 'Opmerkelijk') { document.getElementById('nieuwsitemcat').innerHTML = 'Bizarrr!' }
		else {	document.getElementById('nieuwsitemcat').innerHTML = newscategory; }

		document.getElementById('bron_nieuws').innerHTML = 'Mede mogelijk gemaakt door: ' + newssite + '';
	GoForward();
	document.getElementById('loadingpage').style.visibility = 'hidden';
	};

myConn.connect("/getnews.php", "POST", "soort=" + niewssoort + "&site=" + newsbron, loadPlaces);
}

function hover_layer(number) { 
	if(number !== nownumber) {
		document.getElementById('divlayer_' + number).style.background = '#9D9D9D';
	}
}

function hover_layer_out(number) { 
	if(number !== nownumber) {
		document.getElementById('divlayer_' + number).style.background = '#FFFFFF';
	}
}

function hover_layer_out2(number) { 
	if(number !== nownumber) {
		document.getElementById('divlayer_' + number).style.background = '#DDDDDD';	
	}
}
			

function loadNews(newsnumber) {
	if (newsnumber == 0) { ThisPageNumber=-1; addtoHide(); setTimeout("get_news('Alles');", 200); document.getElementById('loadingpage').style.visibility = 'visible'; }
	if (newsnumber == 1) { ThisPageNumber=-1; addtoHide(); setTimeout("get_news('Algemeen');", 200); document.getElementById('loadingpage').style.visibility = 'visible'; }
	if (newsnumber == 2) { ThisPageNumber=-1; addtoHide(); setTimeout("get_news('Economie');", 200); document.getElementById('loadingpage').style.visibility = 'visible'; }		
	if (newsnumber == 3) { ThisPageNumber=-1; addtoHide(); setTimeout("get_news('Sport');", 200); document.getElementById('loadingpage').style.visibility = 'visible'; }
	if (newsnumber == 4) { ThisPageNumber=-1; addtoHide(); setTimeout("get_news('Achterklap');", 200); document.getElementById('loadingpage').style.visibility = 'visible'; }
	if (newsnumber == 5) { ThisPageNumber=-1; addtoHide(); setTimeout("get_news('Internet');", 200); document.getElementById('loadingpage').style.visibility = 'visible'; }
	if (newsnumber == 6) { ThisPageNumber=-1; addtoHide(); setTimeout("get_news('Wetenschap');", 200); document.getElementById('loadingpage').style.visibility = 'visible'; }
	if (newsnumber == 7) { ThisPageNumber=-1; addtoHide(); setTimeout("get_news('Formule1');", 200); document.getElementById('loadingpage').style.visibility = 'visible'; }
	if (newsnumber == 8) { ThisPageNumber=-1; addtoHide(); setTimeout("get_news('Opmerkelijk');", 200); document.getElementById('loadingpage').style.visibility = 'visible'; }
}

function checkini() {

if(isDefined('geocoder') == true) { setTimeout("loadNews(1);", 30); }
else { setTimeout("checkini();", 150); }

}

function vote_item(category_item, id_item, count_item, kudo) {
	document.getElementById('loadingpage').style.visibility = 'visible';
 
	var myConn = new XHConn();
	if (!myConn) alert("XMLHTTP is niet beschikbaar op uw pc. Kom terug met een nieuwere versie van uw browser.");
		loadVote = function (oXML) {

		JSONData2 = oXML.responseText.parseJSON();
												
		for (var i = 0; i < JSONData2.length; i++) {	
			newsvote = JSONData2[i].vote;
			newsstatus = JSONData2[i].status;
		}	

		if(newsstatus == 'succes') { document.getElementById(category_item + '_' + id_item).innerHTML = newsvote; }	
		document.getElementById('loadingpage').style.visibility = 'hidden'; 
	};
myConn.connect("vote_item.php", "POST", "category=" + category_item + "&id=" + id_item + "&count=" + count_item, loadVote);
}

Event.onDOMReady(function(){ setTimeout("Effect.Fade('map_loading', {duration: 1.0});", 300); checkini(); });		
Event.observe(window, 'resize', function() { changeHeightWin() } );

window.onresize = changeHeightWin;

