/**
* affiliates-field-choice.js
*
* Copyright (c) 2010 - 2015 "kento" Karim Rahimpur www.itthinx.com
*
* This code is released under the GNU General Public License.
* See COPYRIGHT.txt and LICENSE.txt.
*
* This code is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* This header and all notices must be kept intact.
*
* @author Karim Rahimpur
* @package affiliates
* @since affiliates 2.8.0
*/
jQuery( document ).ready( function() {
var aff_reg_field_count = jQuery( '#registration-fields > table > tbody tr' ).length;
jQuery( "#registration-fields" ).on( 'click', 'button.field-add', function( event ) {
event.stopPropagation();
var i = aff_reg_field_count++,
row =
'
' +
'
' +
'' +
'
' +
'
' +
'' +
'
' +
'
' +
'' +
'
' +
'
' +
'' +
'
' +
'
' +
'' +
'' +
'
' +
'
';
jQuery( '#registration-fields > table > tbody' ).append( row );
});
jQuery( "#registration-fields" ).on( 'click', 'button.field-remove', function( event ) {
event.stopPropagation();
jQuery( event.target ).parent().parent().remove();
});
jQuery( "#registration-fields" ).on( 'click', 'button.field-up,button.field-down', function( event ) {
event.stopPropagation();
var row = jQuery( this ).parents( "tr:first" );
if ( jQuery( this ).is( ".field-up" ) ) {
var prev = row.prev();
row.insertBefore( prev );
row.find( 'input' ).each( function() {
var name = jQuery( this ).attr( 'name' );
var newName = name.replace( /\d+/, function( match, offset, string ) {
return parseInt( match ) - 1;
});
jQuery( this ).attr( 'name', newName );
} );
prev.find( 'input' ).each( function() {
var name = jQuery( this ).attr( 'name' );
var newName = name.replace( /\d+/, function( match, offset, string ) {
return parseInt( match ) + 1;
});
jQuery( this ).attr( 'name', newName );
} );
} else {
var next = row.next();
row.insertAfter( next );
row.find( 'input' ).each( function() {
var name = jQuery( this ).attr( 'name' );
var newName = name.replace( /\d+/, function( match, offset, string ) {
return parseInt( match ) + 1;
});
jQuery( this ).attr( 'name', newName );
} );
next.find( 'input' ).each( function() {
var name = jQuery( this ).attr( 'name' );
var newName = name.replace(/\d+/, function( match, offset, string ) {
return parseInt( match ) - 1;
} );
jQuery( this ).attr( 'name', newName );
} );
}
} );
} );