﻿// JScript 文件

var AjaxValidation=true;
var exp;


function getOs() {
    if (navigator.userAgent.indexOf("MSIE") > 0) return 1;
    if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) return 2;
    if (isSafari = navigator.userAgent.indexOf("Safari") > 0) return 3;
    if (isCamino = navigator.userAgent.indexOf("Camino") > 0) return 4;
    if (isMozilla = navigator.userAgent.indexOf("Gecko/") > 0) return 5;
    return 0;
}


function CreateXMLHttp() {
    exp = getOs();
    if (window.XMLHttpRequest) {
    return new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP");
    }
    else {
    AjaxValidation = false;
    return null;
    }
}

function contactServer(method, destination, handler,isAsyn) {
    var xmlHttpSender = CreateXMLHttp();
    if (!AjaxValidation) {alert("Ajax is not supported!");return}
    handler.BeforeEvent();
    var _asyn = true;
    if (isAsyn != undefined) { _asyn = isAsyn; }
    xmlHttpSender.open(method, destination, _asyn);
    xmlHttpSender.onreadystatechange = function() {
    if (xmlHttpSender.readyState == 4 && xmlHttpSender.status == 200) {
    handler.CompletedEvent(xmlHttpSender.responseText);
    }
    }
    xmlHttpSender.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xmlHttpSender.send(handler.ParamString());
    if (exp == 2 && (!_asyn)) {
    handler.CompletedEvent(xmlHttpSender.responseText);    
    }
}




var AjaxHandler = function(method,destination,beforeSentHandler, completeSentHandler, paramFunc) {
    return {    
    BeforeEvent: beforeSentHandler || function() { },
    CompletedEvent: completeSentHandler || function() { },
    ParamString: paramFunc || function() { },
    Method: method||null,
    URL: destination||null
    };
}

/****
添加评论：
参数：parent 父级评论编号，如没有则父级编号，则为0
      userName 用户名
      content 评论内容
****/
function addDiscuss(parent,userName,content,videoId,name,company,tel)
{
	if(userName)
	{
		userName = "";
	}
	if(company)
	{
		company = "";
	}
	if(tel)
	{
		tel = "";
	}
    var myDate = new Date();
    var f=false;
     var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        if(text=="True") f=true;
        else f=false;
    };
    contactServer("get", "/GetData.aspx?work=addDiscuss&userName="+escape(userName)+"&content="+escape(content)+"&parent="+parent+"&videoId="+videoId+"&name="+escape(name)+"&company="+escape(company)+"&tel="+tel+"&time="+myDate.getMilliseconds(), Handler, false);
    return f;
}

function getDiscuss(pageNum,videoId)
{
    var myDate = new Date();
    var f=false;
     var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        document.getElementById("mydiscuss").innerHTML = text;
    };
    contactServer("get", "/GetData.aspx?work=getDiscuss&page="+pageNum+"&videoId="+videoId+"&time="+myDate.getMilliseconds(), Handler, false);
    return f;
}

function getPartVideo(pageNum,videoId)
{
    var myDate = new Date();    
     var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        document.getElementById("partvideoList").innerHTML = text;
    };
    contactServer("get", "/GetData.aspx?work=getPartVideo&page="+pageNum+"&videoId="+videoId+"&time="+myDate.getMilliseconds(), Handler, false);
}

//验证是否登录，返回登录html片段
function checkLogin(myUser,myPwd)
{
    var content="";
    var myDate = new Date();
    var f=false;
     var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        content = text;
    };
    contactServer("get", "/GetData.aspx?work=login&user="+escape(myUser)+"&pwd="+myPwd+"&time="+myDate.getMilliseconds(), Handler, false);
    return content;
}

//获取登录信息
function checkIsLogin()
{
    var content="";
    var myDate = new Date();
    var f=false;
     var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        content = text;
    };
    contactServer("get", "/GetData.aspx?work=getLoginMsg&time="+myDate.getMilliseconds(), Handler, false);
    return content;
}

function logout()
{   
    var myDate = new Date();
    var f=false;
     var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        document.getElementById("loginMsg").innerHTML = text;
    };
    contactServer("get", "/GetData.aspx?work=logout&time="+myDate.getMilliseconds(), Handler, false);    
}

//验证是否登录，如登录则返回true,未登录返回false
function IsLogin()
{
    var f = false;
    var myDate = new Date();
    var f=false;
    var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        if(text=="True") f = true;
    };
    contactServer("get", "/GetData.aspx?work=checkLogin&time="+myDate.getMilliseconds(), Handler, false); 
    return f;
}
/***
片段保存：
videoId:视频编号
startTime 开始时间
endTime:结束时间
title:片段标题
***/
function savePartVideo(videoId,startTime,endTime,title)
{    
    var f = false;
    var myDate = new Date();
    var f=false;
    var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        if(text=="True") f = true;
    };
    contactServer("get", "/GetData.aspx?work=savePart&videoId="+videoId+"&start="+startTime+"&end="+endTime+"&title="+escape(title)+"&time="+myDate.getMilliseconds(), Handler, false); 
    return f;
}

/***
视频保存：
videoId:视频编号
***/
function saveVideo(videoId)
{
    var f = false;
    var myDate = new Date();
    var f=false;
    var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        if(text=="True") f = true;
    };
    contactServer("get", "/GetData.aspx?work=saveVideo&videoId="+videoId+"&time="+myDate.getMilliseconds(), Handler, false); 
    return f;
}

var Isinstall = false;
var IsRun = false;
function downPart(videoId,start,end,fileName) {
    var time = new Date().getTime();
    var url = "http://127.0.0.1:1937/nmc?cmd=splitmedia&jsonp=getDownMsg&chan_id=" + $('#hidId').val() + "&split_start=" + $("#start_frame_time").val() + "&split_end=" + $("#end_frame_time").val() + "&save_path=" + fileName + "&time=" + time;
    document.getElementById('script1').src = url;
}

function down() {
    if (IsRun) {
        var startDate = $("#start_frame_time").val().split(':');
        var startTime = parseInt(startDate[0]) * 3600 + parseInt(startDate[1]) * 60 + parseInt(startDate[2]);
        var endDate = $("#end_frame_time").val().split(':');
        var endTime = parseInt(endDate[0]) * 3600 + parseInt(endDate[1]) * 60 + parseInt(endDate[2]);
        if ((endTime - startTime) > 300 || (endTime - startTime) == 0) {
            alert("只能下载5分钟片段");
            return;
        }
        var title = $("#videoTitle").val().replace(/\s/gi, "");
        if (title == "") {
            alert("请输入片段标题");
            return;
        }
        try {
            var fileSave = new ActiveXObject("MSComDlg.CommonDialog");
            fileSave.Filter = "rm";
            fileSave.FilterIndex = 2;          // 必须设置MaxFileSize. 否则出错
            fileSave.MaxFileSize = 128;
            fileSave.ShowSave();
            if (fileSave.FileName != "") {
                downPart($('#hidVideoId').val(), $("#start_frame_time").val(), $("#end_frame_time").val(), escape(fileSave.FileName) + ".rm");
            }
        }
        catch (err) {
            var path = "D:\\" + document.getElementById("titleMsg").innerHTML.replace(":", "_") + ".rm";
            if (prompt("请输入下载路径：", path)) {
                downPart($('#hidVideoId').val(), $("#start_frame_time").val(), $("#end_frame_time").val(), escape(path));
            }
        }
    }
    else {
        alert("正在启动flash加速程序，请稍等！");
    }
}

function runClient() {
    Isinstall = true;   
}

function IsRunClient() {
    if (Isinstall) {
        var url = "http://127.0.0.1:1937/nmc?cmd=runnmcclient&jsonp=run";
        document.getElementById("script1").src = url;
        setTimeout(down, 2000);
    }
    else {
        if (confirm("安装flash加速程序后，才能下载该视频，请问是否下载？")) {
            window.location.href = "/flashPlayer3.3.14.rar";
        }
    }
}

function run() {
    IsRun = true;
}

function SaveAs() {
    var url = "http://127.0.0.1:1937/nmc?cmd=testnmcclient&jsonp=runClient";
    document.getElementById("script1").src = url;
    setTimeout(IsRunClient, 2000);
}

function getDownMsg(jsonptext)
{
    alert(jsonptext.exp_code);//jsonptext.exp_code : 提示信息
//	alert(jsonptext.op_result);//jsonptext.op_result : 执行状态 0为成功 其余为失败
//	alert(jsonptext.task_id);//jsonptext.task_id : 频道的id
}


function getSearchKeyList(key)
{
    var serchContnet = "";
    var f = false;
    var myDate = new Date();
    var f=false;
    var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        serchContnet = text;
    };
    contactServer("get", "/GetData.aspx?work=getKey&key="+escape(key)+"&time="+myDate.getMilliseconds(), Handler, false);
    return serchContnet;
}

function getJsonPartList(code)
{
    var serchContnet = "";
    var f = false;
    var myDate = new Date();
    var f=false;
    var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        serchContnet = text;
    };
    contactServer("get", "/GetData.aspx?work=getJsonPartList&code="+code+"&time="+myDate.getMilliseconds(), Handler, false);
    return serchContnet;
}

function getJsonHistoryList()
{
    var serchContnet = "";
    var f = false;
    var myDate = new Date();
    var f=false;
    var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        serchContnet = text;
    };
    contactServer("get", "/GetData.aspx?work=getJsonHistoryList&time="+myDate.getMilliseconds(), Handler, false);
    return serchContnet;
}

function getJsonRelationList(id)
{
    var serchContnet = "";
    var f = false;
    var myDate = new Date();
    var f=false;
    var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        serchContnet = text;
    };
    contactServer("get", "/GetData.aspx?work=getJsonRelationList&id="+id+"&time="+myDate.getMilliseconds(), Handler, false);
    return serchContnet;
}

function getJsonRankingList()
{
    var serchContnet = "";
    var f = false;
    var myDate = new Date();
    var f=false;
    var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        serchContnet = text;
    };
    contactServer("get", "/GetData.aspx?work=getJsonRankingList&time="+myDate.getMilliseconds(), Handler, false);
    return serchContnet;
}

function SetScore(id,score)
{
    var f = false;
    var myDate = new Date();
    var f=false;
    var Handler = new AjaxHandler();
        Handler.CompletedEvent = function(text) {
        if(text=="True")
        {
            document.getElementById("thisScore").innerHTML = score+"分";
        }
    };
    contactServer("get", "/GetData.aspx?work=getScore&id="+id+"&score="+score+"&time="+myDate.getMilliseconds(), Handler, false);
}

function runScript(srcpath, onReady) {
    var ScriptId = "spc"; //在这里设置Script的ID,以免与别的SCRIPT重名

    var script = document.createElement("script");
    with (script) {
        language = "javascript";
        src = srcpath;
        charset = "gbk";
        onreadystatechange = function () { if (readyState == "complete") if (typeof (onReady) == "function") onReady(); }
    }
    var head = document.getElementsByTagName("head");
    if (head.length) {
        var currscript = document.getElementById(ScriptId);
        if (currscript != null) head[0].replaceChild(script, currscript);
        else head[0].appendChild(script);
    }
}
