var bbb_form_pi_control_doing = 0;

function bbb_form_parent_insert( table, field ) {
	bbb_form_pi_control_doing = 1;
	v_action_url = jQuery( '#bbb_form_' + table + '_actioner' ).val();
	v_ash = jQuery( '#bbb_form_' + table + '_' + field + '_ash' ).val();
	v_label = jQuery( '#bbb_form_' + table + '_' + field + '_label' ).val();
	v_parentname = jQuery( '#bbb_form_' + table + '_' + field + '_parentname' ).val();

	jQuery( '#bbb_form_pi_' + table + '_' + field ).load(	v_action_url,
															{	ash: v_ash,
																label: v_label,
																table: table,
																field: field,
																form_method: 'parent' },
																function () { bbb_form_pi_changeform( table, field ) } );


}

function bbb_form_related_insert( table, related, cur ) {
	bbb_form_pi_control_doing = 1;
	v_action_url = jQuery( '#bbb_form_' + table + '_actioner' ).val();
	parent_cur = jQuery( '#bbb_form_' + table + '_current' ).val();
	v_ash = jQuery( '#bbb_form_' + table + '_' + related + '_ash' ).val();
// 	v_label = jQuery( '#bbb_form_' + table + '_' + field + '_label' ).val();
// 	v_parentname = jQuery( '#bbb_form_' + table + '_' + field + '_parentname' ).val();

	jQuery( '#bbb_relateds_' + table + '_' + related ).load(	v_action_url,
															{	ash: v_ash,
// 																label: v_label,
																table: table,
																related: related,
																parent_cur: parent_cur,
																cur: cur,
																form_method: 'related' },
																function () { bbb_form_pi_changeform( table, related ) } );


}

function bbb_form_related_delete( table, related, cur ) {
	bbb_form_pi_control_doing = 1;
	if ( confirm('Confirm deletion?') ) {
		v_action_url = jQuery( '#bbb_form_' + table + '_actioner' ).val();
		v_ash = jQuery( '#bbb_form_' + table + '_' + related + '_ash' ).val();
	
		jQuery( '#bbb_relateds_' + table + '_' + related ).load(	v_action_url,
																{	ash: v_ash,
																	table: table,
																	related: related,
																	cur: cur,
																	form_method: 'deleterelated' },
																	function () { bbb_form_pi_changeform( table, related ) } );

	}
}

function bbb_form_pi_changeform( table, field ) {
	if ( bbb_form_pi_control_doing == 1 ) {
		bbb_form_pi_control_doing = 0;
// 		jQuery( '#bbb_form_' + table ).submit( function() { return false; } );
		jQuery( '#bbb_form_' + table + '_submit' ).hide();
		jQuery( 'a.bbb_pi_add').hide();
		jQuery( '#bbb_form_pi_' + table + '_' + field + ' form' ).submit( function() { return false; } );
		datePickerController.create();
		jQuery( '#bbb_form_pirow_' + table + '_' + field ).show();
	} else {
		jQuery( '#bbb_form_' + table + '_submit' ).show();
		jQuery( 'a.bbb_pi_add').show();
		jQuery( '#bbb_form_pi_' + table + '_' + field + ' form' ).submit( function() { return true; } );
		datePickerController.destroy();
		jQuery( '#bbb_form_pirow_' + table + '_' + field ).hide();		
	}
}

function bbb_form_parent_submit( table, field ) {
	bbb_form_pi_control_doing = 1;
	pars = jQuery( '#bbb_form_pi_' + table + '_' + field + ' form' ).serialize();

	v_action_url = jQuery( '#bbb_form_' + table + '_actioner' ).val();
	v_ash = jQuery( '#bbb_form_' + table + '_' + field + '_ash' ).val();
	v_label = jQuery( '#bbb_form_' + table + '_' + field + '_label' ).val();
	v_parentname = jQuery( '#bbb_form_' + table + '_' + field + '_parentname' ).val();
	
	jQuery( '#bbb_form_pi_' + table + '_' + field ).load(	v_action_url,
															{	ash: v_ash,
																label: v_label,
																table: table,
																field: field,
																pars: pars,
																parent_cur: parent_cur,
																form_method: 'parent' },
																function () { 
																	bbb_form_pi_control_doing = 0;
																	bbb_form_pi_changeform( table, field ) 
																} );

}


function bbb_form_related_submit( table, related ) {
	bbb_form_pi_control_doing = 1;
	pars = jQuery( 'form#bbb_form_' +  related ).serialize();

	v_action_url = jQuery( '#bbb_form_' + table + '_actioner' ).val();
	v_ash = jQuery( '#bbb_form_' + table + '_' + related + '_ash' ).val();
	cur = jQuery( '#bbb_form_' + related + '_current' ).val();
// 	v_label = jQuery( '#bbb_form_' + table + '_' + field + '_label' ).val();
// 	v_parentname = jQuery( '#bbb_form_' + table + '_' + field + '_parentname' ).val();
	parent_cur = jQuery( '#bbb_form_' + table + '_current' ).val();

	jQuery( '#bbb_relateds_' + table + '_' + related ).load(	v_action_url,
															{	ash: v_ash,
// 																label: v_label,
																table: table,
																related: related,
																pars: pars,
																cur: cur,
																parent_cur: parent_cur,
																form_method: 'related' },
																function () { 
																	bbb_form_pi_control_doing = 0;
																	bbb_form_pi_changeform( table, related ) 
																} );

}


function bbb_form_parent_update( table, field, key, val ) {
	bbb_form_pi_control_doing = 0;
	base = jQuery( '#bbb_form_' + table + '_base' ).val();
	jQuery( '#' + base + '_' + field).append("<option value='" + key + "'>" + val + "</option>");
	jQuery( '#' + base + '_' + field).val( key );

	bbb_form_parent_close( table, field )
}


function bbb_form_parent_close( table, field ) {
	bbb_form_pi_control_doing = 0;

// 	jQuery( '#bbb_form_' + table ).submit( function() { return true; } );
	jQuery( '#bbb_form_' + table + '_submit' ).show();
	jQuery( 'a.bbb_pi_add').show();
// alert('#bbb_form_pirow_' + table + '_' + field);

	jQuery( '#bbb_form_pirow_' + table + '_' + field ).slideUp('fast');
	jQuery( '#bbb_form_pi_' + table + '_' + field ).empty();

}
