﻿var xmlHttp = false;
try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}
function ae(obj, evType, fn) {
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, false);
        return true;
    } else if (obj.attachEvent) {
        var r = obj.attachEvent("on" + evType, fn);
        return r;
    } else {
        return false;
    }
}
function removeEvent(obj, evType, fn) {
    if (obj.removeEventListener) {
        obj.removeEventListener(evType, fn, false);
        return true;
    } else if (obj.detachEvent) {
        obj.detachEvent("on" + evType, fn);
        return true;
    } else {
        return false;
    }
}
function showMaskUp(show)
{
	var mask = document.getElementById('dmaskUp');
	var frmmask = document.getElementById('frmmaskUp');
	if(mask && frmmask)
	{
		var width = document.body.scrollWidth;
		if(width < document.body.clientWidth)
			width = document.body.clientWidth;
		if(width < document.documentElement.clientWidth)
			width = document.documentElement.clientWidth;
		if(width < document.documentElement.scrollWidth)
			width = document.documentElement.scrollWidth;			
		var height = document.body.scrollHeight;
		if(height < document.body.clientHeight)
			height = document.body.clientHeight;
		if(height < document.documentElement.clientHeight)
			height = document.documentElement.clientHeight;
		if(height < document.documentElement.scrollHeight)
			height = document.documentElement.scrollHeight;
		mask.style.top = '0px';
		mask.style.left = '0px';
		mask.style.width = width + 'px';
		mask.style.height = height + 'px';
		frmmask.style.top = '0px';
		frmmask.style.left = '0px';
		frmmask.style.width = width + 'px';
		frmmask.style.height = height + 'px';
		if(show)
		{
			mask.style.visibility = 'visible';
			frmmask.style.visibility = 'visible';
		}else
		{
			mask.style.visibility = 'hidden';
			frmmask.style.visibility = 'hidden';
		}
	}
}
var dialogObj = null;
var onDialogClose = function() { return; };
var dragObject  = null;
var mouseOffset = null;
function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	if(document.body)
		return {
			x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
			y:ev.clientY + document.body.scrollTop  - document.body.clientTop
		};
	else
		return {x:0, y:0};
}
function getMouseOffset(target, ev){
	ev = ev || window.event;

	var docPos    = getPosition(target);
	var mousePos  = mouseCoords(ev);
	return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}
function getPosition(e){
	var left = 0;
	var top  = 0;

	while (e.offsetParent){
		left += e.offsetLeft;
		top  += e.offsetTop;
		e     = e.offsetParent;
	}
	left += e.offsetLeft;
	top  += e.offsetTop;
	return {x:left, y:top};
}
function mouseMove(ev){
	ev           = ev || window.event;
	var mousePos = mouseCoords(ev);

	if(dragObject){
		dragObject.style.position = 'absolute';
		var shiftTop = mousePos.y - mouseOffset.y - dragObject.offsetTop;
		var shiftLeft = mousePos.x - mouseOffset.x - dragObject.offsetLeft;
		shiftDialog(shiftTop, shiftLeft)
		
		return false;
	}
}
function mouseUp(){
	dragObject = null;
}
function makeDraggable(item){
	if(!item) return;
	item.onmousedown = function(ev){
		dragObject  = this;
		mouseOffset = getMouseOffset(this, ev);
		return false;
	}
}
function shiftDialog(shiftTop, shiftLeft)
{
	var iClose = document.getElementById('iClose');
	var iMove = document.getElementById('iMove');
	if(iClose && iClose.style && iMove && iMove.style && dialogObj && dialogObj.style)
	{
		dialogObj.style.top = dialogObj.offsetTop + shiftTop + 'px';
		dialogObj.style.left = dialogObj.offsetLeft + shiftLeft + 'px';
		iClose.style.top = iClose.offsetTop + shiftTop + 'px';
		iClose.style.left = iClose.offsetLeft + shiftLeft + 'px';
		iMove.style.top = iMove.offsetTop + shiftTop + 'px';
		iMove.style.left = iMove.offsetLeft + shiftLeft + 'px';
	}
}
function moveDialog(top, left)
{
	var iClose = document.getElementById('iClose');
	var iMove = document.getElementById('iMove');
	if(iClose && iClose.style && iMove && iMove.style && dialogObj && dialogObj.style)
	{
		var shiftTop = top - dialogObj.offsetTop;
		var shiftLeft = left - dialogObj.offsetLeft;
		shiftDialog(shiftTop, shiftLeft);
	}
}
function closeDialog()
{
	var iClose = document.getElementById('iClose');
	if(iClose) {
		try {
			if( document.createEvent ) {
				var eObj = document.createEvent('MouseEvents');
				eObj.initEvent('click', true, false);
				iClose.dispatchEvent(eObj);
				}
			else if (document.createEventObject) {
				iClose.fireEvent('onclick');
				}
			}catch(e) {}
		}
}
function doObjDialog(isModal, obj, width, height, onclose)
{
	if(!obj || !obj.style)
		return false;
	if(!width)
		width = 320;
	if(!height)
		height = 180;
	var top = window.screen.height/2 + (document.body.scrollTop>document.documentElement.scrollTop ? document.body.scrollTop:document.documentElement.scrollTop) - height/2 - 100;
	var left = window.screen.width/2 + (document.body.scrollLeft>document.documentElement.scrollLeft ? document.body.scrollLeft:document.documentElement.scrollLeft) - width/2;	
	if(isModal)
		showMaskUp(true);
	obj.style.top = top + 'px';
	obj.style.left = left + 'px';
	obj.style.width = width + 'px';
	obj.style.height = height + 'px';	
	var iClose = document.getElementById('iClose');
	if(iClose && iClose.style)
	{
		iClose.style.top = (top + 2) + 'px';
		iClose.style.left = (left + width - 12) + 'px';
		iClose.style.visibility = 'visible';
	}	
	var iMove = document.getElementById('iMove');
	if(iMove && iMove.style)
	{
		iMove.style.top = (top + 5) + 'px';
		iMove.style.left = (left + 5) + 'px';
		iMove.style.visibility = 'visible';
	}
	if (onclose)
		onDialogClose = onclose;
	else
		onDialogClose = function() { return; };
	
	obj.style.visibility = 'visible';
	dialogObj = obj;
}
function doFrmDialog(isModal, url, width, height, onclose, onload)
{
	if(!url)
		return false;	
	var frm = document.getElementById('frmDialogUp');
	if(frm)
	{
		var func = function (){
			if(onclose)
				if(false == onclose())
					return false;
			if (frm)
				frm.contentWindow.location.replace("about:blank");
		}
		
		if(onload)		    
			ae(frm, 'load', onload);
		frm.contentWindow.location.replace(url);
		doObjDialog(isModal, frm, width, height, func);
	}
}
ae(document, 'mousemove', mouseMove);
ae(document, 'mouseup', mouseUp);			
function showDialog(){
    var obj = document.createElement("div");
    obj.innerHTML =  '<div id="dmaskUp" style="z-index:10000; display:block; background:#000; filter:alpha(opacity=70); -moz-opacity:0.7; opacity:0.7; position:absolute; visibility:hidden;"></div>\
<iframe id="frmmaskUp" frameborder="0" scrolling="no" src="about:blank" style="z-index:9999; display:block; background:#000; filter:alpha(opacity=0); -moz-opacity:0; opacity:0; position:absolute; visibility:hidden;"></iframe>\
<img id="iClose" src="http://wwwim.qupan.com/Img/close.gif" alt="取消" style="z-index: 20010; position: absolute; width: 10px; height: 10px; display: block; visibility: hidden; cursor: pointer;" />\
<img id="iMove" src="http://wwwim.qupan.com/Img/icon_move.gif" alt="移动" style="z-index: 20010; position: absolute; width: 8px; height: 8px; display: block; visibility: hidden; cursor:move;" />\
<iframe id="frmDialogUp" frameborder="0" scrolling="no" src="about:blank" style="z-index: 10010; position: absolute;background-color:#FFFFFF; display: block; visibility: hidden;"></iframe>';
    document.body.appendChild(obj);   
    var iClose = document.getElementById('iClose');
    var iMove = document.getElementById('iMove');
    var fileFormat = document.getElementById("m_File").value.substring(document.getElementById("m_File").value.lastIndexOf(".") + 1).toLowerCase();
    var host = getHost(fileFormat);
    var prog_url = "http://" + host + "/UpLoadFile.aspx?Action=ShowUploadProgress";
    var onFrmDialogLoad = function() {
        document.getElementById("upForm").action = "http://" + host + "/UpLoadFile.aspx?Action=Upload";
        document.getElementById("upForm").submit();
    };
	if (iClose) {		
		ae(iClose, 'click',  function(e) {		
			if(e.returnValue == false)		
				return e.returnValue;		
			if (onDialogClose)				
				if(false == onDialogClose()) {		
					e.returnValue = false;			
					if (!e.returnValue && e.preventDefault)			
						e.preventDefault();					
					return false;				
				}			
			iClose.style.visibility = 'hidden';			
			if (iMove)				
				iMove.style.visibility = 'hidden';			
			if (dialogObj)				
				dialogObj.style.visibility = 'hidden';			
			showMaskUp(false);		
		})	
	}   
	makeDraggable(iMove); 
    doFrmDialog(true, prog_url, 460, 100, function() {	
	if(!confirm("您真的想要取消吗?"))						
			return false;					
	removeEvent(document.getElementById('frmDialogUp'), 'load', onFrmDialogLoad);				
	window.location.reload();		
	},onFrmDialogLoad
	);
}
window.onload=function(){
    document.getElementById("Upload").disabled=false;
}
function UpWarning() {
    var obj = document.createElement("div");
    obj.id = "filter";
    obj.innerHTML = '<div id="dmask" style="z-index:10000; display:block; background:#000; filter:alpha(opacity=70); -moz-opacity:0.7; opacity:0.7; position:absolute; visibility:hidden;"></div>\
    <div id="frmmask" style="z-index:9999; display:block; background:#000; filter:alpha(opacity=0); -moz-opacity:0; opacity:0; position:absolute; visibility:hidden;"></div>\
    <div id="frmDialog" style="background-color:#FFFFFF; vertical-align:middle;height:302px;width:502px;z-index:10010; position: absolute; display: block; visibility: hidden;">\
    <div class="floatinga" style="width:502px;"><iframe frameborder="0" width="502px;" height="302px;" scrolling="no" src="/UpWarning.aspx?u=p"></iframe></div>';
    document.body.appendChild(obj);
    showMask(true, 502, 302);
}
function UploadCheck()
{
    //检查文件是否为空
    var szFileName = document.getElementById("m_File");
    var szFormat=szFileName.value.substring(szFileName.value.lastIndexOf(".")+1).toLowerCase();
    var szFile=szFileName.value.substring(szFileName.value.lastIndexOf("\\")+1);
    var szDescription = document.getElementById("m_Description");
    var szEmail = document.getElementById("m_Email");  
    if(getCookieValue("Passport")==""||getCookieValue("Passport")==null){         
        var emailPatten = new RegExp(/^([A-Za-z0-9])\w+([-+.]\w+)*@(126|163|gmail|yahoo|tom|sina|sohu|qq|263|live|eyou|hotmail|mail|163169|km169|963|7119|21cn|chiness|china|v111|188|yeah)(\.)(com|com\.cn|net|cn|net\.cn|org|biz|info|gov|gov\.cn|edu|edu\.cn)/);
        if(szEmail.value.length==0){
            alert("Email不能为空");
            szEmail.focus();
            return false;
        }
        else if(!emailPatten.test(szEmail.value.toLowerCase())){
                alert("Email不符合我们的要求\n建议您注册后再上传文件！");
                szEmail.focus();
                return false;
        }
    }
    if (szFileName.value.length == 0) {
        alert("请选择你要上传的文件")
        szFileName.focus();
        return false;
    } else if (szFile.length > 150) {
        alert("文件名过长！")
        szFileName.focus();
        return false;
    } else if (szFormat.length > 10) {
        alert("上传文件后缀名过长！")
        szFileName.focus();
        return false;
    } else {
        if (getCookieValue('Passport') != szEmail.value) {
            var url = "/Register.aspx?Action=CheckEmail&email=" + escape(szEmail.value);
            xmlHttp.open("GET", url, true);
            xmlHttp.onreadystatechange = function() {
                if (xmlHttp.readyState == 4) {
                    if (xmlHttp.status == 200) {
                        var response = xmlHttp.responseText;
                        if (response == "false") {
                            showLogin(szEmail);
                        }
                        else if (response == "true") {
                            alert("未注册用户！请注册后再上传")
                            return false;
                        }
                    }
                }
            }
            xmlHttp.send(null);
        } else {
            UpWarning();
            return true;
        }
    } 
}
function getCookieValue(cookieName)
{
    var cookies = unescape(document.cookie);
    var cookieIndex = cookies.indexOf(cookieName+"=");
    if (cookieIndex!=-1)
    {
         var cookieValueStart = cookieIndex + cookieName.length + 1;
         var cookieValueEnd = cookies.indexOf(";",cookieValueStart);
         if (cookieValueEnd == -1)
         {
            cookieValueEnd = cookies.length;
         }
         var cookieValue = cookies.substring(cookieValueStart,cookieValueEnd);
         return cookieValue;
    }
}
function refer() {
    document.getElementById('imgVerify').src = '/WebVerify.aspx?Action=MakeVerifyCode&' + Math.random();
}
function showVcode() {
    document.getElementById("vcodeimg").innerHTML = '<img id="imgVerify" align="absmiddle" alt="看不清？点击更换" title="看不清？点击更换" onclick="refer()" src="/WebVerify.aspx?Action=MakeVerifyCode" />';
}
function showLogin(val)
{
    var obj = document.createElement("div");
    obj.id="filter";
    obj.innerHTML = '<div id="dmask" style="z-index:10000; display:block; background:#000; filter:alpha(opacity=70); -moz-opacity:0.7; opacity:0.7; position:absolute; visibility:hidden;"></div>\
        <div id="frmmask" style="z-index:9999; display:block; background:#000; filter:alpha(opacity=0); -moz-opacity:0; opacity:0; position:absolute; visibility:hidden;"></div>\
        <div id="frmDialog" style="background-color:#FFFFFF; vertical-align:middle;height:240px; width:300px;z-index: 10010; position: absolute; display: block; visibility: hidden;">\
        <div class="floatinga"><div class="floatingac"></div><div class="floatingaa">登录提示：</div><div class="floatingab" onclick="javascript:closeForm();return false;" title="关闭"></div></div>\
        <div class="floatingb"><div class="floatingba">请输入您的登录密码:</div><div class="floatingbb"></div></div><div class="floatingb" style="padding-top:0px;"><div class="floatingbb" style="padding-left:80px;">\
        <input type="hidden" name="m_Email" id="m_Email" value="'+val+'"/><input type="password" name="m_Password" id="m_Password" style=" width:300px; height:20px; border:1px solid #D9E0F8; font-size:14px; color:#666666;" /></div></div>\
        <div class="floatingb"><div class="floatingba" style="width:80px;">验证码:</div><div class="floatingbb"><input type="text" name="vcode" id="vcode" maxlength="4" style="width:60px;height:20px;border:1px solid #D9E0F8;font-size:20px;color:#666666;font-weight:bold;"/>\
        <span id="vcodeimg"><a href="javascript:showVcode();" style="font-size:14px;">点击这里获取验证码</a></span></div></div>\
        <div class="floatingcl"style="padding-top:20px;"><input type="image" src="http://wwwim.qupan.com/Img/icons_20_1.gif" onclick="return login()" style="cursor:pointer" width="50" height="22"/></div>\
        <div style="width:390px; height:auto; float:left; text-align:right;padding:30px;color:#666;line-height:18px;font-size:12px;">注意：这是为了维护您的利益，避免您的空间被别人恶意使用，所以需要您输入您的密码，确认您的身份！登录过后您可以进行更多的操作</div></div>';            
    document.body.appendChild(obj);
    showMask(true,460,260);
}
function login(){
    if (document.getElementById("m_Password").value == "") {
        alert("请输入您的登陆密码!");
        return false;
    }
    else if (document.getElementById("m_Password").value != document.getElementById("m_Password").value.match(/^\w{5,19}$/)) {
        alert("密码错误!密码长度在6~18之间,只能包含字符、数字和下划线");
        return false;
    } else if (document.getElementById("vcode").value == "") {
        alert("请输入验证码!");
        return false;
    } else if (document.getElementById("vcode").value.length != 4) {
        alert("验证码长度不正确!");
        return false;
    }
    else {
        doLogin();
        return true;
    }
  }
function doLogin(){
	var email=document.getElementById("m_Email").value;
	var password = document.getElementById("m_Password").value;
	var vcode = document.getElementById("vcode").value;
	var url = "/Sign.aspx?Action=SignIn&m_Email=" + escape(email) + "&m_Password=" + escape(password) + "&vcode=" + escape(vcode) + "&val=" + Math.random();
    xmlHttp.open("GET", url, true);
    xmlHttp.onreadystatechange = loginResult;
    xmlHttp.send(null); 
}
function loginResult() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            var response = xmlHttp.responseText;
            if (response == "true") {
                closeForm();
                UpWarning();
                return true;
            }
            else if (response == "zone") {
                closeForm();
                UpWarning();
                return true;
            }
            else if (response == "0") {
                alert("登陆密码错误!");
                document.getElementById("m_Password").focus();
            }
            else if (response == "1") {
                alert("用户帐户被锁定!");
                closeForm();
                return false;
            }
            else if (response == "2") {
                alert("用户不存在!");
                closeForm();
                return false;
            }
            else if (response == "3") {
                alert("验证码错误!");
                closeForm();
                return false;
            }
            else if (response == "4") {
                alert("系统繁忙!");
                closeForm();
                return false;
            }
            else if (response.indexOf("@") > 0) {
                window.location.href = "/signinfailure.html?email=" + response;
            }
        }
    }
}
function cjUpload() {
    closeForm();
    showDialog();
}
function doEnter(e)
{
    e=e||event;
    if(e.keyCode==13)   
    {  
        e.keyCode=0;   
        e.cancelBubble=true;   
        e.returnValue=false;   
    }
}
function getHost(format) {
    var host = null;
    var num = getRandom().toString();
    var array_1 = new Array("rar", "zip", "7z", "jar");
    var array_2 = new Array("jpg", "gif", "bmp", "png", "jpeg");
    var array_3 = new Array("rmvb", "wmv", "avi", "mp4", "3gp", "swf", "mov", "wm", "asf", "m4b", "dat", "mpg", "mpeg", "wmp", "mkv", "m4v", "m4p", "tp", "ts", "tpr", "pva", "pss", "vob", "mpe", "wv", "m2ts", "evo", "aif", "aiff", "aifc", "amr", "3gpp", "3g2", "3gp2", "qt");
    var array_4 = new Array("mp3", "wma", "wav", "ape", "mac", "tta", "m4a", "aac", "acc", "ac3", "cda", "mid", "midi", "mp2", "mpa", "mpga", "rmi", "ra", "rm");
    if (host == null) {
        for (var i = 0; i < array_1.length; i++) {
            if (format == array_1[i]) { //压缩文件
                switch (num) {
                    case "0":
                        host = "up29c.qupan.cn:8080";
                        break;
                    case "1":
                        host = "up25c.qupan.cn:8080";
                        break;
                    case "2":
                        host = "up26c.qupan.cn:8080";
                        break;
                }
            }
        }
        if (host == null) {
            for (var i = 0; i < array_2.length; i++) {
                if (format == array_2[i]) { //图片
                    switch (num) {
                        case "0":
                            host = "up4.qupan.cn:8080";
                            break;
                        case "1":
                            host = "up4a.qupan.cn:8080";
                            break;
                        case "2":
                            host = "up4a.qupan.cn:8080";
                            break;
                    }
                }
            }
            if (host == null) {
                for (var i = 0; i < array_3.length; i++) {
                    if (format == array_3[i]) { //视频
                        switch (num) {
                            case "0":
                                host = "up29v.qupan.cn:8080";
                                break;
                            case "1":
                                host = "up29v.qupan.cn:8080";
                                break;
                            case "2":
                                host = "up29v.qupan.cn:8080";
                                break;
                        }
                    }
                }
                if (host == null) {
                    for (var i = 0; i < array_4.length; i++) {
                        if (format == array_4[i]) { //音乐
                            switch (num) {
                                case "0":
                                    host = "up29a.qupan.cn:8080";
                                    break;
                                case "1":
                                    host = "up29a.qupan.cn:8080";
                                    break;
                                case "2":
                                    host = "up29a.qupan.cn:8080";
                                    break;
                            }
                        }
                    }
                    if (host == null) { //其它
                        switch (num) {
                            case "0":
                                host = "up29o.qupan.cn:8080";
                                break;
                            case "1":
                                host = "up29o.qupan.cn:8080";
                                break;
                            case "2":
                                host = "up29o.qupan.cn:8080";
                                break;
                        }
                    }
                }
            }
        }
    }
    return host;
}
function getRandom() {
    var now = new Date();
    var num = now.getSeconds() % 3;
    return num;
}