﻿
var g_KFGUIN = "";
var g_EXT = "";
var g_QQUIN = "";
var g_bVoteType = 1;

var g_bVote = false;
var g_bLogin = false;

var ORG_VERIFY_MSG="请输入以下四个字符，不分大小写";
var HERO_SEARCH_MSG="请输入企业QQ帐号";

var g_vcodeInitImg = "http://ptlogin2."+KF_DOMAINNAME+"/getimage?aid=3000401&";
var VS_KEY_BACKSPACE=8,VS_KEY_TAB=9,VS_KEY_ENTER=13,VS_KEY_PAGEUP=33,VS_KEY_PAGEDOWN=34,VS_KEY_END=35,VS_KEY_HOME=36,VS_KEY_LEFT=37,VS_KEY_UP=38,VS_KEY_RIGHT=39,VS_KEY_DOWN=40,VS_KEY_INSERT=45,VS_KEY_DEL=46,VS_KEY_0=48,VS_KEY_9=57,VS_KEY_NUM0=96,VS_KEY_NUM9=105,VS_KEY_NUMSUB=109,VS_KEY_NUMDOT=110,VS_KEY_SUB=189,VS_KEY_DOT=190,VS_KEY_A=65,VS_KEY_Z=90,VS_KEY_SPACE=32,VS_KEY_IME=229;
var VS_FT_LONG="long",VS_FT_ULONG="ulong",VS_FT_FLOAT= "float",VS_FT_UFLOAT="ufloat",VS_FT_TAG="tag";

var err_kfErrorCode=new Array();
err_kfErrorCode["-1"]="未知错误";
err_kfErrorCode["0"]="成功";
err_kfErrorCode["1"]="没有登录";
err_kfErrorCode["2"]="包括不支持的参数";
err_kfErrorCode["3"]="不支持的加密方法";
err_kfErrorCode["4"]="非法请求";
err_kfErrorCode["5"]="服务器忙";
err_kfErrorCode["6"]="请重新登录，因为用户在其它地方登录";
err_kfErrorCode["7"]="因为安全原因请重新登录";
err_kfErrorCode["8"]="因为密码已经修改请重新登录";
err_kfErrorCode["9"]="资料长度超过限制";
err_kfErrorCode["50"]="请到QQ统一登录平台登录";
err_kfErrorCode["101"]="密码错误";
err_kfErrorCode["102"]="不支持的模式";
err_kfErrorCode["103"]="客服工号（分机号）不存在";
err_kfErrorCode["104"]="验证码错误";
err_kfErrorCode["105"]="用户号码错误";
err_kfErrorCode["106"]="消息太长";
err_kfErrorCode["110"]="获取会话信息失败";
err_kfErrorCode["111"]="关闭Case失败";
err_kfErrorCode["112"]="不能发送空消息";
err_kfErrorCode["113"]="该QQ号码不存在";
err_kfErrorCode["119"]="您是VIP用户，请到\"http://b.qq.com/\"登录"; 

function heroshow_load()
{
    g_KFGUIN = "";
    g_EXT = "";
    g_QQUIN = "";
}

function hero_Display(URL,kf ,pos,level,kfname)
{
    var strURL = "http://"+KF_BIZAPP+'.'+KF_DOMAINNAME+"/hero/heroresult.htm?kf=";
    strURL += kf;
    strURL += "&pos=";
    strURL += pos;
    strURL += "&l=";
    strURL += level;
    strURL += "&n=";
    strURL += kfname;
    
    window.open(strURL, '_blank', 'height=250, width=420,toolbar=no,scrollbars=no,menubar=no,status=no');
 
//    var obj = new Object();
//    obj.sid=kf;
//    obj.pos=pos;
//    obj.l=level;

//    var s1=window.showModalDialog(URL,obj,"dialogwidth=400px;dialogHeight=150px;status=no;help=no;");
}


function herosearch_blur()
{
	var verify = document.getElementById('kfguin');
	if(verify && verify.value == '')
	{
		verify.value = HERO_SEARCH_MSG;
		verify.style.color = "#999999";
	}
}

function herosearch_clear()
{
	var verify = document.getElementById('kfguin');
	if(verify)
	{
		verify.value = '';
	}
}



function qqlogin_loade()
{
	if(vs_init())
    {
	    var skfguin = g_vs.params["sid"];
	    if(skfguin)
	    {
	        if(parseInt(skfguin) > 10000)
	        {
	            g_KFGUIN = skfguin;
	            g_bVote = true;
	            var stype = g_vs.params["m"];
	            if(stype)
	            {
	                if(parseInt(stype) > 0)
	                {
	                    g_bVoteType = 1;
	                }
	                else
	                {
	                    g_bVoteType = 0;
	                }
	            }
	            
	            return;
	        }
	    }
    }
    history.back(-1) ;
    
}

function showError(s)
{
	alert(s);
}

function ShowElementByID(elID,newstyle)
{
	var objelID = document.getElementById(elID);
	if(objelID)
	{
	    objelID.style.display = newstyle; 
	}
}
function SetElementTextByID(elID,newText)
{
	var objelID = document.getElementById(elID);
	if(objelID)
	{
	    objelID.innerText = newText; 
	}
}

function SetElementHTMLByID(elID,newHTML)
{
	var objelID = document.getElementById(elID);
	if(objelID)
	{
	    objelID.innerHTML = newHTML; 
	}
}

function checkQQInput()
{
	return pkfun_DZ(VS_FT_ULONG, null);
}

function checkWorkInput()
{
	return pkfun_DZ(VS_FT_ULONG, null);
}

function pkfun_DZ(type,maxlen,ansi)
{
	var el=event.srcElement,b=false,s=el.value,key=event.keyCode,shift=event.shiftKey,alt=event.altKey,ctrl=event.ctrlKey;
	maxlen=parseInt(maxlen,10);
	if(isNaN(maxlen))
	{maxlen=-1;}
	
	el.filterType=type;
	
	el.maxlen=maxlen;
	
	el.ansi=ansi;
	
	if(el.onchange != pkfun_DC)
	{el.oldonchange=el.onchange;el.onchange=pkfun_DC;}
	
	if(el.onpaste != pkfun_DY)
	{el.oldonpaste=el.onpaste;el.onpaste=pkfun_DY;}
	
	if(alt||ctrl||key==VS_KEY_BACKSPACE||key==VS_KEY_TAB||key==VS_KEY_LEFT
		||key==VS_KEY_UP||key==VS_KEY_RIGHT||key==VS_KEY_DOWN||key==VS_KEY_PAGEUP
		||key==VS_KEY_PAGEDOWN||key==VS_KEY_HOME||key==VS_KEY_END||key==VS_KEY_DEL
		||key==VS_KEY_ENTER)
		{b=true;}
	else
	{
		switch(type)
		{
		case VS_FT_LONG:
			b=(key==VS_KEY_SUB||key==VS_KEY_NUMSUB)||(key>=VS_KEY_0&&key<=VS_KEY_9&&!shift)
			||(key>=VS_KEY_NUM0&&key<=VS_KEY_NUM9)||(key==VS_KEY_IME);
			break;
			
		case VS_FT_ULONG:
			b=(key>=VS_KEY_0&&key<=VS_KEY_9&&!shift)||(key>=VS_KEY_NUM0&&key<=VS_KEY_NUM9)
			||(key==VS_KEY_IME);break;case VS_FT_FLOAT:b=(key>=VS_KEY_0&&key<=VS_KEY_9&&!shift)
			||(key>=VS_KEY_NUM0&&key<=VS_KEY_NUM9)||key==VS_KEY_SUB||key==VS_KEY_DOT||
			key==VS_KEY_NUMSUB||key==VS_KEY_NUMDOT||(key==VS_KEY_IME);
			break;
			
		case VS_FT_UFLOAT:
			b=(key>=VS_KEY_0&&key<=VS_KEY_9&&!shift)||(key>=VS_KEY_NUM0&&key<=VS_KEY_NUM9)
			||key==VS_KEY_DOT||key==VS_KEY_NUMDOT||(key==VS_KEY_IME);
			break;
			
		case VS_FT_TAG:
			b=(key>=VS_KEY_0&&key<=VS_KEY_9&&!shift)||(key>=VS_KEY_NUM0&&key<=VS_KEY_NUM9)
			||(key>=VS_KEY_A&&key<=VS_KEY_Z)||(key==VS_KEY_SPACE)||(key==VS_KEY_IME);
			break;
			
		default:
			b=true;
			break;
		}
		
		if(b&&maxlen>=0)
		{
			if(ansi){maxlen -= s.BLength();}
			else{maxlen -= s.UTF8Length();}
		
			if(key<0x20){}
			else if(key<0x80||key==VS_KEY_IME){maxlen--;}
			else{	if(ansi){maxlen -= 2;}
					else{maxlen -= 3;}
			}
		
			if(maxlen<0){b=false;}
		}
	}
	event.cancelBubble=true;
	return b;
}
	
function pkfun_DC()
{
	var b,el=event.srcElement,s=el.value,x;
	switch(el.filterType)
	{
		case VS_FT_LONG:
		case VS_FT_ULONG:x=parseInt(s,10);break;
		case VS_FT_FLOAT:
		case VS_FT_UFLOAT:x=parseFloat(s);break;
		default:x=0;break;
	}
	
	if(isNaN(x))
	{
		if(typeof(el.defValue)=="undefined"){el.defValue=0;}s=el.defValue.toString();}
		else{switch(el.filterType)
			{case VS_FT_LONG:
			case VS_FT_FLOAT:s=x.toString();break;
			case VS_FT_ULONG:
			case VS_FT_UFLOAT:s=Math.abs(x).toString();break;
			case VS_FT_TAG:s=E6(s);break;
			default:break;
			}
		}
		
		if(el.maxlen>=0)
		{
			if(el.ansi){s=s.BTrunc(el.maxlen);}
			else{s=s.UTF8Trunc(el.maxlen);
		}
	}
	if(s != el.value){el.value=s;b=false;}else{b=true;}
	if(typeof(el.oldonchange)=="function"){b=el.oldonchange()&&b;}
	return b;
}

function pkfun_DY()
{
	var b=true,el=event.srcElement,s=el.value;
	if(el.maxlen>=0)
	{if(el.ansi){b=s.BLength()<el.maxlen;}else{b=s.UTF8Length()<el.maxlen;}}
	if(typeof(el.oldonpaste)=="function"){b=el.oldonpaste()&&b;}
	return b;
}

function login_verifyblur()
{
	var verify = document.getElementById('vcode');
	if(verify.value == '')
	{
		verify.value = ORG_VERIFY_MSG;
		verify.style.color = "#999999";
	}
}

function clearVerify()
{
	var el = event.srcElement;
	if(el)
	{		
		if(el.value==ORG_VERIFY_MSG)
		{
			el.value = "";
		}
		el.style.color = "#000000";
	}
}

function changeImage()
{
	var verify_img = document.getElementById("vimg");

	if(verify_img)
	{
		verify_img.style.display = "block";		
		verify_img.src = g_vcodeInitImg + Math.random();
		
		var elem = document.getElementsByName("verifycode")[0];
		if(elem)
		{
			elem.value = '';
		}		
	}
}

function CRM_Login()
{
	var elem;
	var num;
	var val;
	var bQQuser = true;

	elem=document.getElementById("qq_num");
	if (elem)
	{
        if (elem.value == "")
        {
		    alert("QQ帐号输入错误");
		    elem.focus();
		    return false;
        }
		else
		{
			val = elem.value;
			num=parseInt(val);
			if(isNaN(num)||(num<1000))
			{
		        alert("QQ帐号输入错误");
				elem.value="";
				elem.focus();
				return false;
			}
		}
	}

	elem=document.getElementById ("passwd");
	if (elem)
	{
		if (elem.value == "")
		{
			alert("密码不能为空");
			elem.focus();
			return false;
		}
	}

	elem=document.getElementById ("vcode");
	if (elem)
	{
		if (elem.value == "")
		{
			alert("验证码不能为空");
			elem.focus();
			return false;
		}
		if(elem.value.length!=4)
		{
			alert("验证码错误");
			elem.value="";
			elem.focus();
			return false;
		}
	}


    var t_frm = document.getElementById("login");
	var qq_num = t_frm.u.value; 
    var passwd = t_frm.p.value;
	var vcode = t_frm.verifycode.value;
    
    if(typeof(top.setPTLogin2FrameDate) != "function")
    {
	    alert("网页出错，无法登录\n请刷新页面后再试");
	    return false;
    }    
    g_QQUIN = qq_num;
    var str = vcode;
    str = str.toUpperCase();
    passwd = md5(md5_3(passwd)+str);
    top.onptloginsuccess = CRM_Login_Success;
    top.onbizptl2load = changeImage;
    top.setPTLogin2FrameDate(qq_num, passwd, vcode);

	return true;
}

function CRM_Login_Success()
{
	top.onbizptl2load = null;
    var t_frm = document.getElementById("qlfrm");
    if(t_frm)
    {
        t_frm.src = "/bizptl2.htm";
    }
	if(g_bVote)
	{
	    var sGroup ='好评用户';
	    if(g_bVoteType == 0)
	    {
	        sGroup ='差评用户';
	    }
	    var sURL = 'kfguin='+g_KFGUIN+'&qqvote='+g_QQUIN+'&m='+g_bVoteType+'&g='+sGroup+'&';
	    SendAJAXRequest("/cgi/herovote?","POST",Vote_OnReturn,sURL);
	}
}

function Vote_OnReturn(xmlobj)
{
	xml = xmlobj.responseXML;
	var node = xml.selectSingleNode("//root");

	var result = getValue(node, "r");
 	if(parseInt(result) == 0)
 	{
	    if(g_bVoteType == 0)
	    {
           alert("感谢您的评价，这次差评将会为"+g_KFGUIN+"企业减少1分的积分，并直接影响企业的排名，请和企业多多沟通吧！");
	    }
	    else
	    {
           alert("感谢您的评价，这次好评将会为"+g_KFGUIN+"企业增加1分的积分，您的评价直接影响企业的排名哦。");
	    }
    }
    else
    {
        alert("提交失败，您今天不能投票了！");
    }
    var surl = window.location.href;
    if(surl.search(/userlogin.htm/) >=0 )     
    {
        window.location.href = "heroshow.htm";
    }
}

function Herolist_Search()
{
	var elem;
	elem=document.getElementById("kfguin");
	if (elem)
	{
        if(parseInt(elem.value) > 10000)
        {
            g_KFGUIN = elem.value;
	        var sURL = 'kfguin='+elem.value+'&';
	        SendAJAXRequest("/cgi/herolist?","POST",Herolist_Search_OnReturn,sURL);
        }
    }
}

function Herolist_Search_OnReturn(xmlobj)
{
	xml = xmlobj.responseXML;
	var node = xml.selectSingleNode("//root");
	var result = getValue(node, "r");
 	if(parseInt(result) == 0)
 	{
 	    var kfguin = getValue(node, "kfguin");
 	    var kfscore = getValue(node, "s");
 	    var kfpostion = getValue(node, "p");
 	    var kfname = getValue(node, "n");
 	    if(kfguin && kfscore && kfpostion)
 	    {
 	        hero_Display('heroresult.htm',kfguin,kfpostion,getLevel(kfscore),kfname);
            //alert(kfguin + " 当前企业排名为："+kfpostion+" ，等级为："+getLevel(kfscore));
	    }
	    else
	    {
	        alert("请填写有效企业QQ帐号！");
	    }
    }
 	else if(parseInt(result) == 130)
 	{
	    alert("请填写有效企业QQ帐号！");
 	}
    else
    {
        alert("提交失败，请确认你已经注册了CRM系统！");
    }
}

function getValue(node,name)
{
	var value="", n=node.selectSingleNode(name);
	if(n){value=n.text;}
	return value;
}

function doLogin(xmlobj)
{
	var url;
	if(xmlobj == null)
	{
		showError(err_kfErrorCode["5"]);
		return;
	}

	xml = xmlobj.responseXML;
	var node = xml.selectSingleNode("//root");

	var result = getValue(node, "r");
	var kfguin = getValue(node, "k");
	var kfext = getValue(node, "u");
	var t_frm = document.getElementById("login");
	if(parseInt(result) == 0)
	{
	    var sURL = 'kfguin='+g_KFGUIN+'&ext='+g_EXT+'&m=1'+'&';
        SendAJAXRequest("/cgi/heroapply?","POST",Apply_OnReturn,sURL);
	}
	else
	{
		showError(err_kfErrorCode[result]);
		//重新刷验证码
		changeImage();
		//设置焦点
		if(result==101)
		{
			if(t_frm && t_frm.p)
			{
				t_frm.p.focus();
			}
		}
		else if(result==104)
		{
			if(t_frm && t_frm.verifycode)
			{
				t_frm.verifycode.value = "";
				t_frm.verifycode.focus();
			}
		}
	}
}

function OpenKFWindow(kfguin,mode)
{
    var strURL = "http://bizapp.qq.com/webc.htm?new=0&sid=";
    strURL += kfguin;
    strURL += "&o=bizapp.qq.com&q=";
    strURL += mode;
    window.open(strURL, '_blank', 'height=502, width=644,toolbar=no,scrollbars=no,menubar=no,status=no');
}

function isqqlogin()
{
	if(vs_init())
    {
	    var uin = g_vs.getCookie('uin');
	    if(uin)
	    {
		    len = uin.length;
		    for(i=0; i<len;i++)
		    {
			    c = uin.charAt(i);
			    if(c !='o' && c!='0')
			    {
				    break;
			    }
		    }
		    uin = uin.substr(i,len-1);
		    g_QQUIN = uin;

	        return true;
	    }
    }
    return false;
}

function VoteKF(kfguin)
{
    if(isqqlogin())
    {
        g_bLogin = false;
        g_KFGUIN = kfguin;
        var sURL = 'kfguin='+kfguin+'&qqvote='+g_QQUIN+'&m=1&';
        SendAJAXRequest("/cgi/herovote?","POST",Vote_OnReturn,sURL);
    }
    else
    {
        g_bLogin = true;
        window.location.href = "http://"+KF_BIZAPP+'.'+KF_DOMAINNAME+"/hero/userlogin.htm?&m=1&sid="+kfguin;
    }
}

function Vote_Action(kfguin,mod)
{
    g_bVoteType = mod;
    if(isqqlogin())
    {
        g_bLogin = false;
        g_KFGUIN = kfguin;
        var sURL = 'kfguin='+kfguin+'&qqvote='+g_QQUIN+'&m='+g_bVoteType+'&';
        SendAJAXRequest("/cgi/herovote?","POST",Vote_OnReturn,sURL);
    }
    else
    {
        g_bLogin = true;
        window.location.href = "http://"+KF_BIZAPP+'.'+KF_DOMAINNAME+"/hero/userlogin.htm?&m="+g_bVoteType+"&sid="+kfguin;
    }
}

function VoteKFEx(kfguin)
{
    if(isqqlogin())
    {
        g_bLogin = false;
        g_KFGUIN = kfguin;
        var sURL = 'kfguin='+kfguin+'&qqvote='+g_QQUIN+'&m=1&';
        SendAJAXRequest("/cgi/herovote?","POST",Vote_OnReturn,sURL);
    }
    else
    {
        g_bLogin = true;
        var strURL = "http://"+KF_BIZAPP+'.'+KF_DOMAINNAME+"/hero/userlogin.htm?&m=1&sid="+kfguin;
        window.open(strURL);
    }
    
}

	function getLevel(score)
	{
        var level = 0;
        if (score==0)
        {
            level = 0;
        }
        else if (score>=1 && score <=119)
        {
            level = 1;
        }
        else if (score>=120 && score <=399)
        {
            level = 2;
        }
        else if (score>=400 && score <=899)
        {
            level = 3;
        }
        else if (score>=900 && score <=1599)
        {
            level = 4;
        }
        else if (score>=1600 && score <=2699)
        {
            level = 5;
        }
        else if (score>=2700 && score <=4499)
        {
            level = 6;
        }
        else if (score>=4500 && score <=6999)
        {
            level = 7;
        }
        else if (score>=1 && score <=119)
        {
            level = 1;
        }
        else if (score>=1 && score <=119)
        {
            level = 1;
        }
        else if (score>=7000 && score <=10999)
        {
            level = 8;
        }
        else if (score>=11000 && score <=17999)
        {
            level = 9;
        }
        else if (score>=18000 && score <=27999)
        {
            level = 10;
        }
        else if (score>=28000 && score <=41999)
        {
            level = 11;
        }
        else if (score>=42000 && score <=63999)
        {
            level = 12;
        }
        else if (score>=64000 && score <=93999)
        {
            level = 13;
        }
        else if (score>=94000 && score <=139999)
        {
            level = 14;
        }
        else if (score>=140000 && score <=199999)
        {
            level = 15;
        }
        else if (score>=200000 && score <=269999)
        {
            level = 16;
        }
        else if (score>=270000 && score <=369999)
        {
            level = 17;
        }
        else if (score>=370000 && score <=519999)
        {
            level = 18;
        }
        else if (score>=520000 && score <=719999)
        {
            level = 19;
        }
        else if (score>=720000)
        {
            level = 20;
        }
        
        return level;
	}
	
	function getSun(level)
	{
	    return Math.floor(level/16);
	}
	function getMoon(level)
	{
	    return Math.floor((level%16)/4);
	}
	function getStar(level)
	{
	    return Math.floor((level%16)%4);
	}