﻿function CmfuAjax()
{
 this.xml=false;

this.GetXmlHttp=function()
{
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	try {
	 this.xml = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	 try {
		this.xml = new ActiveXObject("Microsoft.XMLHTTP");
	 } catch (e2) {
		this.xml = false;
	 }
	}
	@end @*/

	if (!this.xml && typeof XMLHttpRequest != 'undefined') {
	 this.xml = new XMLHttpRequest();
	}
}
	this.GetXmlHttp();
	var xmlHttp = this.xml;
	var ajax=this;
	
	var callBack=null;

	this.updatePage=function() {

 if (xmlHttp.readyState == 4) {
 // alert("ResponseText:	 "+xmlHttp.responseText);
 // try{
 	//alert("text="+xmlHttp.responseText);
 
 var response = eval('('+xmlHttp.responseText+')');
	
	 if(callBack!=null && typeof callBack == "function")
	 {
	 callBack(response);
	 }
//	}catch(e)
//	{
//	 alert("error："+e);
//	}
 }
}

this.toQueryString=function(json)
{
 var query="";
 if(json!=null)
 { 
 for(var param in json)
 {
 query+=param+"="+escape(json[param])+"&"
 }
 }
 
 return query; 
}

this.invoke=function(opName,params,pageCallBack,method)
{
 var _flag = false;// is use domain.qidian.com
 var domainUrl = "";
 
 if (document.getElementById("ctl00_MainBase")!=null && document.getElementById("ctl00_MainBase").href!="")
 {
 _flag = true;
 domainUrl=window.location.href.toLowerCase();
 domainUrl=domainUrl.substring(domainUrl.indexOf("//")+2);
 
 if (domainUrl.indexOf("/")>-1)
 domainUrl=domainUrl.substring(0,domainUrl.indexOf("/"));
 domainUrl="http://"+domainUrl;
 }
 
 if(xmlHttp)
 {
 // var query="opName="+opName+"&";
 var query="";
 query+=this.toQueryString(params);
 query=query.substring(0,query.length-1);
 callBack= pageCallBack;
 
 if(method!=null &&method.toUpperCase()=="GET")
 {
 var url = "/ajax.aspx?opName="+opName+"&"+query;
 if(_flag)
 {
 url = domainUrl + url;
 }
 xmlHttp.onreadystatechange = ajax.updatePage;
 xmlHttp.open("GET", url, true);
 xmlHttp.setRequestHeader("CMFUAJAX-Ver","ver1.0");
 xmlHttp.send(null);
 }else{
 
 var url ="";
 if(opName!=null &&(opName.toLowerCase()=="addreview" || opName.toLowerCase()=="addforumreview" || opName.toLowerCase()=="addforumreviewlogin" || opName.toLowerCase()=="addclubreview"||opName.toLowerCase()=="addclubspecialreview"))
 {
 url= "/ajax2.aspx?opName="+opName; 
 }
 else if(opName!=null && (opName.toLowerCase()=="vote0714"||opName.toLowerCase()=="voteauthor"||opName.toLowerCase()=="voteauthorname"))
 {
 //url= "/ploy/20080714/VoteService.aspx?opName="+opName; 
 url= "/ply/20080924/VoteService.aspx?opName="+opName; 
 }
 else if(opName!=null && opName.toLowerCase()=="getuserip")
 {
 url="/user/userip.aspx";
 }
 else
 {
 url= "/ajax.aspx?opName="+opName; 
 } 
 
 if(_flag)
 {
 url = domainUrl + url;
 }
 
 // xmlHttp.setRequestHeader("Content-Length",query); 
 xmlHttp.onreadystatechange =ajax.updatePage; //new CallClient(this); //this.updatePage;
			
 xmlHttp.open("POST", url, true);
 xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
 xmlHttp.setRequestHeader("CMFUAJAX-Ver","ver1.0");
 xmlHttp.send(query);
 } 
 }
 }
}


var MyAjax={
 AddReview: function(bookId, content, postType, validCode) {
 var validateHdd=document.getElementById("hddValidateCode");
 var validateString="";
 if (validateHdd!=null) validateString = validateHdd.value;
		new CmfuAjax().invoke("AddReview", {"bookId":bookId, "content":content, "postType":postType, "validCode":validCode,"validateString":validateString}, arguments[4]);
	},
 AddClubReview: function(validCode, content, clubId) {
 var validateHdd=document.getElementById("hddValidateCode");
 var validateString="";
 if (validateHdd!=null) validateString = validateHdd.value;
		new CmfuAjax().invoke("AddClubReview", {"validCode":validCode, "content":content, "clubId":clubId,"validateString":validateString}, arguments[3]);
	},
 AddClubSpecialReview: function(validCode, content, clubSpecialID,fromNickName) {
 var validateHdd=document.getElementById("hddValidateCode");
 var validateString="";
 if (validateHdd!=null) validateString = validateHdd.value;
		new CmfuAjax().invoke("AddClubSpecialReview", {"validCode":validCode, "content":content, "clubSpecialID":clubSpecialID,"fromNickName":fromNickName,"validateString":validateString}, arguments[4]);
	},
 AddForumReview: function(bookId, title, content, postType, validCode, isAnonymous) {
 var validateHdd=document.getElementById("hddValidateCode");
 var validateString="";
 if (validateHdd!=null) validateString = validateHdd.value;
		new CmfuAjax().invoke("AddForumReview", {"bookId":bookId,"title":title, "content":content, "postType":postType, "validCode":validCode, "validateString":validateString, "isAnonymous":isAnonymous}, arguments[6]);
	},
 AddForumReviewLogin: function(bookId, title, content, postType, validCode, ptId, password) {
 var validateHdd=document.getElementById("hddValidateCode");
 var validateString="";
 if (validateHdd!=null) validateString = validateHdd.value;
		new CmfuAjax().invoke("AddForumReviewLogin", {"bookId":bookId,"title":title, "content":content, "postType":postType, "validCode":validCode, "ptId":ptId, "password":password, "validateString":validateString}, arguments[7]);
	},
	AddDream: function(bookId, title, content, postType, validCode,bounsType,bouseAmount) {
		new CmfuAjax().invoke("AddDream", {"bookId":bookId,"title":title, "content":content, "postType":postType, "validCode":validCode,"bounsType":bounsType,"bouseAmount":bouseAmount}, arguments[7]);
	},
	GetDream: function(threadId) {
		new CmfuAjax().invoke("GetDream", {"threadId":threadId},arguments[1]);
	},
	SetBestPost: function(threadid,postid) {
		new CmfuAjax().invoke("SetBestPost", {"threadid":threadid,"postid":postid},arguments[2]);
	},
	UpdateDreamStatus: function(threadId,newStatus) {
		new CmfuAjax().invoke("UpdateDreamStatus", {"threadId":threadId,"newStatus":newStatus},arguments[2]);
	},
	MonthVote: function(bookId) {
		new CmfuAjax().invoke("MonthVote", {"bookId":bookId},arguments[1]);
	},
	AddBookMark: function(bookId, chapterId) {	
		new CmfuAjax().invoke("AddBookMark", {"bookId":bookId, "chapterId":chapterId}, arguments[2]);
	},
	RecomBook: function(bookId) {
		new CmfuAjax().invoke("RecomBook", {"bookId":bookId}, arguments[1]);
	},
	GetLoginId: function() {
		new CmfuAjax().invoke("GetLoginId", {},arguments[0]);
	},
	LoginUser: function(ptId, password, token, challenge, saveCookie) {
		new CmfuAjax().invoke("LoginUser", {"ptId":ptId, "password":password, "token":token, "challenge":challenge, "saveCookie":saveCookie}, arguments[5]);
	},
	AddBookClick: function(bookId) {
		new CmfuAjax().invoke("AddBookClick", {"bookId":bookId},arguments[1]);
	},
	SetRecentReadBookCookie: function(bookId) {
		new CmfuAjax().invoke("SetRecentReadBookCookie", {"bookId":bookId});
	},
	AddUpdateAwake: function(strBookId) {
		new CmfuAjax().invoke("AddUpdateAwake", {"strBookId":strBookId},arguments[1]);
	},
	AddBookCase: function(bookId) {
		new CmfuAjax().invoke("AddBookCase", {"bookId":bookId}, arguments[1]);
	},
	SubmitSurvey: function(strBookId, args) {
		new CmfuAjax().invoke("SubmitSurvey", {"strBookId":strBookId, "args":args}, arguments[2]);
	},
	AppraiseBook: function(bookId, userId, score) {
		new CmfuAjax().invoke("AppraiseBook", {"bookId":bookId, "userId":userId, "score":score},arguments[3]);
	},
	LoginUserWithInfo:function(ptId, password, token, challenge, saveCookie) {
	 var newPtId=ptId;
 newPtId = newPtId.replace(/\·/g, "%A1%A4"); 
		new CmfuAjax().invoke("LoginUserWithInfo", {"ptId":newPtId, "password":password, "token":token, "challenge":challenge, "saveCookie":saveCookie}, arguments[5]);
	},
	CheckLoginWithInfo:function(){
		new CmfuAjax().invoke("CheckLoginWithInfo", {}, arguments[0]);
	},
	VoteRcmAlbum:function(rcmId){
	 new CmfuAjax().invoke("VoteRcmAlbum",{"rcmId":rcmId}, arguments[1]);
	},
	SignOut:function(){
	 new CmfuAjax().invoke("SignOut", {}, arguments[0]);
	},
	SelectVipDeliverBook:function (bookId){
	 new CmfuAjax().invoke("SelectVipDeliverBook",{"bookId":bookId},arguments[1]);
	},
	MMPKVote:function (pkId,bookId){
	 new CmfuAjax().invoke("MMPKVote",{"pkId":pkId,"bookId":bookId}, arguments[2]);
	},
	MMMonthlyVote:function(bookId){
	 new CmfuAjax().invoke("MMMonthlyVote",{"bookId":bookId}, arguments[1]);
	},
	AutoPayBook:function(bookId){
	 new CmfuAjax().invoke("AutoPayBook",{"bookId":bookId}, arguments[1]);
	},
	ApplyIntoClub:function(clubId){
	 new CmfuAjax().invoke("ApplyIntoClub",{"clubId":clubId}, arguments[1]);
	},
	AddClub2Favorite:function(clubId){//add club to favorite
	 new CmfuAjax().invoke("AddClub2Favorite",{"clubId":clubId}, arguments[1]);
	},	
	GetSpaceStatistic:function(){//sspace static
	 new CmfuAjax().invoke("GetSpaceStatistic",{},arguments[0]);
	},
	CanUserCreateClub:function(){//clubindex use
	 new CmfuAjax().invoke("CanUserCreateClub",{},arguments[0]);
	},
	AddFriend:function(friendNickName){
	 new CmfuAjax().invoke("AddFriend",{"friendNickName":friendNickName},arguments[1]);
	}, 
	IsFavoriteBook:function(bookId,userId){
	 new CmfuAjax().invoke("IsFavoriteBook",{"bookId":bookId,"userId":userId},arguments[2]);
	} ,
	DeleteLeaveMsg:function(msgId){
	 new CmfuAjax().invoke("DeleteLeaveMsg",{"msgId":msgId},arguments[1]);
	},
	AddReviewSupport:function(reviewId){
	 new CmfuAjax().invoke("AddReviewSupport",{"reviewId":reviewId},arguments[1]);
	},
	BindRcmReview:function(bookId){
	 new CmfuAjax().invoke("BindRcmReview",{"bookId":bookId},arguments[1]);
	},
	BindBehindData:function(type){
	 new CmfuAjax().invoke("BindBehindData",{"type":type, "bookId":bookId},arguments[2]);
	},
	GetUserTicketInfor:function(){
	 new CmfuAjax().invoke("GetUserTicketInfor",{},arguments[0]);
	},
	VoteReqUpTicket:function(bookId,type,count,bookType){
	 new CmfuAjax().invoke("VoteReqUpTicket",{"bookId":bookId,"type":type,"count":count,"bookType":bookType},arguments[4]);
	},
	GetBookLabel:function(bookId,pageIndex,pageSize){
	 new CmfuAjax().invoke("GetBookLabel",{"bookId":bookId,"pageIndex":pageIndex,"pageSize":pageSize},arguments[3]);
	},
	GetUserLabel:function(){
	 new CmfuAjax().invoke("GetUserLabel",{},arguments[0]);
	},	
	SubmitLabel:function(bookId,newLabel){
	 new CmfuAjax().invoke("SubmitLabel",{"bookId":bookId,"newLabel":newLabel},arguments[2]);
	},
	GetUserType:function(){
	 new CmfuAjax().invoke("GetUserType",{},arguments[0]);
	},
	GetDGActiveCode:function(){
	 new CmfuAjax().invoke("GetDGActiveCode",{},arguments[0]);
	},	
	RcmAlbumClick:function(rcmAlbumId){
	 new CmfuAjax().invoke("RcmAlbumClick",{"rcmAlbumId":rcmAlbumId},arguments[1]);
	},
	Vote0714Thread:function(threadIds){
	 new CmfuAjax().invoke("vote0714",{"threadIds":threadIds},arguments[1]);
	},
	VoteAuthor:function(names){
	 new CmfuAjax().invoke("voteauthor",{"names":names},arguments[1]);
	},
	VoteAuthorName:function(name){
	 new CmfuAjax().invoke("voteauthorname",{"name":name},arguments[1]);
	},
	PostMessage:function(validateCode,content,authorId,replyType){
	 new CmfuAjax().invoke("PostMessage",{"validateCode":validateCode,"content":content,"authorId":authorId,"replyType":replyType},arguments[4]);
	},
	SJGVote:function(bookList){
	 new CmfuAjax().invoke("SJGVote",{"bookList":bookList},arguments[1]);
	},
	CheckNickNameIsExist:function(nickName){
	 new CmfuAjax().invoke("CheckNickNameIsExist",{"nickName":nickName},arguments[1]);
	},
	SetBookCaseVisibility:function(inputStatus){
	 new CmfuAjax().invoke("SetBookCaseVisibility",{"inputStatus":inputStatus},arguments[1]);
	},
	ShareBooksToOtherUser:function(toUserId, bookIds, userType){
	 new CmfuAjax().invoke("ShareBooksToOtherUser",{"toUserId":toUserId,"bookIds":bookIds,"userType":userType},arguments[3]);
	},
	BindBookToBookCase:function(caseId, arrayName){
	 new CmfuAjax().invoke("BindBookToBookCase",{"caseId":caseId,"arrayName":arrayName},arguments[2]);
	},
	UpdateUserCtrl:function(){
	 new CmfuAjax().invoke("UpdateUserCtrl",{},arguments[0]);
	},
	DelBookFromBookCase:function(bookId, caseId){
	 new CmfuAjax().invoke("DelBookFromBookCase",{"bookId":bookId,"caseId":caseId},arguments[2]);
	},
	AddOrRemoveMobileAwake:function(actionName, bookId){
	 new CmfuAjax().invoke("AddOrRemoveMobileAwake",{"actionName":actionName,"bookId":bookId},arguments[2]);
	},
	MoveBookToOrderBookCase:function(selectedBooks){
	 new CmfuAjax().invoke("MoveBookToOrderBookCase",{"selectedBooks":selectedBooks},arguments[1]);
	},
	BuyVotePKTicket:function(objectId){
	 new CmfuAjax().invoke("BuyVotePKTicket",{"objectId":objectId},arguments[1]);
	},
	AddReviewVoteTicket:function(bookId,ticketType,count,bookType){
	 new CmfuAjax().invoke("AddReviewVoteTicket",{"bookId":bookId,"ticketType":ticketType,"count":count,"bookType":bookType},arguments[4]);
	},
	VoteThread:function(forumId,reviewid,type,forumName,bodyLength,bookType){
	 new CmfuAjax().invoke("VoteThread",{"forumId":forumId,"reviewId":reviewid,"type":type,"forumName":forumName,"bodyLength":bodyLength,"bookType":bookType},arguments[6]);
	},
	CheckAddHotThread:function(voteYes,voteAgainst,forumId,forumName,reviewId,reviewtitle,userId,nickName,bodylength,tp){
	 new CmfuAjax().invoke("CheckAddHotThread",{"voteYes":voteYes,"voteAgainst":voteAgainst,"forumId":forumId,"forumName":forumName,"reviewId":reviewId,"reviewtitle":reviewtitle,"userId":userId,"nickName":nickName ,"bodylength":bodylength,"tp":tp},arguments[10]);
	},
	GetReviewVoteTicket:function(){
	 new CmfuAjax().invoke("GetReviewVoteTicket",{},arguments[0]);
	},
	GetPKResult:function(){
	 new CmfuAjax().invoke("GetPKResult",{},arguments[0]);
	},
	UseAdLinkView:function(url){
	 new CmfuAjax().invoke("UseAdLinkView",{"url":url},arguments[1]);
	},
	GetUserIP:function(){
 new CmfuAjax().invoke("GetUserIP",{},arguments[0]);
	},
	GetConsumeRank:function(bookId){
	 new CmfuAjax().invoke("GetConsumeRank",{"bookId":bookId},arguments[1]);
	},
	AddSNSReviewSupport: function(forumId, reviewId, supportType, voteYes) {
		new CmfuAjax().invoke("AddSNSReviewSupport", {"forumId":forumId, "reviewId":reviewId, "supportType":supportType, "voteYes":voteYes}, arguments[4]);
	},
	AddSNSReview: function(forumId, content, validCode, refReviewIds, isAnonymous) {
 var validateHdd=document.getElementById("hddValidateCode");
 var validateString="";
 if (validateHdd!=null) validateString = validateHdd.value;

		new CmfuAjax().invoke("AddSNSReview", {"forumId":forumId, "content":content, "validCode":validCode, "refReviewIds":refReviewIds, "isAnonymous":isAnonymous,"validateString":validateString}, arguments[5]);
	},
	BindSNSReviewList:function(forumId){
	 new CmfuAjax().invoke("BindSNSReviewList",{"forumId":forumId},arguments[1]);
	},
	SendAdClick:function(adPublishId){
	 new CmfuAjax().invoke("SendAdClick",{"adPublishId":adPublishId},arguments[1]);
	},
	GetMobileValidate:function(mobilePhone){
	 new CmfuAjax().invoke("GetMobileValidate",{"mobilePhone":mobilePhone},arguments[1]);
	},
	GetMobilePtValidate:function(mobilePhone){
	 new CmfuAjax().invoke("GetMobilePtValidate",{"mobilePhone":mobilePhone},arguments[1]);
	},
	GetValidateCode:function(){
	 new CmfuAjax().invoke("GetValidateCode",{},arguments[0]);
	},
	LoginUserWithValidate:function(ptId, password, token, challenge, saveCookie, input,validateString){
	 var newPtId=ptId;
 newPtId = newPtId.replace(/\·/g, "%A1%A4"); 
		new CmfuAjax().invoke("LoginUserWithValidate", {"ptId":newPtId, "password":password, "token":token, "challenge":challenge, "saveCookie":saveCookie,"input":input,"validateString":validateString}, arguments[7]);
	},
	AddCarnivalUserInfo:function(ptId){
	 new CmfuAjax().invoke("AddCarnivalUserInfo",{"ptId":ptId}, arguments[1]);
	},
	AddCarnivalLogInfo:function(rowId,qu,gameusername){
	 new CmfuAjax().invoke("AddCarnivalLogInfo", {"rowId":rowId,"qu":qu, "gameusername":gameusername}, arguments[3]);
	},
	UpdateCarnivalUserInfo:function(ptId,type){
	 new CmfuAjax().invoke("UpdateCarnivalUserInfo",{"ptId":ptId,"type":type}, arguments[2]);
	},
	BuyMMMonthlyBook:function(bookId){
	 new CmfuAjax().invoke("BuyMMMonthlyBook",{"bookId":bookId}, arguments[1]);
	},
	AddNFArtical: function(bookId, title, content, postType, validCode,bounsType,bouseAmount) {
		new CmfuAjax().invoke("NFArtical", {"bookId":bookId,"title":title, "content":content, "postType":postType, "validCode":validCode,"bounsType":bounsType,"bouseAmount":bouseAmount}, arguments[7]);
	},
	CheckHasNewChapterInTenMin: function(bookId,type,isvip) {
		new CmfuAjax().invoke("CheckHasNewChapterInTenMin", {"bookId":bookId,"type":type,"isvip":isvip}, arguments[3]);
	},	
	SetCookieForOEMHR:function(){
	 new CmfuAjax().invoke("SetCookieForOEMHR",{},arguments[0]);
	},
	GetUpdateChapterId:function(bookId,chapterId)
	{
	 new CmfuAjax().invoke("GetUpdateChapterId", {"bookId":bookId,"chapterId":chapterId}, arguments[2]);
	},
	CheckForumRequisition: function(forumId) {
 new CmfuAjax().invoke("CheckForumRequisition", { "forumId": forumId }, arguments[1]);
 }
}
