function posc() {
	var new_top = getClientCenterY()-120;
	var new_left = getClientCenterX()-160;
	$('.login').css({'top':new_top+'px','left':new_left +'px','position':'absolute'});
}

function status_info(str) {
	var new_top = getClientCenterY()-25;
	var new_left = getClientCenterX()-25;
	$("body").append('<table id="loading" cellpadding="0" cellspacing="0" align="center" border="0"><tr><td class="loading_tl"></td><td colspan="2" class="loading_t"></td><td class="loading_tr"></td></tr><tr><td class="loading_l"></td><td id="loader"><div id="count"></div></td><td id="info"></td><td class="loading_r"></td></tr><tr><td class="loading_bl"></td><td colspan="2" class="loading_b"></td><td class="loading_br"></td></tr></table>')
	$('#loading').css({'visibility':'visible','display':'block','top':new_top+'px','left':new_left +'px',});
	$("#info").html(str);
}

function status_info_hidden() {
	$("#loading").remove();
}


IDS = [];
IDSN = [];
Flag = 0;
/* function sclass(id) {
	var clas = '';
	if(id=='act') clas =  'act_but';
	else if(id=='url') clas = 'url';
	else if(id=='geo') clas = 'geo';
	else if(id=='group') clas = 'group';
	else clas = sclassmod(id);
	return clas;
}

function sclassth(id) {
	
	var clas = '';
	if(id=='act') clas =  "{sorter: 'false'}";
	else if(id=='url') clas = "{sorter: 'text'}";
	else if(id=='geo') clas = "{sorter: 'false'}";
	else if(id=='group') clas = "{sorter: 'text'}";
	else clas = sclassmodth(id);
	return clas;
} */

function debug() {
	$.post("index.php",{kernel:"ShowDebug"},function(data){
		var g = '<table border="0" cellspacing="0" cellpadding="0" width="750" class="debug">';
		var n =0;
		$.each(data,function(i,val){
			g+='<tr><td width="10">'+i+'</td><td width="140">'+val.time+'</td><td width="570"><nobr>'+val.query+'</nobr></td><td width="10">'+val.conect+'</td></tr>';
			n++;
		});
		g+= '</table>';
		if((n*14)>500) var height = 300;
		else var height = 'auto';
		var d = '<table border="0" cellspacing="0" cellpadding="0" width="650" class="debug"><tr><td colspan="4"><b>Запросы к БД при последней операции</b></td></tr><tr><td width="10">№</td><td width="140">Время</td><td width="570">Запрос</td><td width="10">Конект</td></tr></table><div style="height:'+height+'px;overflow-y:auto;overflow-x: auto;width:650px">'+g+'</div>'
		$.modal(d, {autoResize:true});
	},"json");
}

function construct() {
	IDS = [];
	H_CNT = 0;
	COLS = 0;
	P = 0;
	status_info('Загрузка...');
	$.post("index.php",{kernel:"DataGrid"},function(data){
		DataGrid(data);	
		status_info_hidden();
	},"json");
}
	
function DataGrid(data) {
	$("#td_center").html('<table cellpadding="0" cellspacing="0" width="100%" align="center" border="0" class="content"><tr><td class="content_top_left"><img src="skins/default/space.png"/></td><td id="content_top_center_left"></td><td class="content_top_center"><div id="top_cnt"></div></td><td class="content_top_right">&nbsp;</td></tr><tr><td class="content_left">&nbsp;</td><td valign="top" id="content_l"><div id="left"></div></td><td valign="top" id="content_c" align="left"><div id="main_center">Загрузка данных</div></td><td class="content_right">&nbsp;</td></tr><tr><td class="content_bottom_left" valign="bottom"></td><td id="content_bootom_center_left" valign="top"></td><td class="content_bootom_center" valign="top"><div id="bottom_cnt"></div></td><td class="content_botom_right" valign="bottom"></td></tr></table>');
		var sortparam = data.info.sortparam;
		var sorttype = data.info.sorttype;

		var head_first = '<tr><th width="20"><input type="checkbox" id="chk_all_1" class="chk_all"></th><th width="20">&nbsp;</th><th width="20"><div class="'+(data.info.filter=='false'?'filter_off':'filter_on')+'" id="filtering" onClick="filter_show();"></div></th>';
		var head_middle = '<tr>';
		
		var foot_first = '<tr class="scrolltable">';
		var foot_middle = '<tr class="scrolltable">';
		
		var tbody_first = '';
		var tbody_middle = '';
		var idmass = '';
		var m=1;
		

		var b = 0;
		var pages = '';

		var list = '';
		COLS = data.info.cols;
		$.each(data,function(key,value){
			if(key=='info') {
				if(value['select']<=value['allcount'] && value['select']!=0) {
					m=1+(value['start']*value['select']);
					var y = value['allcount']/value['select'];
					for(s=0;s<Math.ceil(y);s++) {
						if (s==0 && value['start']!=0) pages+= '<span class="page_start" onClick="next_page('+s+');">&nbsp;</span>';
						else if(s==(value['start']-1)) pages+= '<span '+(value['start']==s?'class="pages_curent"':'class="page_prev" onClick="next_page('+s+');"')+'>&nbsp;</span>';
						else if(s==(value['start']+1)) pages+= '<span '+(value['start']==s?'class="pages_curent"':'class="page_next" onClick="next_page('+s+');"')+'>&nbsp;</span>';
						else if(s==(value['start']-2)) pages+= '<span '+(value['start']==s?'class="pages_curent"':'class="page_double_prev" onClick="next_page('+s+');"')+'>&nbsp;</span>';
						else if(s==(value['start']+2)) pages+= '<span '+(value['start']==s?'class="pages_curent"':'class="page_double_next" onClick="next_page('+s+');"')+'>&nbsp;</span>';
						else if(s==value['start']) pages+= '<span '+(value['start']==s?'class="pages_curent"':'class="page" onClick="next_page('+s+');"')+'><b>'+(s+1)+'</b></span>';
						else if (s==(Math.ceil(y)-1)) pages+= '<span class="page_end" onClick="next_page('+s+');">&nbsp;</span>';
						var cnt = (Math.ceil(y));
					}
				}else {
					var cnt = 1;
				}
				list += '<table border="0" class="access" cellspacing="0" cellpadding="0"><tr><td>Выводить&nbsp;по: </td><td><select name="count" id="count" onChange="change_count();"><option '+(value['select']==10?'selected="selected"':'')+' value="10">10</option><option '+(value['select']==15?'selected="selected"':'')+' value="15">15</option><option '+(value['select']==20?'selected="selected"':'')+' value="20">20</option><option '+(value['select']==30?'selected="selected"':'')+' value="30">30</option><option value="50" '+(value['select']==50?'selected="selected"':'')+'>50</option><option value="70" '+(value['select']==70?'selected="selected"':'')+'>70</option><option value="100" '+(value['select']==100?'selected="selected"':'')+'>100</option><option value="150" '+(value['select']==150?'selected="selected"':'')+'>150</option><option value="200" '+(value['select']==200?'selected="selected"':'')+'>200</option><option '+(value['select']==250?'selected="selected"':'')+' value="250">250</option><option '+(value['select']==300?'selected="selected"':'')+' value="300">300</option><option value="350" '+(value['select']==350?'selected="selected"':'')+'>350</option><option '+(value['select']==400?'selected="selected"':'')+' value="400">400</option><option '+(value['select']==450?'selected="selected"':'')+' value="450">450</option><option value="500" '+(value['select']==500?'selected="selected"':'')+'>500</option><option value="700" '+(value['select']==700?'selected="selected"':'')+'>700</option><option value="800" '+(value['select']==800?'selected="selected"':'')+'>800</option><option value="900" '+(value['select']==900?'selected="selected"':'')+'>900</option><option value="1000" '+(value['select']==1000?'selected="selected"':'')+'>1000</option><option value="5000" '+(value['select']==5000?'selected="selected"':'')+'>5000</option><option value="10000" '+(value['select']==10000?'selected="selected"':'')+'>10000</option><option value="0" '+(value['select']==0?'selected="selected"':'')+'>Все</option></select></td><td> '+pages+' </td><td><b>'+cnt+'&nbsp;стр.</b></td></tr></table>';
				
			}
			if (key=='head') {
				var c = 0;
				$.each(value,function(h,val_h){
					IDS.push(h);
					var f = [];
					f.push(h);
					f.push(val_h.name);
					IDSN.push(f);
					if(sortparam == h) var ask = sorttype;
					else var ask = 'ASC';
					
					head = (val_h.id!==undefined && val_h.id!=0?'<th '+(sortparam==h?(sorttype=='ASC'?'class="headerSortDown"':'class="headerSortUp"'):'')+'><div>'+(val_h.id!=0?'<span class="left" onclick="lowColsRank('+val_h.id+')">&nbsp;&nbsp;</span>':'')+'<b id="'+h+'" OnClick="Sort(\''+h+'\',\''+ask+'\');">'+val_h.name+'</b>'+(val_h.id!=0?'<span class="right" onclick="upColsRank('+val_h.id+')">&nbsp;&nbsp;</span>':'')+'</div></th>':'<th '+(h=='icon'?'width="18"':'')+'><span id="'+h+'">'+val_h.name+'</span></th>');
					
					if(val_h.first!==undefined) {
						head_first += head;
						H_CNT++;
					}
					else if(val_h.last!==undefined) {
					}
					else {
						head_middle += head;
					}
					c++;
				});

				head_first+='</tr>';
				head_middle+='</tr>';
			}
			if (key=='foot') {
				var colspan = 2;
				foot_= '';
				
				$.each(value,function(f,val_f){
					if(val_f!='-') foot_middle+='<td>'+val_f+'</td>';
					else colspan++;
					b++;
				});
				foot_first += '<td align="center" width="20"><input type="checkbox" id="chk_all_2" class="chk_all"></td><td class="pagelist" valign="top">'+list+'</td></tr>';
				foot_middle += '</tr>';
			}
			if (key=='rows') {
				if(value.length>0) {
					$.each(value,function(num,val_row){
						$.each(val_row,function(e,val_td){
							var addcs = '';
							$.each(data.info.disabled,function(d,ds){
								if(e==d) addcs = 'disabled';
							});
							tbody_first += '<tr rank="'+e+'" id="parent" class="'+addcs+'">';
							tbody_middle += '<tr rank="'+e+'" id="parent" class="'+addcs+'">';
							tbody_first+= '<td width="20"><input type="checkbox" class="check" id="chck" name="'+e+'" value="'+e+'"></td><td class="dragHandle" width="20">'+m+'</td><td width="18"><div value="'+e+'" class="arrow">&nbsp;</div></td>';
							
							$.each(val_td,function(s,td){
								if(s<H_CNT) tbody_first += '<td id="'+e+'_'+IDS[s]+'" class="'+IDS[s]+'">'+td+'</td>';
								else tbody_middle+='<td id="'+e+'_'+IDS[s]+'" class="'+IDS[s]+'">'+td+'</td>';
							});
							tbody_first+= '</tr>';
							tbody_middle+= '</tr>';
							m++;
							P++;
						});
					});
				}else {
					tbody_first += '<center>нет сайтов для отображения</center>';
				}
			}
		});
	$("#content_top_center_left").html('<table id="head_first" cellpadding="0" cellspacing="0" width="100%" border="0">'+head_first+'</table>');
	$("#left").html('<table cellpadding="0" cellspacing="0" id="tablea" class="static" width="100%">'+tbody_first+'</table>');
	$("#content_bootom_center_left").html('<table cellpadding="0" cellspacing="0" width="100%">'+foot_first+'</table>');
	
	$("#top_cnt").html('<table cellpadding="0" cellspacing="0">'+head_middle+'</table>');
	$("#main_center").html('<table cellpadding="0" cellspacing="0" class="static">'+tbody_middle+'</table>');
	$("#bottom_cnt").html('<table cellpadding="0" cellspacing="0">'+foot_middle+'</table>');
	$("#left").scrollTop(0);
	$("#main_center").scrollTop(0);
	SellWidth();
	tablea();
	status_info_hidden();
}

/* function Navigation() {
	$.post("index.php",{kernel:"Navigation"},function(data){
		$('#nav_content').html(data);
		$("#navigation").treeview({
			persist: "location",
			collapsed: true,
			unique: true
		});
	});
} */

function SellWidth() {
	//status_info('Формирование таблицы...');
	var width = (getClientWidth()-250);
	//var width = ($('#td_center').width()-50);
	var hght = ($(window).height()-100);
	var count = (35*P);
	if(hght<count) {
		var height = hght;
		if(Flag == 0) var scroll = 16;	
		else var scroll = 0;
		Flag = 1;
		}
	else {
		var height = 'auto';
		var scroll = 0;
		Flag = 0;
	}
	if(COLS>4)  {
		$('#content_l').removeClass('content_l_100');
		$('#content_l').addClass('content_l_15');
	}
	else {
		$('#content_l').removeClass('content_l_15');
		$('#content_l').addClass('content_l_100');
	}
	//$('.top_bg_left').html(COLS);

	$("#left").css('height',height);
	//$("#right").css('height',height);
	$("#main_center").css('height',height);
	var l = 0;
	var left_widht = 0;
	$("#left table tr:eq(0) td").each(function(){
		var wh = $(this).outerWidth();
		
		var k = $('#head_first th:eq('+l+')').outerWidth();
		if(wh>k) {
			var b = wh;
			left_widht+=wh;
		}
		else {
			var b = k;
			left_widht+=k;
		}
		if(l==0) $('#content_bootom_center_left td:eq(0)').css('width',(b-1)+'px');
		$('#head_first th:eq('+l+')').css('width',(b+1)+'px');
		$(this).css('width',(b-1)+'px');
		l++;
	});

	
	if(COLS>4)  {
		$("#left").css('width',left_widht);
		$("#main_center").css('width',(width-left_widht+scroll));
		$("#top_cnt").css('width',(width-left_widht));
		$("#bottom_cnt").css('width',(width-left_widht));

	}else{
		$("#left").css('width','100%');
		$("#main_center").css('width','0px');
		$("#content_c").css('width','0px');
		$("#top_cnt").css('width','0px');
		$("#bottom_cnt").css('width','0px');
	} 

	var l = 0;
	var center_widht = 0;
	$("#main_center table tr:eq(0) td").each(function(){
		var wh = $(this).width();
		var k = $('#top_cnt th:eq('+l+')').width();
		var d = $('#bottom_cnt td:eq('+l+')').width();
		if(wh>=k && wh>=d) {
			var b = wh;
			center_widht+=b;
		}
		else if(k>=wh && k>=d){
			var b = k;
			center_widht+=b;
		}
		else if(d>=wh && d>=k){
			var b = d;
			center_widht+=b;
		}
		
		$(this).css('width',(b)+'px');
		$('#top_cnt th:eq('+l+')').css('width',(b)+'px');
		$('#bottom_cnt td:eq('+l+')').css('width',(b)+'px');
		l++;
	});

	if(center_widht>$('#content_c').width()) {
		$("#top_cnt table").css('width',(center_widht)+'px');
		$("#bottom_cnt table").css('width',(center_widht)+'px');
		$("#main_center table").css('width',(center_widht)+'px');
	}else {
		$("#top_cnt table").css('width','100%');
		$("#bottom_cnt table").css('width','100%');
		$("#main_center table").css('width','100%');
	}
	
	//status_info_hidden();
	
}

function filter_show() {
	status_info('Загрузка...');
	$.post("index.php",{kernel:"FilterShow"},function(data){
		$.modal(data, {autoResize:true});
		$("input[type='date']").dateinput({format:'yyyy-mm-dd',selectors:true,min:-300,max:0,offset:[10,20],speed:'fast',firstDay:1});
		status_info_hidden();
	});
	
}

function next_page(page) {
	status_info('Загрузка...');
	$.post("index.php",{kernel:"SaveStart",page:""+page+""},function(data){
		var s = trim(window.location.search.toString());
		if(s.length==0) {
			construct();
		}
		else OrderGrid(false);
	});
}

function change_count() {
	var count= $('select#count').val();
	$.post("index.php",{kernel:"SaveConfig",count:""+count+""},function(data){
		var s = trim(window.location.search.toString());
		if(s.length==0) {
			construct();
		}
		else OrderGrid(false);
	});
}

function ApplyFilter() {
	//var filter = [];
	var filter = new Object();
	for(i=0;i<IDSN.length;i++){
		var form = $("form#filterform_"+IDSN[i][0]).serialize();
		filter[IDSN[i][0]] = form;
	}
	$.post("index.php",{kernel:"Filter",filter:""+$.toJSON(filter)+""},function(data){
		construct();
		Refresh('top');
	});
}

function Sort(param,type) {
	if(type=='ASC') type='DESC';
	else if(type=='DESC') type='ASC';
	$.post("index.php",{kernel:"Sorting",param:""+param+"",type:""+type+""},function(data){
		construct();
	});
}

function ProgressBar(counter){
	$("#info").html(counter+"%");
	$("#count").css('width',counter+'%');
	if (counter>99) {
		var counter = 0;
		$("#loading").css("visibility","hidden");
		$("#loader").css({'width':'0px','height':'0px','border':'none'});
		$("#count").css('width','0px');
		$("#info").css('width','0px');
		//$("#tablea").tablesorter({widgets: ['zebra']});
	} 
};

function List(){
	var str="";
	var checkbox="";
	$(".check").each(function(){
		if((this).checked){
		var id=$(this).attr("name");
		checkbox+=id+",";
		str+=jQuery(this).parent().parent().find("td a").eq(0).text()+"\n";
	}});
	var act=document.getElementById("act").value;
	checkbox=checkbox.substring(0,checkbox.length-1);
	if(isNaN(act)){
		if(act=='getallsites') {
			if(str!="") {
				$.modal('<textarea rows="10" cols="50">'+str+'</textarea>', {autoResize:true});
			}
			else{
				alert(NON_SITE_SELECTED);
			}
		}
		else if(act=='delete_list'){
			arr=checkbox.split(",");
			delDomen(arr);
		}
		else{
			actionList(""+act+"",""+checkbox+"");
		}
	}
	else{
		var act=$("#act option:selected").attr("name");
		var group=$("#act option:selected").val();
		if(act=='copy_list') {
			$.post("index.php",{kernel:"CopyList",new_group:""+group+"",checkbox:""+checkbox+""},function(data){
				Refresh('top');
				construct();
			});
		}else if(act=='move_list') {
			$.post("index.php",{kernel:"MoveList",new_group:""+group+"",checkbox:""+checkbox+""},function(data){
				Refresh('top');
				construct();
			});	
		}else if(act=='delete_list') {
			$.post("index.php",{kernel:"DeleteList",new_group:""+group+"",checkbox:""+checkbox+""},function(data){
				//alert(data);
				Refresh('top');
				construct();
			});	
		}
	}
}

//function Cancel(id){$('#'+id+'').fadeOut(300,function(){$('#overlay').fadeOut('slow')})}

function is_array(input){return typeof(input)=='object'&&(input instanceof Array)}

function trim(str,chars){return ltrim(rtrim(str,chars),chars)}

function ltrim(str,chars){chars=chars||"\\s";return str.replace(new RegExp("^["+chars+"]+","g"),"")}

function rtrim(str,chars){chars=chars||"\\s";return str.replace(new RegExp("["+chars+"]+$","g"),"")}

/* function Refresh(part){
	var new_top = getClientCenterY()-25;
	var new_left = getClientCenterX()-25;
	$('#loading').css({'top':new_top+'px','left':new_left +'px','visibility':'visible','z-index':'2000'});
	$("#info").html(LOADING);
	if(is_array(part)){for(var i=0;i<part.length;i++){doRefresh(part[i])}}else{doRefresh(part)}$("body").ajaxStop(function(){$("#loading").css("visibility","hidden");$("#info").html("")});
} */

function ShowModuleToInstall() {
	status_info('Проверка данных...');
	$.post("index.php",{kernel:"ShowModuleToInstall"},function(data){
		$('#modinst').html(data);
		status_info_hidden();
	});	
	
}

function SaveAccUser() {
	var login = $('#userlogin').val();
	var pass = $('#userpass').val();
	$.post("index.php",{kernel:"SaveAccUser",login:""+login+"",pass:""+pass+""},function(data){
		$('#modinst').html(data);
	});	
}

function Refresh(part){
	switch(part)
	{
		case"top":
			$.post("index.php",{kernel:"ShowTop"},function(data){$("#topContent").html(data)});
		break;
			case"bottom":$.post("index.php",{kernel:"ShowBottom"},function(data){$("#bottomContent").html(data)});
		break;
			case"tablea":$.post("index.php",{kernel:"JsonData"},function(data){$("#tablea").parent().html(data)});
		break;
		default:
			//$.post("index.php",{kernel:"cancel"},function(data){$("#cont").html(data)});
		break;
	}
}


function addDomen(){
	var url=document.getElementById("url").value;
	if (trim(url).length>0) { 
		var d2=document.getElementById("d2").value;
		if (trim(d2).length>0) { 
			document.getElementById("url").value="";
			status_info(ADD);
			$.post("index.php",{kernel:"AddDomen",url:""+url+"",group:""+d2+"",addOnly:"false"},function(data){
				$.modal(data, {autoResize:true});
				Refresh('top');
				construct();
			});
			status_info_hidden();
		}else {
			alert ('Не указана группа!')
		}
	}
	else {
		alert (DOMEN_EMPTY)
	}
}


function addDomenList(){
status_info(ADD);
var domenList=document.getElementById("domenList").value;
var copy=document.getElementById("copytonew").checked;
var subgroup=$("#subgroup option:selected").val();
var upload=document.getElementById("uploadlist").value;
if(trim(domenList).length<1 && trim(upload).length<1) return alert("Список доменов пуст!");
var d1=document.getElementById("d1").value;
var addGroup=document.getElementById("addGroup").value;
if (trim(d1).length<1 && trim(addGroup).length<1) return alert('Не указана группа!');
if ( $('#addOnly').length > 0 ) {
   var addOnly=document.getElementById("addOnly").checked;
}else var addOnly=false;
if (addOnly==false) {
	$.post("index.php",{kernel:"AddDomenList",domen:""+domenList+"",group:""+d1+"",addGroup:""+addGroup+"",addOnly:"false",copy:""+copy+"",subgroup:""+subgroup+""},function(data){
		if(trim(data).length>0){
			Refresh('top');
			construct();
			$.modal(data, {autoResize:true});
		}
		else{
			alert("Такая группа уже есть!");
			Refresh('top');
			construct();
		}
	});


}else {
	var new_top = getClientCenterY()-11;
	var new_left = getClientCenterX()-125;
	//$("#loading").css({'top':new_top+'px','left':new_left +'px','visibility':'visible','z-index':'2000'}).draggable({ opacity: 0.7 });
	$("#loader").css({'width':'250px','height':'22px','border':'1px solid #ededed'});
	$("#count").css('width','0%');
	$("#info").css("width","20px").html("0%");
		if(addGroup.length>0) {
			$.post("index.php",{kernel:"AddGroup",groupName:""+addGroup+"",subgroup:""+subgroup+""},function(data){
			if(trim(data).length>0){
				var group = trim(data);
				addDomenListBar(domenList,group,copy,0);
			}
			else return alert("Такая группа уже есть!");
		});
		
	}else {
		addDomenListBar(domenList,d1,0);
	}
}
	status_info_hidden();
};

function addDomenListBar(domenList,group,copy,indx){
	$("#loading").css({'top':new_top+'px','left':new_left +'px','visibility':'visible','z-index':'2000'});
	var arrx=domenList.split("\n");
	if (arrx.length>indx) 
	{     
		var id=arrx[indx];
		$.post("index.php",{kernel:"AddDomen",url:""+id+"",group:""+group+"",addOnly:"true",copy:""+copy+""},function(data){
			$("#count").html(data);
			var next_id=indx+1;
			var value = Math.floor(next_id*100/arrx.length);
			ProgressBar (value);
			if (arrx.length>next_id) addDomenListBar(domenList,group,next_id);
			else {
				$("#count").html("");
				Refresh('top');
				construct();
			}
		});   
		return true;
	}
};


/* function Login_user() {
	status_info('Авторизация');
	//var user = $('#userEmail').val();
	//var pass = $('#userPass').val();
	$("#loginuser").submit();

	status_info_hidden();
} */

/* function delApprove(id){
	show_error('Вы действительно хотите удалить домен?<br/><table align="center" class="button"><tr><td><div class="reg" onclick="delDomen('+id+');"></div></td><td><div class="break" onclick="Cancel(\'error\');"></div></td></tr></table>')} */

function delDomen(id){
	if (confirm(ARE_YOU_SURE)) {
		status_info(DELETING);
		$.post("index.php",{kernel:"DelDomen",id:""+id+""},function(data){
			Refresh('top');
			construct();
		});
		status_info_hidden();
	}
}

function show_form(){
	status_info(LOADING);
	$.post("index.php",{kernel:"ShowAddDomenList"},function(data){
		$.modal(data, {autoResize:true});
		status_info_hidden();
		$('#upload1').upload({
			 name: 'domenlist',
			 method: 'post',
			 enctype: 'multipart/form-data',
			 action: 'index.php',
			 params: {
				kernel:"DomenListUpload"
			 },
			 onSubmit: function() {
				  status_info(LOADING);
			 },
			 onComplete: function(data) {
					status_info_hidden();
					$("#uploadlist").val(data);
					$('#progress1').text('Будет добавлено сайтов - '+data);
			 }
		});
	});
	
}


function show_groups(){
	status_info(LOADING);
	$.post("index.php",{kernel:"ShowGroups"},function(data){
		$.modal(data, {autoResize:true});
		status_info_hidden();
	});
}

function show_usermanager(){
	status_info(LOADING);
	$.post("index.php",{kernel:"ShowUserManager"},function(data){
		$.modal(data, {autoResize:true});
		status_info_hidden();
	});
}

function addNewUser(){
	var user=document.getElementById("username").value;
	var pass=document.getElementById("userpass").value;
	var email=document.getElementById("useremail").value;
	var type=document.getElementById("usertype").value;
	var array_usergroup=document.getElementById("usergroup");
	var usergroup = getSelectedIndexes(array_usergroup);
	var array_usermod=document.getElementById("usermod");
	var usermod = getSelectedIndexes(array_usermod);
	if (trim(user).length<=0 || trim(pass).length<=0) alert('Не указан логин или пароль');
	else {
		if (usermod.length<=0 || usergroup.length<=0) alert("Не выбрана группа или модуль!");
		else {
			status_info(SAVE);
			$.post("index.php",{kernel:"AddNewUser",user:""+user+"",pass:""+pass+"",email:""+email+"",type:""+type+"",usergroup:""+usergroup+"",usermod:""+usermod+""},function(data){
				if (trim(data).length>0) {
					$("#simplemodal-data").html(data);
				}
				else alert ('Пользователь с таким именем уже существует');
				status_info_hidden();
			});
		}
	}
}

function SaveUser(id) {
	var type=document.getElementById("usertype_"+id+"").value;
	var array_mod=document.getElementById("accessmodule_"+id+"");
	var array_group=document.getElementById("accessgroup_"+id+"");
	var mod = getSelectedIndexes(array_mod);
	var group = getSelectedIndexes(array_group);
	if (mod.length<=0 || group.length<=0) alert("Не выбрана группа или модуль!");
	else {
		status_info(SAVE);
		$.post("index.php",{kernel:"SaveUser",id:""+id+"",type:""+type+"",mod:""+mod+"",group:""+group+""},function(data){
			//alert(data);
			alert("Настройки вступят в силу при следующей авторизации пользователя!");
			status_info_hidden();
		});
	}
}

function delUser(id) {
	if (confirm(ARE_YOU_SURE)) {
		status_info(DELETING);
		$.post("index.php",{kernel:"DelUser",id:""+id+""},function(data){
			$("#simplemodal-data").html(data);
			status_info_hidden();
		});
	}
}


function getSelectedIndexes (oListbox)
{
  var arrIndexes = new Array;
  for (var i=0; i < oListbox.options.length; i++)
  {
      if (oListbox.options[i].selected) arrIndexes.push(oListbox.options[i].value);
  }
  return arrIndexes;
};

function group(){
	status_info(SAVE);
	var checkbox="";
	var check="";
	var rename="";
	$(".g").each(function(){
		var id=$(this).attr("i");
		if((this).checked) checkbox+=id+",";
		check+=id+",";
		rename+=$('#gn_'+id+'').val()+",";
	});
	$.post("index.php",{kernel:"RenameGroup",checkbox:""+check+"",rename:""+rename+""});
	$.post("index.php",{kernel:"ChangeGroup",group:""+checkbox.slice(0,(checkbox.length-1))+""},function(data){
		Refresh('top');
		construct();
	});
}

function delGroup(id){
	status_info(DELETING);
	$.post("index.php",{kernel:"DelGroup",id:""+id+""},function(data){
		Refresh('top');
		$("#simplemodal-data").html(data);
		status_info_hidden();
	});
}

function ConfirmDelGroup(id) {
	status_info(DELETING);
	$.post("index.php",{kernel:"ConfirmDelGroup",id:""+id+""},function(data){
		$("#simplemodal-data").html(data);
		Refresh('top');
		status_info_hidden();
	});
}

function AddNewGroup(type) {
	addGroup=document.getElementById('addGroupName').value;
	var subgroup=$("#subgroup option:selected").val();
	if(addGroup!="") {
		status_info(SAVE);
		$.post("index.php",{kernel:"AddGroup",groupName:""+addGroup+"",view:""+type+"",subgroup:""+subgroup+""},function(data){
			if(trim(data).length>0) {
				$("#simplemodal-data").html(data);
				status_info_hidden();
				Refresh('top');
			}else{
				alert("Такая группа уже есть");
			}
		});
	}else alert('Не указано название группы');
}

function delModule(module){
	if (confirm("Все данные будут безвозвратно удалены!\nВы уверены, что хотите удалить модуль "+module+"?")) {
		status_info(DELETING);
		$.post("index.php",{kernel:"DelModule",mod:""+module+""},function(data){
			$("#simplemodal-data").html(data);
			Refresh('top');
			status_info_hidden();
		});
	}
}

function changeGroup(){
	var id = $("#group1 option:selected").val();
	status_info(CHANGE_GROUP);
	$.post("index.php",{kernel:"ChangeGroup",group:""+id+""},function(){
		Refresh('top');
		construct();
	});
}

function show_config(){
	status_info(LOADING);
	$.post("index.php",{kernel:"ShowConfigKernel"},function(data){
		$.modal(data, {autoResize:true});
		$("ul.tabs").tabs("div.panes > div");
		status_info_hidden();
	});
}

function saveConfig(){
	status_info(SAVE);
	var view_icons = document.getElementById("view_icons").checked;
	var view_group = document.getElementById("view_group").checked;
	var skin = $("#skin option:selected").val();
	var lang = $("#lang option:selected").val();
	var count = $('select#count').val();
	//var cab_login = document.getElementById("userlogin").value;
	//var cab_pass = document.getElementById("userpass").value;

	if ( $('#debug').length > 0 ) {
	   var debug=document.getElementById("debug").checked;
	}else var debug=false;
	var pass = document.getElementById("pass").value;
	var pass_confirm = document.getElementById("pass_confirm").value;
	if(pass!=""){if(trim(pass)!=trim(pass_confirm)){pass="";alert("Вы неправильно указали подтверждение пароля");}}
	$.post("index.php",{kernel:"SaveConfig",view_group:""+view_group+"",view_icons:""+view_icons+"",skin:""+skin+"",lang:""+lang+"",count:""+count+"",pass:""+pass+"",debug:""+debug+""},function(data){
		window.location.href="index.php"
	});
	status_info_hidden();
}


/* function SaveLicUser() {
	var licence = document.getElementById("licence").value;
	$.post("index.php",{kernel:"SaveKernelKey",key:""+licence+""},function(data){
		$("#simplemodal-data").html(data);
	});
} */

function addmodule(name) {
	$.post("index.php",{kernel:"AddModule",name:""+name+""},function(data){
		alert(data);
	});
}

function show_error(str){
	$.modal(str, {autoResize:true});
} 

function logoutUser(){
	status_info(EXIT);
	$.post("index.php",{kernel:"LogoutUser",user:"quit"},function(data){
		window.location.href="index.php";
	});
	status_info_hidden();
}

//function overlayFit(){$('#overlay').css({width:$(window).width(),height:$(document).height()})}

/* function popupFit(){
$('#popup').stop().animate({top:posTop+'px'},500)} */

function changeModule(){
	status_info(LOAD_MODULE);
	var mod=$("#module").val();
	$.post("index.php",{kernel:"SaveConfig",mod:""+mod+""},function(data){
		window.location.href="index.php";
	});
	status_info_hidden();
}


function tablea(){
	$(".static tr:not(.child, .exchange, .dnd, .act_but, .fixed, .scrolltable)").hover(function(){var nodrag=$(this).hasClass("nodrag");
	 if(nodrag==false){$(this.cells[1]).addClass('showDragHandle')}},function(){$(this.cells[1]).removeClass('showDragHandle')});
	$('#tablea').tableDnD({
		dragHandle:"dragHandle",
		onDragClass:"dragRow"
		/* onDrop: function(table, row) {
			status_info(MOVE);
			var neworder="";
			var point = '';
			var rank = $("#rank_current").val();
				$("tr#parent").each(function(){
				if (neworder.length>0)
					{
						point=",";
					} 
				neworder+=point+$(this).attr("rank");
				});
			$.post("index.php",{kernel:"SaveOrder",rank:""+rank+"",order:""+neworder+""},function(data){
				status_info_hidden();
			});
		} */
	});


	$('.arrow').click(function () {
		var rank = $(this).attr('value');

		if ( $(this).hasClass('up') )
		{
			/* This row is already open - close it */
			$(this).removeClass('up');
			$("tr[rank='"+rank+"']").removeClass('nodrag');
			$('.child_'+rank).remove();
			//$('#left').scrollTop($('#right').scrollTop());
			
		}
		else
		{
			/* Open this row */

			 $(this).addClass('up');
			 var tr = new Array();
			 tr[0]='<tr class="child_'+rank+'"><td id="sub_checkbox_'+rank+'" valign="top"></td><td id="sub_num_'+rank+'" valign="top"></td><td id="sub_arrow_'+rank+'" valign="top"></td>';
			 tr[1]='<tr class="child_'+rank+'">';
			 tr[2]='<tr class="child_'+rank+'">';
			 for(i=0;i<IDS.length;i++) {
				if(i<H_CNT) {
					tr[0]+='<td id="sub_'+IDS[i]+'_'+rank+'" valign="top"></td>';
				}else if(i>=H_CNT && i!=(IDS.length-1)) {
					tr[1]+='<td id="sub_'+IDS[i]+'_'+rank+'" valign="top"></td>';
				}else {
					tr[2]+='<td id="sub_'+IDS[i]+'_'+rank+'" valign="top"></td>';
				}
				
			 }
			 tr[0]+='</tr>';
			 tr[1]+='</tr>';
			 tr[2]+='</tr>';

			 $("tr[rank='"+rank+"']").addClass('nodrag');
			 var j = 0;
			 $("tr[rank='"+rank+"']").each(function(){
				$(this).after(tr[j]);
				j++;
			 });
			//$('#left').scrollTop($('#right').scrollTop());
			 if(COLS>4) childContent(rank);
		}
	} );

	$('tr[rank]').live('mouseover mouseout',function(event){
		if(event.type=='mouseover'){
			var id=$(this).attr("rank");
			if(id>0){
				$("tr[rank="+id+"]").addClass("hover");
			}
		}
		else{
			var id=$(this).attr("rank");
			if(id>0){
				$("tr[rank="+id+"]").removeClass("hover")
			}
		}
	});

	$('#left table tr:not(.act_but, .exchange, .scrolltable):odd').addClass("odd");
	$('#left table tr:not(.act_but, .exchange, .scrolltable):even').addClass("even");

	$('#main_center table tr:not(.act_but, .exchange, .scrolltable):odd').addClass("odd");
	$('#main_center table tr:not(.act_but, .exchange, .scrolltable):even').addClass("even");

	//$('#right table tr:not(.act_but, .exchange, .scrolltable):odd').addClass("odd");
	//$('#right table tr:not(.act_but, .exchange, .scrolltable):even').addClass("even");


	wheel();


	$(".chk_all").click(function(){
		var checked_status=this.checked;
		$("input.chk_all").each(function(){
			this.checked=checked_status;
		});
		$("input#chck").each(function(){
			var id = $(this).val();
			this.checked=checked_status;
			switch(checked_status){
			case true:
				$("tr[rank='"+id+"']").addClass("checked_row");
				//$(this).parent().parent().addClass("checked_row");
			break;
			case false:
				$("tr[rank='"+id+"']").removeClass("checked_row");
				//$(this).parent().parent().removeClass("checked_row");
			break}
		});
	});  

	$('.check').shiftcheckbox();

	$("tr#parent").click(function(){
		var id = $(this).attr('rank');
		if ( $(this).hasClass('checked_row') ) {
			$("tr[rank='"+id+"']").removeClass("checked_row");
			$("input#chck[value='"+id+"']").removeAttr('checked');
		}else {
			$("tr[rank='"+id+"']").addClass("checked_row");
			$("input#chck[value='"+id+"']").attr('checked','checked');
		}
	});

	$("input#chck").click(function(){
		var id = $(this).attr("name");
		if(this.checked) {
			$('input.chk[name="'+id+'"]').each(function(){
				$(this).attr('checked','checked');
			});
		}else {
			$('input[name="'+id+'"]').each(function(){
				$(this).removeAttr('checked');
			});
		}
	});

	window.onresize = function ()
	{
		SellWidth();
	}
	
	modulefuncinitialize();
}

function wheel(){
	/* $('#right').scroll(function() {
		var scroll = $("#right").scrollTop();
		$("#left").scrollTop(scroll);
		$("#main_center").scrollTop(scroll);
	}); */

	$('#bottom_cnt').scroll(function() {
		var scroll = $("#bottom_cnt").scrollLeft();
		$("#top_cnt").scrollLeft(scroll);
		$("#main_center").scrollLeft(scroll);
	});

	/* $('#main_center').mousewheel(function (event, delta) {
		var scrollbar = $(this).scrollTop();
		if(delta<0) {
			if($.browser.opera) var g = scrollbar-57;
			else var g = scrollbar+57;
			
		}else {
			if($.browser.opera) var g = scrollbar+57;
			else var g = scrollbar-57;
		}
		$(this).scrollTop(g);
		//$("#right").scrollTop(g);
		$("#left").scrollTop(g);
	});  */
	$('#main_center').scroll(function() {
		var scroll = $("#main_center").scrollTop();
		$("#left").scrollTop(scroll);
	});

	$('#left').mousewheel(function (event, delta) {
		var scrollbar = $(this).scrollTop();
		if(delta<0) {
			if($.browser.opera) var g = scrollbar-57;
			else var g = scrollbar+57;
			
		}else {
			if($.browser.opera) var g = scrollbar+57;
			else var g = scrollbar-57;
		}
		$(this).scrollTop(g);
		//$("#right").scrollTop(g);
		$("#main_center").scrollTop(g);
	});

	$('.content_bootom_center').mousewheel(function (event, delta) {
		var scrollbar = $("#bottom_cnt").scrollLeft();
		if(delta<0) {
			if($.browser.opera) var g = scrollbar-57;
			else var g = scrollbar+57;
			
		}else {
			if($.browser.opera) var g = scrollbar+57;
			else var g = scrollbar-57;
		}
		$("#bottom_cnt").scrollLeft(g);
		$("#top_cnt").scrollLeft(g);
		$("#main_center").scrollLeft(g);
	}); 

	$('#topContent').mousewheel(function (event, delta) {
		var scrollbar = $("#top_cnt").scrollLeft();
		if(delta<0) {
			if($.browser.opera) var g = scrollbar-57;
			else var g = scrollbar+57;
			
		}else {
			if($.browser.opera) var g = scrollbar+57;
			else var g = scrollbar-57;
		}
		$("#top_cnt").scrollLeft(g);
		$("#bottom_cnt").scrollLeft(g);
		$("#main_center").scrollLeft(g);
	}); 
	
	$("#navigation").treeview({
		persist: "location",
		collapsed: true,
		unique: true
	});
} 



function RemPass() {
	var data = '<table width="200" height="100"><tr><th>Восстановление пароля</th></tr><tr><td align="center"><input size="30" type="text" id="send_email"></td></tr><tr><td align="center"><input type="button" value="Выслать пароль на Email" onclick="sendMailPass();"></td></tr></table>';
	$.modal(data, {autoResize:true});
}

function sendMailPass() {
	var mail = $("#send_email").val();
	if(checkMail(mail)) {
		$.post("index.php",{sendmail:"SendPassOnEmail",mail:""+mail+""},function(data){
			alert(data);
		});
	}else alert("Некорректно введен Email адрес!");
}

function checkMail(email){
  var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if (filter.test(email)) {
    return true;
 	}	
  return false;
}


