var dnd = {
	dragTBody : null,
	dragPos : 0,
	dropPos : 0,
	backup : null,
	lang : null,
	options : {
		onDragClass: "trDrag",
		onDragStart: function (table, row) {
			dnd.backup = table.parentNode.innerHTML;
			for ( var t = 0; t < table.tBodies.length; t++ ) {
				var tBody = table.tBodies[t];
				var count = 0;
				for (var i=0; i< tBody.rows.length; i++) {
					var rows = tBody.rows[i];
					if ( $(rows).hasClass ( 'nodrag' ) || $(rows).hasClass ( 'nodrop' ) )
						continue;
					if (rows == row) {
	                	dnd.dragPos = count;
	                	dnd.dragTBody = tBody;
	                	if ($(rows).attr ('lang')) {
	                		dnd.lang = $(rows).attr ('lang');
	                	}
	                	return;
	                }
	                count++;
	            }
			}
		},
		onDrop: function (table, row) {
			var rows = dnd.dragTBody.rows;
			var count = 0;
			for (var i=0; i<rows.length; i++) {
				if ( $(rows[i]).hasClass ( 'nodrag' ) || $(rows[i]).hasClass ( 'nodrop' ) )
					continue;
                if (rows[i] == row) {
                	dnd.dropPos = count;
                	break;
                }
                count++;
            }
            //alert(row.id + ' - ' + dnd.dropPos); return false;
            if (dnd.dragPos == dnd.dropPos) return false;
            
            jsonData = {};
            jsonData['record'] = row.id;
            jsonData['position'] = dnd.dropPos + 1;
            jsonData['lang'] = dnd.lang;
            
            $.ajax({
				type: "GET",
				url: $('#dndTable table').attr( ('name')) + '-position.php',
				data: {data : $.toJSON(jsonData)},
				error: function (message) {
					$('#dndTable').html ( dnd.backup );
					$('#dndTable table').tableDnD ( dnd.options );
				},
				success: function () {
				}
			});
		}
	}
};

$(document).ready ( function ()
{
	// structure for selected page
	if ($('#form1 #l2_id').val ())
	{
		$.ajax ( {
			type: "POST",
			url: "level3-items.php",
			data: "str_lang=" + $('#form1 #str_lang').val () + "&l2_id=" + $("#l2_id option:selected").val (),
			error: function (message) {
				alert ( message );
			},
			success: function (html) {
	    		$("#l3_id").html (html);
			}
		} )
	}
	// structure, when page was changed
	$('#form1 #l2_id').change ( function ()
	{
		$.ajax ( {
			type: "POST",
			url: "level3-items.php",
			data: "str_lang=" + $('#form1 #str_lang').val () + "&l2_id=" + $("#l2_id option:selected").val (),
			error: function (message) {
				alert ( message );
			},
			success: function (html) {
	    		$("#l3_id").html (html);
			}
		} )
	} );

	// Initialise drag & drop table
	if ($('#table-1').length) {
		
    	$('#table-1').tableDnD ( dnd.options );
	}
	
	// fast navigation - slide button
	$(document).bind ( 'click', function ( e )
	{
		if ( e.target.id == 'fastNavBut' || e.target.parentNode.id == 'fastNavBut')
			return;
			
		$('#fastNavBox').slideUp ( "slow" );
	} );
	
	$('#fastNavBut').click ( function ()
	{
		if ( $('#fastNavBox').is ( ':visible' ) ) {
			$('#fastNavBox').slideUp ( "slow" );
		} else {
			$('#fastNavBox').slideDown ( "slow" );
		}
		
		$('#fastNavBox a').click ( function () {
			$('#fastNavBox').slideUp ( "fast" );
		} );
		
		$('#fastNavBut').blur ();
	} );
	
	// download left menu
	$('.foldout').click ( function ()
	{
		$('.foldout').removeClass ('current');
		$('.folder').css ('display', 'none');
		$(this).addClass ('current');
		$('#folder' + $(this).attr ('id')).css ('display', 'block');
		return false;
	} );
	
	// show/hide tr (references)
	$('select#group_id').change ( function ()
	{
		if ($('select#group_id').val () == 1) {
			$('tr.hidden').css ('display', 'table-row');
		}
		else {
			$('tr.hidden').css ('display', 'none');
		}
	} );
	
	// show/hide content in newsletter form
	$('#newsletter h3 input[type=checkbox]').click ( function ()
	{
		var groupList = $(this).parent ().next ();
		
		if ($(this).is (':checked')) {
			groupList.css ( 'display', 'block' );
			groupList.children ().children ().attr ( 'disabled', '' );
		}
		else {
			groupList.css ( 'display', 'none' );
			groupList.children ().children ().attr ( 'disabled', 'disabled' );
		}
	} );
	
	
	// initialise stat suppliers
	$('.clickSupStat').click ( function ()
	{
		$(this).blur ();
		if ($(this).attr ('href')) {
			var url = location.pathname;
			var id = $(this).attr ('supid');
			
			$.ajax ( {
				type: "GET",
				url: "stat-suppliers.php",
				data: "id=" + id + "&url=" + escape(url),
				async: false
				/*error: function (XMLHttpRequest, textStatus, errorThrown) {
					var response = XMLHttpRequest.responseText;
					var code = $.evalJSON(response).code;
					var message = $.evalJSON(response).message;
					alert ( response );
				},
				success: function ( data ) {
					alert ( data );
				}*/
			} )
		}
	} );

} );

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"), "");
}

/* close thickbox callback */

function dialogCloseConfirm ()
{
	if ( $("#TB_overlay").data ( 'success' ) ) {
		location.replace ( location.pathname );
	}
	return true;
}

