﻿var g_isDebug = false;	
var g_debugurl = "none";	//非debug时，取消
var g_cgi_path = "/contact/";
var g_url_path = "/beta2/"
var g_cur_requrl;
var g_ifIE = !!document.all;
var g_sub_domain=(0 <= window.location.href.indexOf(".oa.com"))?"oa":"qq";
var jumpFids = [14];
var g_logoUrl={
	14  : "http://msc.misuland.com",
	16  : "http://msc.misuland.com",
	18  : "http://msc.misuland.com",
	19  : "http://msc.misuland.com",
	20  : "http://msc.misuland.com",
	29  : "http://msc.misuland.com",
	32  : "http://msc.misuland.com",
	34  : "http://msc.misuland.com",
	37  : "http://msc.misuland.com",
	44	: "http://msc.misuland.com",
	45	: "http://msc.misuland.com",
	56  : "http://msc.misuland.com",
	86  : "http://msc.misuland.com",
	88  : "http://msc.misuland.com",
	94  : "http://msc.misuland.com",
	99  : "http://msc.misuland.com",
	100 : "http://msc.misuland.com",
	350 : "http://msc.misuland.com",
	360 : "http://msc.misuland.com",
	361 : "http://msc.misuland.com",
	362 : "http://msc.misuland.com"
}
String.prototype.realLength = function(){
	return this.replace(/[^\x00-\xff]/g,"**").length;
}

String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"");}

function uri_param_encode(s){
    return s.replace(/&/g, "&&");
}

function $(id){
	return document.getElementById(id);
}

function getCookie(name){
	var search;
	search = " "+name + "=";
	offset = document.cookie.indexOf(search);
	if (offset != -1) {
		offset += search.length;
		end = document.cookie.indexOf(";", offset);
		if (end == -1)
			end = document.cookie.length;
		return unescape(document.cookie.substring(offset, end));
	}
	else
		return "";
}

function setCookie(pars,value){
	var date=new Date();
	var expiresday=10;
	date.setTime(date.getTime()+expiresday*3600*1000);
    document.cookie = pars + "=" + value + "; path=/; expires="+date.toUTCString();
}

function delCookie(name, path,support){
	var domain = g_sub_domain+".com";
	if(support) domain = "support."+domain;
    if (getCookie(name)){
        document.cookie = name + "=" +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		"; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function VaildURL(sUrl){
	return (/^(https?:\/\/)?[\w\-.]+\.(qq|paipai|soso|taotao)\.com($|\/|\\)/i).test(sUrl)||(/^[\w][\w\/\.\-_%]+$/i).test(sUrl)||(/^[\/\\][^\/\\]/i).test(sUrl) ? true : false;
}


function HtmlEncode(sStr){
	sStr = sStr.replace(/&/g,"&amp;");
	sStr = sStr.replace(/>/g,"&gt;");
	sStr = sStr.replace(/</g,"&lt;");
	sStr = sStr.replace(/"/g,"&quot;");
	sStr = sStr.replace(/'/g,"&#39;");
	return sStr;
}

function HtmlDecode(sStr){
	sStr = sStr.replace(/&amp;/g,"&");
	sStr = sStr.replace(/&gt;/g,">");
	sStr = sStr.replace(/&lt;/g,"<");
	sStr = sStr.replace(/&quot;/g,"\"");
	//sStr = sStr.replace(/&#39;/g,"'");
	return sStr;
}

function getUrlParam(paramName) {
	var rtnValue = "";
	var userData = window.location.href;
	var specIndex = userData.indexOf(paramName + "=", 0);
	if(specIndex>=0) {
		var tempSingleStr;
		for(var i=specIndex+paramName.length+1; i<userData.length; i++) {
			tempSingleStr = userData.charAt(i);
			if(tempSingleStr!="&")
				rtnValue += tempSingleStr;
			else
				break;
		}
	}
	if ( rtnValue.indexOf("#")>-1){
		rtnValue	= rtnValue.replace(/#*/, "");
	}
	rtnValue = rtnValue.split("#")[0];
    rtnValue = HtmlEncode(rtnValue);
	return unescape(rtnValue);
}


function parseXML(st){
	if (g_ifIE){ //如果不是IE浏览器
		var result =  new ActiveXObject("microsoft.XMLDOM");
		result.loadXML(st);
	} else { //IE浏览器
		var parser = new DOMParser();
		var result = parser.parseFromString(st,"text/xml");
	}
	return result;
}

if (!g_ifIE){//如果不是IE浏览器
	var ex;
	XMLDocument.prototype.__proto__.__defineGetter__("xml", function (){
		try{
			return  new XMLSerializer().serializeToString(this);
		} catch (ex){
	       	var d = document.createElement("div");
			d.appendChild(this.cloneNode(true));
			return d.innerHTML;
		}
	});

	Element.prototype.__proto__.__defineGetter__("xml", function (){
		try {
			return  new XMLSerializer().serializeToString(this);
		} catch (ex){
			var d = document.createElement("div");
			d.appendChild(this.cloneNode(true));
			return d.innerHTML;
		}
	});

	XMLDocument.prototype.__proto__.__defineGetter__("text", function (){
		return  this.firstChild.textContent
	});

	Element.prototype.__proto__.__defineGetter__("text", function (){
		return  this.textContent
	});


	XMLDocument.prototype.selectSingleNode = Element.prototype.selectSingleNode = function (xpath){
		var x = this.selectNodes(xpath)
		if (! x || x.length <1) return  null ;
		return x[0];
	}
	
	XMLDocument.prototype.selectNodes = Element.prototype.selectNodes = function (xpath){
		var xpe =  new XPathEvaluator();
		var nsResolver = xpe.createNSResolver(this.ownerDocument == null ? this.documentElement : this.ownerDocument.documentElement);
		var result = xpe.evaluate(xpath, this , nsResolver, 0 , null);
		var found = [];
		var res;
		while (res = result.iterateNext()){
			found.push(res);
		}
		return found;
  }
}

function createXmlHttp(){
	var xmlhttp;

	try{ xmlhttp = new XMLHttpRequest();}
	catch(e){ try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
		catch(e){ try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
		 catch(faild){ 
		 xmlhttp=null; 
		 alert("抱歉，您的浏览器不支持XMLHttp!,无法正常显示。");
			}
		}
	}
	return xmlhttp;
}

/*
创建Msxml2.XMLHTTP对象
*/
function Ajax(url,pars,callback,xml,m,errCallback){
	var xmlhttp;
	if(pars!=""){
		pars = pars+"&r="+ Math.ceil(Math.random() * 100);
	}else{
		pars = pars+"r="+ Math.ceil(Math.random() * 100);
	}
	g_cur_requrl = url;
	
	if (g_isDebug)
		if (pars!="") g_cur_requrl += "?"+pars;	
	
	var strurl = g_cur_requrl;

	try {
	    xmlhttp = createXmlHttp();
    } catch(e) {
	    xmlhttp = false;
    }

    xmlhttp.onreadystatechange = function ()
	{
		
		if (xmlhttp.readyState == 4){ 
			window.status = "";
			if ($("loading")) $("loading").style.display="none";
			if	(xmlhttp.status==404)
			{
				alert("数据请求不存在,返回404，请联系管理员！\r\n\r\n请求URL："+strurl);
				g_cur_requrl = "";
				return;
			}

			if	(xmlhttp.status==500)
			{
				alert("服务器错误返回500，请联系管理员！\r\n\r\n请求URL："+strurl);
				g_cur_requrl = "";
				return;
			}
			
			if (xmlhttp.status==200 || xmlhttp.status==0){ 
				if(typeof(callback)=="function")
				{
					if(typeof(xml)!="undefined"&&xml.toLowerCase()=="xml") {
						if(check_retcode(getnodedata(xmlhttp.responseXML,"/root/er","-1"),strurl))	{
							callback(xmlhttp.responseXML,m);
						}else{
							if(typeof(errCallback)!="undefined"){
								errCallback();
							}
						}
					}
					else{
						callback(xmlhttp.responseText);
					}
				}
	        } else { 
	            alert("Error code:"+xmlhttp.status+"\r\n\r\n请求URL："+strurl);
	        }
			g_cur_requrl = "";
	    }
	}

	window.status = "XML请求："+strurl+"......";
	if ($("loading")) {$("loading").style.display = "block"; };

	
	if (pars!="")	{
		xmlhttp.open("POST",url,true);
		xmlhttp.setRequestHeader("If-Modified-Since","0");	
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		xmlhttp.send(pars);
	}
	else {
		xmlhttp.open("GET",strurl,true);
		xmlhttp.setRequestHeader("If-Modified-Since","0");	
		xmlhttp.send(null);
	}
}

function getnodedata(xmlDoc,nodeID,defaultvalue)
{
	var str=defaultvalue;
	try{
		str = xmlDoc.selectSingleNode(nodeID).text;
	}
	catch(e){ 
		if (g_cur_requrl.indexOf(g_debugurl)>=0)
			alert("URL:"+g_cur_requrl+"\r\n\r\n获取xml数据失败！xml节点：" + nodeID + "默认值：" + str);
	}
	
	return str;
}

function getnodes(xmlDoc,nodeID,defaultvalue)
{
	var obj_array = defaultvalue;
	try{
		obj_array = xmlDoc.selectNodes(nodeID);
	}
	catch(e){
	}
	return obj_array;
}

function check_retcode(retcode,strurl) {
	var errstr="（errcode："+retcode+"）";

	switch (Number(retcode))	{
		case 0: 
			return true;	break;
		case -1: 
			return false;
		case -20999:
		case -20986:
		case -20987:
			errstr += "登录超时，请重新登陆";	break;
		case -39996:
			return false;
		case -20998:
			errstr += "您输入的帖子标题太短，请输入>4个汉字！";	break;   
		case -20997:
			errstr += "您输入的帖子标题太长，请输入<30个汉字或60个字节！";	break; 
		case -20996:
			errstr += "您输入的帖子内容太短，请输入>15个汉字或30个字节！";	break; 				
		case -20995:
			errstr += "您输入的帖子内容太长，请输入<1万个字！";	break; 	
		case -20979 :
			errstr += "不允许访问";break;
		case -26475:
			errstr += "抱歉，帖子不存在，请您联系管理员！";	break; 
		case -26002:
			errstr += "抱歉，版面不存在，请您联系管理员！";	break; 
        case  -20991,-20990:
			errstr += "您的请求参数有误，请联系管理员！";	break;
        case  -21354:
			errstr += "本帖已经存在权威回答，请您在回帖时不要选择权威回答!";	break;
        case  -21203:
			errstr += "您发帖频率过快，请稍等!";	break;
		case  -21306:
		case  -21302:
			errstr += "您没有权限执行这个操作，有问题请联系管理员!";	break;
		case  -21300:
			errstr += "您不是管理员，没有权限执行该操作！"; break;
		case  -21301:
			errstr += "您不是管理员，没有权限执行该操作！"; break;
 		default:
			errstr += "系统繁忙，请您联系管理员！";	break;
	}

	//errstr += "\r\n\r\n请求URL："+strurl;
	alert(errstr);
	return false;	
}
/*---------------------------------*/
function isadmin(q){
	if(typeof(admin)!="undefined"&&(admin.indexOf("|"+q+"|")!=-1 || admin.indexOf(q+"|")==0))
		return true;
	else
		return false;
}

function logout(){
	var url = g_cgi_path+"logout";
	var logout_callback = function(){
		delCookie("skey", "/");
		delCookie("uin", "/");
		delCookie("support_key", "/",true);
		delCookie("support_uin", "/",true);
        
        var match = false;
		if (typeof(GLOBAL_IGNORE_FAQ_FIDS) != "undefined")
		{
		    for (var i = 0; i < GLOBAL_IGNORE_FAQ_FIDS.length; i++)
		    {
		        if (GLOBAL_IGNORE_FAQ_FIDS[i] == fid)
                {
                    window.location.href = g_cgi_path + "titlelist_simple?pn=0&order=3&fid="+fid;
                    match = true;
		            break;
		        }
            }
		}
        if (!match)
        {
		    window.location.href = g_url_path+"simple/index.html?fid="+fid;
        }
	};
	Ajax(url,"",logout_callback,"xml");
}

function leave(){
	window.self.close();
}

function login(fid){
	var str = "<div style='width:350px'>";
	if(((getCookie("uin") != ""&&getCookie("skey")!="")||(getCookie("support_uin") != ""&&getCookie("support_key")!="")||(getCookie("qqmail_username")!=""))&&g_loginFlag=="1"){
		var qq = getCookie("support_uin").replace(/^[^1-9]*/,"");
		var isQQMail = false;
		if(qq==""){
			qq = getCookie("uin").replace(/^[^1-9]*/,"");
		}
		if(qq==""&&getCookie("qqmail_username")!=""){
			qq = getCookie("qqmail_username");
			isQQMail = true;
		}
		if(isQQMail){
			str += "欢迎您,QQ Mail用户["+qq+"] | <a href='"+g_url_path+"simple/myinfo.html?fid="+fid+"'>我的资料</a> ";
			if(typeof(qurl)!="undefined"&&qurl!="")  str += " | <a target='_blank' href='"+qurl+"'>产品博客</a>";
			str +=" | <a href='javascript:leave();'>离开</a>";
			
		}else{
			str += "欢迎您,["+qq+"] | <a href='"+g_url_path+"simple/myinfo.html?fid="+fid+"'>我的资料</a> ";
			if(typeof(qurl)!="undefined"&&qurl!="")  str += " | <a target='_blank' href='"+qurl+"'>产品博客</a>";
			str += " | <a href='javascript:logout();'>退出</a>";
			}
			
		//添加管理入口
		if((inip==1) || isadmin(qq)) 
			str += " | <a target='_blank' style='color:red' href='"+g_url_path+"simple_admin/index.html?fid="+fid+"'>管理后台</a>";
	}else{
		var url = window.location.href;
		
		if(typeof(qurl)!="undefined"&&qurl!="")  str += "<a target='_blank' href='"+qurl+"'>产品博客</a> | ";
		
		if(url.indexOf("?url")!=-1)
			str += "<a href='"+window.location.href+"'>登录</a>";
		else
			str += "<a href='"+g_url_path+"simple/login.html?fid="+fid+"&url="+escape(window.location.href)+"'>登录</a>";
	}
	
    str += "</div><div style='width:350px'></div><div style='width:350px;float:right'>";
    str += "<a href='http://service.qq.com/cgi-bin/showSurvey?survey_id=20' target='_blank'><font color='FF0099'>邀请您参加产品交流平台满意度调查</font></a>";
	str += "</div>";
	
	$("logo2").innerHTML = str;
	
	//给菜单加链接
	if(fid!=""){
		$("item0").href = g_url_path+"simple/index.html?fid="+fid;
		$("item1").href = "write.html";
		$("item2").href = "titlelist_simple.jsp";
		$("logoImage").src = g_url_path+"simple/images/logo_"+fid+".gif";		

		if(typeof(purl)!="undefined"&&purl!=""){
			$("logoUrl").href = purl;
			$("logoImage").alt = fname + "官方网站";
			$("logoUrl").target = "_blank";
		}else{
			$("logoUrl").href = "#";
		}
	}
	
	//添加产品博客
	//if(typeof(qurl)!="undefined"&&qurl!=""){
		//$("blogurl").innerHTML = "<a style='text-decoration:none' target='_blank' href='"+qurl+"'>产品博客</a> &nbsp;|&nbsp;";
	//}
}
function getUin(){
	var qq = getCookie("uin").replace(/^[^1-9]*/,"");
	qq = qq=="" ? getCookie("support_uin").replace(/^[^1-9]*/,"") : qq;
	return qq;
}

window.onerror = function(){return true;}


