﻿/*====================================================================================================
//////////////////////////////////////////////////////////////////////////////////////////////////////

	bookmark.js for Yamaha.co.jp
	ver0.3 2011-04-27

//////////////////////////////////////////////////////////////////////////////////////////////////////
====================================================================================================*/

/* Social Bookmark Links (SBM Links) */

function setBookmarkLinks(config,text){
var images_str = '/common/images/';
var list_str = '.bookmarks';
var id_str = "lid=";
var max_num = 50;
var timeout_num = 1000;
var ua_str = navigator.userAgent;
var xmlns_str = $('html').attr('xmlns');
var short_str;
var quote_str = text;
var browser_str;
var twitter_str;
var bitly_bool = false;
var click_bool = true;
var user_str = 'yamahamediaworks';
var key_str = 'R_1da192447c06ce0bb22e09856f3e7068';
var bitly_str = 'http://api.bit.ly/v3/shorten?login=' + user_str + '&apiKey=' + key_str + '&format=json&longUrl=';
var service_obj = {
mixi:['http://mixi.jp/share.pl','mixi-check-button','1156cebed34d9134c39978bf3c9b2e0dcf6b2067','','','01'],
//blinkbits:['http://www.blinkbits.com/bookmarklets/save.php?v=1&','source_url','title','icon_blinkbits.gif','blinkbits','02'],
//blogmarks:['http://blogmarks.net/my/new.php?mini=1&simple=1&','url','title','icon_blogmarks.gif','BlogMarks.net','03'],
//choix:['http://www.choix.jp/bloglink/','','','icon_choix.gif','Choix（チョイックス）','04'],
//connotea:['http://www.connotea.org/addpopup?continue=confirm&','uri','title','icon_connotea.gif','Connotea','05'],
//delicious:['http://del.icio.us/post?','url','title','icon_delicious.gif','Delicious','06'],
//digg:['http://digg.com/submit?phase=2&','url','','icon_digg.gif','Digg','07'],
facebook:['http://www.facebook.com/share.php?','u','t','cmn_hd_sbm_icon_facebook.jpg','facebook','08'],
//fark:['http://cgi.fark.com/cgi/fark/edit.pl?','new_url','new_comment','icon_fark.gif','FARK.com','09'],
//fc2:['http://bookmark.fc2.com/user/post?','url','title','icon_fc2.gif','fc2ブックマーク','10'],
google:['http://www.google.com/bookmarks/mark?op=add&','bkmk','title','cmn_hd_sbm_icon_google.jpg','Google Bookmarks','11'],
hatena:['http://b.hatena.ne.jp/append?','','','cmn_hd_sbm_icon_hatena.jpg','はてなブックマーク','12'],
//linkagogo:['http://www.linkagogo.com/go/AddNoPopup?','url','title','icon_linkagogo.gif','linkaGoGo','13'],
livedoor:['http://clip.livedoor.com/redirect?','link','title','cmn_hd_sbm_icon_livedoor.jpg','Livedoorクリップ！','14'],
//netvouz:['http://www.netvouz.com/action/submitBookmark?','url','title','icon_netvouz.gif','Netvouz','15'],
//newsing:['http://newsing.jp/add?','url','title','icon_newsing.gif','','16'],
//newsvine:['http://www.newsvine.com/_tools/seed&save?','u','h','icon_newsvine.gif','Newsvine','17'],
//nifty:['http://clip.nifty.com/create?','url','title','icon_nifty.gif','@niftyクリップ','18'],
//reddit:['http://reddit.com/submit?','url','title','icon_reddit.gif','reddit.com','19'],
//rootace:['http://www.rootace.com/add.php?','url','title','icon_rootace.gif','ROOTACE（ルータス）','20'],
//spurl:['http://www.spurl.net/spurl.php?','url','title','icon_spurl.gif','Spurl.net 1.0','21'],
//technorati:['http://technorati.com/cosmos/search.html?','url','','icon_technorati.gif','Technorati','22'],
//scuttle:['http://www.scuttle.org/bookmarks.php/maxpower?action=add&','address','title','icon_scuttle.gif','scuttle.org','23'],
twitter:['http://twitter.com/intent/tweet?text=','','%20','cmn_hd_sbm_icon_twitter.jpg','twitter','24'],
yahoo:['http://bookmarks.yahoo.co.jp/action/bookmark?','u','t','cmn_hd_sbm_icon_yahoo.jpg','Yahoo!ブックマーク','25'],
browser:['','','','cmn_hd_sbm_icon_bookmark.jpg','お気に入りに追加する','']
};
var blank_str =	'<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title></title>\n</head>\n</html>\n'
var uri_str = document.URL;
var xmlLoadSuccess = function(xml,type){
var target_str = $(xml).find('quote').text();
var target_num = $(document).find(target_str).size();
if(target_str != 'text'){
if(!target_str || target_num == 0){
quote_str = document.title;
}else{
$(document).find(target_str).each(function(){
quote_str = $(this).text();
});
}
}else if(!quote_str){
quote_str = document.title;
}
//if(quote_str.length > max_num){
//alert('タイトルの文字数が' + max_num + '文字を越えています。');
//}else{
browser_str = quote_str;
quote_str = encodeURIComponent(quote_str);
//}
var index_num = uri_str.lastIndexOf(id_str);
var last_num = uri_str.length;
if(index_num > -1){
uri_str = uri_str.replace(uri_str.substring(index_num - 1,last_num),'');
}
if(uri_str.lastIndexOf('?') == -1){
id_str = "?" + id_str;	
}else{
id_str = "&" + id_str; 
};
$(xml).find('services').children().each(function(){
var flag_num = $(this).text();
if(flag_num > 0){
var tag_str = $(this).get(0).tagName;
var api_str = service_obj[tag_str][0];
var src_str = images_str + service_obj[tag_str][3];
var name_str = service_obj[tag_str][4];
var req_str = encodeURIComponent(uri_str + id_str + String(service_obj[tag_str][5]));
var start_str = '<li><a href="';
var end_str = '</a></li>\n';
var img_str = '<img src="' + src_str + '" alt="' + name_str + '" title="' + name_str + '"';
if(xmlns_str){
img_str += ' />';
}else{
img_str += '>';
};
if(api_str){
if(tag_str == "mixi") { // mixi
var class_str = service_obj[tag_str][1];
var key_str = service_obj[tag_str][2];
end_str = '</a><script type="text/javascript" src="http://static.mixi.jp/js/share.js"></script></li>\n';
$(list_str).append(start_str + api_str + '" class="' + class_str + '" data-key="' + key_str + '">Check' + end_str);
}else {
var url_str = service_obj[tag_str][1];
var title_str = service_obj[tag_str][2];
if(title_str){
if(tag_str == 'twitter'){ // twitter
api_str += quote_str + title_str
}else{
api_str += title_str + '=' + quote_str + '&'; 
};
};
if(url_str){
api_str += url_str + '=' + req_str;
}else{
if(tag_str != "twitter"){ // !twitter
api_str += req_str;
};
};
if(tag_str == "twitter"){ // twitter
twitter_str = api_str;$(list_str).append(start_str + 'javascript:void(0);">' + img_str + end_str);
$(list_str).find('li:last').click(function(){
if(click_bool){
var windw_obj = window.open('','_blank');
windw_obj.document.write(blank_str);
windw_obj.document.title = 'Twitter';
click_bool = false;
setTimeout(function(){click_bool = true;},timeout_num);
if(!bitly_bool){
var shortUrlSuccess = function(json){
var status_num = json.status_code;
var status_str = json.status_txt;
if (status_str == 'OK' && status_num == 200){
short_str = json['data']['url'];
short_str = encodeURIComponent(short_str);
twitter_str += short_str;
bitly_bool = true;
windw_obj.location.replace(twitter_str);
}else{
//alert(status_str);
void(0);
};
};
var shortUrlError = function () {
//alert('WARNING: service is not available. Try later');
};
$.ajax({
type:'GET',
url:bitly_str + req_str,
dataType:'jsonp',
error:shortUrlError,
success:shortUrlSuccess
});
}else{
windw_obj.location.replace(twitter_str);
};
}else{
//alert('NG');
void(0);
};
});
}else{
$(list_str).append(start_str + api_str + '" target="_blank">' + img_str + end_str);
};
};
}else{
var long_str = encodeURI(uri_str);
var browserieIE =function(){window.external.AddFavorite(long_str,browser_str);};
var browserieFirefox =function(){window.sidebar.addPanel(browser_str,long_str,'');}
var browserieOther =function(){alert('Ctrl[コマンド]キーとDキーを同時に押してご登録ください。');};
if(ua_str.indexOf('MSIE') > -1){ // IE
$(list_str).append(start_str + 'javascript:void(0);">' + img_str + end_str);
$(list_str).find('li:last').click(browserieIE);
}else if(ua_str.indexOf('Firefox') > -1){ // Firefox
$(list_str).append(start_str + 'javascript:void(0);">' + img_str + end_str);
$(list_str).find('li:last').click(browserieFirefox);
}else if(ua_str.indexOf('Opera') > -1){ // Opera
browser_str = browser_str.replace(/>/g, "&gt;");
browser_str = browser_str.replace(/</g, "&lt;"); 
browser_str = browser_str.replace(/"/g, "&quot;");
browser_str = browser_str.replace(/'/g, "&#039;");
$(list_str).append(start_str + long_str + '" rel="sidebar" title="' + browser_str + '">' + img_str + end_str);
}else if(ua_str.indexOf('Chrome') > -1 || ua_str.indexOf("Safari") > -1){ // Chrome , Safari
$(list_str).append(start_str + 'javascript:void(0);">' + img_str + end_str);
$(list_str).find('li:last').click(browserieOther);
}else{
void(0);
};
};
};
});
};
var xmlLoadError = function (xmlhttp,status,error){
//alert("xmlhttp : [ " + xmlhttp + " ] " + "status : [ " + status + " ] " + "error : [ " + error + " ] ");
};
$.ajax({
url:config,
type:'GET',
async:true,
cache:false,
dataType:'xml',
timeout:5000,
error:xmlLoadError,
success:xmlLoadSuccess
});
};
