﻿//COOKIE Start
function getCookie(sName){
	var cookie = "" + document.cookie;
	var start = cookie.indexOf(sName);
	if (cookie == "" || start == -1) 
		return "";
	var end = cookie.indexOf(';',start);
	if (end == -1)
		end = cookie.length;
	return unescape(cookie.substring(start+sName.length + 1,end));
}
function setCookie(sName, value) {
	document.cookie = sName + "=" + escape(value) + ";path="+CookiePath+";";
}
function setCookieForever(sName, value) {
	var expdate = new Date();
	expdate.setFullYear(expdate.getFullYear() + 30);
	var DomainStr = CookieDomain ? " domain=" + CookieDomain+"; " : "";
	document.cookie = sName + "=" + escape(value) + ";path="+CookiePath+";"+DomainStr+"expires="+expdate.toGMTString()+";";
}
//COOKIE END


function chksearch(){
	if (document.searchForm.SearchWord.value.length<2){
		alert('请输入搜索关键词（不小于2个字符）');
		document.searchForm.SearchWord.focus();
		return false;
	}
	return true;
}


function ShowPannel(btn,ajaxUrl){
	var idname = new String(btn.id);
	var s = idname.indexOf("_");
	var e = idname.lastIndexOf("_")+1;
	var tabName = idname.substr(0, s);
	var id = parseInt(idname.substr(e, 1));
	var tabNumber = btn.parentNode.childNodes.length;
	for(i=0;i<tabNumber;i++){
		document.getElementById(tabName+"_tab_"+i).style.display = "none";
		document.getElementById(tabName+"_btn_"+i).className = "";
	};
	document.getElementById(tabName+"_tab_"+id).style.display = "block";
	btn.className = "NowTag";
	if (ajaxUrl)Ajax_CallBack(false,"AjaxArea",ajaxUrl);
}





function AjaxShowPannel(btn,ajaxTag,ID){
	var idname = new String(btn.id);
	var s = idname.indexOf("_");
	var e = idname.lastIndexOf("_")+1;
	var tabName = idname.substr(0, s);
	var id = idname.substr(s, e-s);
	var selectedIndex = idname.substr(e-s+1,1);
	var tabNumber = btn.parentNode.childNodes.length;
	for(i=0;i<tabNumber;i++){
		document.getElementById(tabName+"_btn_"+i).className = "";
//		document.getElementById(tabName+"_tab_"+i).style.display = "none";
	};
	btn.className = "NowTag";
//	document.getElementById(tabName+"_tab_"+selectedIndex).style.display = "";

	if (ajaxTag == 1){
//		document.getElementById(ID).innerHTML = '<img src=Images/loading.gif border=0 />加载中...';
		var menu =  new String(btn.getAttributeNode("menu").nodeValue);
		var ajaxurl = new String(btn.parentNode.getAttributeNode("ajaxurl").nodeValue) + escape(menu);
		Ajax_CallBack(false,ID,ajaxurl,false);
	}
	else{
		document.getElementById(ID).innerHTML=document.getElementById('Tmp_area').innerHTML
	}
}


//全选复选框
function CheckAll(form){
	for (var i=0;i<form.elements.length;i++){
		var e = form.elements[i];
		if (e.name != 'chkall' && e.type=="checkbox" && e.checked!=form.chkall.checked){e.click();}
	}
}
/*
function PreviewImg(PID,imgUrl){
	var x = document.getElementById(PID);
	var y = document.getElementById('Img_'+PID);
	if(!imgUrl) {y.style.display='none';return;}
	var patn = /\.gif$|\.jpg$|\.jpeg$|\.bmp$|\.png$/i;
	if(patn.test(imgUrl)){
		if(!chkExit(imgUrl)) {document.form1.FileImage.value='';y.style.display='none';alert('您选择的图片不存在');return;}
		y.src = imgUrl;
		y.border=0;
		y.style.display='';
	}
	else{
		document.form1.FileImage.value='';
		y.style.display='none';
		alert("您选择的不是图像文件。");
	}
}
function chkExit(URL){
	var x = Ajax_GetXMLHttpRequest();
	x.open("get","Ajax.asp?menu=FileExit&FileUrl="+URL,false);
	x.send();
	if(x.readyState == 4 && x.status == 200){
		if(x.responseText=='t'){return true;}
		else{return false;}
	}
}*/


function checkAll(str,checked) {
    var a = document.getElementsByName(str);
    var n = a.length;

    for (var i = 0; i < n; i++) {
        a[i].checked = checked;
    }
    em_size(str);
}
function em_size(str) {
    var a = document.getElementsByName(str);
    var n = a.length;
    try {
        var input_checkall = document.getElementById("checkall_"+str);
        var size = 0;
        input_checkall.checked = true ;
        for (var i=0; i < n; i++) {
            if (a[i].checked) {
                var piecesArray = a[i].value.split( "|" );
                size += piecesArray[3]*1;
            } else {
                input_checkall.checked = false;
            }
        }
        test = document.getElementById("size_"+str);
        test.innerHTML = gen_size(size, 3, 1);
    } catch (e) {

    }
}

function gen_size(val, li, sepa ) {
	if (parseInt(val)<1) return 0;
    sep = Math.pow(10, sepa); //小数点后的位数
    li = Math.pow(10, li); //开始截断的长度
    retval  = val;
    unit    = 'Bytes';
    if (val >= li*1000000000) {
        val = Math.round( val / (1099511627776/sep) ) / sep;
        unit  = 'TB';
    } else if (val >= li*1000000) {
        val = Math.round( val / (1073741824/sep) ) / sep;
        unit  = 'GB';
    } else if (val >= li*1000) {
        val = Math.round( val / (1048576/sep) ) / sep;
        unit  = 'MB';
    } else if (val >= li) {
        val = Math.round( val / (1024/sep) ) / sep;
        unit  = 'KB';
    }
    return val + unit;
}

function download(str, i, first) {
    var a = document.getElementsByName(str);
    var n = a.length;

	//尝试使用activex方式批量新增下载
	try {
		var ed2k_links = '';
		var ax = new ActiveXObject("IE2EM.IE2EMUrlTaker");
		var emule_version = ax.GetEmuleVersion();
		if ('e' != emule_version.substr(0,1)) {
			throw {errorCode:'eMule not Installed.'};
		}
		for (var i = i; i < n; i++) {
			if(a[i].checked) {
				if (ed2k_links=='') {
					ed2k_links = a[i].value;
				} else {
					ed2k_links += "\n"+a[i].value;
				}
			}
		}
		ax.SendUrl(ed2k_links, 'dd', document.location);
		delete ax;
		return;
	} catch (e) {}

	if (!window.continueDown) {
		//使用最旧的方法来批量新增下载
		for (var i = i; i < n; i++) {
			if(a[i].checked) {
				window.location=a[i].value;
				if (first)
					timeout = 6000;
				else
					timeout = 500;
				i++;
				window.setTimeout("download('"+str+"', "+i+", 0)", timeout);
				break;
			}
		}
	} else {
		//使用稍微新一点的方法来批量新增下载
		for (var i = i; i < n; i++) {
			if(a[i].checked) {
				if(first){
					var k = i;
					var current_link = a[k].nextSibling;
					var multi_text = '';
					var tmp_counter = 0;
					var comma = '';
					while(true){
						if(a[k].checked && current_link){//如果是有效节点并且被选中
							if(current_link.href){
								if(current_link.href.indexOf('ed2k') !== 0){
									current_link = current_link.nextSibling;
									continue; 
								}
								if(tmp_counter > 7){//收集超过若干个有效链接后，退出
									multi_text += '<br />…………'; 
									break; 
								}
								var right_link = current_link;
								tmp_counter++;
								if (navigator.userAgent.toLowerCase().indexOf("msie")==-1) {
									multi_text += comma+current_link.text;
								}else{
									multi_text += comma+current_link.innerText;
								}
								comma = '<br />';
							}

							current_link = current_link.nextSibling;
						}else{//未被选中，或往下没有相邻节点了，那么切换到下个父节点
							if(++k >= n){//如果父节点也到底了，那么退出
								break; 
							}
							current_link = a[k].nextSibling;
						}
					}
					downPopup(right_link,multi_text);
				}

				continueDown(a[i].value);
				//window.location=a[i].value;
				if (first)
					timeout = 6000;
				else
					timeout = 500;
				i++;
				window.setTimeout("download('"+str+"', "+i+", 0)", timeout);
				break;
			}
		}
	}

}

function copy(str) {

    var a = document.getElementsByName(str);
    var n = a.length;
    var ed2kcopy = "";
    for (var i = 0; i < n; i++) {
        if(a[i].checked) {
            ed2kcopy += a[i].value;
            ed2kcopy += "\r\n";
        }
    }
    copyToClipboard(ed2kcopy);
}

function copyToClipboard(txt) {
	if(window.clipboardData) {
   		window.clipboardData.clearData();
   		window.clipboardData.setData("Text", txt);
	} else if(navigator.userAgent.indexOf("Opera") != -1) {
		window.location = txt;
	} else if (window.netscape) {
		try {
			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
		} catch (e) {
			alert("被浏览器拒绝！\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
		}
		var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
		if (!clip)
			return;
		var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
		if (!trans)
			return;
		trans.addDataFlavor('text/unicode');
		var str = new Object();
		var len = new Object();
		var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
		var copytext = txt;
		str.data = copytext;
		trans.setTransferData("text/unicode",str,copytext.length*2);
		var clipid = Components.interfaces.nsIClipboard;
		if (!clip)
			return false;
		clip.setData(trans,null,clipid.kGlobalClipboard);
	}
}


var menuOffX=60		//菜单距连接文字最左端距离
var menuOffY=20		//菜单距连接文字顶端距离
var UserAgent = navigator.userAgent.toLowerCase();
var ie4=document.all&&UserAgent.indexOf("opera")==-1
var ns6=document.getElementById&&!document.all
function showmenu(e,FileID,mod){
//	if (!vmenu){return false;} //如果空则不显示
//	var which=vmenu
	menuobj=document.getElementById("popmenu")
//	menuobj.innerHTML="dddddddddddd"
	Ajax_CallBack(false,'popmenu','Ajax.asp?menu=FileSummary&FileID='+FileID)

	menuobj.contentwidth=menuobj.offsetWidth
	eventX=e.clientX
	eventY=e.clientY
	var rightedge=document.body.clientWidth-eventX
	var bottomedge=document.body.clientHeight-eventY
	var getlength
	if (rightedge<menuobj.contentwidth){
		getlength=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth+menuOffX : ns6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth

	}else{
		getlength=ie4? ie_x(event.srcElement)+menuOffX : ns6? window.pageXOffset+eventX : eventX
	}
	getlength=(document.body.clientWidth-900)/2
	if (getlength<10)getlength=12
	menuobj.style.left=getlength+'px'
	
	if (bottomedge<menuobj.contentheight&&mod!=0){
		getlength=ie4? document.body.scrollTop+eventY-menuobj.contentheight-event.offsetY+menuOffY-23 : ns6? window.pageYOffset+eventY-menuobj.contentheight-10 : eventY-menuobj.contentheight
	}
	else{
		getlength=ie4? ie_y(event.srcElement)+menuOffY : ns6? window.pageYOffset+eventY+10 : eventY
	}
	menuobj.style.top=getlength+'px'
	
	menuobj.style.visibility="visible"
}

function ie_y(e){  
	var t=e.offsetTop;  
	while(e=e.offsetParent){  
		t+=e.offsetTop;  
	}  
	return t;  
}  
function ie_x(e){  
	var l=e.offsetLeft;  
	while(e=e.offsetParent){  
		l+=e.offsetLeft;  
	}  
	return l;  
}  

function highlightmenu(e,state){
	if (document.all)
		source_el=event.srcElement
	else if (document.getElementById)
		source_el=e.target
	if (source_el.className!="menuskin" && source_el.className!=""){
		source_el.className=(state=="on")? "mouseoverstyle" : "menuitems";
	}
	else{
		while(source_el.id!="popmenu"){
			source_el=document.getElementById? source_el.parentNode : source_el.parentElement
			if (source_el.className!="menuskin" && source_el.className!=""){
				source_el.className = (state=="on")? "mouseoverstyle" : "menuitems"
			}
		}
	}
}

function hidemenu(){if (window.menuobj)menuobj.style.visibility="hidden"}

function contains_ns6(a, b) {
        while (b.parentNode)
                if ((b = b.parentNode) == a)
                        return true;
        return false;
}
function dynamichide(e){
        if (ie4&&!menuobj.contains(e.toElement))
                hidemenu()
        else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
                hidemenu()
}

document.onclick=hidemenu
document.write("<div class=menuskin id=popmenu onmouseover=highlightmenu(event,'on') onmouseout=highlightmenu(event,'off');dynamichide(event)></div>")


/*显示验证码*/
function getCode() {
	if(document.getElementById("imgid"))
		document.getElementById("imgid").innerHTML = '<img src="VerifyCode.asp?t='+Math.random()+'" alt="点击刷新验证码" style="cursor:pointer;border:0;vertical-align:middle;" onclick="this.src=\'VerifyCode.asp?t=\'+Math.random()" />'
}


//Ajax Start
function Ajax_GetXMLHttpRequest() {
	if (window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} 
	else if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	}
}
function Ajax_CallBack(FormName,ID,URL,IsAlert){
	var x = Ajax_GetXMLHttpRequest();
	var ID = document.getElementById(ID);
	x.open("POST",URL);
	x.setRequestHeader("REFERER", location.href);
	x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	x.onreadystatechange = function(){if(x.readyState == 4 && x.status == 200){if(IsAlert){x.responseText?alert(x.responseText):alert('添加成功');}else if(ID){ID.innerHTML=x.responseText;}}}
	var encodedData=""
	if (document.forms.length > 0 && FormName) {
		var form = document.forms[FormName];
		for (var i = 0; i < form.length; ++i) {
			var element = form.elements[i];
			if (element.name) {
				var elementValue = null;
				if (element.nodeName == "INPUT") {
					var inputType = element.getAttribute("TYPE").toUpperCase();
					if (inputType == "TEXT" || inputType == "PASSWORD" || inputType == "HIDDEN") {
						elementValue = escape(element.value);
					} else if (inputType == "CHECKBOX" || inputType == "RADIO") {
						if (element.checked) {
							elementValue = escape(element.value);
						}
					}
				} else if (element.nodeName == "SELECT" || element.nodeName == "TEXTAREA") {
					elementValue = escape(element.value);
				}
				if (elementValue) {
					if(encodedData==""){
						encodedData = element.name + "=" + encodeURIComponent(elementValue);
					}
					else{
						encodedData += "&" + element.name + "=" + encodeURIComponent(elementValue);
					}
				}
			}
		}

	}
	x.send(encodedData);
}

//Ajax End



function voteComment(CommentID,vote){
	var url_string = 'Ajax.asp?menu=VoteComment&CommentID='+CommentID+'&Vote='+vote+'';
	var CommentSpanID="CommentReputation_"+CommentID;
	if(document.getElementById(CommentSpanID).className == 'watch-comment-voting-off'){
		return;
	}
	Ajax_CallBack(false,CommentSpanID,url_string,0)
	document.getElementById(CommentSpanID).innerHTML = "<img src=images/loading.gif>";
}

function updateCharCount(charCount_id, label_id, textArea) {
	var msg = new Object();
	msg["exceeded"] = "字符数超过限制：";
	msg["remaining"] = "剩余字符数："; 
	updateCharCount_js(charCount_id, label_id, textArea, 500, msg)
}
function updateCharCount_js(charCount_id,label_id,textArea,maxChars,messages){
	if(textArea.value.length>maxChars){
		if(document.getElementById(label_id).innerHTML!=messages["exceeded"]){
		document.getElementById(label_id).innerHTML=messages["exceeded"];
		document.getElementById(label_id).className = 'F00';
	}
	document.getElementById(charCount_id).value=textArea.value.length-maxChars;
	}else{
		if(document.getElementById(label_id).innerHTML!=messages["remaining"]){
			document.getElementById(label_id).innerHTML=messages["remaining"];
		document.getElementById(label_id).className = '';
		}
		document.getElementById(charCount_id).value=maxChars-textArea.value.length;
	}
}

function quickReplyForm(FileID,CommentID,CookieUserEmail){
	if (CookieUserEmail==''){alert('请登录后再评论.');return;}
	var innerHTMLContent='\
	<form name="quickform" method="post" action="?menu=AddComment" onsubmit="return chkbodylen(this)">\
		<input type="hidden" name="FileID" value="'+FileID+'" />\
		<textarea rows="5" cols="80" name="CommentBody" onkeyup="updateCharCount(\'charCountcomment_'+CommentID+'\', \'maxCharLabel_'+CommentID+'\', this);" onpaste="updateCharCount(\'charCountcomment_'+CommentID+'\', \'maxCharLabel_'+CommentID+'\', this);" oninput="updateCharCount(\'charCountcomment_'+CommentID+'\', \'maxCharLabel_'+CommentID+'\', this);"></textarea>\
		<br/>\
		<input type="submit" value=" 发布评论 " title="提交我的评论"  /> <input type="button" value=" 放弃 " onclick="quickReplyForm(\''+FileID+'\',\''+CommentID+'\',\''+CookieUserEmail+'\')" /> <span id="maxCharLabel_'+CommentID+'">剩余字符数：</span><input readonly="true" class="watch-comment-char-count" id="charCountcomment_'+CommentID+'" value="500" type="text">\
	</form>';

	var TempQuickReplayTD=document.getElementById("QuickReplayTD_"+CommentID);
	if (TempQuickReplayTD.style.display == 'none'){
		TempQuickReplayTD.innerHTML = innerHTMLContent;
		TempQuickReplayTD.style.display = 'block';
	}
	else{
		TempQuickReplayTD.innerHTML = '';
		TempQuickReplayTD.style.display = 'none';
	}
}

function chkbodylen(form){
	if (form.CommentBody.value.length>500){
		alert('评论内容最多只能输入500个字符');
		form.CommentBody.focus();
		return false;
	}
	if(form.CommentBody.value==''){
		alert('请输入评论内容');
		form.CommentBody.focus();
		return;
	}
	return true;
}

//其他域名自动跳转到ed2000.com
//if (location.hostname != "www.ed2000.com"){
//top.location.href = "http://www.ed2000.com"+location.pathname+location.search;  
//}


function SnashHTML(URL){
	var x = Ajax_GetXMLHttpRequest();
	x.open("get",URL,false);
	x.onreadystatechange = function(){if(x.readyState == 4 && x.status == 200){alert(x.responseBody);}}
	x.send(null);
}



var UserAgent = navigator.userAgent.toLowerCase();
var ie4=document.all&&UserAgent.indexOf("opera")==-1
var ns6=document.getElementById&&!document.all

//XmlDom Start
var XmlDom;
function GetXmlDom() {
	if (window.ActiveXObject) {//IE浏览器
		return new ActiveXObject("Microsoft.XMLDOM");
	}
	else if (document.implementation && document.implementation.createDocument) { //其它浏览器
		return document.implementation.createDocument("","",null);
	}
}
function ReadXMLFile(xmlFilePath){	
	if((UserAgent.indexOf("chrome")>-1)){//chrome
		var xmlObj = Ajax_GetXMLHttpRequest();
		xmlObj.onreadystatechange = function(){
			if(xmlObj.readyState == 4 && xmlObj.status == 200){
				XmlDom = xmlObj.responseXML;
			}
		}
		xmlObj.open ('GET', xmlFilePath, false);
		xmlObj.send(null);
	}
	else {//other browser
		XmlDom = GetXmlDom();
		XmlDom.async = false;
		XmlDom.load(xmlFilePath);
	}
}
function GetNodeValue(objXmlElement)
{
	if(window.ActiveXObject) {	//IE浏览器
		return objXmlElement.text;
	}
	else if(window.XMLHttpRequest) {  //其它浏览器
		try {
			return objXmlElement.firstChild.nodeValue;
		}
		catch(ex) {
			return "";
		}
	}
}

function $(id) {
	return document.getElementById(id);
}
