﻿

//********模拟selectNodes功能 XMLHttpRequest标准 FireFox,Safari,Opera*********
if (document.implementation && document.implementation.createDocument) {
    XMLDocument.prototype.loadXML = function(xmlString) {
        var childNodes = this.childNodes;
        for (var i = childNodes.length - 1; i >= 0; i--)
            this.removeChild(childNodes[i]);

        var dp = new DOMParser();
        var newDOM = dp.parseFromString(xmlString, "text/xml");
        var newElt = this.importNode(newDOM.documentElement, true);
        this.appendChild(newElt);
    };

    // check for XPath implementation
    if (document.implementation.hasFeature("XPath", "3.0")) {
        // prototying the XMLDocument
        XMLDocument.prototype.selectNodes = function(cXPathString, xNode) {
            if (!xNode) { xNode = this; }
            var oNSResolver = this.createNSResolver(this.documentElement)
            var aItems = this.evaluate(cXPathString, xNode, oNSResolver,
        XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
            var aResult = [];
            for (var i = 0; i < aItems.snapshotLength; i++) {
                aResult[i] = aItems.snapshotItem(i);
            }
            return aResult;
        }

        // prototying the Element
        Element.prototype.selectNodes = function(cXPathString) {
            if (this.ownerDocument.selectNodes) {
                return this.ownerDocument.selectNodes(cXPathString, this);
            }
            else { throw "For XML Elements Only"; }
        }
    }

    // check for XPath implementation
    if (document.implementation.hasFeature("XPath", "3.0")) {
        // prototying the XMLDocument
        XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode) {
            if (!xNode) { xNode = this; }
            var xItems = this.selectNodes(cXPathString, xNode);
            if (xItems.length > 0) {
                return xItems[0];
            }
            else {
                return null;
            }
        }

        // prototying the Element
        Element.prototype.selectSingleNode = function(cXPathString) {
            if (this.ownerDocument.selectSingleNode) {
                return this.ownerDocument.selectSingleNode(cXPathString, this);
            }
            else { throw "For XML Elements Only"; }
        }
    }
}
//******************************************************************

var xmlDoc;
var xmlHttp = null;

//创建XMLDOM并返回Nodes
function funCreateNodes(strFilename, strXPath) {
    //Microsoft标准
    if (window.ActiveXObject) {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = false;
        xmlDoc.load(strFilename);

        //错误提示
        if (xmlDoc.parseError != 0) {
            //alert("Error!["+ strFilename +"]");
            return false;
        }
    }
    //XMLHttpRequest标准
    else if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
        if (xmlHttp != null) {
            xmlHttp.open("GET", strFilename, false);
            xmlHttp.send(null);

            //错误提示
            if (xmlHttp.status != 200) {
                //alert("Error!["+ strFilename +"]");
                return false;
            }
            xmlDoc = xmlHttp.responseXML;
        }
    }
    return xmlDoc.selectNodes(strXPath);
}


//定时器-指定网页加载完成后一定时间内显示列表
var i = 0;
function funBegin() {

    funNoMenu(); //禁止网页右键菜单功能

    funIncludeCss(); //动态加载CSS

    if (i < 16)//1.6秒
    {
        i++;
        window.setTimeout("funBegin()", 100);
    }
    else {
        funLoadData(); //启动主函数

        //        中繁体字体加1PX
        //        funSetFontSize("scrollholder_profile");
        //        funSetFontSize("scrollholder_people");
        //        funSetFontSize("scrollholder_news");
        //        funSetFontSize("scrollholder_project");
        //        funSetFontSize("Awards_Synopsis");
        //        funSetFontSize("scrollholder_awards");
        //        funSetFontSize("carContent");
    }
}

//禁止右键功能
function funNoMenu() {
    window.document.body.oncontextmenu = function() {
        return false;
    }
}


//动态加载CSS
function funIncludeCss() {
    if (funGetLang() == "ENG") {
        $.include('en.css')
    }
    else {
        $.include('ch.css')
    }
}


//中繁体字体加1PX
function funSetFontSize(obName) {
    if (strLang == "CHT" || strLang == "CHS") {
        if (document.getElementById(obName)) {
            document.getElementById(obName).style.fontSize = "13px";
        }
    }
}

//页面重定位
function funResizeElements() {
    var win = document.documentElement;
    var ele = document.getElementById("all_hand");

    if (win.offsetHeight > 820)
        ele.style.top = win.offsetHeight / 2 - ele.offsetHeight / 2 + "px";
    else
        ele.style.top = 60 + "px";

    if (win.offsetWidth > 1260)
        ele.style.left = win.offsetWidth / 2 - ele.offsetWidth / 2 + "px";
    else
        ele.style.left = 50 + "px";

    ele.style.visibility = "visible";
}

//接收参数函数
function Request(key) {
    var search = location.search.slice(1); //得到get方式提交的查询字符串 
    var arr = search.split("&");
    for (var i = 0; i < arr.length; i++) {
        var ar = arr[i].split("=");
        if (ar[0] == key) {
            return ar[1];
        }
    }
}

//获取当前语言
function funGetLang() {
    var strLang = "ENG";
    var strRe = Request("lang");

    if (strRe)
        strRe = strRe.substring(0, 3);

    if (strRe == "ENG" || strRe == "CHT" || strRe == "CHS") {
        return strRe;
    }
    else {
        return strLang;
    }
}

//获取当前文件名
function funGetFilename() {
    var arr = window.location.pathname.split("/");
    var strFilename = arr[arr.length - 1];
    return strFilename;
}

//获取当前导航栏选择ID
function funGetNav() {
    var arr = funGetFilename().split(".");
	var strNav = "Nav" + arr[0].substr(0, 1).toUpperCase() + arr[0].substr(1);
    return strNav;
}

//语言栏 选择后转向
function funSelectLang(strLang) {
    if (funGetLang() != strLang) {
        var strFilename = funGetFilename();
        location = strFilename + "?lang=" + strLang;
    }

}

//导航栏 页面转向
function funNav(strFilename) {
    if (strFilename != funGetFilename()) {
        var str = strFilename + "?lang=" + strLang;
        location = str;
    }

}

//改变列表样式
function ChangeState(e, obUl, strItemClass) {
    var src;

    if (window.event) {
        src = window.event.srcElement;
    }
    else {
        src = e.target;
    }

    if (src.tagName == "A") {
        var listLi
        listLi = obUl.getElementsByTagName("a");
        for (var i = 0; i < obUl.childNodes.length; i++) {
            if (listLi[i]) {
                listLi[i].className = strItemClass + " colorGray";
            }
        }
        listLi = obUl.getElementsByTagName("div");
        for (var i = 0; i < obUl.childNodes.length; i++) {
            if (listLi[i]) {
                listLi[i].className = strItemClass + " colorGray";
            }
        }
        src.className = strItemClass + " colorWhite borderWhite";
    }

    if (src.tagName == "P") {
        var listLi
        listLi = obUl.getElementsByTagName("a");
        for (var i = 0; i < obUl.childNodes.length; i++) {
            if (listLi[i]) {
                listLi[i].className = strItemClass + " colorGray";
            }
        }
        listLi = obUl.getElementsByTagName("div");
        for (var i = 0; i < obUl.childNodes.length; i++) {
            if (listLi[i]) {
                listLi[i].className = strItemClass + " colorGray";
            }
        }
        src.parentNode.className = strItemClass + " colorWhite borderWhite";
    }
}

function ChangeStatePeopleList(e, obUl, strItemClass) {
    var src;

    if (window.event) {
        src = window.event.srcElement;
    }
    else {
        src = e.target;
    }

    if (src.tagName == "A") {
        var listLi
        listLi = obUl.getElementsByTagName("a");
        for (var i = 0; i < obUl.childNodes.length; i++) {
            if (listLi[i]) {
                listLi[i].className = strItemClass + " colorGrayPeopleList";
            }
        }
        listLi = obUl.getElementsByTagName("div");
        for (var i = 0; i < obUl.childNodes.length; i++) {
            if (listLi[i]) {
                listLi[i].className = strItemClass + " colorGrayPeopleList";
            }
        }
        src.className = strItemClass + " colorWhite borderWhite";
    }
}

//改变列表样式 - For 灰色页面
function ChangeStateBG(e, obUl, strItemClass) {
    var src;
    if (window.event) {
        src = window.event.srcElement;
    }
    else {
        src = e.target;
    }
    if (src.tagName == "A") {
        var listLi = obUl.getElementsByTagName("a");
        for (var i = 0; i < obUl.childNodes.length; i++) {
            if (listLi[i]) {
                listLi[i].className = strItemClass + " colorGrayAboutus";
            }
        }
        src.className = strItemClass + " borderWhite";
    }
}

//改变列表样式 - For 灰色页面 Aboutus
function ChangeStateAboutus(e, obUl, strItemClass) {
    var src;
    if (window.event) {
        src = window.event.srcElement;
    }
    else {
        src = e.target;
    }
    if (src.tagName == "A") {
        var listLi = obUl.getElementsByTagName("a");
        $(".ulItemRedAboutusPeopleList").addClass(strItemClass + " colorGrayAboutus");
        //        for (var i = 0; i < obUl.childNodes.length; i++) {
        //            if (listLi[i]) {
        //                listLi[i].className = strItemClass + " colorGrayAboutus";
        //            }
        //        }
        src.className = strItemClass;
    }
}

//MouseOver MouseOut图片透明度
function funImgFadeTo(strDiv, speed, opacity) {
    var speed = speed || 20, opacity = opacity || 0.5;
    $(strDiv).hide()
    $(strDiv).fadeTo("fast", opacity);
    $(strDiv).fadeIn("slow");
    $(strDiv).mouseover(function() {
        $(this).fadeTo(speed, 1.0);
    });
    $(strDiv).mouseout(function() {
        $(this).fadeTo(speed, opacity);
    });
}

//模拟MouseOver改变样式
function changeClass(obj, state) {
    if (state == 1) {
        obj.className = obj.id + "_Hover";
    }
    else {
        obj.className = obj.id;
    }
}


function isIE8() {
    var browserVersion = navigator.appVersion.toLowerCase();
    return (browserVersion.indexOf('msie 8') != -1)
}

//格式化字符串
function funGetFormatText(str) {
    if (str.length > 0) {
        if (strLang != "ENG" && window.ActiveXObject && !isIE8()) {
            str = str.replace(/\n/g, "<br /><br />"); //转换换行符号
            str = str.replace('<br />', ""); //删除第一个换行符
        }
        else {
            str = str.replace(/\n/g, "<br />"); //转换换行符号
        }

        str = str.replace('<br />', ""); //删除第一个换行符
    }
    return str;
}


//格式化字符串
function funGetFormatText2(str) {
    if (str.length > 0) {
        str = str.replace(/\n/g, "<br />"); //转换换行符号
        str = str.replace('<br />', ""); //删除第一个换行符
    }

    return str;
}


//Convert [url]xxx[/url] to <a>xxx</a>
function funUrlHtml(str) {
    return str.replace(/\[url\](.+?)\[\/url\]/gi, "<a target=_blank href=\"http://$1\">$1</a>");
}


//动画右至左
function funMarqueeLeft(strName, intDistance, intSpeed) {
    var objDiv = document.getElementById(strName);
    if (intDistance > 0) {
        if ((intDistance - intSpeed) >= 0)
            objDiv.style.left = objDiv.offsetLeft - intSpeed + "px";
        else
            objDiv.style.left = objDiv.offsetLeft - intDistance + "px";
        window.setTimeout("funMarqueeLeft('" + strName + "'," + (intDistance - intSpeed) + "," + intSpeed + ")", 10);
    }
}

//动画左至右
function funMarqueeRight(strName, intDistance, intSpeed) {
    var objDiv = document.getElementById(strName);
    if (intDistance > 0) {
        if ((intDistance - intSpeed) >= 0)
            objDiv.style.left = objDiv.offsetLeft + intSpeed + "px";
        else
            objDiv.style.left = objDiv.offsetLeft + intDistance + "px";
        window.setTimeout("funMarqueeRight('" + strName + "'," + (intDistance - intSpeed) + "," + intSpeed + ")", 10);
    }
}

//DIV播放动画
function funMarquee() {

    var objPar1 = document.getElementById("MAR1");
    funMarqueeLeft(objPar1.id, objPar1.getAttribute("distance"), 5);

    var objPar2 = document.getElementById("MAR2");
    funMarqueeRight(objPar2.id, objPar2.getAttribute("distance"), 5);

    var objPar3 = document.getElementById("MAR3");
    funMarqueeLeft(objPar3.id, objPar3.getAttribute("distance"), 5);

    var objPar4 = document.getElementById("MAR4");
    funMarqueeRight(objPar4.id, objPar4.getAttribute("distance"), 5);

    var objPar5 = document.getElementById("MAR5");
    funMarqueeRight(objPar5.id, objPar5.getAttribute("distance"), 5);

    var objPar6 = document.getElementById("MAR6");
    funMarqueeLeft(objPar6.id, objPar6.getAttribute("distance"), 5);

    var objPar7 = document.getElementById("MAR7");
    funMarqueeLeft(objPar7.id, objPar7.getAttribute("distance"), 5);

    var objPar8 = document.getElementById("MAR8");
    funMarqueeRight(objPar8.id, objPar8.getAttribute("distance"), 5);
}
