/**
 * @author by biny
 * 本函数是用来设置当前选中项菜单的高亮样式
*/
/*通用加载函数，页面中如果要用到onload函数在窗体一加载时就执行的代码，可以直接添加到这个函数，否则会引起多个onload函数的执行冲突
  带参数的调用方法：addLoadEvent(new Function("refurFrame('单词管理');"));
*/
 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 addLoadEvent(func){
	var oldonload=window.onload;
	if(typeof window.onload!='function'){
		window.onload=func;	
	}
	else{
		window.onload=function(){
			oldonload();
			func();
		}	
	}
}
//判断是否有className 
function hasClass(element, className) {     
	var reg = new RegExp('(\\s|^)'+className+'(\\s|$)');     
	return element.className.match(reg); 
} 
//添加className
function addClass(element, className) {    
	if (!this.hasClass(element, className)){         
		element.className += " "+className;  
	} 
}  
//删除className
function removeClass(element, className) {     
	if (hasClass(element, className)){         
		var reg = new RegExp('(\\s|^)'+className+'(\\s|$)');         
		element.className = element.className.replace(reg,' ');     
	} 
}
//绑定事件函数
function addEventHandler(oTarget,sEventType,fnHandler){
	if(oTarget.addEventListener){
		oTarget.addEventListener(sEventType,fnHandler,false);
	}else if(oTarget.attachEvent){		
		oTarget.attachEvent("on"+sEventType,fnHandler);		
	}else{
		oTarget["on"+sEventType] = fnHandler;
	}	
};
//根据URL地址的参数或字符串高亮当前菜单。
function hightLightMenu(firstMenuID){
	var strUrl,strHref,subNavs,strLast,strParentID,strSelfID,parentID,selfID,strID;			
	var Navs=document.getElementById(firstMenuID).getElementsByTagName("a");
	var Lis=document.getElementById(firstMenuID).getElementsByTagName("li");
	// 如果链接没有参数，或者URL链接中不存在我们要获取的参数，则返回数组中的序号
	if(location.href.indexOf("?")==-1){
    	strUrl=location.href.substring(location.href.lastIndexOf("/")+1);//取得URL页面名称
		//alert(strUrl);
		//一级菜单高亮					
		for (var i = 0; i < Navs.length; i++) {			
			//在IE6,IE7中strHref获得的是全路径，而在IE8和ff中获得的是页面名称，为了兼容，需要将它的字符串进行拆分
			strHref=Navs[i].getAttribute("href").substring(Navs[i].getAttribute("href").lastIndexOf('/')+1);	
			if(strUrl==strHref){
				//高亮当前菜单项						
				addClass(Lis[i],"curone");			
			}
			else{//如果是其它项，则绑定鼠标两态事件							
										
			}					
		}		
		
	}
	else{
		//如果url中带有参数的页面，则...			
	}		
}
var curSubMenu=0;//默认高亮第一项
function hightSubMenu(curSubMenu){
	subNavs = document.getElementById("b1").getElementsByTagName('a');
	for (var n = 0; n < subNavs.length; n++) {
		var subobj=subNavs[n];
		if (n == curSubMenu) {	
			addEventHandler(subobj, "click", function(){handlerClick(subobj)});//增加鼠标移上去时的点击事件
			addClass(subobj,"style3");//高亮当前菜单样式
		}
		else {
			(function(n){
				addEventHandler(subobj, "mouseover", function(){overMe(subobj)});//增加鼠标移上去时的事件
				addEventHandler(subobj, "mouseout", function(){outme(subobj)});//增加鼠标移走时的事件
			})(n)
		}				
	}
}

//鼠标移到A标签上的onmouseover函数
function overMe(obj){	
	addClass(obj,"style2");
};
//鼠标移出A标签上的onmouseout函数
function outme(obj){	
	removeClass(obj,"style2");
};
//鼠标移到A标签上的onclick函数
function handlerClick(obj){	
	removeEventHandler(obj,"mouseover",function(){handlerOver(obj)});//移出onmouseover函数
	removeEventHandler(obj,"mouseout",function(){handlerOver(obj)});//移出onmouseout函数
	curSubMenu=inumber;
};

//传入两个一级和二级菜单的ID作为参数
addLoadEvent(function(){
	//hightLightMenu("a1");
});	
//加载滚动文字
//addLoadEvent(scroll);

/*切换用户面板*/
function switchuser(id){
	var loginpanel= document.getElementById("logon1");
	var userinfo=document.getElementById("userinfo1");
	if(id=="1"){
		loginpanel.style.display="none";
		userinfo.style.display = "block";
		var username = document.getElementById("username");
		if (username != null) {
		    username.innerHTML = username.innerHTML + GetUserName() + " !";
		}
	}
	if(id=="2"){
		loginpanel.style.display="block";
		userinfo.style.display="none";
	}
	if(id=="3")
	{
	    var logingnow = document.getElementById("logingnow");
	    logingnow.style.display="none";
	    loginpanel.style.display="none";
		userinfo.style.display = "block";
		var username = document.getElementById("username");
		if (username != null) {
		    username.innerHTML = username.innerHTML + GetUserName() + " !";
		}
	}
	if(id=="4")
	{
	    var logingnow = document.getElementById("logingnow");
	    logingnow.style.display="none";
	    loginpanel.style.display="block";
		userinfo.style.display="none";
	}
}
/*复制代码*/
function setCopy(content){   
	if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) {   
		clipboardData.setData('Text',content);   
		alert ("该地址已经复制到剪切板");   
	} else {   
		prompt("请复制网站地址:",content);   
	}   
}
/*文字逐行滚动*/
function scroll(){
    var box = document.getElementById("worddynamic1_scroll"), can = true;
    if (box != null) {
        box.innerHTML += box.innerHTML;
        box.onmouseover = function() { can = false };
        box.onmouseout = function() { can = true };
        new function() {
            var stop = box.scrollTop % 22 == 0 && !can;
            if (!stop) box.scrollTop == parseInt(box.scrollHeight / 2) ? box.scrollTop = 0 : box.scrollTop++;
            setTimeout(arguments.callee, box.scrollTop % 22 ? 10 : 1500);
        };
    }
}
/*此函数用来解决FF浏览器下超长字符串换行,注意要断行容器的类名加“wordbreak”*/
function fnBreakWordAll(o){
	var o = o || {},
	iWord = o.word || 13,
	sRe = o.re || '[a-zA-Z0-9]',
	bAll = o.all || false,
	sClassName = o.className || 'wordbreak',
	aEls = o.els || (function(){
	var aEls = [],
	  aAllEls = document.getElementsByTagName('*'),
	  re = new RegExp('(?:^|\\s+)' + sClassName + '(?:\\s+|$)');
	for(var i =0,iLen = aAllEls.length; i < iLen ; ++i){
	  if(re.test(aAllEls[i].className)){
	    aEls[aEls.length] = aAllEls[i]; 
	  }
	}
	return aEls;
	})() || [],
	fnBreakWord = function(oEl){ 
	if(!oEl || oEl.nodeType !== 1){
	  return false;
	} else if(oEl.currentStyle && typeof oEl.currentStyle.wordWrap === 'string'){
	  breakWord = function(oEl){
	    oEl.runtimeStyle.wordWrap = 'break-word';
	    return true;
	  }
	  return breakWord(oEl);
	}else if(document.createTreeWalker){
	  var trim = function  (str) {
	    str = str.replace(/^\s\s*/, '');
	    var ws = /\s/,
	    i = str.length;
	    while (ws.test(str.charAt(--i)));
	    return str.slice(0, i + 1);
	  }
	  breakWord = function(oEl){
	    var dWalker = document.createTreeWalker(oEl, NodeFilter.SHOW_TEXT, null, false);
	    var node,s,c = String.fromCharCode('8203'),
	      //re = /([a-zA-Z0-9]{0,13})/;
	      re = new RegExp('('+ sRe +'{0,' + iWord + '})');
	    while (dWalker.nextNode()){
	      node = dWalker.currentNode;
	      s = trim(node.nodeValue).split(re).join(c);
	      node.nodeValue = s;
	    }
	    return true;
	  }
	  return breakWord(oEl);
	}
	};
	for(var i=0,n=aEls.length; i<n; ++i){
	  var sUa = navigator.userAgent,sTn = aEls[i].tagName.toLowerCase() ;
	  if((/Opera/).test(sUa) || (/Firefox/).test(sUa) || ((/KHTML/).test(sUa) && (sTn === 'td' || sTn === 'th')) || bAll){
	    fnBreakWord(aEls[i]);
	  }
	}
}

//复制地址
function copyToClipboard(theField, isalert) {
    var obj = document.getElementById(theField);
    if (obj != null) {
        var clipBoardContent = obj.value;
        obj.select();
        if (isalert != false) {
            if (window.clipboardData) {
                window.clipboardData.clearData();
                window.clipboardData.setData("Text", clipBoardContent);
            } else if (navigator.userAgent.indexOf("Opera") != -1) {
                window.location = clipBoardContent;
            } 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 = clipBoardContent;
                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);
            }
            alert("复制成功！");
        }
    }
    else {
        alert("Error!");
    }
}

var loin = document.getElementById("userinfo1");
var nologin = document.getElementById("logon1");
var logingnow = document.getElementById("logingnow");
/**********系统登录开始*******/
var CheckLogin = function() {
    var _username = document.getElementById("login1_txtUserName").value;
    var _password = document.getElementById("login1_txtPassWord").value;
    var _inputCode = document.getElementById("login1_txtCode").value;
    //输入性判断
    var flag = CheckInput(_username, _password, _inputCode);
    var codes = false;
    if (flag) {
        //验证码判断
        codes = validate(_inputCode);
        if (codes) {
			 /*2010.4.24修改（因为+号被自动转成空格）*/
			 /*对用户名进行编码*/
			 _username=encodeURIComponent(_username);
			 /*对密码进行编码*/
			 _password=encodeURIComponent(_password); 
            var nologinHtml = nologin.innerHTML;
            nologin.innerHTML = "<div style=\" background:url(/themes/image/ajaximage/loading.gif) no-repeat;padding-left:30px;padding-top:10px;\">正在登录</div>";var _style = "login";
            var loginstate;
            var loginstr = document.createElement("script");
            loginstr.setAttribute('type', 'text/javascript');
            var logurl = uumsroot + "/SSO/logininterface.aspx?username=" + _username + "&password=" + _password + "&style=" + _style + "&cookieID=" + _cookiesid + "&appID=" + _appid;
            logurl = logurl + "&random=" + Math.random();
            loginstr.setAttribute('src', logurl);
            document.getElementsByTagName("head")[0].appendChild(loginstr);
            if (document.getElementsByTagName("html")) {
                loginstr.onload = loginstr.onreadystatechange = function() {
                    var state = "";
                    if (document.all != undefined) {
                        state = loginstr.readyState;  // firefox里不兼容readyState
                    }
                    if (state == "" || state == "loaded" || state == "interactive" || state == "complete") {
                        if (loginresult.toLowerCase() == "false") {
                            alert("登录失败原因可能是：\n\n" + message.ReplaceAll("<br>", "\n"));
                            loin.style.display = 'none';
                            logingnow.style.display = 'none';
                            nologin.style.display = '';
                            nologin.innerHTML = nologinHtml;
                            // window.location.reload();
                        }
                        else if (loginresult.toLowerCase() == "securitykeyerr") {
                            alert("安全检验码出错，请重新登录！");
                            loin.style.display = 'none';
                            logingnow.style.display = 'none';
                            nologin.style.display = '';
                            nologin.innerHTML = nologinHtml;
                            //window.location.reload();
                        }
                        else if (loginresult.toLowerCase() == "success") {
                            loin.style.display = '';
                            nologin.style.display = 'none';
                            logingnow.style.display = 'none';
                            //已登录
                            AjaxMyRecord();
                            SubjectListenerLogin("login");
//                            if (xmlHttp.readyState == 4)
//                            {
                                AjaxTuiGuang();
//                            }
                        }
                    }

                }
            }

        }
    }
}
Date.prototype.format = function(format) //author: meizz 
{ 
  var o = { 
    "M+" : this.getMonth()+1, //month 
    "d+" : this.getDate(),    //day 
    "h+" : this.getHours(),   //hour 
    "m+" : this.getMinutes(), //minute 
    "s+" : this.getSeconds(), //second 
    "q+" : Math.floor((this.getMonth()+3)/3),  //quarter 
    "S" : this.getMilliseconds() //millisecond 
  } 
  if(/(y+)/.test(format)) format=format.replace(RegExp.$1, 
    (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
  for(var k in o)if(new RegExp("("+ k +")").test(format)) 
    format = format.replace(RegExp.$1, 
      RegExp.$1.length==1 ? o[k] : 
        ("00"+ o[k]).substr((""+ o[k]).length)); 
  return format; 
} 

function CheckLoginTime () 
{
    var now = new Date();
    now=now.format("yyyy-MM-dd hh:mm:ss");
    var url = "word/ajaxendtime.aspx?check=11&start="+ now.toLocaleString();
    xmlHttp.open("GET", url, true);
    xmlHttp.onreadystatechange = callbacktime;
    xmlHttp.send(null);
}

function callbacktime()
{
    if (xmlHttp.readyState == 4) 
    {
        var result = xmlHttp.responseText;    
        if(result=="true")
        {
            CheckLogin();
        }
        else
        {
            alert("登录失败原因可能是：\n\n您的电脑的时间和服务器时间不一致！建议您修改为：" + result + " \n" );
        }
    }
}


function AjaxMyRecord() 
{
    document.getElementById("divmyrecord").style.display="none";
    var now = new Date();
    var url = "word/ajaxmyrecord.aspx?type="+ now.toLocaleString();
    xmlHttp.open("GET", url, true);
    xmlHttp.onreadystatechange = cardcallBack_Reluse;
    xmlHttp.send(null);
}

function cardcallBack_Reluse()
 {
    if (xmlHttp.readyState == 4) 
    {
        var commentResult = xmlHttp.responseText;
        if(commentResult!="false")
        {
            document.getElementById("divmyrecord").style.display="block";
            document.getElementById("divmyrecord").innerHTML = commentResult;
        }
        else
        {
            document.getElementById("divmyrecord").style.display="none";
        }
    }
}


/*******登录输入项目检查**************/
var CheckInput = function(username, password, codes) {
    if (username.trim() == "") {
        alert("请输入用户名!");
        return false;
    }
    else if (checkLen(username.trim()) > 20) {
        alert("用户名已超过最大长度！");
        return false;
    }
    if (password.trim() == "") {
        alert("请输入密码！");
        return false;
    }
    else if (checkLen(password.trim()) > 20) {
        alert("密码已超过最大长度！");
        return false;
    }
    if (codes.trim() == "") {
        alert("请输入验证码！");
        return false;
    }
    else if (checkLen(codes.trim()) > 4) {
        alert("验证码已超过最大长度！");
        return false;
    }
    return true;
}
/******登录输入项目检查结束*************/

var SubjectListenerLogin = function(type) {
    if (type == "login");
    {
        var loginpanel = document.getElementById("logon1");
        var userinfo = document.getElementById("userinfo1");
        loginpanel.style.display = "none";
        userinfo.style.display = "block";
        var username = document.getElementById("username");
        if (username != null) {
            username.innerHTML = username.innerHTML + GetUserName() + "！";
        }
    }
}

/*********检查输入的字符的长度***********/
function checkLen(str) {
    var x = 0;
    for (i = 0; i < str.length; i++) {
        if (str.charCodeAt(i) > 128) {
            x = x + 2;
        } else {
            x = x + 1;
        }
    }
    return x;
}
/****************/

/****去空格函数*********/
String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
/*****替换字符串在所有相同的字符*********/
String.prototype.ReplaceAll = function(stringToFind, stringToReplace) {
    var result = this;
    var index = result.indexOf(stringToFind);
    while (index != -1) {
        result = result.replace(stringToFind, stringToReplace);
        index = result.indexOf(stringToFind);
    }
    return result;
}
/*******获取Cookies用户名**********/
var GetUserName = function() {
    var userName = new String();
    var strCookie = new String();
    strCookie = decodeURIComponent(document.cookie);
    strTT = "KSWord=";
    //根据cookies来判断用户是否登录
    if (strCookie.indexOf(strTT) >= 0) {
        var strT1 = new String();
        var strS = new String();
        var arrStr = new Array()
        strT1 = strCookie.substring(strCookie.indexOf(strTT) + strTT.length)
        arrStr = strT1.split("&");
        for (var i = 0; i < arrStr.length; i++) {
            strS = arrStr[i];
            switch (strS.substring(0, strS.indexOf("="))) {
                case "UserName":
                    userName = strS.substring(strS.indexOf("=") + 1);
                    break;
            }
        }
    }
    return userName;
}


/*表格班马线函数，排除第一行是th标题的。传入三个classname，分别代表奇数行，偶数行和当前选中行的样式*/
function changcolor(idname, css1, css2, css3) {
    var Ptr = document.getElementById(idname).getElementsByTagName("tr");
    var firsttr = getFirstChild(Ptr[0]); //ff下的差异所以用这个函数获取第一个节点对象
    var initindex = (firsttr = "TH") ? "1" : "0"; //排除第一个标题行是TH的

    for (i = initindex; i < Ptr.length; i++) {
        Ptr[i].className = (i % 2 > 0) ? css1 : css2;
        Ptr[i].onmouseover = function() {
            this.tmpClass = this.className;
            this.className = css3;
        };
        Ptr[i].onmouseout = function() {
            this.className = this.tmpClass;
        };
    }
}

/*获取第一个子节点的函数，兼容FF*/
function getFirstChild(obj) {
    var firstDIV;
    for (i = 0; i < obj.childNodes.length; i++) {
        if (obj.childNodes[i].nodeType == 1) {
            firstDIV = obj.childNodes[i];
            return firstDIV;
        }
        else
            continue;
    }
}


function AjaxTuiGuang() {
    var now = new Date();
    var url = "word/ajaxtuiguang.aspx?type=" + now.toLocaleString();
    xmlHttp.open("GET", url, true);
    xmlHttp.onreadystatechange = tuiguangcallBack_Reluse;
    xmlHttp.send(null);
}

function tuiguangcallBack_Reluse() {
    if (xmlHttp.readyState == 4) {
        document.getElementById("tuiguang").innerHTML = xmlHttp.responseText;
    }
}
