﻿// 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;
}

function downPart(videoId,start,end,fileName)
{
    var time = new Date().getTime();
		var url = "http://localhost:5412/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 SaveAs()   
{
    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));  
        }
     }
}

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);
    }
}
