
var timer;
var arrayBookmark = new Array;
var objBookmark = new Array;

	arrayBookmark.push({url:'http://www.google.com/bookmarks/mark?op=add&amp;bkmk=[url]&amp;title=[titre]&amp;labels=[titre],&amp;annotation=[desc]&amp;cd=bm&amp;btnA=Add', nom:'Google Bookmarks', code:'google'});

	arrayBookmark.push({url:'http://www.facebook.com/share.php?src=bm&amp;u=[url]&amp;t=[titre]&amp;sharer_popup_message=[desc]&amp;v=3', nom:'Facebook', code:'facebook'});

	arrayBookmark.push({url:'http://www.myspace.com/Modules/PostTo/Pages/?c=[url]&amp;t=[titre]', nom:'MySpace', code:'myspace'});

	arrayBookmark.push({url:'http://myweb.yahoo.com/myresults/bookmarklet?u=[url]&amp;t=[titre]&amp;d=[desc]&amp;tag=[titre],', nom:'Yahoo MyWeb', code:'yahoo'});

	arrayBookmark.push({url:'http://www.google.com/buzz/post?url=[url]', nom:'Google Buzz', code:'buzz'});

	arrayBookmark.push({url:'http://del.icio.us/post/?url=[url]&amp;title=[titre]&amp;notes=[desc]&amp;tags=[titre],', nom:'Delicious', code:'delicious'});

	arrayBookmark.push({url:'http://multiply.com/gus/journal/compose/addthis?body=[desc]&amp;url=[url]&amp;subject=[titre]', nom:'Multiply', code:'multiply'});

	arrayBookmark.push({url:'http://digg.com/submit?phase=2&amp;url=[url]&amp;title=[titre]&amp;bodytext=[desc]&amp;topic=', nom:'Digg', code:'digg'});

	arrayBookmark.push({url:'http://myjeeves.ask.com/mysearch/BookmarkIt?v=1.2&amp;t=webpages&amp;url=[url]&amp;title=[titre]&amp;abstext=[desc]&amp;tagField=[titre],', nom:'My Jeeves', code:'myJeeves'});

	arrayBookmark.push({url:'http://www.stumbleupon.com/submit?url=[url]&amp;title=[titre]&amp;newcomment=[desc]&amp;tagnames=[titre],', nom:'Stumble Upon', code:'stumbleUpon'});

	arrayBookmark.push({url:'http://www.blogger.com/blog-this.g?u=[url]&amp;n=[titre]&amp;t=[desc]', nom:'Blogger', code:'blogger'});

	arrayBookmark.push({url:'http://technorati.com/faves/?add=[url]', nom:'Technorati', code:'technorati'});

	arrayBookmark.push({url:'http://twitter.com/home?status=[url]%20[titre]', nom:'Twitter', code:'twitter'});

	arrayBookmark.push({url:'http://www.squidoo.com/lensmaster/bookmark?[url]', nom:'Squidoo', code:'squidoo'});

	arrayBookmark.push({url:'http://reddit.com/submit?url=[url]&amp;title=[titre]', nom:'Reddit', code:'reddit'});

	arrayBookmark.push({url:'http://slashdot.org/submit.pl?email=[url]&amp;url=[url]&amp;subj=[titre]&amp;story=[desc]', nom:'Slashdot', code:'slashdot'});

	arrayBookmark.push({url:'http://www.connotea.org/addpopup?continue=confirm&amp;uri=[url]&amp;title=[titre]&amp;description=[desc]&amp;tags=[titre],', nom:'Connotea', code:'connotea'});

	arrayBookmark.push({url:'http://www.folkd.com/submit/[url]', nom:'Folkd', code:'folkd'});

	arrayBookmark.push({url:'http://www.bibsonomy.org/ShowBookmarkEntry?c=b&amp;jump=yes&amp;url=[url]&amp;description=[titre]&amp;extended=[desc]&amp;tags=[titre]', nom:'Bibsonomy', code:'bibsonomy'});

	arrayBookmark.push({url:'http://stories.swik.net/?bookmarklet=v1&amp;submitUrl&amp;url=[url]&amp;title=[titre]&amp;description=[desc]', nom:'Swik', code:'swik'});

	arrayBookmark.push({url:'http://www.dzone.com/links/add.html?url=[url]&amp;title=[titre]&amp;description=[desc]', nom:'Dzone', code:'dzone'});

	arrayBookmark.push({url:'http://www.newsvine.com/_tools/seed&amp;save?u=[url]&amp;h=[titre]&amp;blurb=[desc]&amp;tags={TAGS}', nom:'Newsvine', code:'newsvine'});

	arrayBookmark.push({url:'http://www.furl.net/savedialog.jsp?p=1&amp;t=[titre]&amp;u=[url]&amp;r=&amp;v=1&amp;c=[desc]&amp;topics=[titre]&amp;description=[desc]&amp;keywords=[titre],', nom:'Furl', code:'furl'});

	arrayBookmark.push({url:'http://www.blinklist.com/?Action=Blink/addblink.php&amp;Description=[desc]&amp;Url=[url]&amp;Title=[titre]&amp;Tag=[titre],', nom:'Blinklist', code:'blinklist'});

	arrayBookmark.push({url:'http://www.tumblr.com/new/link?post[one]=[titre]&amp;post[two]=[url]&amp;post[three]=[desc]', nom:'Tumblr', code:'tumblr'});

	arrayBookmark.push({url:'http://www.propeller.com/submit?url=[url]', nom:'Propeller', code:'propeller'});

	objBookmark['squidoo'] = {url:'http://www.squidoo.com/lensmaster/bookmark?[url]', nom:'Squidoo', code:'squidoo'};

	objBookmark['newsvine'] = {url:'http://www.newsvine.com/_tools/seed&amp;save?u=[url]&amp;h=[titre]&amp;blurb=[desc]&amp;tags={TAGS}', nom:'Newsvine', code:'newsvine'};

	objBookmark['slashdot'] = {url:'http://slashdot.org/submit.pl?email=[url]&amp;url=[url]&amp;subj=[titre]&amp;story=[desc]', nom:'Slashdot', code:'slashdot'};

	objBookmark['digg'] = {url:'http://digg.com/submit?phase=2&amp;url=[url]&amp;title=[titre]&amp;bodytext=[desc]&amp;topic=', nom:'Digg', code:'digg'};

	objBookmark['reddit'] = {url:'http://reddit.com/submit?url=[url]&amp;title=[titre]', nom:'Reddit', code:'reddit'};

	objBookmark['myspace'] = {url:'http://www.myspace.com/Modules/PostTo/Pages/?c=[url]&amp;t=[titre]', nom:'MySpace', code:'myspace'};

	objBookmark['stumbleUpon'] = {url:'http://www.stumbleupon.com/submit?url=[url]&amp;title=[titre]&amp;newcomment=[desc]&amp;tagnames=[titre],', nom:'Stumble Upon', code:'stumbleUpon'};

	objBookmark['blogger'] = {url:'http://www.blogger.com/blog-this.g?u=[url]&amp;n=[titre]&amp;t=[desc]', nom:'Blogger', code:'blogger'};

	objBookmark['technorati'] = {url:'http://technorati.com/faves/?add=[url]', nom:'Technorati', code:'technorati'};

	objBookmark['buzz'] = {url:'http://www.google.com/buzz/post?url=[url]', nom:'Google Buzz', code:'buzz'};

	objBookmark['dzone'] = {url:'http://www.dzone.com/links/add.html?url=[url]&amp;title=[titre]&amp;description=[desc]', nom:'Dzone', code:'dzone'};

	objBookmark['folkd'] = {url:'http://www.folkd.com/submit/[url]', nom:'Folkd', code:'folkd'};

	objBookmark['propeller'] = {url:'http://www.propeller.com/submit?url=[url]', nom:'Propeller', code:'propeller'};

	objBookmark['multiply'] = {url:'http://multiply.com/gus/journal/compose/addthis?body=[desc]&amp;url=[url]&amp;subject=[titre]', nom:'Multiply', code:'multiply'};

	objBookmark['delicious'] = {url:'http://del.icio.us/post/?url=[url]&amp;title=[titre]&amp;notes=[desc]&amp;tags=[titre],', nom:'Delicious', code:'delicious'};

	objBookmark['swik'] = {url:'http://stories.swik.net/?bookmarklet=v1&amp;submitUrl&amp;url=[url]&amp;title=[titre]&amp;description=[desc]', nom:'Swik', code:'swik'};

	objBookmark['twitter'] = {url:'http://twitter.com/home?status=[url]%20[titre]', nom:'Twitter', code:'twitter'};

	objBookmark['furl'] = {url:'http://www.furl.net/savedialog.jsp?p=1&amp;t=[titre]&amp;u=[url]&amp;r=&amp;v=1&amp;c=[desc]&amp;topics=[titre]&amp;description=[desc]&amp;keywords=[titre],', nom:'Furl', code:'furl'};

	objBookmark['myJeeves'] = {url:'http://myjeeves.ask.com/mysearch/BookmarkIt?v=1.2&amp;t=webpages&amp;url=[url]&amp;title=[titre]&amp;abstext=[desc]&amp;tagField=[titre],', nom:'My Jeeves', code:'myJeeves'};

	objBookmark['tumblr'] = {url:'http://www.tumblr.com/new/link?post[one]=[titre]&amp;post[two]=[url]&amp;post[three]=[desc]', nom:'Tumblr', code:'tumblr'};

	objBookmark['google'] = {url:'http://www.google.com/bookmarks/mark?op=add&amp;bkmk=[url]&amp;title=[titre]&amp;labels=[titre],&amp;annotation=[desc]&amp;cd=bm&amp;btnA=Add', nom:'Google Bookmarks', code:'google'};

	objBookmark['bibsonomy'] = {url:'http://www.bibsonomy.org/ShowBookmarkEntry?c=b&amp;jump=yes&amp;url=[url]&amp;description=[titre]&amp;extended=[desc]&amp;tags=[titre]', nom:'Bibsonomy', code:'bibsonomy'};

	objBookmark['connotea'] = {url:'http://www.connotea.org/addpopup?continue=confirm&amp;uri=[url]&amp;title=[titre]&amp;description=[desc]&amp;tags=[titre],', nom:'Connotea', code:'connotea'};

	objBookmark['blinklist'] = {url:'http://www.blinklist.com/?Action=Blink/addblink.php&amp;Description=[desc]&amp;Url=[url]&amp;Title=[titre]&amp;Tag=[titre],', nom:'Blinklist', code:'blinklist'};

	objBookmark['facebook'] = {url:'http://www.facebook.com/share.php?src=bm&amp;u=[url]&amp;t=[titre]&amp;sharer_popup_message=[desc]&amp;v=3', nom:'Facebook', code:'facebook'};

	objBookmark['yahoo'] = {url:'http://myweb.yahoo.com/myresults/bookmarklet?u=[url]&amp;t=[titre]&amp;d=[desc]&amp;tag=[titre],', nom:'Yahoo MyWeb', code:'yahoo'};


function replaceAccents(texte){
	var mauvais = "á,Á,à,À,â,Â,å,Å,ã,Ã,ä,Ä,æ,Æ,ç,Ç,é,É,è,È,ê,Ê,ë,Ë,í,Í,ì,Ì,î,Î,ï,Ï,ñ,Ñ,ó,Ó,ò,Ò,ô,Ô,ø,Ø,õ,Õ,ö,Ö,ú,Ú,ù,Ù,û,Û,ü,Ü,ÿ";
	var bon =     "a,A,a,A,a,A,a,A,a,A,a,A,ae,AE,c,c,e,E,e,E,e,E,e,E,i,I,i,I,i,I,i,I,n,N,o,O,o,O,o,O,o,O,o,O,o,O,u,U,u,U,u,U,u,U,y";
	mauvais = mauvais.split(',');
	bon = bon.split(',');
	for (var i = 0; i < mauvais.length; i++){
	//alert(mauvais[i]);
		var re = new RegExp(mauvais[i],'g');
		texte = texte.replace(re,bon[i]);
	}
	return texte;
}





jQuery.fn.bookmarker = function(options){
	settings = jQuery.extend({
		bookmarkName: document.title,
		bookmarkURL: window.location.href,
		afficherLabels: true,
		afficherPlus: true,
		colonnes: 2,
		maxItems: 0,
		langue: "fr",
		afficherAide: false,
		labelAide: "",
		afficher:[],
		liensDirect:[],
		afficherHover: true,
		positionParDefaut:'bas',
		formatImage:'gif'
	}, options);
	
	if (settings.maxItems == 0 || settings.maxItems > arrayBookmark.length){
		settings.maxItems = arrayBookmark.length;
		settings.afficherPlus = false;
	}
	
	settings.bookmarkName = replaceAccents(settings.bookmarkName);
	
	//on encode le nom et le url pour pouvoir le passer dans le url
	settings.bookmarkName = escape(settings.bookmarkName);
	settings.bookmarkName = settings.bookmarkName.replace(/\+/g, '%2B').replace(/\//g, '%2F');
	settings.bookmarkURL = escape(settings.bookmarkURL);
	settings.bookmarkURL = settings.bookmarkURL.replace(/\+/g, '%2B').replace(/\//g, '%2F');
	
	if(settings.langue == 'fr'){
		label = 'Ajouter ce site dans';
	}
	else{
		label = 'Add this site in';
	}

	if(settings.afficherHover == true){
		jQuery('body').append('<div id="bookmarkHoverPopup"></div>');
		if (settings.afficher.length > 0){
			for (var i=0; i < settings.afficher.length; i++){
				if (objBookmark[settings.liensDirect[i]]){
				jQuery('#bookmarkHoverPopup').append('<div class="bookmarkHoverPopupItems"><a href="' + objBookmark[settings.afficher[i]].url.replace(/\[url\]/ig,settings.bookmarkURL).replace(/\[titre\]/ig,settings.bookmarkName).replace(/\[desc\]/ig, settings.bookmarkName) + '" target="_blank" title="' + label + ' ' + objBookmark[settings.afficher[i]].nom + '"><img src="http://www.vortexsolution.com/gx/b/' + objBookmark[settings.afficher[i]].nom + '.' + settings.formatImage + '" height="16" width="16" style="border:none;margin:0 4px 4px 0;vertical-align:middle;" alt="' + label + ' ' + objBookmark[settings.afficher[i]].nom + '" title="' + label + ' ' + objBookmark[settings.afficher[i]].nom + '" />' + (settings.afficherLabels ? objBookmark[settings.afficher[i]].nom : '') + '</a></div>' + (((i + 1) % settings.colonnes == 0) ? '<br clear="all" />' : ''));
				}
			}
		}
		else{
			for (var i=0; i < settings.maxItems; i++){
				jQuery('#bookmarkHoverPopup').append('<div class="bookmarkHoverPopupItems"><a href="' + arrayBookmark[i].url.replace(/\[url\]/ig,settings.bookmarkURL).replace(/\[titre\]/ig,settings.bookmarkName).replace(/\[desc\]/ig, settings.bookmarkName) + '" target="_blank" title="' + label + ' ' + arrayBookmark[i].nom + '"><img src="http://www.vortexsolution.com/gx/b/' + arrayBookmark[i].nom + '.' + settings.formatImage + '" height="16" width="16" style="border:none;margin:0 4px 4px 0;vertical-align:middle;" alt="' + label + ' ' + arrayBookmark[i].nom + '" title="' + label + ' ' + arrayBookmark[i].nom + '" />' + (settings.afficherLabels ? arrayBookmark[i].nom : '') + '</a></div>' + (((i + 1) % settings.colonnes == 0) ? '<br clear="all"/>' : ''));
			}
		}
		
		if (settings.afficherPlus == true){
			jQuery('#bookmarkHoverPopup').append('<div class="bookmarkHoverPopupItems"><a href="/BookmarkAdder.php?url=' + settings.bookmarkURL + '&amp;name=' + settings.bookmarkName + '&amp;desc=' + settings.bookmarkName + '&amp;l=' + settings.langue + '" onclick="window.open(this.href,\'BookmarkAdder\',\'toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=500,height=400,left=\'+(screen.availWidth-500)/2+\',top=\'+(screen.availHeight-400)/2);return false;" title="' + ((settings.langue=='fr')?'Plus...':'More...') + '">' + ((settings.langue=='fr')?'Plus...':'More...') + '</a></div>');
		}
	
		//jQuery('#bookmarkPopup').hide();
		jQuery('#bookmarkHoverPopup').hover(
			function(){
				jQuery(this).show();
				clearTimeout(timer);
			},
			function(){
				timer = setTimeout(function(){jQuery('#bookmarkHoverPopup').fadeOut(200);},500);
				return false;
			}
		);

	}
	this.each(function(){
		if(settings.liensDirect.length > 0){
			for (var i=0; i < settings.liensDirect.length; i++){
				if (objBookmark[settings.liensDirect[i]]){
					jQuery(this).append('<div class="bookmarkIconesVisibles"  ><a href="' + objBookmark[settings.liensDirect[i]].url.replace(/\[url\]/ig,settings.bookmarkURL).replace(/\[titre\]/ig,settings.bookmarkName).replace(/\[desc\]/ig, settings.bookmarkName) + '" target="_blank" title="' + label + ' ' + objBookmark[settings.liensDirect[i]].nom + '"><img src="http://www.vortexsolution.com/gx/b/' + objBookmark[settings.liensDirect[i]].nom + '.' + settings.formatImage + '" height="16" width="16" style="border:none;margin:0 4px 4px 0;vertical-align:middle;" alt="' + label + ' ' + objBookmark[settings.liensDirect[i]].nom + '" title="' + label + ' ' + objBookmark[settings.liensDirect[i]].nom + '" /></a></div>');
				}
			}
		}
		if(settings.afficherHover == true){
			jQuery(this).hover(
				function(){
	
					clearTimeout(timer);
	
					var left = jQuery(this).offset().left;
					
					if ((left + jQuery('#bookmarkHoverPopup').width()) > jQuery(document).width() && (left - jQuery('#bookmarkHoverPopup').innerWidth() + jQuery(this).innerWidth()) > 0){
						left = (left - jQuery('#bookmarkHoverPopup').innerWidth()) + jQuery(this).innerWidth();
					}
					
					if (settings.positionParDefaut ==  'haut'){
						var top = jQuery(this).offset().top + jQuery(this).height() - jQuery('#bookmarkHoverPopup').innerHeight() - jQuery(this).innerHeight();
						if (top < 0){
							top = top + jQuery('#bookmarkHoverPopup').innerHeight() + jQuery(this).innerHeight();
						}
					}
					else{
						var top = jQuery(this).offset().top + jQuery(this).height();
						if ((top + jQuery('#bookmarkHoverPopup').height()) > jQuery(document).height() && (top - jQuery('#bookmarkHoverPopup').innerHeight() + jQuery(this).innerHeight()) > 0){
							top = top - jQuery('#bookmarkHoverPopup').innerHeight() - jQuery(this).innerHeight();
						}
					}					
					
					jQuery('#bookmarkHoverPopup').css({left:left,top:top});
					jQuery('#bookmarkHoverPopup').fadeIn(200);
					return false;
			 },
				function(){
					timer = setTimeout(function(){jQuery('#bookmarkHoverPopup').fadeOut(200);},500);
					return false;
			 }		 
			 );
		 }
	});
}; 
