function tonycalculator(dm,gameserverinstant,classinstant) {//9:03 2008-8-14 revised by buglol var i=0; var intMinAccept = 10; var needdays=0; var calcserverinfo = []; var calcclassinfo = []; var calclevelinfo = []; var userInfoContainer = [0,0,0,0]; var postData = [0,0,0]; var clsTransPenny = [0,0,0]; var originalData= [0]; var currentServerPrice = 0; var currentClassFactor = 1; var currentPriceData= false; var stepPromptArr = ["填写你的角色信息","选择转职","填写一些你个人不敏感的信息.

总需要多少: .","新永安网络游戏服务公司是一个可信的公司,多年专业于游戏服务。 learn more"]; var debugMode = dm?dm:false; var clearMode = false; window.tonycalculator_UNIQUE_ID = this; if(debugMode) { if(typeof(WRP)=='undefined')alert('WRP'); if(typeof($B_services_cache_array)=='undefined')alert('$B_services_cache_array'); if(typeof($B_gameserver_cache_array)=='undefined')alert('$B_gameserver_cache_array'); if(typeof($classInfo)=='undefined')alert('$classInfo'); if(typeof($lvlspan)=='undefined')alert('$lvlspan'); if(typeof($paymentaddresslisting)=='undefined')alert('$paymentaddresslisting'); if(typeof(template)=='undefined')alert('template'); }else{ if(typeof(WRP)=='undefined'||typeof($B_services_cache_array)=='undefined'||typeof($B_gameserver_cache_array)=='undefined'||typeof($classInfo)=='undefined'||typeof($lvlspan)=='undefined'||typeof($paymentaddresslisting)=='undefined'||typeof(template)=='undefined') { catchError('Error:1789'); return false; } } if($lvlspan[0][0] instanceof Array) { if($lvlspan.length!=$classInfo.length) { catchError('Error:2680'); return false; } } this.exeCommand = function(com,args) { if(typeof(com)=='string') { com = eval(com); } if(!args)args=[]; if(typeof(com)=='function') { com.apply(null,args); }else{ if(debugMode) { alert('Unknow command\ndebug:'+com) } }; }; function hadCT() { return $B_services_cache_array[$B_services_cache_array.length-2]=='n'; } function setLeft(step,price) { if(!step)step = 1; var r = ""; if(hadCT()) { if(step==2) { if(debugMode) { alert('Error:1056'); } return false; } if(step>1){step--;} r+= ""; for(i=1;i<4;i++) { r+= ""; } r+= "

"; r+= "Step "+step+":

"+stepPromptArr[step>1?step:step-1]+"
"; }else{ r+= ""; for(i=1;i<5;i++) { r+= ""; } r+= "

"; r+= "Step "+step+":

"+stepPromptArr[step-1]+"
"; } $("bugloldefined_calc_step_hint").innerHTML = (price?template([['price',precise(price)]],r):r); } function setBtnTxt(idx,txt) { if(!idx || idx==1) { $("bugloldefined_calc_unique_button_1").innerHTML = txt; }else{ $("bugloldefined_calc_unique_button_2").innerHTML = txt; } } function getCurrentStep() { var cur = $("bugloldefined_calc_step_hint").getElementsByTagName("td"); if(cur.length<3) { if(debugMode){alert('Error:1002');} return false; } if(hadCT()) { for(i=1;i<4;i++) { if(!/_gray/.test(cur[i-1].getElementsByTagName("img")[0].src)){break;} } if(i==4) { if(debugMode) { alert('Error:1002'); } return false; }else{return i>1?i+1:i}; }else{ for(i=1;i<5;i++) { if(!/_gray/.test(cur[i-1].getElementsByTagName("img")[0].src)) { break; } } if(i==5) { if(debugMode){alert('Error:1002');} return false; }else{ return i }; } } function setServerPrice(a) { if(a = parseFloat(a)) { currentServerPrice = a; } } function setClassFactor(a) { a = parseInt(a); var levels = FillLevel(a); if($lvlspan[0][0] instanceof Array) { currentClassFactor = $classInfo[a][1]; currentPriceData = $lvlspan[a]; }else{currentPriceData = $lvlspan;} $("BUGLOL_DEFINED_CALC_DESIRED_LEVEL").parentNode.innerHTML = levels[0]; $("BUGLOL_DEFINED_CALC_CURRENT_LEVEL").parentNode.innerHTML = levels[1]; } function mainCalc(m) { var c,d,e,f,s,p,u,r,l; c = parseInt(getCurlvlFromPostData()); d = parseInt(getDeslvlFromPostData()); e = currentPriceData; f = currentClassFactor; u = currentServerPrice; if(m==undefined) { m = debugMode; } if(e[0][0]!=0&&e[0][1]!=0){e.unshift([0,0]);} if(c<0||d<0||c>=e[e.length-1][0]||d>e[e.length-1][0]||c>=d) { alert('Error:3620\nc='+c+'d=\n'+d+'\nc<0'+(c<0)+'\nd<0'+(d<0)+'\nc>=e[e.length-1][0]'+(c>=e[e.length-1][0])+'\nd>e[e.length-1][0]'+'\nc>=d'+(c>=d)); return false; } for(i=0;ie[i-1][0]) { p = i-1;break; } } switch(p-s) { case -1: needdays=precise((d-c)/+(e[s][0]-e[p][0])*e[s][1],2); if(m){return '('+d+'-'+c+')/'+(e[s][0]-e[p][0])+'*'+e[s][1]+'*'+u+'*'+f;} return (d-c)/+(e[s][0]-e[p][0])*e[s][1]*u*f; case 0: needdays=precise(((e[s][0]-c)/(e[s][0]-e[s-1][0])*e[s][1]+(d-e[p][0])/(e[p+1][0]-e[p][0])*e[p+1][1]),2); if(m){return '('+'('+e[s][0]+'-'+c+')/'+(e[s][0]-e[s-1][0])+'*'+e[s][1]+'+('+d+'-'+e[p][0]+')/'+(e[p+1][0]-e[p][0])+'*'+e[p+1][1]+')'+'*'+u+'*'+f;} return ((e[s][0]-c)/(e[s][0]-e[s-1][0])*e[s][1]+(d-e[p][0])/(e[p+1][0]-e[p][0])*e[p+1][1])*u*f; default: r = ''; l=0; r+='('+e[s][0]+'-'+c+')/'+(e[s][0]-e[s-1][0])+'*'+e[s][1]; l=(e[s][0]-c)/(e[s][0]-e[s-1][0])*e[s][1]; for(i=s;i3) { if(pay()){clear();doStep(1);} return false; } doStep(getCurrentStep()+1); } function clear() { if(clearMode) { $("BUGLOLDEFINED_CALC_FABRICATED_DIV").innerHTML = originalData[0]; calcserverinfo = []; calcclassinfo = []; calclevelinfo = []; userInfoContainer = [0,0,0,0]; postData = [0,0,0]; clsTransPenny = [0,0,0]; currentServerPrice = 0; currentClassFactor = 1; currentPriceData= false; } } function lol(x) { if(x) { setBtnTxt(1,'Class transfere'); }else{ clsTransPenny = [0,0,0]; setBtnTxt(1,'估计'); } } function showEstimate() { userInfoContainer[0] = getExHTML($("BUGLOLDEFINED_CALC_FABRICATED_DIV")); saveCustomerCharacterInfo(); AX.loadHttp( WINCP+'calc_showestimate.php', function(damnbz) { setBtnTxt(1,'返回'); needdays=precise(mainCalc(0)/currentServerPrice,2); $("bugloldefined_calc_unique_div_endeavor_right").innerHTML = template( [ ['curlvl',getCurlvlFromPostData()], ['deslvl',getDeslvlFromPostData()], ['grossprice',precise(mainCalc(0),2)], ['days',precise(mainCalc(0)/currentServerPrice,2)] ],damnbz.responseText) } ,'' ); } function checkClassTransfer() { var selObj = $("bugloldefined_calc_unique_div_endeavor_right").getElementsByTagName("select"); if(selObj.length<1) { if(debugMode) { alert('Error:5542'); } return false; } for(i=1;i"+i+""); } return ["",""]; } function getPartition() { var url = window.location; if(/services\/([a-z0-9]+)\/([a-zA-Z0-9]+)\/([a-zA-Z0-9]+)\/main\.php$/.test(url)) { return " [ "+RegExp.$2+" ]"; } return ""; } function pickCustomerCharacterInfo() { var calcserverinfo = []; var calcclassinfo = []; var levels = []; calcserverinfo.push(""); calcserverinfo = ""+(gameserverinstant?gameserverinstant:"Game server")+":"+calcserverinfo.join("")+"
"; if(($classInfo.length==1 && $classInfo[0][0]=='BUGLOL_DEFINED_PHP_COMMON_CLASS')||!$classInfo.length) { calcclassinfo = ''; }else{ calcclassinfo.push(""); calcclassinfo = calcclassinfo.join(""); calcclassinfo = "
"+(classinstant?classinstant:"Class")+":"+calcclassinfo+"
"; } levels = FillLevel(); $("BUGLOLDEFINED_CALC_FABRICATED_DIV").innerHTML = template( [ ["calctitle","游戏价格计算器"], ["gametitle",$B_services_cache_array[3]+getPartition()], ["calcico",""], ["stepprompt",stepPromptArr[0]], ["calcserverinfo",calcserverinfo], ["calcclassinfo",calcclassinfo], ["calcdesiredlevelinfo",levels[0]], ["calccurrentlevelinfo",levels[1]], ["calcclasstransferinfo",( function() { return $B_services_cache_array[$B_services_cache_array.length-2]=='a'?'
Class transfer: Yes No
':''; } )()], ["calcbutton1","估计"], ["calcbutton2","下一步"] ], $("BUGLOLDEFINED_CALC_FABRICATED_DIV").innerHTML ); setTimeout( function() { setLeft(1); setServerPrice($("BUGLOL_DEFINED_CALC_GAME_SERVER").value); setClassFactor(0); },0 ); return true; } function saveCustomerCharacterInfo() { var eui = ""; eui+= "server="+$B_gameserver_cache_array[$("BUGLOL_DEFINED_CALC_GAME_SERVER").selectedIndex][0]; if(!(($classInfo.length==1 && $classInfo[0][0]=='BUGLOL_DEFINED_PHP_COMMON_CLASS')||!$classInfo.length)) { eui+= "&class="+$classInfo[$("BUGLOL_DEFINED_CALC_GAME_CLASS").selectedIndex][0]; }else{ eui+="&class=noclass"; } eui+= "&curlvl="+$("BUGLOL_DEFINED_CALC_CURRENT_LEVEL").value; eui+= "&deslvl="+$("BUGLOL_DEFINED_CALC_DESIRED_LEVEL").value; if($B_services_cache_array[$B_services_cache_array.length-2]=='a') { eui+= "&clstrans="+($("BUGLOL_DEFINED_CALC_CLASS_TRANSFER",2)[0].checked?"1":"0"); } postData[0] = eui;userInfoContainer[0] = getExHTML($("BUGLOLDEFINED_CALC_FABRICATED_DIV")); } function pickCustomerClassTransferInfo(x) { if(hadCT()) { $("bugloldefined_calc_unique_div_endeavor_right").innerHTML = 'No class transfer...'; return false; }; AX.loadHttp( WINCP+"calc_transfer.php", function(damnubz) { setLeft(2); setBtnTxt(1,'返回'); $("bugloldefined_calc_unique_div_endeavor_right").innerHTML = damnubz.responseText; }, "gn="+$B_services_cache_array[1]+"&max="+x ); } function getDeslvlFromPostData() { var pattern = /&deslvl=([^&]+)/; if(pattern.test(postData[0])){return RegExp.$1;}else{return "";} } function getClassTransferState() { if(!postData[0]){return false;} var pattern = /&clstrans=(\d)/; if(pattern.test(postData[0])) { return RegExp.$1; }else{return false;} } function getCurlvlFromPostData() { var pattern = /&curlvl=([^&]+)/; if(pattern.test(postData[0])){return RegExp.$1;}else{return "";} } function getOnlineState() { var pattern = /&onlin=(\d)/; if(pattern.test(postData[2])) { return RegExp.$1; }else{return 0;} } function pickCustomerPrivateInfo() { AX.loadHttp( WINCP+"pickCustomerPrivateInfo.php", function(x) { setBtnTxt(1,'返回'); $("bugloldefined_calc_unique_div_endeavor_right").innerHTML = x.responseText; AX.loadHttp( WINCP+"discount.php", function(dis) { setLeft(3,drawConclusion()*(parseFloat(dis.responseText)?parseFloat(dis.responseText):1)); }, 'identity='+$('bugloldefined__global_unique_identity_input_index_24').value ); }, postData[0] ); } function drawConclusion(m) { if(m=='s') { return $('bugloldefined_total_price_div').innerHTML = 'You will pay gross of price '+precise(mainCalc(false)+parseFloat(clsTransPenny[0])+parseFloat(clsTransPenny[1])+parseFloat(clsTransPenny[2])) + '$ in total.'; } return precise(mainCalc(false)+parseFloat(clsTransPenny[0])+parseFloat(clsTransPenny[1])+parseFloat(clsTransPenny[2])); } function getCT_Arr(idx,o) { var data = [0,0,0,0]; var selo; selo = $("bugloldefined_calc_unique_div_endeavor_right").getElementsByTagName("select"); if(selo.length3) { if(debugMode){alert('Invalid index');} return false; } clsTransPenny = [0,0,0]; for(i=0;iintMinAccept?drawConclusion():intMinAccept)+"&hook="+$B_services_cache_array[1]+"&identity="+$("bugloldefined__global_unique_identity_input_index_24").value+"&needdays="+needdays ); }else{ return false; } break; } return false; } function catchError(message) { var divo = $("BUGLOLDEFINED_CALC_FABRICATED_DIV").getElementsByTagName("div"); var x = 0; for(x;x'; $('bugloldefined_calc_unique_button_1').onclick = null; $('bugloldefined_calc_unique_button_2').onclick = null; } }