﻿function $e(objName) {
    if (document.getElementById) {
        return eval('document.getElementById("' + objName + '")');
    } else if (document.layers) {
        return eval("document.layers['" + objName + "']");
    } else {
        return eval('document.all.' + objName);
    }
}

function PicError(c) {
    if (c.src != "http://st.flamesky.com/UserData/HeadPics/-1/0.jpg36x36.jpg")
        c.src = "http://st.flamesky.com/UserData/HeadPics/-1/0.jpg36x36.jpg";
}


function ConvertSecond(sec) {
    var min = Math.floor(sec / 60);
    sec = Math.floor(sec % 60);
    var minstr = min.toString();
    var secstr = sec.toString();
    var m = "d";
    if (minstr.length == 1) {
        minstr = "0" + minstr;
    }
    if (secstr.length == 1) {
        secstr = "0" + secstr;
    }
    return minstr + ":" + secstr;
}

function ConvertSecondHourMode(sec) {
    var hour = Math.floor(sec / 3600);
    sec = sec % 3600;
    var min = Math.floor(sec / 60);
    sec = Math.floor(sec % 60);
    var minstr = min.toString();
    var secstr = sec.toString();
    var m = "d";
    var hourstr = hour.toString();

    if (hourstr.length == 1) {
        hourstr = "0" + hourstr;
    }
    if (minstr.length == 1) {
        minstr = "0" + minstr;
    }
    if (secstr.length == 1) {
        secstr = "0" + secstr;
    }
    return hourstr + ":" + minstr + ":" + secstr;
}
function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return document.getElementById(movieName);
    } else {
        return document[movieName];
    }
    return null;
}

function esc(str) {
    return encodeURIComponent(str);
}

function Ajax(statusId, recvType, statusClass) {
    var aj = new Object();
    aj.statusId = $e(statusId);
    if (statusClass !== '') { aj.statusId.className = statusClass; }
    aj.targetUrl = '';
    aj.sendString = '';
    aj.recvType = recvType ? recvType : 'HTML'; //HTML XML
    aj.resultHandle = null;

    aj.createXMLHttpRequest = function () {
        var request = false;
        if (window.XMLHttpRequest) {
            request = new XMLHttpRequest();
            if (request.overrideMimeType) {
                request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) {
            var versions = ['Msxml2.XMLHTTP.4.0', 'Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
            for (var i = 0; i < versions.length; i++) {
                try {
                    request = new ActiveXObject(versions[i]);
                    if (request) {
                        return request;
                    }
                } catch (e) {
                    //alert(e.message);
                }
            }
        }
        return request;
    }

    aj.XMLHttpRequest = aj.createXMLHttpRequest();

    aj.processHandle = function () {
        //aj.statusId.style.display = 'block';
        if (aj.XMLHttpRequest.readyState == 1) {
            if (aj.statusId)
                aj.statusId.innerHTML = '正在建立连接...';

        } else if (aj.XMLHttpRequest.readyState == 2) {
            if (aj.statusId)
                aj.statusId.innerHTML = '正在发送数据...';
        } else if (aj.XMLHttpRequest.readyState == 3) {
            if (aj.statusId)
                aj.statusId.innerHTML = '正在接受数据...';
        } else if (aj.XMLHttpRequest.readyState == 4) {
            if (aj.XMLHttpRequest.status == 200) {
                if (aj.statusId)
                    aj.statusId.innerHTML = '正在处理数据...';
                if (aj.recvType == 'HTML') {
                    aj.resultHandle(aj.XMLHttpRequest.responseText);
                } else if (aj.recvType == 'XML') {
                    aj.resultHandle(aj.XMLHttpRequest.responseXML);
                }
                //aj.statusId.style.display = 'none';
            } else {
                //alert(aj.XMLHttpRequest.responseText);
                aj.resultHandle("Error:网络失败！");
                if (aj.statusId)
                    aj.statusId.innerHTML = '连接服务器失败，请重新尝试！';
            }
        }
    }

    aj.get = function (targetUrl, resultHandle) {
        if (targetUrl.indexOf("?") > 0) {
            targetUrl += "&randnum=" + Math.random();
        }
        else {
            targetUrl += "?randnum=" + Math.random();
        }
        aj.targetUrl = targetUrl;
        aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
        aj.resultHandle = resultHandle;
        if (window.XMLHttpRequest) {
            aj.XMLHttpRequest.open('GET', aj.targetUrl);
            aj.XMLHttpRequest.send(null);
        } else {
            aj.XMLHttpRequest.open("GET", targetUrl, true);
            aj.XMLHttpRequest.send();
        }
    }

    aj.post = function (targetUrl, sendString, resultHandle) {
        if (targetUrl.indexOf("?") > 0) {
            targetUrl += "&randnum=" + Math.random();
        }
        else {
            targetUrl += "?randnum=" + Math.random();
        }
        aj.targetUrl = targetUrl;
        aj.sendString = sendString;
        aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
        aj.resultHandle = resultHandle;
        aj.XMLHttpRequest.open('POST', targetUrl);
        aj.XMLHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        aj.XMLHttpRequest.setRequestHeader("charset", "utf-8");
        aj.XMLHttpRequest.send(aj.sendString);
    }
    return aj;
}


function openWind(url) {
    var top = (document.body.clientHeight - 420) / 2;
    var left = (document.body.clientWidth - 520) / 2;
    window.open(url, 'connectwindow', 'height=420, width=520, toolbar =no, menubar=no, scrollbars=yes, resizable=no,top=' + top + ',left=' + left + ', location=no, status=no');
}

var PlayTimeStr = "";
var OldPageTitle = "";
var CrtTrackName = "";

function GetPlayingTitleFooter() {
    return CrtTrackName + " - " + OldPageTitle;
}

function BroadcastPSCNotify() {
    if (mcbase.PlayStatuChanggedEvent) {
        mcbase.PlayStatuChanggedEvent();
    }
}

function NotifyOnLinking(MusicName) {
    CrtTrackName = MusicName;
    document.title = "[连接]" + GetPlayingTitleFooter();
    mcbase.CrtPlayStatu = 0;
    BroadcastPSCNotify();
}

function NotifyOnPlaying() {
    document.title = "[播放]" + GetPlayingTitleFooter();
    mcbase.CrtPlayStatu = 2;
    BroadcastPSCNotify();
}


function NotifyOnBuffering() {
    document.title = "[缓冲]" + GetPlayingTitleFooter();
    mcbase.CrtPlayStatu = 1;
    BroadcastPSCNotify();
}

function NotifyOnStop() {
    document.title = OldPageTitle;
    mcbase.CrtPlayStatu = 4;
    BroadcastPSCNotify();
}

function NotifyOnPause() {
    document.title = "[暂停]" + GetPlayingTitleFooter();
    mcbase.CrtPlayStatu = 3;
    BroadcastPSCNotify();
}

function NotifyOnError() {
    document.title = OldPageTitle;
    mcbase.CrtPlayStatu = 5;
    BroadcastPSCNotify();
}

function NotifyTimespan(v) {
    if (PlayTimeStr != v) {
        PlayTimeStr = v;
        if (mcbase.TimespanEvent) {
            mcbase.TimespanEvent(eval("(" + v + ")"));
        }
    }
}


//base and biz obj
mcbase = {
    LastVolume: 100,
    CrtPlayStatu: -1,
    PlayStatuChanggedEvent: null,   //当播放状态改变的时候将调用的主动通知事件
    TimespanEvent: null, //当播放时间戳变更的时候将通知的时间
    GetStatuStr: function (Statu) {
        switch (Statu) {
            case 0: return "连接中";
            case 2: return "播放中";
            case 1: return "缓冲中";
            case 4: return "停止";
            case 3: return "暂停";
            case 5: return "错误";
            default: return "N/A";
        }
    },

    showobj: function (objname, show) {
        if (show) {
            $e(objname).style.display = "";
        }
        else {
            $e(objname).style.display = "none";
        }
    }
    ,
    AjaxGet: function (url, callback) {
        var ajax = new Ajax('', 'HTML', '');
        ajax.get(url,
        function (r) {
            if (typeof (callback) == "function") {
                callback(r);
            }
        });
    }
    ,
    AjaxPost: function (url, d, callback) {
        var ajax = new Ajax('', 'HTML', '');
        ajax.post(url, d,
        function (r) {
            if (typeof (callback) == "function") {
                callback(r);
            }
        });
    }
    , Init: function () {
        OldPageTitle = document.title;
        //初始化播放器代码
        document.write("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0\" width=\"1\" height=\"1\" id=\"Ku6PlayerMain\"><param name=\"movie\" value=\"/Fmp/FmpInSite.swf?v=2\" /><param name=\"quality\" value=\"high\" /><param name=\"wmode\" value=\"Opaque\"><embed src=\"/Fmp/FmpInSite.swf?v=2\" width=\"1\" height=\"1\" quality=\"high\" wmode=\"Opaque\" pluginspage=\"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application/x-shockwave-flash\" name=\"Ku6PlayerMain\" /></object>");
    },
    InitAndPlay: function (MusicID) {
        thisMovie("Ku6PlayerMain").CallReInitAndPlay(MusicID);
    },
    RequestVolume: function (v) {
        mcbase.LastVolume = v;
        thisMovie("Ku6PlayerMain").RequestVolume(v);
    },

    RequestPlay: function () {
        thisMovie("Ku6PlayerMain").CallPlay();
    },

    RequestPause: function () {
        thisMovie("Ku6PlayerMain").CallPause();
    },

    RequestGoto: function (pos) {
        thisMovie("Ku6PlayerMain").CallGoto(pos);
    }
};


function OnEnterExec(e, jscode) {
    var kv = window.event ? e.keyCode : e.which;
    if (kv == 13) {
        eval(jscode);
    }
}

function MCShow(ctrl) {
    $e(ctrl).style.display = "";
}

function MCHide(ctrl) {
    $e(ctrl).style.display = "none";
}

function MCDisable(ctrl) {
    $e(ctrl).disabled = true;
}

function MCEnable(ctrl) {
    $e(ctrl).disabled = false;
}
