// JavaScript Document



$(window).resize(function (){resizeH();});
$(document).ready(function (){resizeH();});

$(".ajax").ajaxStart(function(){
  $(this).show();
});

$(".ajax").ajaxComplete(function(){
  $(this).hide();
});

function resizeH()
	{
		var h = $('body').height();
		$('.body,.sidenav').height(h-160);
	}
	
var cNavs = $.cookie('Navs');
if (cNavs) 
{
	cNavs = cNavs.split('|');
	for (var cn = 0; cn < cNavs.length; cn++)
	{
		$('.togsub:eq('+cNavs[cn]+')').show();
	}
}

var cTop = $.cookie('sTop');
if (cTop) $('.sidenav').each(function(){this.scrollTop=parseInt(cTop)});

$('.tognav').click
(
 	function ()
		{
			var obj = this;
			$(this).next('div').slideToggle(function(){saveNavs(); $('.sidenav').animate({scrollTop: obj.offsetTop}); });
			this.blur();
			return false;
		}
);

$('#expandb').click
(
 	function ()
		{
			$('.togsub').slideDown(function(){saveNavs();});
			this.blur();
			return false;
		}
);

$('#collapseb').click
(
 	function ()
		{
			$('.togsub').slideUp(function(){saveNavs();});
			this.blur();
			return false;
		}
);


$('.subtabs').click
(
 	function ()
		{
			var maxh = $('.body').height()+28;
			$('.tabdroplist').toggle('fast');
			if ($('.tabdroplist').height()>=(maxh))
				$('.tabdroplist').css({height:maxh});
			else
				$('.tabdroplist').css('height','auto');
				
			this.blur();
			return false;
		}
);

$('.header').hover
(
 	function(){},function(){ $('.tabdroplist').hide();
	}
);

$('.closenav').click
(
 	function ()
		{
			$('.sidenav, .sidenavtop').hide(300);
			$('.bodytop, .body').css('margin-left',6);
			$('.sidetog').show(300);
			$.cookie('closeNav',1);				
		}
);

$('.sidetog').click
(
 	function ()
		{
			$('.sidenav, .sidenavtop').show(300);
			$('.bodytop, .body').css('margin-left',255);
			$('.sidetog').hide(300);
			$.cookie('closeNav',null);
			if (cTop) $('.sidenav').each(function(){this.scrollTop=parseInt(cTop)});
			return false;
		}
);

//added

$('#trans').click
(
 	function ()
		{
			$('.sidenavtop, .sidenav').hide(300);
			$('.sidenavtop, .sidenav').show(300);
			$('.bodytop, .body').css('margin-left',255);
			$('.sidetog').hide(300);
			$.cookie('closeNav',null);
			if (cTop) $('.sidenav').each(function(){this.scrollTop=parseInt(cTop)});
			return false;
		}
);

$('#report').click
(
 	function ()
		{
			$('.sidenav, .sidenavtop').hide(300);
			$('.bodytop, .body').css('margin-left',6);
			$('.report_gen, .sidenavtop').show(500);
			$('.bodytop, .body').css('margin-left',255);
							
		}
);

$('#admin').click
(
 	function ()
		{
			$('.sidenav, .sidenavtop').hide(300);
			$('.bodytop, .body').css('margin-left',6);
			$('.admin_set, .sidenavtop').show(300);
			$('.bodytop, .body').css('margin-left',255);
							
		}
);

//end
$('.sidenav').scroll
(
 	function ()
		{
			$.cookie('sTop',this.scrollTop);
		}
);

if ($('.togsub:visible').length==$('.togsub').length) $('#expandb').attr('class','nleftntoggled');
if (!$('.togsub:visible').length) $('#collapseb').attr('class','nrightntoggled');

function saveNavs()
{
	var nNavs = '';
	$('.togsub:visible').each
	(
	 	function ()
			{
				var n = $('.togsub').index(this);
				if (nNavs!='') nNavs += '|';
				nNavs += n;
			}
	);
	$('#expandb').attr('class','nleft');
	$('#collapseb').attr('class','nright');
	if ($('.togsub:visible').length==$('.togsub').length) $('#expandb').attr('class','nleftntoggled');
	if (!$('.togsub:visible').length) $('#collapseb').attr('class','nrightntoggled');
	$.cookie('Navs',nNavs);
}

$('a.goright')
.click
(
 	function ()
		{
			this.blur();
			return false;
		}
)
.mousedown
(
 	function ()
		{
			var tabswidth = $('.tab_pane').width() - $('.body_tabs').width() + 50;
			$('.body_tabs').animate({scrollLeft:tabswidth},2000);
		}
)
.mouseup
(
 	function ()
		{
			$('.body_tabs').stop();
		}
)
;

$('a.goleft')
.click
(
 	function ()
		{
			this.blur();
			return false;
		}
)
.mousedown
(
 	function ()
		{
			$('.body_tabs').animate({scrollLeft:0},2000);
		}
)
.mouseup
(
 	function ()
		{
			$('.body_tabs').stop();
		}
)
;

$('body_tabs a.sel').each
(
 	function ()
		{
			var tabslide = $('.body_tabs').get(0);
			var tabsview = $('.body_tabs').width() - 52;
			//alert(this.offsetLeft + ' ' + tabsview + ' ' + tabslide.scrollLeft);
			if ((this.offsetLeft + $(this).width()) >= tabsview)
				tabslide.scrollLeft = this.offsetLeft - tabsview + $(this).width();
			//return true;
			//if (this.offsetLeft>tabsview)
			//	tabslide.scrollLeft = (tabslide.scrollLeft + this.offsetLeft) - $('.body_tabs').width() + $(this).width() + 52;
			//else 
			if (tabslide.scrollLeft > this.offsetLeft)
				tabslide.scrollLeft = this.offsetLeft + 1;
		}
);

$('.body_sub a').click
(
 	function ()
		{
			
			return false;
		}
);

$('a.tab_close').click
(
 	function ()
		{
			if ($(this).prev().hasClass('sel')) return true;
			else
				$.get(this.href+'/1');
			$('.tabdroplist a[href='+$(this).prev().attr('href')+']').remove();
			$(this).prev().remove();
			$(this).remove();
			return false;
		}
);

$('span.img_del').click
(
 	function ()
		{
			$.get('delete/' + $(this).prev().html());
			$(this).parent().remove();
			return false;
		}
);

function resetform(from) //clear form
{
	var form = $(from).parents('form');
	$(form).trigger('reset');
	$('.fields',form).fadeIn('normal',function () {$('.rtb:first',form).trigger('focus');} );
	$('.response',form).empty();
	return false;
}

function showformpassword(from) //show form if unsuccessful
{
	var form = $(from).parents('form');
	$(form).trigger('reset');
	$('.fields',form).fadeIn('normal',function () {$('.rtb:first',form).trigger('focus');} );
	$('.response',form).empty();
	setDefault();
	
	return false;
}

function showform(from) //show form if unsuccessful
{
	var form = $(from).parents('form');
	$('.fields',form).fadeIn('normal',function () {$('.rtb:first',form).trigger('focus');} );
	$('.response',form).empty();
	$('#Header').show().siblings('div.panel').hide();	
	setMode('view');
	viewdb($('input[name=item]').val(),form);
	return false;
}

function showlist(from) //show list
{
	var form = $(from).parents('form');
	$('.fields',form).fadeIn('normal',function () {$('.rtb:first',form).trigger('focus');} );
	$('.response',form).empty();
	$('.listFlex').flexReload();
	$('#List').show().siblings('div.panel').hide();	
	$.cookie(mod+'id', null);
	setMode('default');	
	return false;
}

var procJSON = {
	'form' : false
	,'json' : false
	,'rs' : ''
	,'view' : function ()
		{
			var edata = this.json.db;	
			
			$.each( edata, function(i, n){
			if ($('input[name=' + i + ']').length)						
		  			$('input[name=' + i + ']').val('');
			if ($('select[name=' + i + ']').length)						
		  			$('select[name=' + i + ']').val('');
			if ($('textarea[name=' + i + ']').length)				  			
					$('textarea[name=' + i + ']').val('');
			if (i=='item') var id = n;
			});
			
			$.each( edata, function(i, n){
			if ($('input[name=' + i + ']').length)						
		  			$('input[name=' + i + ']').val(n);
			if ($('select[name=' + i + ']').length)						
		  			$('select[name=' + i + ']').val(n);
			if ($('textarea[name=' + i + ']').length)				  			
					$('textarea[name=' + i + ']').val(n);
			
			});	
			
			$.each( edata, function(i, n){
			if ($('span[class=' + i + ']').length)						
		  			$('span[class=' + i + ']').html('');
			
			});	
			
			$.each( edata, function(i, n){
			if ($('span[class=' + i + ']').length)		
		  			$('span[class=' + i + ']').html(n);
			
			});	
						
			var pid = $.cookie(mod+'id');
			var idx = $('.listFlex tbody tr').index($('.listFlex tbody tr[id=row'+pid+']'));
				$('.listFlex tbody tr:eq('+idx+')').each(function(){
					$(this).addClass('trSelected');	
				});
			
			var cdata = this.json.count;
			var dt = [{name:'item',value:$('input[name=item]').val()},{ name : 'type', value : $('select[name=type_id]').val()}];
			
			$.each( cdata, function(i, n){
				if ( n > 0) $('#' + i).flexOptions({params:dt}).flexReload();	
				if ( n == 0) 
				{
					df[i-1] =	
					{
					 page: 1,
					 total: 1000,
					 rows: []
					}
					$('#' + i).flexAddData(df[i-1]);
				}
				
			});	
			
			setStatus();
		}	
	,'ref_view' : function ()
		{
			var edata = this.json.db;	
						
			$.each( edata, function(i, n){
			if ($('input[name=' + i + ']').length)						
		  			$('input[name=' + i + ']').val('');			
			});
			
			$.each( edata, function(i, n){
			if ($('input[name=' + i + ']').length)						
		  			$('input[name=' + i + ']').val(n);			
			});	
			
			getQuantity();
		}
	,'init' : function (json,tform)
		{
			this.form = tform;
			this.json = json;
			if (json.response) this.rs = json.response;
			else this.rs = '';
			
			if (json.action) 
				{
				try
				{
				var noExit = this[json.action]();
				} catch (e) {};
				if (!noExit) return true;
				}
				
			if (!this.form) return false;
		
			$('.response',this.form).html(this.rs);
			$('.response a',this.form).trigger('focus');
			
		}
	,'retry' : function ()
		{
				this.rs += "<br /><br /><p><a href='#' onclick='return showform(this)'>"+$.i18n._(message_lang,'submit_again')+"</a></p>";
				$('input[type=password]').val('');
				return true;
		}
	,'exist' : function ()
		{
				this.rs += "<br /><br /><p><a href='#' onclick='return showform(this)'>"+$.i18n._(message_lang,'submit_again')+"</a></p>";
				return true;
		}
	,'save' : function ()
		{
				//this.rs += "<br /><br /><p><a href='#' onclick='return showform(this)'>"+$.i18n._(message_lang,'submit_again')+"</a></p><p><a href='#' onclick='return showlist(this)'>"+$.i18n._(message_lang,'back_to_list')+"</a></p>";
				this.rs += "<center><br /><br /><p><a href='#' onclick='return showform(this)'>"+$.i18n._(message_lang,'click_proceed')+"</a></p></center>";
				self.location.reload();
				$('input[name=item]').val(this.json.item);
				return true;		
		}
	,'delete' : function ()
		{
				$('.listFlex').flexReload();
				this.rs += "<br /><br /><p><a href='#' onclick='return showlist(this)'>"+$.i18n._(message_lang,'back_to_list')+"</a></p>";
				return true;
		}
	,'status' : function ()
		{
				this.rs += "<br /><br /><p><a href='#' onclick='return showlist(this)'>"+$.i18n._(message_lang,'back_to_list')+"</a></p>";
				return true;
		}
	,'served' : function ()
		{
				this.rs += "<br /><br /><p><a href='#' onclick='return showlist(this)'>"+$.i18n._(message_lang,'back_to_list')+"</a></p>";
				return true;
		}
	,'reload' : function ()
		{
				self.location.reload(); 
				return false;
		}	
	,'company' : function ()
		{
				$('.fields').slideDown('fast');
				$('.response').html('');
				
				var edata = this.json.db;					
			  	var options = '';
				options += '<option value=""></option>';				
				for (var i = 0; i < edata.length; i++) {
							options += '<option value="' + edata[i].optionValue + '">' + edata[i].optionDisplay  + '</option>';			
				}
			  	$("select[name=company_id]").html(options).addClass('rtb').trigger('focus');				
				$("select[name=company_id] option:eq(1)").attr("selected","selected");   
			

		}
	,'password' : function ()
		{
				
				this.rs += "<br /><br /><p><a href='#' onclick='return showformpassword(this)'>"+$.i18n._(message_lang,'return_back')+"</a></p>";
				return true;
			
		}
	,'myaccount' : function ()
		{
				
				this.rs += "<br /><br /><p><a href='#' onclick='return showformpassword(this)'>"+$.i18n._(message_lang,'return_back')+"</a></p>";
				return true;
			
		}
	,'language' : function ()
	  {
	   
	   
	   var edata = this.json.dt;        
		$.each( edata, function(i, n){ 
		 $('#' + i ).html(n);    
		}); 
	   
	
	  }
}

function onError()
{
	//self.location.reload();
	alert('error');
}

$('.form').submit(
function ()
	{
			var form = this;
			
			if ($("input[name='action']",form).val()=='save' ||  $("input[name='action']",form).val()=='login' )
			{	
					if ((!validate(form)) || (!validateModule($("input[name='module']",form).val(),form))) 
					{						
						mode = 'edit';
						return false;
					}
			}
			
			if ($("input[name='status']",form).val()=='1')
			{	
					if (!validateModule($("input[name='module']",form).val(),form)) 
					{						
						mode = 'view';
						$("input[name='status']",form).val('0');
						return false;
					}
			}
			
			var dt = $(this).serializeArray();
			//var action = root + mod + $("input[name='action']",form).val();
			try
			{
				
				if (df.length)
				{
					for(var di=0; di<df.length;di++)
					{		
						if (df[di].rows.length<1 && (di==0))
						{
							mode = 'edit';
							alert($.i18n._(message_lang,'alert_no_details_transaction'));
							return false;
						}
						else 
						{
							for(var dn=0; dn<df[di].rows.length;dn++)
								{
								dt[dt.length] = { name: 'row'+di+'['+df[di].rows[dn].id+']' , value: df[di].rows[dn].cell.join('|') };
								}
						}
					}
				}				
			} catch (e) { };	
			
			
			
			var action = root + $("input[name='module']",form).val() + $("input[name='method']",form).val();
			
			$('.fields',this).slideUp('fast');
			$('.response',this).html("<div class='load'>"+$.i18n._(message_lang,'processing')+"</div>");
				$.ajax({
				   type: 'POST',
				   url: action,
				   data: dt,
				   dataType: 'json',
				   success: function(data){if (data) procJSON.init(data,form);},
				   error: function () { onError(); }
				 });
				
		return false;
	}
);


$('#sform').submit
(
	function ()
		{
			$('.listFlex').flexOptions({newp: 1}).flexReload();
			return false;
		}
);	

$('.ptabs a').click
(
 	function ()
		{
			$(this).addClass('sel').siblings().removeClass('sel');
			var n = $('.ptabs a').index(this);
			$('.fpane:eq('+n+')').show().siblings('div.fpane').hide();
			this.blur();
			return false;
		}
);

$('.indate').each
(
	function ()
		{
		var dn = new Date();
		var dd = dn.getDate();
		var mm = dn.getMonth()+1;
		var yy = dn.getFullYear();
		
		if (mm<10) mm = '0' + mm;
		if (dd<10) dd = '0' + dd;
		
		$(this).attr('readonly','true');
		$(this).attr('autocomplete','off');
		$(this).focus(function(){$(this).next().trigger('click')});
		var tobj = this;
	    Calendar.setup({ 
		   inputField     :    this,       
		   ifFormat       :    '%m/%d/%Y', 
		   onUpdate       : 	function () {$(tobj).trigger('change');} ,
		   button         :    $(this).next()[0],
		   firstDay       :    1, 
		   step           :    1 
	    }); 
		
		
		}
		
);

$('.indate2').each
(
	function ()
		{
		var dn = new Date();
		var dd = dn.getDate();
		var mm = dn.getMonth()+1;
		var yy = dn.getFullYear();
		
		if (mm<10) mm = '0' + mm;
		if (dd<10) dd = '0' + dd;
		
		$(this).attr('readonly','true');
		$(this).attr('autocomplete','off');
		$(this).focus(function(){$(this).parents('div.frow').find('button').trigger('click')});
		var tobj = this;
	    Calendar.setup({ 
		   inputField     :    this,       
		   ifFormat       :    '%m/%d/%Y', 
		   onUpdate       : 	function () {$(tobj).trigger('change');} ,
		   button         :    $(this).parents('div.frow').find('button').get(0),
		   firstDay       :    1, 
		   step           :    1 
	    }); 
		
		
		}
		
);

var strNumeric = '0123456789.-/';

$('.ntb').keyup
(
	function ()
		{
		 	var i;
			var s = $(this).val();
			s = s.toString();
			  for (i = 0; i < s.length; i++)
			  {
				 var c = s.charAt(i);
				 if (strNumeric.match(c) == null) 
				   {
					s = s.replace(c,'');
				   }				 
			  }
			 $(this).val(s);
			 return true;
		}
)

function formatCurrency()
{	
	$('.detFlex tbody tr, .listFlex tbody tr, .ref_itemFlex tbody tr').each(
	  function(){
			$('td[align=right]',this).each(
			function(){
				$('div',this).html(numberFormat($('div',this).html()));
			});
	  });
	
	$('.field .ntb').each(
	  function(){
			$('span',this).html(numberFormat($('span',this).html()));
	  });
	
}


function viewdb(id)
{
	$.cookie(mod+'id',id);

	var dt = {action:'view',item:id};
	var action = root + mod + "/post";
	
		$.ajax({
		   type: 'POST',
		   url: action,
		   data: dt,
		   dataType: 'json',
		   success: function(data){if (data) procJSON.init(data,false);},
		   error: function () { onError(); }
		 });
	//return false;
}

// Toolbar Commands

//function cTools() {

	var mode = false;
	var nid = 0;
	
	var status = 
	
	$('.toolbar a').click(
		function ()
			{
	
				if ($(this).children().hasClass('disabled')) return false;
	
				switch (this.title)
					{
						case 'Header':
							mode = 'view';							
							$('#Header').show().siblings('div.panel').hide();
							$('.detFlex').each
							(
								function ()
									{
										this.grid.rePosDrag();
										this.grid.fixHeight();
									}
							);	
							break;
						case 'Undo':
							if ($("input[name='item']").val())
							{						
								mode = 'view';
								viewdb($("input[name='item']").val());
								$('.detFlex').flexOptions({params:[{name:'item',value:$("input[name='item']").val()}]}).flexReload();	
								
							}
							else
							{
								mode = 'default';
								$('.listFlex').flexReload();
								$('#List').show().siblings('div.panel').hide();	
							}
							break;
						case 'List':
							mode = 'default';	
							$('.listFlex').flexReload();
							$('#List').show().siblings('div.panel').hide();	
		
							$.cookie(mod+'id', null);
							this.blur();
							break;
						case 'New Item':
							mode = 'edit';	
							$('.form').trigger('reset');	
							$('input[name=action]').val('').val('save');							
							
							var curDate = dateFormat(Date(),'shortDate');
							$('.indate2').val(curDate);
							
							$('#Header').show().siblings('div.panel').hide();
							$('.detFlex').each
							(
								function ()
									{
										this.grid.rePosDrag();
										this.grid.fixHeight();
									}
							);
							try
							{
								if (df.length)
								{
									for(var di=0; di<df.length;di++)
									{									
									df[di] =	{
												page: 1,
												total: 1000,
												rows: []
												}
									$('#detFlex'+(di+1)).flexAddData(df[di]);
									}
								}
							} catch (e) { };						
							
							break;
						case 'Edit Item':
							mode = 'edit';							
							$("input[name='action']").val('').val('save');							
							break;	
						case 'Delete Item':
							mode = 'edit';
							if ($("input[name='item']").val()) {
								if (!confirm($.i18n._(message_lang,'confirm_delete_selected'))) return false;
								$("input[name='action']").val('').val('delete');
								$('.form').trigger('submit');
							}
							break;	
						case 'Cancel':
							mode = 'response';
							if ($("input[name='item']").val()) {
								if (!confirm($.i18n._(message_lang,'confirm_cancel_selected'))) return false;
								$("input[name='action']").val('').val('status');
								$("input[name='status']").val('').val('2');
								$('.form').trigger('submit');
							}
							$.cookie(mod+'id', null);
							break;	
						case 'Save':
							mode = 'response';
							$('.form').trigger('submit');
							break;
						case 'Approve':
							mode = 'response';
							if ($("input[name='item']").val()) {
								if (!confirm($.i18n._(message_lang,'confirm_approve_selected'))) return false;
								$("input[name='action']").val('').val('status');
								$("input[name='status']").val('').val('1');
								$('.form').trigger('submit');
							}
							$.cookie(mod+'id', null);
							break;
						case 'Disapprove':
							mode = 'response';
							if ($("input[name='item']").val()) {
								if (!confirm($.i18n._(message_lang,'confirm_disapprove_selected'))) return false;
								$("input[name='action']").val('').val('status');
								$("input[name='status']").val('').val('0');
								$('.form').trigger('submit');
							}
							$.cookie(mod+'id', null);
							break;
						case 'Serve':
							mode = 'response';
							if ($("input[name='item']").val()) {
								if (!confirm($.i18n._(message_lang,'confirm_close_selected'))) return false;
								$("input[name='action']").val('').val('served');
								$("input[name='is_served']").val('').val('1');
								$('.form').trigger('submit');
							}
							$.cookie(mod+'id', null);
							break;
						case 'Find':
							$('#sform').trigger('submit');
							break;
						case 'First':
							mode = 'view';
							if (!$('.listFlex tr.trSelected').length) return true;
							var idx = $('.listFlex tr').index($('.listFlex tr.trSelected'));
							$('.listFlex tbody tr:eq('+idx+')').each(function(){
									$(this).removeClass('trSelected');	
							});
							
							$('.listFlex tbody tr:eq(0)').each(function(){
									nid = this.id.substr(3);
									$(this).addClass('trSelected');	
							});		
							viewdb(nid);
							//$('.detFlex').flexOptions({params:[{name:'item',value:nid}]}).flexReload();
							
							$('.toolbar a[title=First] span').addClass('disabled');
							$('.toolbar a[title=Previous] span').addClass('disabled');
							$('.toolbar a[title=Next] span').removeClass('disabled');
							$('.toolbar a[title=Last] span').removeClass('disabled');
							break;
						case 'Previous':
							mode = 'view';
							if (!$('.listFlex tr.trSelected').length) return true;
							var idx = $('.listFlex tr').index($('.listFlex tr.trSelected'));
							$('.listFlex tbody tr:eq('+idx+')').each(function(){
									$(this).removeClass('trSelected');	
									idx = idx - 1;
							});
							
							$('.listFlex tbody tr:eq('+idx+')').each(function(){
									nid = this.id.substr(3);
									$(this).addClass('trSelected');	
							});		
							viewdb(nid);
							
							if (idx==0) 
							{
								$('.toolbar a[title=First] span').addClass('disabled');
								$('.toolbar a[title=Previous] span').addClass('disabled');
							}
							$('.toolbar a[title=Next] span').removeClass('disabled');
							$('.toolbar a[title=Last] span').removeClass('disabled');
							break;
						case 'Next':
							mode = 'view';
							if (!$('.listFlex tr.trSelected').length) return true;
							var idx = $('.listFlex tr').index($('.listFlex tr.trSelected'));
							$('.listFlex tbody tr:eq('+idx+')').each(function(){
									$(this).removeClass('trSelected');	
									idx = idx + 1;
							});
							
							$('.listFlex tbody tr:eq('+idx+')').each(function(){
									nid = this.id.substr(3);
									$(this).addClass('trSelected');	
							});		
							viewdb(nid);
							
							$('.toolbar a[title=First] span').removeClass('disabled');
							$('.toolbar a[title=Previous] span').removeClass('disabled');
							if (idx == ($('.listFlex tr').length - 1)) 
							{
								$('.toolbar a[title=Next] span').addClass('disabled');
								$('.toolbar a[title=Last] span').addClass('disabled');
							}
							break;
						case 'Last':
							mode = 'view';
							if (!$('.listFlex tr.trSelected').length) return true;
							var idx = $('.listFlex tr').index($('.listFlex tr.trSelected'));
							$('.listFlex tbody tr:eq('+idx+')').each(function(){
									$(this).removeClass('trSelected');	
							});
							idx = $('.listFlex tr').length - 1;
							$('.listFlex tbody tr:eq('+idx+')').each(function(){
									nid = this.id.substr(3);
									$(this).addClass('trSelected');	
							});		
							viewdb(nid);
							
							$('.toolbar a[title=First] span').removeClass('disabled');
							$('.toolbar a[title=Previous] span').removeClass('disabled');
							$('.toolbar a[title=Next] span').addClass('disabled');	
							$('.toolbar a[title=Last] span').addClass('disabled');							
							break;
						
					}
					setMode(mode);
				
				this.blur();
				return false;
			}
	);		
//}

function setMode(mode)
{	
	switch (mode)
	{
		case 'response':

			$('.toolbar a[title=Save] span').addClass('disabled');
			$('.toolbar a[title=Undo] span').addClass('disabled');			
				
			$('.toolbar a[title=Edit Item] span').addClass('disabled');						
			$('.toolbar a[title=Delete Item] span').addClass('disabled');
			
			$('.toolbar a[title=New Item] span').addClass('disabled');
			$('.toolbar a[title=Find] span').addClass('disabled');
			$('.toolbar a[title=List] span').removeClass('disabled');
			
			$('.toolbar a[title=First] span').addClass('disabled');
			$('.toolbar a[title=Previous] span').addClass('disabled');
			$('.toolbar a[title=Next] span').addClass('disabled');	
			$('.toolbar a[title=Last] span').addClass('disabled');
			
			$('.toolbar a[title=Cancel] span').addClass('disabled');
			$('.toolbar a[title=Approve] span').addClass('disabled');
			$('.toolbar a[title=Disapprove] span').addClass('disabled');
			$('.toolbar a[title=Serve] span').addClass('disabled');
			
			break;
		case 'view':
			$('.tDiv').slideUp();
			$('.tEdit').hide();
			$('.tView').show();
					
			$('.toolbar a[title=Save] span').addClass('disabled');						
			$('.toolbar a[title=Undo] span').addClass('disabled');
			
			$('.toolbar a[title=New Item] span').removeClass('disabled');
			$('.toolbar a[title=Find] span').addClass('disabled');
			$('.toolbar a[title=List] span').removeClass('disabled');
			
			
			pCheckHide();
						
			break;
		case 'edit':
			$('.tDiv').slideDown();
			$('.tEdit').show();
			$('.tView').hide();
			
			$('.toolbar a[title=Save] span').removeClass('disabled');
			$('.toolbar a[title=Undo] span').removeClass('disabled');			
				
			$('.toolbar a[title=Edit Item] span').addClass('disabled');						
			$('.toolbar a[title=Delete Item] span').addClass('disabled');
			
			$('.toolbar a[title=New Item] span').addClass('disabled');
			$('.toolbar a[title=Find] span').addClass('disabled');
			$('.toolbar a[title=List] span').addClass('disabled');
			
			$('.toolbar a[title=First] span').addClass('disabled');
			$('.toolbar a[title=Previous] span').addClass('disabled');
			$('.toolbar a[title=Next] span').addClass('disabled');	
			$('.toolbar a[title=Last] span').addClass('disabled');
			
			$('.toolbar a[title=Cancel] span').addClass('disabled');
			$('.toolbar a[title=Approve] span').addClass('disabled');
			$('.toolbar a[title=Disapprove] span').addClass('disabled');
			$('.toolbar a[title=Serve] span').addClass('disabled');
			
			//$('.form input.ptb').trigger('focus');
						
			pCheckShow();
			
			break;
		case 'default':
			$('.toolbar a[title=Save] span').addClass('disabled');						
			$('.toolbar a[title=Undo] span').addClass('disabled');		
			
			$('.toolbar a[title=Edit Item] span').addClass('disabled');
			$('.toolbar a[title=Delete Item] span').addClass('disabled');
			
			$('.toolbar a[title=New Item] span').removeClass('disabled');
			$('.toolbar a[title=Find] span').removeClass('disabled');			
			$('.toolbar a[title=List] span').removeClass('disabled');
			
			$('.toolbar a[title=First] span').addClass('disabled');
			$('.toolbar a[title=Previous] span').addClass('disabled');
			$('.toolbar a[title=Next] span').addClass('disabled');	
			$('.toolbar a[title=Last] span').addClass('disabled');
			
			$('.toolbar a[title=Cancel] span').addClass('disabled');
			$('.toolbar a[title=Approve] span').addClass('disabled');
			$('.toolbar a[title=Disapprove] span').addClass('disabled');
			$('.toolbar a[title=Serve] span').addClass('disabled');
			break;
	}
}


function setStatus()
{		
	
	//set navigation toolbar
	if (!$('.listFlex tr.trSelected').length) 
	{
		$('.toolbar a[title=First] span').addClass('disabled');
		$('.toolbar a[title=Previous] span').addClass('disabled');
		$('.toolbar a[title=Next] span').addClass('disabled');
		$('.toolbar a[title=Last] span').addClass('disabled');
	}
	else 
	{
		var idx = $('.listFlex tr').index($('.listFlex tr.trSelected'));
									
		if (idx==0) 
		{
			$('.toolbar a[title=First] span').addClass('disabled');
			$('.toolbar a[title=Previous] span').addClass('disabled');
		}
		else 
		{
			$('.toolbar a[title=First] span').removeClass('disabled');
			$('.toolbar a[title=Previous] span').removeClass('disabled');
		}
		
		if (idx == ($('.listFlex tr').length - 1)) 
		{
			$('.toolbar a[title=Next] span').addClass('disabled');
			$('.toolbar a[title=Last] span').addClass('disabled');
		}
		else
		{
			$('.toolbar a[title=Next] span').removeClass('disabled');
			$('.toolbar a[title=Last] span').removeClass('disabled');
		}
	}
	
	//set cancel,approve and disapprove toolbar

	

	if ($('input[name=status]').val() == 1)
	{
		$('.toolbar a[title=Edit Item] span').addClass('disabled');
		$('.toolbar a[title=Delete Item] span').addClass('disabled');
		
		$('.toolbar a[title=Cancel] span').addClass('disabled');
		$('.toolbar a[title=Approve] span').addClass('disabled');
		$('.toolbar a[title=Disapprove] span').removeClass('disabled');
		$('.toolbar a[title=Serve] span').removeClass('disabled');

		
		
	}
	else if ($('input[name=status]').val() == 2)
	{
		$('.toolbar a[title=Edit Item] span').addClass('disabled');
		$('.toolbar a[title=Delete Item] span').addClass('disabled');
		
		$('.toolbar a[title=Cancel] span').addClass('disabled');
		$('.toolbar a[title=Approve] span').addClass('disabled');
		$('.toolbar a[title=Disapprove] span').addClass('disabled');	
		$('.toolbar a[title=Serve] span').addClass('disabled');	
		
		
		
		
		
	}
	else
	{
		$('.toolbar a[title=Edit Item] span').removeClass('disabled');
		$('.toolbar a[title=Delete Item] span').removeClass('disabled');
		
		$('.toolbar a[title=Cancel] span').removeClass('disabled');		
		$('.toolbar a[title=Disapprove] span').addClass('disabled');
		$('.toolbar a[title=Serve] span').addClass('disabled');
		if (mod=='ar_adjustments' || mod=='ar_salesorder' || mod=='ccm_voucher' || mod=='ap_po' || mod=='ar_salesinvoice') 
		{
			$('.toolbar a[title=Approve] span').removeClass('disabled');
		}
	}
	
	
	
	
	if ($('input[name=is_served]').val() == 1) $('.toolbar a[title=Serve] span').addClass('disabled');

	if (mod.substring(0,5)=='main_')
	{
		$('.toolbar a[title=Approve] span').addClass('disabled');
		$('.toolbar a[title=Cancel] span').addClass('disabled');
	}
	
	
	
	
	
	switch(mod)
	{
		case 'ar_salesinvoice':	
			if ($('input[name=type_id]').val() == 35 ) setSpecialStatus(1);
		break;
		
		case 'mi_dr':
			if ($('input[name=type_id]').val() == 108 ) setSpecialStatus(1);
		break;
		
		case 'ar_adjustments':
			if ($('select[name=type_id]').val() == 118 ) setSpecialStatus(1);
		break;
		
		
	}
	setAccessLevel();
	
	
}

function setSpecialStatus(mtype)
{
	if (mtype==1)
	{
		$('.toolbar a[title=Edit Item] span').addClass('disabled');						
		$('.toolbar a[title=Delete Item] span').addClass('disabled');
		$('.toolbar a[title=Cancel] span').addClass('disabled');
		$('.toolbar a[title=Approve] span').addClass('disabled');
		$('.toolbar a[title=Disapprove] span').addClass('disabled');
		$('.toolbar a[title=Serve] span').addClass('disabled');	
	}
}

function setAccessLevel()
{
	var user_access = $('#user_access_level').html();
	
	if (user_access) 
	{
		if (user_access.substr(2,1)!=1) $('.toolbar a[title=New Item] span').addClass('disabled');
		if (user_access.substr(3,1)!=1) $('.toolbar a[title=Edit Item] span').addClass('disabled');	
		if (user_access.substr(4,1)!=1) $('.toolbar a[title=Delete Item] span').addClass('disabled');
		if (user_access.substr(5,1)!=1) $('.toolbar a[title=Cancel] span').addClass('disabled');
		if (user_access.substr(6,1)!=1) $('.toolbar a[title=Print] span').addClass('disabled');
		if (user_access.substr(7,1)!=1) $('.toolbar a[title=Approve] span').addClass('disabled');
		if (user_access.substr(8,1)!=1) $('.toolbar a[title=Disapprove] span').addClass('disabled');
		if (user_access.substr(9,1)!=1) $('.toolbar a[title=Serve] span').addClass('disabled');
		if (user_access.substr(10,1)!=1) $('.toolbar a[title=Accounts Affected] span').addClass('disabled');
		if (user_access.substr(11,1)!=1) $('.toolbar a[title=Reference] span').addClass('disabled');	
	}
}

function validateModule(module,frm)
{
		switch(module)
		{
			case 'ccm_receipt':				
				if (!getTotal())
				{
					alert($.i18n._(message_lang,'alert_unbalance_transaction'));
					return false;
				}			
				break;
			
			case 'ar_salesinvoice':				
				
				if (!getTotal())
				{
					alert($.i18n._(message_lang,'alert_no_warehouse'));
					return false;
				}						
				break;
			
			case 'ar_adjustments':				
				
				if (!getTotal())
				{
					alert($.i18n._(message_lang,'alert_unbalance_transaction'));
					return false;
				}						
				break;
			
			case 'ap_adjustments':				
				
				if (!getTotal())
				{
					alert($.i18n._(message_lang,'alert_unbalance_transaction'));
					return false;
				}						
				break;
			case 'ccm_voucher':				
				
				//voucher_type [129-trade,130-non-trade]
				if ($('select[name=type]',frm).val()==130)
				{
					if (df[2].rows.length==0)
					{
						alert($.i18n._(message_lang,'alert_no_details_transaction'));
						return false;
					}
				}
				else
				{
					if (df[1].rows.length==0)
					{
						alert($.i18n._(message_lang,'alert_no_details_transaction'));
						return false;
					}
					
				}
							
					
							
				if (!getTotal())
				{
					alert($.i18n._(message_lang,'alert_unbalance_transaction'));
					return false;
				}						
				break;
			case 'ccm_ackreceipt':				
				
				if (!getTotal())
				{
					alert($.i18n._(message_lang,'alert_unbalance_transaction'));
					return false;
				}						
				break;
			case 'gl_journal':				
				
				if (!getTotal())
				{
					alert($.i18n._(message_lang,'alert_unbalance_transaction'));
					return false;
				}						
				break;
		}
		
		return true;
}

var pkcaller = false;
var pkname = false;

$('button.pklist, a.pklist')
.each
(
	function ()
		{
			var n = $('button.pklist, , a.pklist').index(this);
			//this.innerHTML += ' ' + n;
			this.idx = n;
		}
)
.click
(
		function ()
			{
			
				var nvalue = $(this).attr('rel');
				var vals = nvalue.split('&');
				var dg = {};
				var el = false;
				var n = this.idx; //$('button.pklist').index(this);
				var func = false;

				if (!$('#pklist' + n).length)
				{						
					   if ($(this).hasClass('disabled')) return false;
					   
						for (i = 0; i < vals.length; i ++)
							{
								val = vals[i].split('=');
								if (val.length<2) continue;
								switch (val[0])
									{
									case 'func':
											el.func = val[1];
											break;
									case 'type':  
											el = document.createElement(val[1]);
											el.id = 'pklist' + n;
											if (val[1]=='iframe')
												{
												el.frameBorder = "0";
												}
											break;
									case 'src':
											el.src = val[1];
											break;
									case 'width': dg.width = +val[1]; el.style.width = val[1] + 'px'; break;
									case 'height': dg.height = +val[1]; el.style.height = val[1] + 'px';  break;
									}
							}
									
						$('body').append(el);
						dg.title = this.title;
						dg.autoOpen = false;
						dg.modal = true;
						dg.overlay = { 
							opacity: 0.4, 
							background: "#000" 
						}; 								
						dg.resizable = false;
						$('#pklist' + n).dialog(dg);
						
				} else {
					el = $('#pklist' + n).get(0);
				}
				
				pkcaller = self[el.func];
				pkname = '#pklist' + n;
				
				$('#pklist' + n).dialog('open');
				
				
			}
);
		

function findValue(li) {
	if( li == null ) return alert("No match!");

	// if coming from an AJAX call, let's use the CityId as the value
	if( !!li.extra ) var sValue = li.extra[1];

	// otherwise, let's just display the value in the text box
	else var sValue = li.selectValue;

}

function selectItem(li) {
	findValue(li);
}

function formatItem(row) {
	return row[1] + "<br/>" + row[2]+ "<br/>";
}


$("input[name=qcustomer]").autocomplete
(root+"main_customer/autocomplete", 
{
delay:10,
minChars:2,
matchSubset:1,
matchContains:1,
cacheLength:10,
onItemSelect:selectItem,
onFindValue:findValue,
formatItem:formatItem,
autoFill:true
});

$("input[name=qsalesman]").autocomplete
(root+"main_employee/autocomplete", 
{
delay:10,
minChars:2,
matchSubset:1,
matchContains:1,
cacheLength:10,
onItemSelect:selectItem,
onFindValue:findValue,
formatItem:formatItem,
autoFill:true
});

$("input[name=qsupplier]").autocomplete
(root+"main_supplier/autocomplete", 
{
delay:10,
minChars:2,
matchSubset:1,
matchContains:1,
cacheLength:10,
onItemSelect:selectItem,
onFindValue:findValue,
formatItem:formatItem,
autoFill:true
});


$('.topfields .reset').click
(
 	function ()
		{

			$(".topfields select, .topfields input").each
			(
				function ()
					{
					$.cookie(mod+this.name,null);
					}
			);
			$('#sform').trigger('reset');
			$("select[title=Search Type]").trigger('change');
			$('.toolbar a[title=Find]').trigger('click');
			$(".topsearchadd").empty();
		}
		
		
);

$('.content a.uppane').click
(
 	function()
		{
			$('.headpane').slideToggle('slow');
			$(this).toggleClass('downpane');
		}
);
	
//Cookies
$(".topfields select, .topfields input").change
(
	function ()
		{
		$.cookie(mod+this.name,this.value);
		}
);

$(".topfields select, .topfields input").each
(
	function ()
		{
		
		var nv = $.cookie(mod+this.name);
		if (nv)
			this.value =nv;
		}
);


//topfields search

function search_add()
{
	$(".topsearchadd").append($(".topsearch").html() + "<button type='button' class='button sremove' title='Remove' onclick=\"search_remove(this)\"><span class='bt1'><span class='bt2'><b class='search_remove'></b></span></span></button>");
}

function search_remove(th)
{
	$(th).prev().remove();
	$(th).remove();
}

function search_change(th)
{
	var str = $(th).val();
	if (str.match("date")=="date")
	{
		$(th).siblings().each(
			function()
			{
				if ($(this).attr('title')=='Search Key') $(this).addClass('indate');
				if ($(this).attr('class')=='button') $(this).show();
			});
	}
	else
	{
		$(th).siblings().each(
			function()
			{
				if ($(this).attr('title')=='Search Key') $(this).removeClass('indate');
				if ($(this).attr('class')=='button') $(this).hide();
			});
	}	
	getIndate();	
}

$('select[title=Search Type]').keyup(function(){$(this).trigger('change');});

$('.tab_pane a, .subside .togsub a, .tabdroplist a').click(function(){ if (mode=='edit') if (!confirm($.i18n._(message_lang,'confirm_reload_page'))) return false; else return true;});

$('.form input.ptb').blur
(
	function()
	{
		if ($(this).val()=="")
		{
			
			alert($.i18n._(message_lang,'alert_empty_primary'));
			//alert($(this).name);
			$(this).focus();
			
			return false;
		}
	}
);

$(document).ready(
	function(){
	//load search fields
	var options = '';
	$('#List .flexigrid table thead tr th').children().each
	(
	 	function()
		{			
			options += '<option value="' + $(this).parent().attr('abbr') + '">' + $(this).html()  + '</option>';
		}
	);

	$("select[title=Search Type]").html(options).trigger('change');	
	
	setAccessLevel();
});



