/**
*本文件為公共頁面需要對某些特殊資源塊的擴展處理。
*如:視頻庫資源塊在發布之後的頁面,還需要進行一些初始化
*/
/*=================================Video Widget Start=============================*/
/*
*定義視頻渲染時,需要做的處理,該方法在頁面加載後,添加或修改資源時都使用到
*/
function existURL(_sParam){
var preSub = _sParam.split(",")[0].trim();
var index = preSub.indexOf(":");
var url = preSub.substring(index,preSub.length-1);
return url;
}
function checkUrlWithOutProtocol(_url){
var url = _url.toUpperCase();
return url.indexOf("HTTP:") < 0 && url.indexOf("MMS:") < 0;
}
function renderVideoWidget(data){
var rootPath = data.url;
if(checkUrlWithOutProtocol(rootPath)){
rootPath = wcm.Constant.ROOT_PATH + rootPath;
}
if(!rootPath.endsWith(".flv")){
var autoStart = data.autoStart ? 1 : 0;
var sHtml = [""];
$(data.container).innerHTML=sHtml.join("");
return;
}
var flashvars = {
autoPlay:"false",
logoAlpha:0,
isAutoBandWidthDetection:"false",
videoSource : rootPath
};
var params = {allowFullScreen:"true",wmode:"opaque"};
var attributes = {};
var path = "TRSVideoPlayer.swf";
if(window.BasePath){
path = wcm.Constant.SITE_PATH + "images/resources/TRSVideoPlayer.swf";
}
swfobject.embedSWF(path, data.container,
data.width, data.height, "9.0.124", false, flashvars, params, attributes);
}
/*
*頁面加載後,對視頻資源的初始化操作
*/
(function(){
DOM.ready(function(){
var doms = document.getElementsByClassName("c_video");
for(var i = 0; i < doms.length; i++){
var dom = doms[i];dom.id = dom.id || genExtId();
//增加有效性的校验
var value = Element.next(dom).value;
if(existURL(value) != ""){
var data = eval("("+value+")");
data.container = dom.id;
renderVideoWidget(data);
}
}
});
})();
/*=================================Video Widget End=============================*/
/*=================================tab_chnl_doc Widget Start=============================*/
(function(){
DOM.ready(function(){
var domInitBoxs = document.getElementsByClassName("divBox-select-1");
var domInitChnlBoxs = document.getElementsByClassName("chnl-item-select-1");
if(domInitBoxs && domInitChnlBoxs){
for (var t = 0,nLen = domInitBoxs.length; t < nLen; t++){
if(domInitBoxs[t]){ domInitBoxs[t].style.display = "block";
}
}
for (var i = 0,nChnlLen = domInitChnlBoxs.length; i < nChnlLen; i++){
if(domInitChnlBoxs[i]){
domInitChnlBoxs[i].className = "selected";
}
}
}
Event.observe(document.body, 'mouseover', function(event){
var event = window.event || event;
var dom = Event.element(event);
var liDom = Element.find(dom,"movetab");
if(liDom == null) return false;
dom = liDom;
var sEventTargetId = dom.getAttribute("eventTargetId");
var oDivId = sEventTargetId.split("_")[0];
var elTabs = document.getElementsByClassName("tab_holder", $(oDivId));
for (var j = 0,nLenj = elTabs.length; j < nLenj; j++){
var elLis = elTabs[j].childNodes;
var oldDom = null;
for (var i = 0,nLeni = elLis.length; i < nLeni; i++){
if(elLis[i].className == "selected"||elLis[i].className == "chnl-item-select-1"){
elLis[i].className = "";
oldDom = document.getElementById(elLis[i].getAttribute("eventTargetId"));oldDom.style.display = "none";
}
}
dom.className = "selected";
var eTargetId = dom.getAttribute("eventTargetId");
document.getElementById(eTargetId).style.display = "block";
}
});
});
})();
/*=================================tab_chnl_doc Widget End=============================*/
/*=================================RollingNews Widget Start=============================*/
/*
*定义滚动新闻渲染时,需要做的处理,该方法在页面加载后,添加或修改资源时都使用到
*/
function renderRollingNewsVidget(dom){
var contentdom;
if(!Element.hasClassName(dom, 'c_rollingnews_content_node'))
return;
contentdom = dom;
contentboxdom = contentdom.parentNode;
if(!Element.hasClassName(contentboxdom, 'c_rollingnews_content'))
return;
var stopScroll = false;
var timer=setInterval(function(contentdom,contentboxdom){
if(stopScroll == true)
return;
if(contentboxdom.innerHTML == '' || contentdom.innerHTML == '')
return;
if(contentdom.offsetWidth<=contentboxdom.scrollLeft){
contentboxdom.scrollLeft-=contentdom.offsetWidth;
}else{
++contentboxdom.scrollLeft;
}
if(contentboxdom.scrollLeft + contentboxdom.offsetWidth >= contentboxdom.scrollWidth){
contentboxdom.scrollLeft = 0;
}
}.bind(window, contentdom, contentboxdom),30);
Event.observe(contentboxdom, 'mouseout',function(){
stopScroll = false;
});
Event.observe(contentboxdom, 'mouseover',function(){
stopScroll = true;
});
}
/*
*頁面加載後,對滾動新聞資源的初始化操作
*/
(function(){
DOM.ready(function(){
var doms = document.getElementsByClassName("c_rollingnews_content_node");
for(var i = 0; i < doms.length; i++){
var dom = doms[i];dom.id = dom.id || genExtId();
renderRollingNewsVidget(dom);
}
});
})();
/*=================================RollingNews Widget End=============================*/
/*=================================trs-pic-dynamic-show Widget Start=============================*/
(function(){
var FocusVertical=function(){
var bPlaying = false;
function initOptions(op1,op2){
if(!op2)return;
for(var p in op1)
op1[p]=op2[p] || op1[p];
}
var startPlay=function(el,targetEl,s,max_v,min_v){
if(!el)return;
var a=setTimeout(function(){
var v = max_v;
if(el.offsetHeight+v=v){
targetEl.style.height=targetEl.offsetHeight-v+"px";
}else{
/*修改動態圖片展示資源在IE6下設置高度為0時不生效的問題*/
if(Ext.isIE6)
targetEl.style.height = 1+"px";
else
targetEl.style.height = 0+"px";
}
}
if(el.offsetHeight=v)){
startPlay(el,targetEl,s,max_v,min_v);
}else{
clearTimeout(a);
bPlaying = false;
}
},20);
}
// 獲取上一次圖片顯示的元素
var getLastEl = function(el){
var children = el.parentNode.childNodes;
for(var i=0;i"
);
aHtml.push(data.separator);;
}
if(aHtml.length > 0){
aHtml.pop();
}
Element.update(data.container, aHtml.join(""));
}
/*
*頁面加載後,對附件資源的初始化操作
*/
(function(){
//Event.observe(window, 'load', function(event){
DOM.ready(function(){
var doms = document.getElementsByName("docAppendixData");
for(var i = 0; i < doms.length; i++){
var dom = Element.previous(doms[i]);dom.id = dom.id || genExtId();
var value = doms[i].value;
var data = eval("("+value+")");
data.container = dom.id;
renderAppendixWidget(data);
}
});
})();
/*=================================Appendix Widget End=============================*/
/*=================================NumDetailPage Widget Begin=============================*/
//产生分页代码
function createPageHTML(_nPageCount, _nCurrIndex, _urls){
if(_nPageCount == null || _nPageCount<=1){
return "";
}
var nCurrIndex = _nCurrIndex || 0;
var aHtml = [];
// 1 输出首页和上一页
// 1.1 当前页是首页
if(nCurrIndex == 0){ aHtml.push("首頁上一頁");
}
//1.2 當前頁不是首頁
else{
var nPreIndex = nCurrIndex - 1;
var sPreFileExt = nPreIndex == 0 ? "" : ("_" + nPreIndex);
aHtml.push("首頁");
aHtml.push("上一頁");
}
var startIndex = 0;
if(_nCurrIndex-2>0){
startIndex = _nCurrIndex-2;
aHtml.push("...");
}
// 2 輸出中間分頁
for(var i=startIndex; i<_nPageCount && i< _nCurrIndex+3; i++){
if(nCurrIndex == i) aHtml.push(""+(i+1) + "");
else
aHtml.push(""+(i+1)+"");
}
if(_nCurrIndex+3<_nPageCount){ aHtml.push("...");
}
// 3 输出下一页和尾页
// 3.1 当前页是尾页
if(nCurrIndex == (_nPageCount-1)){ aHtml.push("下一頁尾頁");
}
// 3.2 當前頁不是尾頁
else{
var nNextIndex = nCurrIndex + 1;
var sPreFileExt = nPreIndex == 0 ? "" : ("_" + nPreIndex);
aHtml.push("下一頁 ");
aHtml.push("尾頁");
}
return aHtml.join("");
}
//獲取當前分頁
function getPageIndex(){
var src = window.location.href;
src = src.split("/")[src.split("/").length -1];
if(src.indexOf("?") >=0){
src = src.substring(0,src.indexOf("?"));
}
var length = src .split("_").length;
var index = 0;
if(length > 1){
src = src.split("_")[length-1];
src = src.substring(0,src.indexOf("."));
index = parseInt(src);
}
return index;
}
/*
*頁面加載後,對數字分頁導航資源的初始化操作
*/
(function(){
//Event.observe(window, 'load', function(event){
DOM.ready(function(){
var doms = document.getElementsByName("numDetailPageData");
for(var i = 0; i < doms.length; i++){
var dom = Element.previous(doms[i]);
dom.id = dom.id || genExtId();
var value = doms[i].value;
var data = eval("("+value+")");
var urls = data.urls.split(",");
dom.innerHTML = createPageHTML(urls.length-1, getPageIndex(), urls);
}
});
})();
/*=================================NumDetailPage Widget End=============================*/
/*=================================Special Logo Widget Start============================*/
(function(){
//Event.observe(window, 'load', function(event){
DOM.ready(function(){
var doms = document.getElementsByName("special-logo-data");
for(var i = 0; i < doms.length; i++){
var data = eval("("+doms[i].value+")");
if(isFlash(data.url)){
var elem = document.createElement("DIV");
doms[i].parentNode.appendChild(elem);
elem.id="flashcontent_"+data.id;
var flashvars = {
autoPlay:"false",
logoAlpha:0,
isAutoBandWidthDetection:"false",
videoSource : data.url
};
swfobject.embedSWF(data.url,elem.id,data.width,data.height,"9.0.124",false,flashvars,{allowFullScreen:"true",wmode:"opaque"},{})
}else{
var elem = document.createElement("IMG");
doms[i].parentNode.appendChild(elem);
elem.setAttribute("src",data.url);
elem.style.width = "100%";
//elem.setAttribute("width",data.width);
//elem.setAttribute("height",data.height);
}
}
});
function isFlash(filename){
var fileExt = filename.substring(filename.lastIndexOf(".")+1);
if(fileExt.toLowerCase()=="swf")
return true;
return false;
}
})();
/*=================================Special Logo Widget End==============================*/