﻿var lastList = '';
function dnsrep3Start(){
	var dn = $('#reportdomain').attr('value').replace(/[^a-z0-9\.-]/gi,''),re = /^([a-z0-9-]+)([a-z0-9\.-]*)\.([a-z]{2,6})$/i;
	if(!re.test(dn)){
		alert('Имя домена не совпадает! '+dn);
		return;
	}
	alert('Мы продолжим');
	$.ajax({url:'/domains/dnsreport/?stage=init&dn='+encodeURIComponent(dn),method:'get',success:dnsrepOnInit });
}
function dr3startGroup(data){

}
function dr3write(data){

}
function dnsrepOnInit(data){
	$('#dr3domname').html(data.title);
	if(data.startgroup)dr3startGroup(data);
	if(data.startgroup)dr3startGroup(data);
	$.ajax({url:'/domains/dnsreport/?stage='+encodeURIComponent(data.next),method:'get',success:dnsrepOnStage });
}

function dnsrepOnStage(data){
	$.ajax({url:'/domains/dnsreport/?stage='+encodeURIComponent(data.next),method:'get',success:dnsrepOnStage });
}


function filterTable(by, _id, cellNr){
	var f=by.value?by.value.toLowerCase():'',table=document.getElementById(_id),ele,found=0;
	if(f!==''){
		if($('#cancelfiler').css('display')=='none'){
			$('#cancelfiler').show('fade');
			$('#filtercount').show('fade');
		}
	}else{
		$('#cancelfiler').hide('fade');
		$('#filtercount').hide('fade');
	}
	for (var r = 0; r < table.rows.length; r++){
		var tr = table.rows[r];
		if(tr.cells.length <= cellNr) continue;
		ele = tr.cells[cellNr].innerHTML.replace(/<[^>]+>/g,'');
		if(ele.toLowerCase().indexOf(f)>=0 || f==''){
			tr.style.display = 'table-row';
			found++;
		}else{
			tr.style.display = 'none';
		}
	}
	$('#filtercount').html('Найден'+(found==1?'':'о')+' '+found+' по фильтру:');
	setRowColors();
	checkalltest();
}
function setRowColors(){var CL=0;$('#filtered').find('tr').each(function(){if($(this).css('display')!='none')$(this).removeClass('row0').removeClass('row1').addClass('row'+(CL++%2));});}
function curhash(){
	var h = window.location.hash,j = h.indexOf('-');
	if(h.length < 2 || h.substr(0,1)!='#') return '';
	return j<0?h.substr(1):h.substr(1,j-1);
}
function curparam(){
	var h = window.location.hash,j = h.indexOf('-');
	if(j<0) return '';
	return h.substr(j+1);
}
function getfcnt(data){
	lastList = data.fhash;
	$('a[rel="'+data.fhash+'"]').parent().parent().find('li').removeClass('cur');
	$('a[rel="'+data.fhash+'"]').parent().addClass('cur');
	$('.dloadprogress').css('display','none');
	$('#spshade').css('display','none');
	var newht = '',
		now = thistime();
	$('#selectall').attr('checked','');
	if(data.folder)
		$('.foldername').html(data.folder);
	if(!data.items || parseInt(data.items)<1){
		$('.dnodomains').css('display','table-row');
	}else{
		for(var x in data.list){	
			var o = data.list[x],
				dn = o.name;
			o.starttime = parseInt(o.starttime);
			o.endtime = parseInt(o.endtime);
			var dst = from_unixtime(o.starttime),
				den = from_unixtime(o.endtime);
			if(o.active!='0' && o.endtime < now+2592000)
				den = '<span class="red">'+den+'</span><a href="/domains/my/'+o.id+'/fastrenew"><img src="/images/dl-renew.gif" title="Быстрое продление" /></a>';
			if(o.idn) dn = o.idn+'<br /><small>'+dn+'</small>';
			
			newht +='<tr>'+
					'<td><input type="checkbox" class="checker" /><a rel="'+o.id+'" class="favsw '+(parseInt(o.fav)?'fav':'')+'"></a></td>'+
					'<td class="draggabledomain" rel="'+o.id+'"><div style="position:relative;"><a href="/domains/my/'+o.id+'/">'+dn+'</a><span class="notec '+(parseInt(o.noted)?'hasnote':'')+'" rel="'+o.id+'"></span></div></td>';
			if(o.active!='0' && o.dnsonly=='0' && o.status=='')
				newht +='<td style="width:90px;">'+dst+'</td>'+
						'<td style="width:90px;">'+den+'</td>';
			else if(o.dnsonly=='0' && o.status!='wait-pw' && o.status!='pending')
				newht +='<td colspan="2" align="center">Оплатите поддержку</td>';
			else 
				newht +='<td colspan="2" align="center"></td>';
						
			if(o.status!='wait-pw' && o.status!='pending'){
				newht +='<td>'+'</td>'+
						'<td>'+((o.active!='0' || o.status=='wait-pay')?'':'<a href="/orders/'+o.inv+'"><img src="/images/dl-pay.gif" /></a>')+'</td>';
			
				newht +='<td><a href="/domains/my/'+o.id+'/"><img src="/images/dl-conf.gif" width="18" height="18" /></a></td>';
				if(o.active!='0'||o.status=='wait-pay')
					newht +='<td><a href="/domains/dnsreport/'+o.stdname+'"><img src="/images/dl-inspect.gif" width="20" height="18" /></a></td>'+
						'<td><a href="/domains/whois/'+o.stdname+'"><img src="/images/dl-lookup.gif" width="18" height="18" /></a></td>';
				else		
					newht +='<td></td>'+
						'<td><img src="/images/dl-check.gif" style="cursor:pointer;" onclick="rapidcheck(this,\''+o.name+'\');" /></td>';
			}else if(o.status=='pending')
				newht += '<td></td><td colspan="4">Ожидаем подтверждения</td>';
			else
				newht += '<td></td><td colspan="4"><a href="/domains/my/'+o.id+'/trans/pw">Ввести пароль</a></td>';
			
			var rmaction = 'rm';
			if(o.status=='wait-pw' || o.status=='wait-pay') rmaction = 'trans/cancelpayed';
			if(o.dnsonly=='1') rmaction = 'rmdnsonly';
			if(o.status=='pending') rmaction = 'trans/delete';
			
			newht +='<td><a href="/domains/my/'+o.id+'/'+rmaction+'"><img src="/images/dl-delete.gif" width="18" height="18" /></a></td>'+
					'</tr>';
		}
	}
	$('#dlist tbody').html(newht);
	setRowColors();
	$('.checker').bind('click', checkalltest);
	$('.favsw').bind('click',function(){
		$.ajax({type:'GET',url: '/domains/my/?op=setfav&id='+$(this).attr('rel')+'&active='+($(this).hasClass('fav')?0:1),dataType:'json',success:getfavresult,context: this, cache: false  });
	});
	$("#dlist").tablesorter(); 
	$("#dlist").trigger("update")/*.tablesorterPager({container: $("#dlist #pager"),positionFixed:false, seperator:" из "})*/;
	$("#dlist").bind("sortEnd",function() { 
        setRowColors();
    }); 
	$( ".draggabledomain" ).draggable({ opacity: 0.7, helper: "clone",revert: "invalid",start:function(){
		$(".spmenu").find('li.my[rel!="'+lastList+'"]').effect('pulsate', { times: 5 },300);
		if(/^u_/.test(lastList)) $('.spmenu li[rel="all"]').effect('pulsate', { times: 5 },300);
	} });
	$('.notec').bind('click',function(){
		$.ajax({type:'GET',url: '/domains/my/'+$(this).attr('rel')+'/std/getnote',dataType:'json',success:ongetnote,context: this,cache: false});
	});
}

function ongetnote(data){
	$('#dialog-note').dialog({width:300,resizable:false,buttons:{
			"Сохранить":function(){
			var nnew = $('#dialog-note').find('textarea').val();
			$.ajax({type:'POST',data:{'note':nnew},url: '/domains/my/'+data.id+'/std/setnote',success:function(){
					if(nnew!='') $('.notec[rel="'+data.id+'"]').addClass('hasnote');
					else $('.notec[rel="'+data.id+'"]').removeClass('hasnote');
					$(this).dialog('close');
				},context:this,cache: false});
			},
			"Отмена":function(){$(this).dialog('close');}
		}}).find('textarea').val(data.note);
}
function rapidcheck(o,dn){
	function rapidresult(data){
		$(o).replaceWith('<img src="/images/dl-check-'+data.result+'.gif" title="'+data.desc+'" alt="'+data.desc+'" />');
	}
	$(o).attr('src','/images/wait16trans.gif');
	$(o).attr('title','Проверяю доступность...');
	$.ajax({type:'GET',url: '/domains/my/'+dn+'/std/rapidcheck',dataType:'json',success:rapidresult,context: this,cache: false});
}
function thistime(){var d = new Date(); return d.getTime()/1000; }
function from_unixtime(t){if(typeof(t)=='string')t=parseInt(t);function check(i){if(i<10)i='0'+i;return i;}var d=new Date(t*1000);return ''+d.getFullYear()+'.'+check(d.getMonth()+1)+'.'+check(d.getDate());}
function getfavresult(data){
	if(data.result)
		$('a[rel="'+data.id+'"]').addClass('fav');
	else
		$('a[rel="'+data.id+'"]').removeClass('fav');
	if(data.left){
		$('.favdomains a span').html('('+data.left+')');
		$('.favdomains').removeClass('hide');
		if($('.favdomains').css('display')=='none'){
			$('.favdomains').show('blind');
		}
	}else{
		$('.favdomains').hide('blind');
	}
}
function sprelease(){
	$('#spshade').css('display','none');
	$('.dloadprogress').css('display','none');
}
function spblock(){
	$('#spshade').css('display','block');
}
function flashinput(x){
	$(x).effect('highlight',{color: '#ff0000'});
}
function wgoto(x){
	window.location=x.substr(0,1)=='#' ? x : "#" + x;
}
function afterfcreate(data){
	sprelease();
	if(data.err){
		alert(err);
		flashinput('#newufname');
	}else{
		$('#myfbegin').css('display','block');
		$('#newufname').attr('value','');
		$('#myfend').before('<li class="my" rel="u_'+data.code+'" style="display: none;" id="lastf'+data.code+'"><a href="/domains/my/#u_'+data.code+'" rel="u_'+data.code+'"><u>'+data.name+'</u> <span class="counter_u_'+data.code+'">(0)</span></a></li>');
		$('#lastf'+data.code).show('blind');
		$('.spmenu .adder').css('display', 'none');
		$('#newfolderinit').css('display', 'block');
		setmyfoldersctl();
		fillmovedomainlist();
	}
}
function fnewclose(){
	$('.spmenu .adder').css('display', 'none');
	$('#newfolderinit').css('display', 'block');
}
function fnewopen(){
	$('.spmenu .adder').css('display', 'block');
	$('#newfolderinit').css('display', 'none');
}
function fnewdo(){
	if($('.spmenu .adder').css('display')=='block'){
		var newf = $('#newufname').attr('value');
		if(newf!=''){
			spblock();
			$.ajax({type:'GET',url: '/domains/my/?op=mkfolder&f='+newf,dataType:'json',success:afterfcreate,error:sprelease,context: this, cache: false  });
		}else{
			flashinput('#newufname');
		}
	}
}
function afterfdelete(data){
	sprelease();
	$('a[rel="u_'+data.removed+'"]').parent('li').hide('blind',function(){$(this).remove();if(!$('.spmenu').find('.my').length)$('#myfbegin').css('display','none');});
	fillmovedomainlist();
	wgoto('all');
}
function massdlgpreclick(o){
	$(o).dialog('option','buttons',{});
	$(o).find('.dialog-content').css('display','none');
	$(o).find('.dialog-progress').css('display','block');
}
var rdata, 
	nsdialogbtns = {
		'Применить':function(){
						massdlgpreclick(this);
						var i=0;
						$('.popupdnsinput').each(function(){rdata['ns'+(++i)]=$(this).attr('value');rdata['ns'+i+'ip']=$('#i'+i).attr('value');});
						if($('#useregdns').attr('checked'))rdata['useregdns']=1;
						$.ajax({type:'POST',data:rdata,url: '/domains/my/mass/ns/',dataType:'json',success:aftermassns,error:massdlgclose,context: this, cache: false  });
					},
		'Отмена':function(){$(this).dialog('close')}},
	securedialogbtns = {
		'Применить':function(){
						massdlgpreclick(this);
						if($('#masspw_set').attr('checked'))rdata['setsecure']=1;
						if($('#masspw_unset').attr('checked'))rdata['unsetsecure']=1;
						$.ajax({type:'POST',data:rdata,url: '/domains/my/mass/secure/',dataType:'json',success:aftermasssecure,error:massdlgclose,context: this, cache: false  });
					},
		'Отмена':function(){$(this).dialog('close')}},
	redirdialogbtns = {
		'Применить':function(){
						massdlgpreclick(this);
						rdata['proto']=$('#httpredirproto').val();
						rdata['target']=$('#httpredirtarget').val();
						if($('#httpredir0').attr('checked'))rdata['enabled']=1;
						if($('#httpredir1').attr('checked'))rdata['enabled']=2;
						$.ajax({type:'POST',data:rdata,url: '/domains/my/mass/redir/',dataType:'json',success:aftermasssecure,error:massdlgclose,context: this, cache: false  });
					},
		'Отмена':function(){$(this).dialog('close')}}
					;
function massdlgclose(){alert("Запрос не удался. Повторите попытку позже.");$(this).dialog('close');}
function aftermassns(data){
	if(data.msg)
		alert(data.msg);
	if(!data.success){
		if(data.missing)
			if(data.missing.length){
				for(var x in data.missing)
					$('.addip'+data.missing[x]).css('display','block');
			}
	}
	$(this).find('.dialog-content').css('display','block');
	$(this).find('.dialog-progress').css('display','none');
		
	if(data.close || data.success)
		$(this).dialog('close');
	else{
		$(this).dialog('option','buttons',nsdialogbtns);	
	}
}
function aftermasssecure(data){
	if(data.msg)
		alert(data.msg);
	$(this).find('.dialog-content').css('display','block');
	$(this).find('.dialog-progress').css('display','none');
	if(data.close || data.success)
		$(this).dialog('close');
	else{
		$(this).dialog('option','buttons',nsdialogbtns);	
	}
}
function dmassa(a){
	rdata={dlist:[]};
	$('#filtered tr').each(function(){
		if($(this).css('display')!='none'){
			if($(this).find('.checker').attr('checked'))rdata.dlist.push($(this).find('td.draggabledomain').attr('rel'));
		}
	});
	switch(a){
		case 'dns':{
			$('#dialog-mass-dns').dialog({modal:true,resizable:false,width:400,buttons:nsdialogbtns});
			break;
		}
		case 'secure':{
			$('#dialog-mass-secure').dialog({modal:true,resizable:false,width:400,buttons:securedialogbtns});
			break;
		}
		case 'redir':{
			$('#dialog-mass-redir').dialog({modal:true,resizable:false,width:600,buttons:redirdialogbtns});
			break;
		}
	}
	return false;
}
function gohash(h) {
	if(curhash()!='')
		h = curhash();
	var param = curparam();
	while(true){
		switch(h){
		case 'rmfolder':
			spblock();
			$.ajax({type:'GET',url: '/domains/my/?op=rmfolder&f='+param,dataType:'json',success:afterfdelete,error:sprelease,context: this, cache: false  });
			return;
		case '':return false;
		default:
			if(!$('a[rel="'+h+'"]').length) return;
			if(!$('.multitable').hasClass('domlist')) return;
			spblock();
			$('.dloadprogress').css('display','table-row');
			$('.dnodomains').css('display','none');
			$.ajax({type:'GET',url: '/domains/my/?op=getfolder&f='+h,dataType:'json',success:getfcnt,error:sprelease,context: this, cache: false  });
			return;
		}
	}
}
function setmyfoldersctl(){
	$('.spmenu .my').each(
		function(){
			if(!$(this).find('.ctl').length )
			{
				$(this).find('a').each(function(){$(this).append("<span class=\"ctl\"><a class=\"ctlrm\" href=\"#rmfolder-"+$(this).attr('rel')+"\" title=\"Удалить папку\"></a></span>")});
			}
		}
	);
	$('.spmenu .ctlrm').bind('click',function(){wgoto($(this).attr('href')); return false;});
	setDroppables();
}
function checkalltest(){
	var vis=0,che=0,vc=0;
	$('#filtered tr').each(function(){
		if($(this).css('display')!='none'){
			vis++;
			if($(this).find('.checker').attr('checked')!='')
				che++;
		}
	});
	$('#selectall').attr('checked', (vis && che && vis==che) ? 'checked':'');
	checkmassactions(che);
}
function fillmovedomainlist(){
	$('#dmovetolist a').remove();
	$('.spmenu').find('.my > a').each(function(){
		var atr = $(this).attr('rel');
		if(!$('#dmovetolist').find('a[href="#moveto-'+atr+'"]').length){
			$('#dmovetolist').append('<a href="#moveto-'+atr+'">'+$(this).text()+'</a>');
		}
	});
}

function checkmassactions(che){
	if(che) {
		if($('.spmenu .my').length)
			$('#movetomenu').css('display','inline-block');
		$('.massactions').removeClass('inactive').attr('disabled','');
	}else{
		if($('.spmenu .my').length)
			$('#movetomenu').css('display','none');
		$('.massactions').addClass('inactive').attr('disabled','disabled');
	}
}

function callInformer(){
	var iid=$(this).attr('rel');
	var xof = GetXof(this),yof = GetYof(this);
	if(xof>(document.body.offsetWidth-300)) xof -= document.body.offsetWidth-xof + 20;
	$('#informer').css({'visibility':'visible','left':xof+'px','top':yof+'px',zIndex:1001}).bind('click',false);
	ajaxDo('/my/?rootact=informer&iid='+iid,'informer','GET',0,0);
	return false;
}

function closeInformer(){
	$('#informer').css('visibility','hidden').html('');
}


function getmoveresult(data){
	//alert(data);return;
	if(data.result){
		if(data.inc>0){
			$('.counter_u_'+data.code).each(function(){$(this).html('('+(parseInt($(this).html().replace(/[^0-9]/gi,''))+1)+')')});
			if(lastList!='u_'+data.code && /^u_/.test(lastList)){
				$('td[rel="'+data.id+'"]').parent().remove();
				if($('#dlist tbody').find('tr').length==0){
					$('.dnodomains').css('display','table-row');
				}
				$('.counter_'+lastList).each(function(){$(this).html('('+(parseInt($(this).html().replace(/[^0-9]/gi,''))-1)+')')});
				setRowColors();
			}
		}
		if(data.src && data.src!=''){
			$('.counter_'+data.src).each(function(){$(this).html('('+data.srcleft+')')});
		}
	}else
		alert('Error: '+data.msg);
}
function setDroppables(){
	$('.spmenu').find('li.my,li[rel="all"]').droppable({drop:function(event,ui){
		$.ajax({type:'GET',url: '/domains/my/?op=dmove&f='+$(this).attr('rel')+'&d='+$(ui.draggable).attr('rel'),dataType:'json',success:getmoveresult, context: this, cache: false  });
	},
	accept:".draggabledomain"});
	$('.spmenu').sortable({
		axis:'y',
		items:'li.my', 
		update: function(event, ui) {
			$.ajax({type:'GET',url: '/domains/my/?op=freorder&f='+$(ui.item).attr('rel')+'&p='+$(ui.item).prevAll('li.my').length, context: this, cache: false  });
		}
	});
}
function openRefillDialog(){
$('#refilltabs').tabs();
$('#refilldialog').dialog({'modal':true,'resizable':false,width:600,position:'center',buttons:{'Закрыть':function(){$(this).dialog('close')}}});

}
function openBonusDialog(){

$('#bonusdialog').dialog({'modal':true,'resizable':false,width:400,position:'center',buttons:{'Закрыть':function(){$(this).dialog('close')}}});

}
$(function(){
	$(window).bind('hashchange', gohash);
	gohash('all');
	
	$('#cancelfiler').bind('click', function(){
		$('#dfilterinput').attr('value','');
		filterTable(this,'filtered',1);
	});
	
	//select all checkbox
	$('#selectall').bind('click', function(){
		var me=this,che=0;
		$('#filtered tr').each(function(){
			if($(this).css('display')!='none'){
				$(this).find('.checker').attr('checked',$(me).attr('checked'));
				if($(this).find('.checker').attr('checked')!='')che++;
			}
		});
		$('button.list').parent().removeClass('dropdown');
		checkmassactions(che);
	});
	setmyfoldersctl();
	$('button.list').bind('click',function(){var y = $(this).parent().hasClass('dropdown'); $('button.list').parent().removeClass('dropdown'); if(!y)$(this).parent().addClass('dropdown'); return false;});
	$('.listitems a').bind('click',function(){$(this).parents('.button').find('button.list').trigger('click');});
	$(window).bind('click',function(){$('button.list').removeClass('dropdown'); closeInformer(); return true;});
	$('.informerimage').bind('mousedown',callInformer);
	//$('.informerimage').find('.exclamation').bind('mousemove',function(){$(this).attr('src','/images/exclamation_mark_over.gif');}).bind('mouseout',function(){$(this).attr('src','/images/exclamation_mark.gif');}).bind('mousedown',function(){$(this).attr('src','/images/exclamation_mark.gif');});
	//$('.informerimage').find('.question').bind('mousemove',function(){$(this).attr('src','/images/question_mark_over.gif');}).bind('mouseout',function(){$(this).attr('src','/images/question_mark.gif');}).bind('mousedown',function(){$(this).attr('src','/images/question_mark.gif');});
	fillmovedomainlist();
	
	//validators
	$('input[validator]').each(function(){var f=$(this).attr('validator');if(window[f])$(this).bind('keyup',window[f]);});
	//pretty column selection
	$('.hostplans').find('td').bind('mouseover',function(){
			if($(this).hasClass('sel'))return;
			$(this).parents('.hostplans').find('td,th').removeClass('sel');
			var myofs = $(this).prevAll().length;
			$(this).parents('.hostplans').find('td,th').each(function(){if(myofs==$(this).prevAll().length) $(this).addClass('sel');});
		});
		 
	setDroppables();
});


