//////////////////////////////////////////////////
//ligang
function $(id)
{
	var obj = top.document.getElementById(id);
	if (obj != null)
		return obj;
	else
	{
		try
		{
		obj = top.window.frames['view'].document.getElementById(id)	
		}
		catch(e)
		{}
		if (obj != null)
		return obj;
		else
		{
			try
			{
			obj = top.window.frames['set_config_iframe'].document.getElementById(id)	
			}
			catch(e)
			{}
			if (obj != null)
			return obj;
		}
	}
	return null;
}

var VT_ALL			= "10";
var VT_DOWNLOADING	= "11";
var VT_DOWNLOADED	= "12";
var VT_RECYCLE		= "3";
var VT_SEARCH		= "20";
var VT_OTHER		= "13";
var VT_YOUYOU       = "61";
var VT_KANKAN       = "62";

//////////////////////////////////////////////////
// Splitter variables
//////////////////////////////////////////////////
var SPLITTER_RECORD		= "{\r\r*\r\r}";
var SPLITTER_FIELD		= "{\r*\r}";
var Nodata_Flag 		= "--";
var media_file_exts		= [".asf", ".mp3", ".mpeg", ".mpg", ".mpga", ".rm", ".rmvb", ".wma", ".wmv"];

var LINE_SELECTED 		= "#e9f3fa";
var LINE_UNSELECTED 	= "#ffffff";

var COLOR_ENABLED		= "black";
var COLOR_DISABLED		= "darkgray";

var REBUILD_ALL			= 1;
var REBUILD_LIST		= 2;
var REBUILD_FORCE		= 3;

// Call back disp id
var LIST_CALLBACK = 101;
var INDEX_CALLBACK = 102;

var TaskType_Generic 	= "0";
var TaskType_BT			= "2";

var OPERATION_START_ALL				= 300;				// 开始(分类)全部任务
var OPERATION_STOP_ALL				= 301;				// 暂停(分类)全部任务
var OPERATION_DELETE_ALL			= 302;				// 删除(分类)全部任务
var OPERATION_RESTORE_ALL			= 303;				// 还原(分类)全部任务

//////////////////////////////////////////////////
// Task status defines
/////////////////////////////////////////////////
var Status_Connect				= 0;
var Status_CreateFile			= 1;
var Status_Download 			= 2;
var Status_Upload				= 7;
var Status_Pause				= 10;
var Status_Complete				= 11;
var Status_Fail 				= 12;
var Status_Wait					= -1;
var Status_Schedule				= 20;		// (pause*2)

//////////////////////////////////////////////////
// Task Action
//////////////////////////////////////////////////
var xlTaskAction_Add			= 1;
var	xlTaskAction_Start			= 2;
var	xlTaskAction_PropertyChange	= 3;
var	xlTaskAction_Stop			= 4;
var	xlTaskAction_Delete			= 5;		
var	xlTaskAction_IndexChange	= 6;
var	xlTaskAction_ToHistory		= 7;
var	xlTaskAction_FromHistory	= 8;
var	xlTaskAction_StopUpload		= 9;
var	xlTaskAction_StartUpload	= 10;
//////////////////////////////////////////////////
// Login status defines
//////////////////////////////////////////////////
var LoginStatus_NotLogin		= 1;
var LoginStatus_LoginProcess	= 2;
var LoginStatus_LoginOkay		= 3;
var LoginStatus_LoginFailed		= 4;

//////////////////////////////////////////////////
// Blog status
//////////////////////////////////////////////////
var BlogStatus_Unknown			= 900;
var BlogStatus_Busy				= 901;
var BlogStatus_HaveRemark		= 200;
var BlogStatus_NoRemark			= 304;
var BlogStatus_NoBlog			= 404;
var BlogStatus_Error			= 400;

//////////////////////////////////////////////////
// Message icon defines
//////////////////////////////////////////////////
var ICON_NONE				= 0;
var ICON_INFORMATION		= 1;
var ICON_ALERT				= 2;
var ICON_ERROR				= 3;
var ICON_QUESTION			= 4;
var version 					= -1;


//////////////////////////////////////////
///author by ligang image 
BACK_IMG = new Image();
BACK_IMG.src = "images/images.gif";
MENU_FLOAT_IMG = new Image();
MENU_FLOAT_IMG.src = "images/menu_icons.gif";
ALL_LEFT = new Image();
ALL_LEFT.src = "images/leftall.gif";
///////////////////////////////////

var thunder_server = null;
try{thunder_server = new ActiveXObject("ThunderServer.WebThunder.1");}catch(e){}

function set_thunder(_t)
{
	if (_t == null)
		return;
	
	thunder_server = _t;
}

function get_server_build_version()
{
	var ary = thunder_server.GetVersion().split(".");
	if (ary.length > 3)
		version = parseInt(ary[3]);
	return version;
}
function get_version_string()
{
	if (thunder_server == null)
		return "";
	return thunder_server.GetVersion();
}
function get_server_path()
{
	if(thunder_server == null)
		return "";
	var path = thunder_server.GetServerPath();
	return path;
}
function Trim(_text)
{
	return _text.replace(new RegExp("(^[\\s]*)|([\\s]*$)", "g"), "");
}
function get_inner_text_from_html(_html)
{
	return _html.replace(/<(.*?)>/g,"");
}
function cut_string(strString, nLength)
{
	var nTheLength = 0;
	for(var nIndex=0; nIndex<strString.length; nIndex++)
	{
		if(strString.charCodeAt(nIndex) > 255)
			nTheLength += 2;
		else
			nTheLength += 1;
		if(nTheLength >= nLength)
			break;
	}
	
	var strResult = strString.substr(0, nIndex);
	
	if(strResult.length < strString.length)
		strResult = strResult + "...";
	return strResult;
}
function number_to_string(theNumber, dotCount, bRound)
{
	var strResult;
	if(dotCount == 0)
	{
		theNumber = parseInt(theNumber);
		strResult = theNumber.toString();
	}
	else
	{
		if(bRound == true)
		{
			var nGene = Math.pow(10, dotCount);	
			theNumber *= nGene;
			theNumber = Math.round(theNumber);
			theNumber /= nGene;
			strResult = theNumber.toString();
		}
		else
		{
			var strNumber = theNumber.toString();
			var nDotIndex = strNumber.indexOf(".");
			if(nDotIndex != -1)
				strNumber = strNumber.substr(0, nDotIndex + dotCount + 1);
			strResult = strNumber;
		}
	}
	return strResult;
}
function number_to_description(theNumber, dotCount, bRound)
{
	var strUnit;
	var nM = 1024 * 1024;	
	var nG = 1024 * 1024 * 1024;	
	if(theNumber > nG)
	{
		theNumber = theNumber / nG;
		strUnit = "G";
	}
	else if(theNumber > nM)
	{
		theNumber = theNumber / nM;
		strUnit = "M";
	}
	else if(theNumber > 1024)
	{
		theNumber = theNumber / 1024;
		strUnit = "K";
	}
	else
	{
		strUnit = "";
	}
	
	var strResult = number_to_string(theNumber, dotCount, bRound) + strUnit;
	return strResult;
}
function dword_to_date(nSystemTime)
{
	if(nSystemTime < 1000)
		return "";

	var nTime = parseInt(nSystemTime * 1000);
	
	var theTime = new Date(nTime);
	var theYear = theTime.getYear();
	var theMon = theTime.getMonth() + 1;
	var theDay = theTime.getDate();
	var theHour = theTime.getHours();
	var theMin = theTime.getMinutes();
	var theSec = theTime.getSeconds();
	
	var nowTime = new Date();
	var nowYear = nowTime.getYear();
	var nowMon = nowTime.getMonth() + 1;
	var nowDay = nowTime.getDate();
	var nowHour = nowTime.getHours();
	var nowMin = nowTime.getMinutes();
	var nowSec = nowTime.getSeconds();
	
	if(nowYear > theYear)
	{
		return theYear + "-" + add_prefix_zero(theMon) + "-" + add_prefix_zero(theDay);
	}
	else if(nowMon > theMon || nowDay > theDay)
	{
		return theMon + "月" + theDay + "日";		
	}
	else
	{
		return add_prefix_zero(theHour) + ":" + add_prefix_zero(theMin) + ":" + add_prefix_zero(theSec);
	}
}
function second_to_time(nSecond)
{
	var nHour = parseInt(nSecond / 3600);
	nSecond -= nHour * 3600;
	var nMin = parseInt( nSecond / 60);
	nSecond -= nMin * 60;
	return add_prefix_zero(nHour) + ":" + add_prefix_zero(nMin) + ":" + add_prefix_zero(nSecond);;
}
function add_prefix_zero(nNumber)
{
	strNumber = nNumber.toString();
	if(strNumber.length < 2)
		strNumber = "0" + strNumber;
	return strNumber;
}
function add_prefix_space(strString, nOutputLength)
{
	if(nOutputLength < strString.length)
		return;
	
	var nLength = nOutputLength - strString.length;
	var strSpace = "";
	for(var i=0; i<nLength; i++)
	{
		strSpace += "&nbsp;";
	}
	var strResult = strSpace + strString;
	return strResult;
}
function getMarkByLevel(level)
{
	var marks =['列兵','少尉','中尉','上尉','少校','中校','上校','大校','少将','中将','上将','三军统帅'];
	var strResult="未知";
	if(level > 47)
		strResult = marks[11];
	else if(level > 31)
		strResult = marks[10];
	else if(level > 15)
		strResult = marks[9];
	else if(level > 11)
		strResult = marks[8];
	else if(level > 7)
		strResult = marks[7];
	else
		strResult = marks[(level-1)];
	return strResult;
}
function getMarkIconByLevel(l)
{
	var a = Math.floor(l/16);
	var b = Math.floor((l-a*16)/4);
	var c = (l-a*16)-b*4;
	var HTML_1 = '<img src="http://pstatic.xunlei.com/images/forpub/lv1.gif" />';
	var HTML_2 = '<img src="http://pstatic.xunlei.com/images/forpub/lv2.gif" />';
	var HTML_3 = '<img src="http://pstatic.xunlei.com/images/forpub/lv3.gif" />';
	
	var str='';
	if(a!=0)
	{
		for(var i=0;i<a;i++)
			str+=HTML_1;
	}
	if(b!=0)
	{
		for(var i=0;i<b;i++)
			str+=HTML_2;
	}
	if(c!=0)
	{
		for(var i=0;i<c;i++)
			str+=HTML_3;	
	}
	return str;
}
function GetJumpUrl(thunder, strUrl)
{
	var strResult = "";
	if(thunder != null)
	{
		var strJumpKey = thunder.GetJumpKey();
		if(strJumpKey.length > 0)
			strResult = "http://jump.xunlei.com/jump/?jump_key=" + strJumpKey + "&u1=" + strUrl;
		else
			strResult = strUrl;
	}
	else
	{
		strResult = strUrl;
	}
	return strResult;
}
function GetGougouJumpUrl(strUrl)
{
	var strResult = "";
	if(thunder_server != null)
	{
		var strJumpKey = thunder_server.GetJumpKey();
		if(strJumpKey.length > 0)
			strResult = "http://login.gougou.com/jump/?jump_key=" + strJumpKey + "&u1=" + strUrl;
		else
			strResult = strUrl;
	}
	else
	{
		strResult = strUrl;
	}
	return strResult;
}
function refresh_window(_url, _pv)
{
	if (_pv == true)
	{
		var date = new Date();
		_url += "?"+date.toString();
	}
	window.location.href = _url;
}
function can_play(strFileName)
{
	var theFileName = strFileName.toLowerCase();
	var arrayExts = media_file_exts;
	for(var i=0; i<arrayExts.length; i++)
	{
		if(theFileName.length > arrayExts[i].length)
		{
			var nPos = theFileName.lastIndexOf(arrayExts[i]);
			if(nPos != -1)
			{
				if(theFileName.length - nPos == arrayExts[i].length)
					return true;
			}
		}
	}
	return false;
}
function make_res_path(strRelativePath)
{
	var strServerPath = get_server_path();
	strServerPath = strServerPath.replace(/\//gi, "\\");
	var strResult = "res://" + strServerPath + "WebThunder.exe/" + strRelativePath;
	return strResult;
}
function float_to_fixed(_float,_fix)
{
	var s = _float.toString();
	var i = s.indexOf(".");
	if (i < 0)
		return (s+".0");
	else
		return s.substr(0,i+_fix+1);
}
function get_variable(_section)
{
	if (thunder_server == null)
		return "";
	return thunder_server.GetVariable(_section);
}
function set_variable(_section, _value)
{
	if (thunder_server == null)
		return -1;
	return thunder_server.SetVariable(_section, _value);
}
function get_my_blog()
{
	var rs = thunder_server.GetBlogInfo().split(SPLITTER_FIELD)[0];
	var nStatus = parseInt(rs);
	
	if(nStatus == BlogStatus_Busy)
	{
		alert("博客服务器正忙，稍后再试");
		return;
	}
	else if(nStatus == BlogStatus_Unknown)
	{
		thunder_server.UpdateBlogInfo();

		strBlogInfo = thunder_server.GetBlogInfo();
		arrayBlogInfo = strBlogInfo.split(SPLITTER_FIELD);
		nStatus = parseInt(arrayBlogInfo[0]);
		
		if(nStatus == BlogStatus_Unknown)
		{
			alert("网络无法连接，请稍后再试");
			return;
		}
	}
	
	if(nStatus == BlogStatus_NoBlog)
	{
		var u = "http://blog.xunlei.com/web/open.htm";
		window.open(GetJumpUrl(thunder_server,u), "_blank");
	}
	else
	{
		var u = "http://bdynamic.xunlei.com/fcg-bin/cgi_control_panel.fcg?cachetime="+new Date();
		window.open(GetJumpUrl(thunder_server,u), "_blank");
	}
}
function OpenPortalPage(_url)
{
	var jump = GetJumpUrl(thunder_server, _url);
	window.open(jump, "_blank");
}

function OpenGougouPage(_url)
{
	var jump = GetGougouJumpUrl(_url);
	window.open(jump, "_blank");
}
/*xun_lei_class*/
var Xl = {
    get_img: function(img_macro)
	{
		var img = new Image();
		img.src = eval(img_macro).src;
		return img		
	},
	back_img:{
		index:{x:"-127px",y:"0px"},
		seting:{x:"-127px",y:"-13px"},
		help:{x:"-127px",y:"-26px"},
		re:{x:"-127px",y:"-39px"},
		
		s_over:{x:"-0px",y:"0px"},
        p_over:{x:"-0px",y:"-22px"},
        d_over:{x:"-0px",y:"-44px"},
        o_over:{x:"-0px",y:"-66px"},
        run_over:{x:"-0px",y:"-110px"},
        rev_over:{x:"-0px",y:"-88px"},
		get_img:function(){return Xl.get_img(BACK_IMG)}
	},
	menu_float_img:{
		movie:{x:"0px",y:"0px"},
		music:{x:"-16px",y:"0px"},
		game:{x:"-32px",y:"0px"},
		software:{x:"-48px",y:"0px"},
		book:{x:"-64px",y:"0px"},
		phone:{x:"-80px",y:"0px"},
		get_img:function(){return Xl.get_img(MENU_FLOAT_IMG)}

	},
	set_actv_img: function(box,img_name)
	{
	    var img_name = img_name+"_back"
		var tempobj = document.getElementById(img_name).firstChild;
	    box.appendChild(tempobj)
		
	},
	remove_actv_img: function(box)
	{
	    var tdname = box.firstChild.firstChild.firstChild.className;
	    var tdnametemp = tdname+"_back"
	    
        var tempobj =document.getElementById(tdnametemp);
	    tempobj.appendChild(box.firstChild)


	},

	set_bkgud_img:function(box,arry_img,front_img_nm,fun)
	{
		var imgobj = eval("Xl."+arry_img+".get_img()");
		var eval_img_y = eval("Xl."+arry_img+"."+front_img_nm+".y"); 
		var eval_img_x = eval("Xl."+arry_img+"."+front_img_nm+".x"); 
		imgobj.style.setAttribute("marginTop",eval_img_y);
		imgobj.style.setAttribute("marginLeft",eval_img_x);
		box.appendChild(imgobj);
		imgobj.onclick = function(){window.event.cancelBubble = true;eval(fun)};
	},
	set_tile_bg_img: function(obj,arry_img)
	{
		var imgobj = Xl.get_img(arry_img);
		obj.style.setAttribute("backgroundImage","url("+imgobj.src+")");
	},
	set_index_img: function(back_obj,img_class,in_obj)
	{
		for(i=0;i<back_obj.childNodes.length;i++)
		{
		    if(back_obj.childNodes[i].className == img_class)
		    {
		        in_obj.appendChild(back_obj.childNodes[i])
		        return
		    }
		}
	},
	remove_index_img: function(back_obj,img)
	{
		back_obj.appendChild(img);
	},
	mouse_over: function(box,imgobj)
	{
		box.appendChild(imgobj);
	},
	mouse_out:function(box,imgobj)
	{
		var toElmtId = window.event.toElement?window.event.toElement:0;
		if(toElmtId!=imgobj)
			{ 
				box.removeChild(imgobj);
			}
	}
}
var XL_IMG=
{
	set_img: function (obj,clsnm)
	{
		try
		{
			XL_IMG.remove_img(obj);
			for(i=0;i<$(obj.id+"_back").childNodes.length;i++)
			{
				if($(obj.id+"_back").childNodes[i].className == clsnm)
				{
					obj.appendChild($(obj.id+"_back").childNodes[i])	;
					break;
				}
			}
		}
		catch(e){}
	},
	remove_img: function(obj)
	{
		try
		{
			if(obj.firstChild!=null)
			$(obj.id+"_back").appendChild(obj.firstChild);
		}
		catch(e){}
	}
}
