var mt = [0,'Строка', 'Число', 'Дата', 'Ссылка', 'Файл'];
var current_project_id = 0;

function is_added(set, text) // В наборе set ищется элемент text
{	
	var exists = false; 
		
	set.each(
		function(i)
		{
			if($(this).html() == text)
			{
				exists = true;
			}
		}
	);

	return exists;
}

function changeForm(block_name,toform)
{			
	$('#loader').hide();
	$('.'+block_name+'.block#'+toform).show().siblings('.block').hide();
}

//Натуральная сортировка для dataTable

jQuery.fn.dataTableExt.oSort['natural-asc']  = function(a,b) {
	return naturalSort(a,b);
};

jQuery.fn.dataTableExt.oSort['natural-desc'] = function(a,b) {
	return naturalSort(a,b) * -1;
};

// А это сортировка дат

function dateSort(a,b) 
{
	if(a == '')
		if(b == '')
			return 0;
		else
			return -1;
	else
		if(b == '')
			return 1;
	
	var ruDatea = a.split('.');
	var ruDateb = b.split('.');
	
	var x = (ruDatea[2]*100 + ruDatea[1]*10 + ruDatea[0]) * 1;
	var y = (ruDateb[2]*100 + ruDateb[1]*10 + ruDateb[0]) * 1;
	
	return ((x < y) ? -1 : ((x > y) ?  1 : 0));
};

jQuery.fn.dataTableExt.oSort['ru_date-asc']  = function(a,b) {
	return dateSort(a,b);
};

jQuery.fn.dataTableExt.oSort['ru_date-desc'] = function(a,b) {
	return dateSort(a,b) * -1;
};

// fnGetFilteredNodes

jQuery.fn.dataTableExt.oApi.fnGetFilteredNodes = function ( oSettings )
{
	var anRows = [];
	for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ )
	{
		var nRow = oSettings.aoData[ oSettings.aiDisplay[i] ].nTr;
		anRows.push( nRow );
	}
	return anRows;
};

// Аналог PHP htmlspecialchars

function htmlspecialchars(text)
{
   var chars = Array("&", "<", ">", '"', "'");
   var replacements = Array("&amp;", "&lt;", "&gt;", "&quot;", "'");
   for (var i=0; i<chars.length; i++)
   {
       var re = new RegExp(chars[i], "gi");
       if(re.test(text))
       {
           text = text.replace(re, replacements[i]);
       }
   }
   return text;
}

