// voor gebruiksaanwijzing zie http://www.ab-c.nl/centraal/abcsociaal/abcsociaal.htm

var sociaalteller = 0;

function abcSociaal( instellingen ){
	
	//standaard
	if (!instellingen) instellingen = {};
	var doel = instellingen.doel || ""; 
	var knoppen = instellingen.knoppen || ['print', 'mailto', 'bookmark', 'twitter', 'hyves', 'facebook']; 
	var geenstijl = instellingen.geenstijl;
	var venster = instellingen.venster || 'popup'; 
	var url = instellingen.url || location.href.toString(); 
	if (url.slice(-1) == '?') url = url.slice(0,-1); //loos vraagteken eraf
	var tekst = instellingen.tekst || document.title.toString(); 
	var twitternaam = instellingen.twitternaam || "";
	var hover = instellingen.hover || "geenhover";
	var url2 = encodeURIComponent(url);
	var tekst2 = encodeURI(tekst).replace('#','%23');
	var html = '';
	sociaalteller += 1;

	if (!geenstijl && sociaalteller==1) maakStijl();
	
	for (i=0; i < knoppen.length; i++){
		html += maakLink(knoppen[i]);
	}
	
	if (doel != ''){
		if (document.getElementById(doel)) { 
			document.getElementById(doel).innerHTML = html;
		}
	} else {
		return html;
	}

	function maakLink(naam2){
	
		var naam = naam2.split('=')[0];
		var standaardklik = "window.open(this.href, 'deel', 'toolbar=0,menubar=0,directories=0,status=0,width=550,height=450');return false";
		if (venster == '_top') {standaardklik = '';}
		else if (venster != 'popup') standaardklik = "window.open(this.href, 'deel')";
		var klik = standaardklik;
		var tip = naam;
		var linktekst = naam;
		var lnk = '';
		
		switch(naam)
		{			
			case 'print':
				 lnk = 'javascript:window.print()';
				 klik = '';
				 break;			
			case 'mailto':
				 lnk = 'mailto:?subject=' + tekst2 + '&body=' + url2;
				 klik = '';
				 tip = 'e-mailen';
				 break;
			case 'bookmark':
				 lnk = url;
				 if (navigator.appName.indexOf("Microsoft") > -1){
				 	klik = "window.external.AddFavorite('" + url + "', '" + maakVeilig(tekst) + "');return false";
					tip = 'bewaar als favoriet';
				 } else {
					klik = "alert('Sleep het aangeklikte icoontje naar de bookmark-balk van de browser!');return false";
					tip = 'sleep naar bookmarks';
					linktekst = tekst;
				 }
				 break;		 
			case 'twitter':
				 lnk = 'http://twitter.com/intent/tweet?url=' + url2 + '&text=' + tekst2 + '&related=' + twitternaam;
				 break;		 
			case 'hyves':
				 lnk = 'http://www.hyves-share.nl/button/tip/?tipcategoryid=12&rating=5&title=' + tekst2 + '&body=' + url2;
				 break;
			case 'facebook':
				 lnk = 'http://www.facebook.com/sharer.php?u=' + url2 + '&t=' + tekst2;
				 break;		 
			case 'linkedin':
				 lnk = 'http://www.linkedin.com/shareArticle?mini=true&url=' + url2 + '&title=' + tekst2;
				 break;
			case 'plusone':
				 lnk = 'https://plusone.google.com/_/+1/confirm?hl=nl&url=' + url2;
				 break;				 
		}	
		
		//url meegegeven achter = eventueel met variabelen {u} en {t}
		if (naam2.indexOf('=') > 0 ){
			lnk = naam2.substring(naam2.indexOf('=') + 1); //split('=')[1];
			lnk = lnk.replace('{u}', url2);
			lnk = lnk.replace('{t}', tekst2);
			//klik = standaardklik;
			klik = "window.open(this.href);return false";
			if (lnk.indexOf('javascript') == 0 ) klik = '';
			
		}
		if ('standalone' in navigator && navigator.standalone) { klik = '';} //ios webapp
	
		return '<a title="' + tip + '" href="' + lnk + '" onclick="' + klik + '" class="s-link s-' + naam + ' s-' + hover + '"><span>' + linktekst + '</span></a>';
	
	}
	
	function maakStijl(){
		var css = "\
		.s-link{width:16px;height:16px;overflow:hidden;display:-moz-inline-stack;display:inline-block;background:url(http://www.ab-c.nl/centraal/abcsociaal/iconen.png) no-repeat; padding:0; margin:0 5px 0 0; text-decoration:none !important;} \
		.s-kleur:hover { background-image:url(http://www.ab-c.nl/centraal/abcsociaal/iconen_kleur.png);} \
		.s-opacity {opacity:0.7;filter:alpha(opacity=70)} \
		.s-opacity:hover {opacity:1;filter:none} \
		.s-link span {display:none} \
		\
		.s-rss { background-position:0 0;} \
		.s-mailto { background-position:-16px 0} \
		.s-bookmark { background-position:-32px 0} \
		.s-delicious { background-position:-48px 0} \
		.s-twitter { background-position:-64px 0} \
		.s-hyves { background-position:-80px 0} \
		.s-google { background-position:-96px 0} \
		.s-facebook { background-position:-128px 0} \
		.s-linkedin { background-position:-144px 0} \
		.s-print { background-position:-160px 0} \
		.s-plusone { background-position:-176px 0} \
		\
		";

		var st = document.createElement("style"); st.type = "text/css";
		if (st.styleSheet) { st.styleSheet.cssText = css;}
		else {st.appendChild(document.createTextNode(css));}
		document.getElementsByTagName("head")[0].appendChild(st);
	}

	function maakVeilig(str){
		 return (str + '').replace(/[\\"']/g, '');
	}

}

