/**
* author:daniel.xud
* last-modify:2009-12-17
* offer detail页面推荐给朋友和站内工具条
*/
//(function(){
/**
* 推荐给朋友
*/
function recommendToFriend(id){
var url = document.location.href + '?tracelog=detail_rmmdIM_27154';
var msg;
var info;
var text = url;
var nodeId = 'recommend-div'+id;
if (copyToClipboardForDetail(text)) {
msg = '<input type="text" disabled="false" value="'+url+'" size="70"/> <input id="copy_btn" type="submit" value="复制链接"/>';
info = '<p></p>';
}else {
msg = '<input type="text" class="info" value="'+url+'" size="80"/>';
info = '<p class="warning">您使用的浏览器不支持此复制功能，请使用Ctrl+C或点击鼠标右键进行复制</p>';
}
if (YAHOO.util.Dom.get(nodeId)) {
YAHOO.util.Dom.setStyle(YAHOO.util.Dom.get(nodeId), 'display', 'block');
return;
}
var div = document.createElement('div');
div.id = nodeId;
YAHOO.util.Dom.addClass(div,'recommend-div');
div.innerHTML = '<a href="#" id="recommend-close" title="关闭">关闭</a>' +
'<h5>复制链接给朋友</h5>' +
'<p class="info">将下面文本框的链接地址复制后即可粘贴到word或者聊天工具如（旺旺、QQ、MSN）等对话框中</p>'+
'<p>' + msg + '</p>'+info;
YAHOO.util.Dom.get('fav-rec'+id).appendChild(div);
YAHOO.util.Dom.setStyle(div, 'display', 'block');
YAHOO.util.Event.addListener(YAHOO.util.Dom.get('recommend-close'), 'click', function(e){
YAHOO.util.Event.preventDefault(e);
// YAHOO.util.Dom.setStyle(div, 'display', 'none');
YAHOO.util.Dom.get('fav-rec'+id).removeChild(YAHOO.util.Dom.get(nodeId));
});
YAHOO.util.Event.addListener(YAHOO.util.Dom.get('recommend-btn'), 'click', function(e){
YAHOO.util.Event.preventDefault(e);
YAHOO.util.Dom.setStyle(div, 'display', 'none');
});
YAHOO.util.Event.addListener(YAHOO.util.Dom.get('copy_btn'), 'click', function(e){
alert("复制成功，现在您可以ctrl+c复制到word或者聊天工具对话框中");
});
YAHOO.util.Event.on(document,'click',function(e) {
var currentDiv=YAHOO.util.Event.getTarget(e);
var tagetParentNodeId = 'fav-rec'+id;
try{
while(currentDiv!=document) {
if(currentDiv.id===tagetParentNodeId) {
return;
} else {
currentDiv=currentDiv.parentNode;
}
}
if(YAHOO.util.Dom.get(nodeId)&&YAHOO.util.Dom.getStyle(nodeId,'display')=='block'){
//alert(YAHOO.util.Dom.getStyle('recommend-div','display'));
YAHOO.util.Dom.get('fav-rec'+id).removeChild(YAHOO.util.Dom.get(nodeId));
}
}catch(e){}
});
}
function getDocumentScrollTop(){
return Math.max(document.documentElement.scrollTop, document.body.scrollTop);
}
/**
* 复制到剪贴板
* 支持IE和Firefox
*/
function copyToClipboardForDetail(txt){
if (window.clipboardData) { //IE
window.clipboardData.clearData();
window.clipboardData.setData('Text', txt);
if(window.clipboardData.getData('Text') == txt){
return true;
}else{
return false;
}
}
/*else if (YAHOO.env.ua.gecko > 0) { //Firefox
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch (e) {
alert("被浏览器拒绝！\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
}
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if (!clip)
return;
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if (!trans)
return;
trans.addDataFlavor('text/unicode');
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var copytext = txt;
str.data = copytext;
trans.setTransferData("text/unicode", str, copytext.length * 2);
var clipid = Components.interfaces.nsIClipboard;
if (!clip)
return false;
clip.setData(trans, null, clipid.kGlobalClipboard);
return true;
}else {
return false;
}*/
}
/**
* detail工具条
* @author: daniel.xud
*/
var detail_toolbar = {
dt_tip: null,	//offer信息提示框
timer: false, 	//IE6下的计时器
isMin: false,
init: function(){
//设定宽度
detail_toolbar.setWidth();
detail_toolbar.setGalleryImgMarginLeft();
detail_toolbar.setInfoPadding();
/*if(YAHOO.env.ua.ie == 6){
$D.setStyle($D.get('detail-toolbar'), 'display', 'block');
}*/
detail_toolbar.dt_tip = $D.getElementsByClassName('dt-tip', 'div');
//事件绑定
$E.on(window, 'resize', function(){
detail_toolbar.setWidth();
detail_toolbar.setGalleryImgMarginLeft();
detail_toolbar.setInfoPadding();
});
$E.on($D.get('dt-mini'), 'click', detail_toolbar.min);
$E.on($D.get('dt-max'), 'click', detail_toolbar.max);
$E.on($D.get('dt-tab1'), 'click', function(e){
detail_toolbar.changeTab(1,e);
});
$E.on($D.get('dt-tab2'), 'click', function(e){
detail_toolbar.changeTab(2,e);
});
var dt_img = $D.getElementsByClassName('dt-img-wrap');
for (var i = 0; i < dt_img.length; i++) {
$E.on(dt_img[i], 'mouseover', detail_toolbar.showTip(i));
$E.on(dt_img[i], 'mouseout', detail_toolbar.hideTip(i));
}
if(YAHOO.env.ua.ie == 6){
if($D.get('detail-toolbar').style.display != 'none'){
$E.on(window, 'scroll', detail_toolbar.handleDTScroll);
}
}
//初始化旺旺留言板的定位
/*if ($D.get('ECS')) {
if ($D.getStyle($D.get('ECS'), 'display') == 'none') {
FOLLOW = $D.get('EMSG');
}
else
if ($D.getStyle($D.get('EMSG'), 'display') == 'none') {
FOLLOW = $D.get('ECS');
}
SCROLLTOP = document.documentElement.scrollTop;//获取当前可视窗口和页面顶端的高度
XDragDropCtrl.followFloat(9);
}*/
//快捷方式
//目前在IE7中有问题，暂不处理
if(swfobject.hasFlashPlayerVersion("9") && YAHOO.env.ua.ie != 7){
$E.on($D.getElementsByClassName('dt-aliurl'),'click',function(e){
$E.preventDefault(e);
});
//用户安装了9以上的flash版本,就用flash生成快捷方式的方法
if ($D.get('flash-container1')) {
FD.widget.Flash.init("flash-container1", {
url: 'http://img.china.alibaba.com/images/cn/member/signin/save_url.swf',
width: 80,
height: 81,
wmode: 'transparent',
allowScriptAccess: 'always',
flashvars: {
url: 'http://img.china.alibaba.com/images/detailpic/Alibaba.url',
filename: '阿里巴巴中国站.url',
debug: false
}
});
}
if ($D.get('flash-container2')) {
FD.widget.Flash.init("flash-container2", {
url: 'http://img.china.alibaba.com/images/cn/member/signin/save_url.swf',
width: 80,
height: 81,
wmode: 'transparent',
allowScriptAccess: 'always',
flashvars: {
url: 'http://img.china.alibaba.com/images/detailpic/Alibaba.url',
filename: '阿里巴巴中国站.url',
debug: false
}
});
}
}else if(YAHOO.env.ua.ie == 6){
//IE6,用IE特有的方式生成快捷方式
$E.on($D.get('dt-aliurl'),'click',function(e){
$E.preventDefault(e);
window.open('http://page.china.alibaba.com/html/static/save_url.html','newwindow',"menubar=0,titlebar=0,width=5,height=5,left="+(screen.AvailWidth-10)/2+",top="+(screen.AvailHeight-10)/2);
});
}else{
//如果用户没有安装flash，则不管，按照普通方式创建快捷方式
}
},
min: function(){	//最小化
var e = arguments[0] || window.event;
$E.preventDefault(e);
/*$D.setStyle($D.get('dt-cont'), 'display', 'none');
$D.setStyle($D.get('dt-mini'), 'display', 'none');
$D.setStyle($D.get('dt-max'), 'display', 'block');
$D.setStyle($D.get('detail-toolbar'), 'height', '33px');*/
$D.get('dt-cont').style.display = 'none';
$D.get('dt-mini').style.display = 'none';
$D.get('dt-max').style.display = 'block';
$D.get('detail-toolbar').style.height = '33px';
if (YAHOO.env.ua.ie == 6) {
var dtOldTop = parseInt($D.get('detail-toolbar').style.top);
//$D.setStyle($D.get('detail-toolbar'), 'top', dtOldTop + 123 - 33 + 'px');//IE6中需要多1px
$D.get('detail-toolbar').style.top = dtOldTop + 123 - 33 + 'px';
}
detail_toolbar.isMin = true;
//XDragDropCtrl.followFloat(9);
},
max: function(){	//最大化
var e = arguments[0] || window.event;
$E.preventDefault(e);
/*$D.setStyle($D.get('dt-cont'), 'display', 'block');
$D.setStyle($D.get('dt-mini'), 'display', 'block');
$D.setStyle($D.get('dt-max'), 'display', 'none');
$D.setStyle($D.get('detail-toolbar'), 'height', '123px');*/
$D.get('dt-cont').style.display = 'block';
$D.get('dt-mini').style.display = 'block';
$D.get('dt-max').style.display = 'none';
$D.get('detail-toolbar').style.height = '123px';
if (YAHOO.env.ua.ie == 6) {
var dtOldTop = parseInt($D.get('detail-toolbar').style.top);
//$D.setStyle($D.get('detail-toolbar'), 'top', dtOldTop - 123 + 33 + 'px');
$D.get('detail-toolbar').style.top = dtOldTop - 123 + 33 + 'px';
}
detail_toolbar.isMin = false;
//XDragDropCtrl.followFloat(9);
},
changeTab: function(tabNum, event){
if(event){
$E.preventDefault(event);
}
if (tabNum == 1) {
$D.get('dt-tab1').className = 'dt-tab-on';
$D.get('dt-tab2').className = '';
/*$D.setStyle($D.get('dt-tab2'), 'background-position', 'right bottom');
$D.setStyle($D.get('dt-tab1'), 'background-position', '0 -70px');
/*$D.setStyle($D.get('dt-cont1'), 'display', 'block');
$D.setStyle($D.get('dt-cont2'), 'display', 'none');*/
$D.get('dt-tab2').style.backgroundPosition = 'right bottom';
$D.get('dt-tab1').style.backgroundPosition = '0 -70px';
$D.get('dt-cont1').style.display = 'block';
$D.get('dt-cont2').style.display = 'none';
if (detail_toolbar.isMin) {
detail_toolbar.max(event);
}
}else if(tabNum == 2){
$D.get('dt-tab2').className = 'dt-tab-on';
$D.get('dt-tab1').className = '';
/*$D.setStyle($D.get('dt-tab1'), 'background-position', 'left bottom');
$D.setStyle($D.get('dt-tab2'), 'background-position', '0 -70px');
$D.setStyle($D.get('dt-cont2'), 'display', 'block');
$D.setStyle($D.get('dt-cont1'), 'display', 'none');*/
$D.get('dt-tab1').style.backgroundPosition = 'left bottom';
$D.get('dt-tab2').style.backgroundPosition = '0 -70px';
$D.get('dt-cont2').style.display = 'block';
$D.get('dt-cont1').style.display = 'none';
if(detail_toolbar.isMin){
detail_toolbar.max(event);
}
}
},
getGalleryWidth: function(){	//获取左栏宽度
return $D.get('detail-toolbar').offsetWidth - 259; //259为右栏的固定宽度
},
setGalleryImgMarginLeft: function(){	//设置图片间距
var galleryWidth = detail_toolbar.getGalleryWidth();
var galleryImgMarginLeft = Math.floor((galleryWidth - (6 * 60)) / 7);
var gallery_img_li = $D.get('dt-gallery').getElementsByTagName('li');
for(var i=0;i<gallery_img_li.length;i++){
//$D.setStyle(gallery_img_li[i], 'marginLeft', galleryImgMarginLeft + 'px');
gallery_img_li[i].style.marginLeft = galleryImgMarginLeft + 'px';
}
//零结果页面显示全部行业
if($D.get('dt-info-industry')){
var dt_info_industry = $D.get('dt-info-industry').getElementsByTagName('li');
for(var j=0;j<dt_info_industry.length;j++){
//$D.setStyle(dt_info_industry[j], 'margin-left', galleryImgMarginLeft + 'px');
dt_info_industry[j].style.marginLeft = galleryImgMarginLeft + 'px';
}
}
},
setWidth: function(){	//设置宽度左栏宽度
try{
//$D.setStyle($D.get('dt-gallery'), 'width', detail_toolbar.getGalleryWidth() + 'px');
$D.get('dt-gallery').style.width = detail_toolbar.getGalleryWidth() + 'px';
//$D.setStyle($D.get('dt-info'), 'width', detail_toolbar.getGalleryWidth() + 'px');
$D.get('dt-info').style.width = detail_toolbar.getGalleryWidth() + 'px';
}catch(e){
//do nothing
//alert(e.message);
}
if(YAHOO.env.ua.ie == 6){
if($D.getViewportWidth()> 900){	//IE6 min-width:900px
/*$D.setStyle($D.get('detail-toolbar'), 'width', $D.getViewportWidth() + 'px');
$D.setStyle($D.get('dt-gallery'), 'width', $D.getViewportWidth()-259 + 'px');
$D.setStyle($D.get('dt-info'), 'width', $D.getViewportWidth()-259 + 'px');*/
$D.get('detail-toolbar').style.width = $D.getViewportWidth() + 'px';
$D.get('dt-gallery').style.width = $D.getViewportWidth()-259 + 'px';
$D.get('dt-info').style.width = $D.getViewportWidth()-259 + 'px';
}else{
/*$D.setStyle($D.get('detail-toolbar'), 'width', '900px');
$D.setStyle($D.get('dt-gallery'), 'width', '641px');
$D.setStyle($D.get('dt-info'), 'width', '641px');*/
$D.get('detail-toolbar').style.width = '900px';
$D.get('dt-gallery').style.width = '641px';
$D.get('dt-info').style.width = '641px';
}
//$D.setStyle($D.get('detail-toolbar'), 'top', getDocumentScrollTop() + $D.getViewportHeight() - $D.get('detail-toolbar').offsetHeight + 'px');
$D.get('detail-toolbar').style.top = getDocumentScrollTop() + $D.getViewportHeight() - $D.get('detail-toolbar').offsetHeight + 'px';
}
},
setInfoPadding: function(){	//设置信息栏padding
var infoWidth = detail_toolbar.getGalleryWidth();
var infoPadding = Math.floor((infoWidth - (2 * 320)) / 4);
try{
//$D.setStyle($D.getElementsByClassName('dt-info-left')[0], 'padding', '10px ' + infoPadding + 'px ' + '0');
//$D.setStyle($D.getElementsByClassName('dt-info-right')[0], 'padding', '10px ' + infoPadding + 'px ' + '0');
$D.getElementsByClassName('dt-info-left')[0].style.padding = '10px ' + infoPadding + 'px ' + '0';
$D.getElementsByClassName('dt-info-right')[0].style.padding = '10px ' + infoPadding + 'px ' + '0';
/*if (YAHOO.env.ua.ie == 6) {
$D.setStyle($D.getElementsByClassName('dt-info-left')[0], 'padding', '10px ' + ((infoPadding - 20) + 'px'));
}*/
}catch(e){
//do nothing
//alert(e.message);
}
},
handleDTScroll: function(){	//IE6不支持fixed，滚动时隐藏掉，停止滚动后出现
//$D.setStyle($D.get('detail-toolbar'),'display','none');
$D.get('detail-toolbar').style.display = 'none';
for (var i = 0; i < detail_toolbar.dt_tip.length; i++) {
//$D.setStyle(detail_toolbar.dt_tip[i], 'display', 'none');
detail_toolbar.dt_tip[i].style.display = 'none';
}
/*if (detail_toolbar.timer) {
clearTimeout(detail_toolbar.timer);
}*/
detail_toolbar.timer = setTimeout(function(){
detail_toolbar.setDTTop();
//alert(detail_toolbar.dt_tip[1].parentNode.innerHTML);
//$D.setStyle($D.get('detail-toolbar'),'height','0');
//$D.setStyle($D.get('detail-toolbar'),'display','block');
$D.get('detail-toolbar').style.display = 'block';
//XDragDropCtrl.followFloat(9);
//var anim = new YAHOO.util.Anim($D.get('detail-toolbar'), {height:{from: 0, to:167}},0.5, YAHOO.util.Easing.easeNone);
//anim.animate();
}, 1000);
},
setDTTop: function(){
var computedHeight; //计算后的高度
computedHeight = getDocumentScrollTop() + $D.getViewportHeight() - $D.get('detail-toolbar').offsetHeight;
//$D.setStyle($D.get('detail-toolbar'),'top',computedHeight + 'px');
$D.get('detail-toolbar').style.top = computedHeight + 'px';
},
showTip: function(n){	//显示offer信息
return function(){
var windowHeight = $D.getViewportHeight();
var e = arguments[0] || window.event;
//$D.setStyle(detail_toolbar.dt_tip[n], 'display', 'block');
detail_toolbar.dt_tip[n].style.display = 'block';
//detail_toolbar.dt_tip[n].style.display = 'block';
/*$D.setStyle(detail_toolbar.dt_tip[n], 'bottom', windowHeight - e.clientY - 80 + 'px');
$D.setStyle(detail_toolbar.dt_tip[n], 'left', e.clientX +  5 + 'px');*/
//$D.setStyle(detail_toolbar.dt_tip[n], 'left', $D.getX(detail_toolbar.dt_tip[n].parentNode) - 34 + 'px');
detail_toolbar.dt_tip[n].style.left = $D.getX(detail_toolbar.dt_tip[n].parentNode) - 34 + 'px';
}
},
hideTip: function(n){	//隐藏offer信息
return function(){
//$D.setStyle(detail_toolbar.dt_tip[n], 'display', 'none');
detail_toolbar.dt_tip[n].style.display = 'none';
}
}
};
YAHOO.util.Event.onDOMReady(function(){
YAHOO.util.Event.addListener('recommend-to-friend-2', 'click', function(e){
YAHOO.util.Event.preventDefault(e);
recommendToFriend(2);
aliclick(null,'?tracelog=offerdetail_rmmdim_tab_27154');
});
YAHOO.util.Event.addListener('recommend-to-friend', 'click', function(e){
YAHOO.util.Event.preventDefault(e);
recommendToFriend(1);
aliclick(null,'?tracelog=offerdetail_rmmdim_tab_27154');
});
if (YAHOO.util.Dom.get('detail-toolbar')) {
detail_toolbar.init();
}
});
//})();
