// JavaScript Document
var locjs = {
data:{ },
type:0, //0 - просмотр разделов , 1 - просмотр разделов и конкретного предмета , 2 - просмотр своих вещей (сдача) , 3 - просмотр своих вещей (забрать)
baseconnect:false,
start:function() {
this.getMenuHtml();
this.getTopMenu();
this.getDataItems(1);
//
locline.lineRefleshFinish();
},
reflesh:function() {
locline.lineRefleshFinish();
},
option_error:{
},
page_item:1,
option_item:1,
getDataItems:function( id ) {
this.option_item = id;
if( this.baseconnect == false ) {
locline.lineRefleshStart();
this.baseconnect = true;
$.getJSON('/core/auction/', {
'option_item':id,
'page':locjs.page_item,
},function(data) {
locjs.baseconnect = false;
//
locjs.data.user.massaNow = parseFloat(data.massaNow).toFixed(2);
locjs.data.user.massaMax = parseFloat(data.massaMax).toFixed(2);
locjs.data.user.money = parseFloat(data.money).toFixed(2);
//
if( data.toppages != undefined && data.toppages > 0 ) {
var tphtml = '';
var i = 1;
while( i <= data.toppages ) {
if( data.page == i ) {
tphtml = tphtml + '' + i + ' ';
}else{
tphtml = tphtml + '' + i + ' ';
}
i++;
}
$('#toppages_line').show();
$('#toppages').html( tphtml );
}else{
$('#toppages_line').hide();
$('#toppages').html( '--' );
}
//
if( data.item_data != undefined && data.item_data != 0 ) {
locjs.getItemsAuction( id , data.item_data );
}else{
locjs.getItemsAuction( id , {'x':0} );
}
//
$('#u_money').html( locjs.data.user.money + ' кр.' );
$('#u_massa').html( locjs.data.user.massaNow + '/' + locjs.data.user.massaMax );
//
locline.lineRefleshFinish();
//
});
}
},
console_sale:function(id, txt, kr) {
var s = prompt("Сделать ставку на \""+txt+"\". Укажите цену:", kr);
if ((s != null) && (s != '') && (s >= 0)) {
locjs.user_buy( id, kr );
}
},
buyItemsAuctionError:{
0:'',
1:'Предмет не найден, возможно торги уже закончились',
2:'Вы уже сделали ставку на этот предмет, ожидайте пока её перебьет кто-то другой',
3:'Минимальная ставка 101% от текущей ставки',
4:'Максимальная ставка 200% от текущей ставки',
5:'У вас недостаточно денег для ставки',
6:'Вы не можете участвовать в ставках на свои предметы'
},
user_buy:function( id, kr ) {
//
//this.option_item = id;
if( this.baseconnect == false ) {
locline.lineRefleshStart();
this.baseconnect = true;
$.getJSON('/core/auction/', {
'buy_item':id,
'kr':kr,
'page':locjs.page_item,
},function(data) {
locjs.baseconnect = false;
//
if( data.error != undefined ) {
if( locjs.buyItemsAuctionError[ data.error ] != undefined ) {
$('#error').html( locjs.buyItemsAuctionError[ data.error ] );
}else{
$('#error').html( 'Неизвестная ошибка. Код #'+data.error+'' );
}
$('#error').show();
$("body").animate({"scrollTop":0},0);
}else{
if( data.info != undefined ) {
alert('Вы успешно сделали ставку!');
}
$('#error').html('');
$('#error').hide();
}
//
locline.lineRefleshFinish();
//
});
}
//
},
getItemsAuction:function( id , data ) {
var r = '';
if( id == 5 ) {
r += '
'+
'Предмет | '+
' | '+
' | '+
'Уровень | '+
'Владелец | '+
'Ставка | '+
'Покупатель | '+
'Осталось времени | '+
'
';
//предмет
if( data.x != undefined && data.x > 0 ) {
var i = 0;
while( i < data.x ) {
if( data[i] != undefined ) {
var itm_data = itmjs.lookStats( data[i][20] );
if( itm_data['tr_lvl'] == undefined ) {
itm_data['tr_lvl'] = 0;
}
if( data[i].buy == '' ) {
data[i].buy = 'Нет покупателя';
}
if( data[i].user_ow == '' ) {
data[i].user_ow = 'Неизвестно';
}
if( data[i].time == '0 сек.' ) {
data[i].time = 'Торг закрыт.';
}
r += ''+
' | '+
' | '+
//' | '+
'' + data[i].name + ' (Масса: ' + data[i].massa + ') Долговечность: ' + Math.ceil(data[i].iznosNOW) + '/' + Math.ceil(data[i].iznosMAX) + ' | '+
//'-- | '+
'' + itm_data['tr_lvl'] + ' | '+
'' + data[i].user_ow + ' | '+
'' + data[i].prc + ' кр. | '+
'' + data[i].buy + ' | '+
'' + data[i].time + ' | '+
'
';
//
}
i++;
}
}
r += '
';
if( data.x == undefined || data.x < 1 ) {
r += 'Ничего не найдено
';
}
}else if( id == 1 ) {
r += ''+
'Предмет | '+
' | '+
' | '+
'Уровень | '+
'Владелец | '+
'Ставка | '+
'Покупатель | '+
'Осталось времени | '+
'
';
//предмет
if( data.x != undefined && data.x > 0 ) {
var i = 0;
while( i < data.x ) {
if( data[i] != undefined ) {
var itm_data = itmjs.lookStats( data[i][20] );
if( itm_data['tr_lvl'] == undefined ) {
itm_data['tr_lvl'] = 0;
}
if( data[i].buy == '' ) {
data[i].buy = 'Нет покупателя';
}
if( data[i].user_ow == '' ) {
data[i].user_ow = 'Неизвестно';
}
if( data[i].time == '0 сек.' ) {
data[i].time = 'Торг закрыт.';
}
r += ''+
' | '+
' | '+
//' | '+
'' + data[i].name + ' (Масса: ' + data[i].massa + ') Долговечность: ' + Math.ceil(data[i].iznosNOW) + '/' + Math.ceil(data[i].iznosMAX) + ' | '+
//'-- | '+
'' + itm_data['tr_lvl'] + ' | '+
'' + data[i].user_ow + ' | '+
'' + data[i].prc + ' кр. | '+
'' + data[i].buy + ' | '+
'' + data[i].time + ' | '+
'
';
//
}
i++;
}
}
r += '
';
if( data.x == undefined || data.x < 1 ) {
r += 'Ничего не найдено
';
}
}else if( id == 2 ) {
r += ''+
'Предмет | '+
' | '+
'Уровень | '+
'Владелец | '+
'Ставка | '+
'Покупатель | '+
'Осталось времени | '+
'
';
//предмет
if( data.x != undefined && data.x > 0 ) {
var i = 0;
while( i < data.x ) {
if( data[i] != undefined ) {
var itm_data = itmjs.lookStats( data[i][20] );
if( itm_data['tr_lvl'] == undefined ) {
itm_data['tr_lvl'] = 0;
}
if( data[i].buy == '' ) {
data[i].buy = 'Нет покупателя';
}
if( data[i].user_ow == '' ) {
data[i].user_ow = 'Неизвестно';
}
if( data[i].time == '0 сек.' ) {
data[i].time = 'Торг закрыт.';
}
r += ''+
' | '+
//' | '+
'' + data[i].name + ' (Масса: ' + data[i].massa + ') Долговечность: ' + Math.ceil(data[i].iznosNOW) + '/' + Math.ceil(data[i].iznosMAX) + ' | '+
//'-- | '+
'' + itm_data['tr_lvl'] + ' | '+
'' + data[i].user_ow + ' | '+
'' + data[i].prc + ' кр. | '+
'' + data[i].buy + ' | '+
'' + data[i].time + ' | '+
'
';
//
}
i++;
}
}
r += '
';
if( data.x == undefined || data.x < 1 ) {
r += 'Ничего не найдено
';
}
}else if( id == 3 ) {
r += ''+
'Предмет | '+
' | '+
'Уровень | '+
'Ставка | '+
'Покупатель | '+
'Осталось времени | '+
'
';
//предмет
if( data.x != undefined && data.x > 0 ) {
var i = 0;
while( i < data.x ) {
if( data[i] != undefined ) {
var itm_data = itmjs.lookStats( data[i][20] );
if( itm_data['tr_lvl'] == undefined ) {
itm_data['tr_lvl'] = 0;
}
if( data[i].buy == '' ) {
data[i].buy = 'Нет покупателя';
}
if( data[i].user_ow == '' ) {
data[i].user_ow = 'Неизвестно';
}
if( data[i].time == '0 сек.' ) {
data[i].time = 'Торг закрыт.';
}
r += ''+
' | '+
//' | '+
'' + data[i].name + ' (Масса: ' + data[i].massa + ') Долговечность: ' + Math.ceil(data[i].iznosNOW) + '/' + Math.ceil(data[i].iznosMAX) + ' | '+
//'-- | '+
'' + itm_data['tr_lvl'] + ' | '+
'' + data[i].prc + ' кр. | '+
'' + data[i].buy + ' | '+
'' + data[i].time + ' | '+
'
';
//
}
i++;
}
}
r += '
';
if( data.x == undefined || data.x < 1 ) {
r += 'Ничего не найдено
';
}
}else if( id == 4 ) {
if( locjs.data.user.silver >= 4 ) {
prcauc = 2.5;
}else{
prcauc = 10;
}
r += '';
if( data.x == undefined || data.x < 1 ) {
r += 'Ничего не найдено
';
}
}
$('#auction_content').html( r );
},
addItemsAuctionError:{
0:'Все прошло успешно',
1:'Подходящий предмет не найден у вас в инвентаре',
2:'Нельзя продать предмет дешевле 1 кр.',
3:'Нельзя продать предмет дороже 1000000 кр.',
4:'У вас недостаточно кр. для выставления предмета. Требуется 10% от вашей ставки.'
},
addItemsAuction:function(id) {
//
this.option_item = id;
if( this.baseconnect == false ) {
locline.lineRefleshStart();
this.baseconnect = true;
$.getJSON('/core/auction/', {
'add_item':id,
'price':$('#itm_add' + id + '_price').val(),
'page':locjs.page_item,
},function(data) {
locjs.baseconnect = false;
//
if( data.error != undefined ) {
if( locjs.addItemsAuctionError[ data.error ] != undefined ) {
$('#error').html( locjs.addItemsAuctionError[ data.error ] );
}else{
$('#error').html( 'Неизвестная ошибка. Код #'+data.error+'' );
}
$('#error').show();
$("body").animate({"scrollTop":0},0);
}else{
if( data.info != undefined ) {
if(data.info.x > 0) {
data.info.itm_name = data.info.itm_name + ' (x' + (1+data.info.x) + ')';
}
//$("body").animate({"scrollTop":0},0);
//$('#error').html( 'Вы успешно выставили предмет "' + data.info.itm_name + '" на продажу за ' + data.info.price + ' кр.' );
//$('#error').show();
$('#itm_auction' + data.info.id).hide();
}
$('#error').html('');
$('#error').hide();
}
//
locline.lineRefleshFinish();
//
});
}
//
},
getTopMenu:function() {
var r = '';
r += '';
//
$('#auction_title').html( r );
//
//
//
},
getMenuHtml:function() {
var r = '';
r += '' + locline.line( this.data.user.timeGo, this.data.user.timeGoL , this.data.user.timeNow , 'locjs.reflesh();' ) +
'' + locline.room( this.data.locations ) + ''
+ '
';
//
r += '
У вас в наличии: ' + this.data.user.money + ' кр.
Масса: ' + parseInt(this.data.user.massaNow).toFixed(2) + '/' + parseInt(this.data.user.massaMax).toFixed(2) + '
';
//
$('#auction_menu').html( r );
locline.lineTimer();
},
selectMenu:function( id ) {
if( $('#stylemenu' + id).attr('id') == 'stylemenu' + id ) {
this.getDataItems( id );
var i = 1
while( i != - 1 ) {
if( $('#stylemenu' + i).attr('id') == 'stylemenu' + i ) {
//
$('#stylemenu' + i).removeClass('unasel');
$('#stylemenu' + i).removeClass('asel');
//
if( $('#stylemenu' + i).attr('id') == 'stylemenu' + id ) {
$('#stylemenu' + i).addClass('asel');
}else{
$('#stylemenu' + i).addClass('unasel');
}
//
}else{
i = -2;
}
i++;
}
}else{
alert('Раздел не найден');
}
},
error:function( text ) {
$('#error').html( text );
if( text == '' ) {
$('#error').hide();
}else{
$('#error').show();
}
},
replaceslashhint:function(data) {
data = this.str_replace('"','',data);
data = this.str_replace("'","",data);
return data;
},
str_replace:function(search, replace, subject, count) {
var i = 0,
j = 0,
temp = '',
repl = '',
sl = 0,
fl = 0,
f = [].concat(search),
r = [].concat(replace),
s = subject,
ra = Object.prototype.toString.call(r) === '[object Array]',
sa = Object.prototype.toString.call(s) === '[object Array]';
s = [].concat(s);
if (count) {
this.window[count] = 0;
}
for (i = 0, sl = s.length; i < sl; i++) {
if (s[i] === '') {
continue;
}
for (j = 0, fl = f.length; j < fl; j++) {
temp = s[i] + '';
repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
s[i] = (temp)
.split(f[j])
.join(repl);
if (count && s[i] !== temp) {
this.window[count] += (temp.length - s[i].length) / f[j].length;
}
}
}
return sa ? s : s[0];
}
};