// source --> https://atifonline.org/wp-content/plugins/presspoint/assets/j/paupress.js?ver=3.9.9.983 
jQuery.noConflict();

function tabby(form) {
	jQuery('#'+form).find('.final_submission').hide();
	jQuery('#'+form).find('.pp-draft-submit').hide();
	jQuery('#'+form).find('.pp-section-content:first').show();
	jQuery('#'+form).find('.pp-section-content:first .pp-section-prev').hide();
	jQuery('#'+form).find('.pp-section-content:last .pp-section-next').hide();
	jQuery('#'+form).find('.pp-section-label:first').addClass('on');
	/*
	jQuery('#'+form).find('.pp-iframe-file').each(function(){
		var hgt = jQuery(this).data('height');
		jQuery(this).css('height',hgt);
	});
	*/
	jQuery('#'+form).on('click','.pp-section-link',tabby_change);
	jQuery('#'+form).on('click','.pp-section-next',tabby_change);
	jQuery('#'+form).on('click','.pp-section-prev',tabby_change);
}
function tabby_change() {
	var form = jQuery(this).closest('form').attr('id');
	if ( jQuery(this).hasClass('pp-section-next') ) {
		var tarloc = jQuery(this).data('gettar');
		var target = jQuery('#'+form+' .pp-section-label[data-target="'+tarloc+'"]').next('.pp-section-label').data('target');
	} else if ( jQuery(this).hasClass('pp-section-prev') ) {
		var tarloc = jQuery(this).data('gettar');
		var target = jQuery('#'+form+' .pp-section-label[data-target="'+tarloc+'"]').prev('.pp-section-label').data('target');
	} else {
		var target = jQuery(this).data('target');
	}
	jQuery(this).closest('#'+form).find('.pp-section-content:visible').fadeOut('slow');
	//setTimeout( function() { 
		jQuery(this).closest('#'+form).find('.pp-section-content').hide();
		jQuery(this).closest('#'+form).find('.pp-section-label').removeClass('on');
		jQuery(this).closest('#'+form).find('.'+target).fadeIn('slow');
		if ( jQuery(this).closest('#'+form).find('.pp-section-content:last').is(':visible') ) {
			jQuery(this).closest('#'+form).find('.final_submission').show();
			jQuery(this).closest('#'+form).find('.pp-draft-submit').show();
		} else {
			jQuery(this).closest('#'+form).find('.final_submission').hide();
			jQuery(this).closest('#'+form).find('.pp-draft-submit').hide();
		}
		jQuery(this).closest('#'+form).find('.'+target+' .chosen-container').css('width','100%');
		jQuery('#'+form+' .pp-section-label[data-target="'+target+'"]').addClass('on');
		jQuery('html, body').animate({ scrollTop: jQuery('#'+form).closest('.pauf-wrap').offset().top - 100 }, 'fast');
	//}, 800 );
	
	paupress_bind_events();
}

// GENERAL TOGGLES
function ugt_toggle() {
	jQuery(this).toggleClass('on');
}

// USER META TOGGLES
function umt_toggle() {
	var umts = jQuery(this).attr('title');
	if ( jQuery('#'+umts).val() == 1 ) {
		jQuery('#'+umts).val('0');
	} else {
		jQuery('#'+umts).val('1');
	}
	jQuery(this).toggleClass('on');
}

// USER PROFILE TOGGLES
function upt_toggle(){
	if ( jQuery(this).hasClass('pp-disable') ) return false;
	var upts = jQuery(this).children('input');
	if ( jQuery(upts).val() == 'true' ) {
		jQuery(upts).val('false');
	} else {
		jQuery(upts).val('true');
	}
	jQuery(this).toggleClass('on');
}

// USER PRIVACY TOGGLES
function pmt_toggle(){
	if ( jQuery(this).hasClass('pp-disable') ) return false;
	var pmts = jQuery(this).children('input');
	if ( jQuery(pmts).val() == 'true' ) {
		jQuery(pmts).val('false');
	} else {
		jQuery(pmts).val('true');
	}
	if ( jQuery(this).hasClass('dashicons-hidden') ) {
		jQuery(this).removeClass('dashicons-hidden');
		jQuery(this).addClass('dashicons-visibility');
	} else if ( jQuery(this).hasClass('dashicons-visibility') ){
		jQuery(this).removeClass('dashicons-visibility');
		jQuery(this).addClass('dashicons-hidden');
	}
}
function pmtc_toggle(){
	if ( jQuery(this).hasClass('pp-disable') ) return false;
	var pmts = jQuery(this).children('input');
	if ( jQuery(pmts).val() == 'true' ) {
		jQuery(pmts).val('false');
	} else {
		jQuery(pmts).val('true');
	}
}

function pp_block_toggle() {
	jQuery(this).closest('.pp-block').find('.pp-block-toggle-content').slideToggle();
	if ( jQuery(this).hasClass('dashicons-arrow-down') ) {
		jQuery(this).removeClass('dashicons-arrow-down');
		jQuery(this).addClass('dashicons-arrow-up');
	} else if ( jQuery(this).hasClass('dashicons-arrow-up') ) {
		jQuery(this).removeClass('dashicons-arrow-up');
		jQuery(this).addClass('dashicons-arrow-down');
	}
}

// USER WP-SPECIAL-CIRCUMSTANCES TOOGLES
function uwpt_toggle(){
	var uwpts = jQuery(this).attr('title');
	if ( jQuery(this).hasClass('on') ) {
		jQuery('#'+uwpts).removeAttr('name');
		jQuery(this).removeClass('on');
	} else {
		jQuery('#'+uwpts).attr('name', uwpts);
		jQuery(this).addClass('on');
	}
	//jQuery(this).toggleClass('on');
}

// POST TOGGLES AJAX
function pta_toggle(){
	var pta = jQuery(this);
	var dta = jQuery(this).attr('title');
	jQuery(pta).addClass('working');
	jQuery.post( 
		paupressAjax.ajaxurl, { 
		action : 'pp_update_recurring', 
		post : jQuery(this).data('post'), 
		data : dta, 
		paupress_nonce : paupressAjax.paupress_nonce
		},
	    function( response ) {
			if ( response.length != 0 ) {
				jQuery(pta).toggleClass('on');
				if ( dta == 'true' ) {
					jQuery(pta).removeClass('on');
					jQuery(pta).attr('title','false');
				} else {
					jQuery(pta).addClass('on');
					jQuery(pta).attr('title','true');
				}
			}
			jQuery(pta).removeClass('working');
			jQuery('.recur-detail-action-flag').toggle();
		}
	);
	
}

function toggle_inputs() {
	jQuery('.default').each(function(){
		
		var defaultVal = jQuery(this).attr('title');
		
		jQuery(this).focus(function(){
			if (jQuery(this).val() == defaultVal){
				jQuery(this).removeClass('active').val('');
	      	}
	    })
	    
	    .blur(function(){
	      if (jQuery(this).val() == ''){
	        jQuery(this).addClass('active').val(defaultVal);
	      }
	    })
	    
	    .blur().addClass('active');
	    
	});
}
	
function clear_toggle_inputs() {
	jQuery('form').submit(function(){
	  	jQuery('.default').each(function(){
	  		var defaultVal = jQuery(this).attr('title');
	  		if (jQuery(this).val() == defaultVal){
	  			jQuery(this).val('');
	      	}
		});
	});
}

// CLONE MULTITEXT
function multi_clone() {
	
	// THE ABSOLUTE PARENT ELEMENT
	var pid = jQuery(this).closest('ul');
	// THE ABSOLUTE PARENT ELEMENT ID
	var apid = jQuery(this).closest('ul').data('id');
	// GET... THE ARRAY KEY
	var akid = jQuery(this).parent('li.multilist').attr('title');
	// THE ARRAY KEY +1 
	var akplusid = parseInt(akid)+1;
	
	// PASS THE IMMEDIATE PARENT ID TO THE NEXT PARENT AND PASS THE NEXT KEY TO THE CHILD
	//jQuery(this).parent('#'+pid+' li.multilist').clone().attr('id',pid+'-'+akplusid).attr('title',akplusid).appendTo('#'+pid);
	var temp = jQuery(this).parent('li.multilist').clone();
	jQuery(temp).attr('title',akplusid).appendTo(pid);
	jQuery('[name]',temp).each(function(i) {
		var f = jQuery(this).attr('name'); 
		if ( jQuery(this).hasClass('paupress-date') ) {
			jQuery(this).attr('id','').removeClass('hasDatepicker').removeData('datepicker').unbind().datepicker({ dateFormat: 'yy-mm-dd', changeMonth: true, changeYear: true, yearRange: 'c-'+paupressAjax.yearLow+':c+'+paupressAjax.yearHigh, firstDay: paupressAjax.firstDay });
		}
		var newf = f.replace('['+apid+']['+akid+']','['+apid+']['+akplusid+']');
		jQuery(this).attr('name',newf);
		jQuery(this).val('');
	});
	//jQuery('#'+pid+'-'+akplusid+' a').attr('title',akplusid);
	//jQuery('#'+pid+'-'+akplusid+' a.add').attr('id',pid+'-'+akplusid+'-add');
	//jQuery('#'+pid+'-'+akplusid+' a.sub').attr('id',pid+'-'+akplusid+'-sub');
	//jQuery('#'+pid+'-'+akplusid+' select').attr('id',pid+'-'+akplusid+'-select');
	/*
	jQuery('#'+pid+'-'+akplusid+' input[type="text"]').each(function(i) {
		var f = jQuery(this).attr('name'); 
		var newf = f.replace('['+akid+']','['+akplusid+']');
		jQuery(this).attr('name',newf);
		jQuery(this).val('');
		jQuery(this).siblings('select').val('');
	});
	jQuery('#'+pid+'-'+akplusid+' select').each(function(i) {
		var f = jQuery(this).attr('name'); 
		var newf = f.replace('['+akid+']','['+akplusid+']');
		jQuery(this).attr('name',newf);
	});
	jQuery('#'+pid+'-'+akplusid+' textarea').each(function(i) {
		var f = jQuery(this).attr('name'); 
		var newf = f.replace('['+akid+']','['+akplusid+']');
		jQuery(this).attr('name',newf);
	});
	*/
	//jQuery('#'+pid+'-'+akplusid+' select').attr('name','paupress_user_meta['+pid+']['+akplusid+'][type]');
	//jQuery('#'+pid+'-'+akplusid+' input[type="text"]').attr('name','paupress_user_meta['+pid+']['+akplusid+'][value]');
	//jQuery('#'+pid+'-'+akplusid+' a.sub').show();
	//jQuery('#'+pid+'-'+akplusid+' input[name="autocomp"]').autocomplete('destroy');
	/*
	if ( jQuery('#'+pid+'-'+akplusid+' input[name="autocomp"]').length != 0 ) {
		pp_autocomplete_user('#'+pid+'-'+akplusid+' input[name="autocomp"]');
	}
	
	jQuery('#'+pid+'-'+akplusid).on('click', 'a.add', multi_clone);
	jQuery('#'+pid+'-'+akplusid).on('click', 'a.sub', anti_multi_clone);
	
	// NEUTER THE BUTTON!
	//jQuery(this).unbind('click');
	//jQuery(this).remove();
	*/
	jQuery(temp).on('click', 'a.add', multi_clone);
	jQuery(temp).on('click', 'a.sub', anti_multi_clone);
	jQuery(this).hide();
	
	/* SEARCH AND REPLACE
	var f = jQuery('#temp span'); 
	var nakid = new RegExp('\\['+akid+'\\]', 'gi');
	f.html( f.html().replace(nakid,'['+akplusid+']') );
	*/
	return false;
}
	
// REMOVE MULTITEXT
function anti_multi_clone() {
	// THE ABSOLUTE PARENT ELEMENT ID
	var pid = jQuery(this).closest('ul');
	
	// THE NUMBER OF ELEMENTS
	var cid = jQuery(pid).children().length;
	
	// THE LAST ELEMENT
	var lid = cid - 1;
	
	// THE SECOND TO THE LAST ELEMENT
	var slid = cid - 2;
	
	// CLEAR SOLO VALUE
	if ( jQuery(this).parent('.multilist').is(':first-child') && jQuery(this).parent('.multilist').is(':last-child') ) {
		jQuery(this).parent('.multilist').find(':input').each(function(){
			jQuery(this).val('');
		});
	
	// ADD A PLUS OPTION 
	} else if ( jQuery(this).parent('.multilist').prev().is(':first-child') && jQuery(this).parent('.multilist').is(':last-child') ) {
		jQuery(this).parent('.multilist').prev().find('.add').show();
		jQuery(this).parent('.multilist').remove();
	} else {
		if ( jQuery(this).parent('.multilist').is(':last-child') ) {
			jQuery(this).parent('.multilist').prev().find('.add').show();
		}
		jQuery(this).parent('.multilist').remove();
	}
}

function multi_clone_sort() {
	
	// SORTING FUNCTION FOR MANAGE FIELDS LISTS
	jQuery(function() {
		jQuery('.pp-multi-sort').sortable({
			connectWith: '.pp-multi-sort-connect', 
			handle: '.pau-handle', 
			appendTo: document.body, 
			placeholder: 'pp-ui-highlight', 
			forcePlaceholderSize: true, 
			forceHelperSize: true, 
			update: function(event, ui) { 
				
				// THE ABSOLUTE PARENT ELEMENT
				var pid = jQuery(ui.item).closest('ul');
				
				// THE ABSOLUTE PARENT ELEMENT ID
				var apid = jQuery(ui.item).closest('ul').data('id');
				
				// THE NUMBER OF ELEMENTS
				var cid = jQuery(pid).children().length;
				
				// THE LOOP
				jQuery(pid).children('li').each(function(i) {
					var ot = jQuery(this).attr('title');
					jQuery('[name]',this).each(function(n){
						var f = jQuery(this).attr('name'); 
						var newf = f.replace('['+apid+']['+ot+']','['+apid+']['+i+']');
						jQuery(this).attr('name',newf);
					});
					jQuery(this).attr('title',i);
					jQuery(this).find('.add').hide();
					if ( jQuery(this).is(':last-child') ) {
						jQuery(this).find('.add').show();
					}
				});
				
			}
		});
	});
}

function paupress_action_view() {
	var views = jQuery(this).attr('rel');
	var view = jQuery('#post-'+views).html();
	var fid = jQuery(this).closest('form').attr('id');
	
	jQuery('#'+fid+' .paupress-viewer').empty();
	jQuery('#'+fid+' .paupress-viewer').html(view).fadeIn('fast');
}

function paupress_icon_toggle() {
	var tar = jQuery(this).attr('rel');
	jQuery('.actions-history-list .'+tar).toggle();
}
function paupress_select_toggle() {
	var tar = jQuery(this).val();
	var fid = jQuery(this).closest('form').attr('id');
	jQuery('#'+fid+' .actions-history-list li').each( function() {
		if ( 'all' == tar || jQuery(this).hasClass(tar) ) {
			jQuery(this).show();
		} else if ( !jQuery(this).hasClass(tar) ) {
			jQuery(this).hide();
		}
	});
}

function toggle_placeholder() {
	/*
	$(document).ready(function() {
	    if (! ("placeholder" in document.createElement("input"))) {
	        $('*[placeholder]').each(function() {
	            $this = $(this);
	            var placeholder = $(this).attr('placeholder');
	            if ($(this).val() === '') {
	                $this.val(placeholder);
	            }
	            $this.bind('focus',
	            function() {
	                if ($(this).val() === placeholder) {
	                    this.plchldr = placeholder;
	                    $(this).val('');
	                }
	            });
	            $this.bind('blur',
	            function() {
	                if ($(this).val() === '' && $(this).val() !== this.plchldr) {
	                    $(this).val(this.plchldr);
	                }
	            });
	        });
	        $('form#new_mail').bind('submit',
	        function() {
	            $(this).find('*[placeholder]').each(function() {
	                if ($(this).val() === $(this).attr('placeholder')) {
	                    $(this).val('');
	                }
	            });
	        });
	    }
	});
	*/
}

function paupress_selopt(){
	jQuery('.state-province-field').each(function(){
		var selopt = jQuery(this).closest('ul').find('.country-field').val();
		var mylopt = jQuery(this).attr('id');
		if ( jQuery('#'+mylopt).closest('.meta-item').children('.paupress-label').hasClass('semi-required') ) {
			if ( 'US' == selopt || 'AU' == selopt || 'CA' == selopt ) {
				jQuery('#'+mylopt).closest('.meta-item').children('.paupress-label').addClass('pau-required');
				jQuery('#'+mylopt).closest('.meta-item').find('.asterix-required').show();
			} else {
				jQuery('#'+mylopt).closest('.meta-item').children('.paupress-label').removeClass('pau-required');
				jQuery('#'+mylopt).closest('.meta-item').find('.asterix-required').hide();
			}
		}
	});
}


function paupress_bind_events(element){
	
	if (!element) {
		var element = document;
	}

	// CHOSEN STUFF
	jQuery(element).find('.chzn-select').chosen({width: '99%'});

	// TOOL TIPS
	jQuery(element).find('.help').tipTip({defaultPosition: 'top', edgeOffset: 200});
	jQuery(element).find('.pp-help').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.pp-setting').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.pp-help-tool').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.pp-help-toggle').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.pp-subscription').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.pp-subscription-sms').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.icon-admin').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.icon-public').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.icon-signup').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.delete').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.undo').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.info').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.pp-tip').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.pp-info').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.link-link').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.pp-public-toggle').tipTip({defaultPosition: 'top', attribute: 'rel'});
	jQuery(element).find('.paupay-note').tipTip({defaultPosition: 'top'});
	jQuery(element).find('.paupay-icon').tipTip({defaultPosition: 'top'});
	
	jQuery(element).on('focusin', 'input.paupress-date', function(){
		jQuery(this).datepicker({ dateFormat: 'yy-mm-dd', changeMonth: true, changeYear: true, yearRange: 'c-'+paupressAjax.yearLow+':c+'+paupressAjax.yearHigh, firstDay: paupressAjax.firstDay });	
	});
	
	jQuery(function() {
	    jQuery(element).find('.paupress-sort-list').sortable();
	    jQuery(element).find('.paupress-sort-list').disableSelection();
	});

	
	/*
	// CLONE MULTITEXT
	jQuery(document).on('click', 'a.add', multi_clone);
	
	// REMOVE MULTITEXT
	jQuery(document).on('click', 'a.sub', anti_multi_clone);
	*/
	
}
		




function pp_close_slide() {
	jQuery("#pp-iframe").attr("src","");
	jQuery("#pp-slide-wrap").empty();
	jQuery("#pp-slide").toggleClass("pp-slide-out","500");
}
function pp_close_slide_under() {
	jQuery("#pp-slide-wrap-under").empty();
	if ( jQuery("#pp-slide-under").hasClass("pp-slide-out-under") ) {
		jQuery("#pp-slide-under").toggleClass("pp-slide-out-under","500");
	}
}
function pp_close_slide_bottom() {
	jQuery("#pp-iframe-bottom").empty();
	jQuery("#pp-slide-bottom").toggleClass("pp-slide-up","500");
}

function pp_refresh_history(base,view,user,post) {

	if ( jQuery.type( base ) === 'string' ) {

		// CDATA TO AVOID VALIDATION ERRORS
		//<![CDATA[
		var data = jQuery(base+' :input').serialize();
		// ]]>

		var base = jQuery(base);
		base.html(paupressAjax.ajaxload);
		
	} else {
		var data = null;
	}
	
	jQuery.post( 
		paupressAjax.ajaxurl, { 
			action : 'pp_refresh_history', 
			view : view, 
			user : user, 
			post : post, 
			data : data, 
		},
	    function( response ) {
	    	base.html(response);
				
				var side = jQuery(base).attr('id')+'-side';
				if ( jQuery('#'+side).length ) {
					jQuery('#'+side).html(paupressAjax.ajaxload);
				
					jQuery.post( 
						paupressAjax.ajaxurl, { 
							action : 'pp_refresh_history_side', 
							view : view, 
							user : user, 
							post : post, 
							data : data, 
						},
					    function( sidebar ) {
					    	jQuery('#'+side).html(sidebar);
					    }
					);
				}
				
	    	paupress_bind_events();
	    }
	);

}

function pp_delete_attachment() {
	var base = jQuery(this).closest('li');
	jQuery.post( 
		paupressAjax.ajaxurl, { 
			action : 'pp_delete_attachment', 
			data : jQuery(this).data('id'), 
		},
	    function( response ) {
	    	jQuery(base).fadeOut('slow');
	    	//jQuery.self.parent.pp_close_slide();
	    }
	);
}

function check_profile(event) {
	// DISABLE THE FORM
	//jQuery(this).closest('form').submit( function() { return false; } );
	//event.preventDefault();
	
	// RESET THE ERRORS
	jQuery('*').removeClass('halt');
	jQuery('.pp-error').remove();
		
	// RUN A FRESH CHECK
	jQuery('#paupress .pau-required').siblings().find(':input').each(function(){
	
		if ( jQuery(this).closest('li.meta-item').is(':visible') ) {
		
	    	if ( '' == jQuery(this).val() || '0' == jQuery(this).val() || 'false' == jQuery(this).val()  ) {
	    		// SPECIAL EXEMPTION FOR CHOSEN
	    		if ( jQuery(this).closest('li.meta-item').hasClass('chzn-req') ) {
	    		} else {
	    			jQuery(this).closest('li.meta-item').addClass('halt');
	    		}
	    	}
	    	
	    	// SPECIAL CASE FOR CHOSEN
	    	if ( jQuery(this).hasClass('chzn-select') ) {
	    		
	    		// RESET THE CONTEXT
	    		jQuery(this).closest('li.meta-item').removeClass('halt').addClass('chzn-req');
	    		//mychzn = jQuery(this).attr('id');
	    		//jQuery(this).closest('li.meta-item').addClass(mychzn);
	    		jQuery(this).siblings().find('.chzn-results').each(function(){
	    			if ( jQuery('li',this).hasClass('result-selected') ) {
	    				jQuery(this).closest('li.meta-item').removeClass('halt');
	    				return false;
	    			}
	    			jQuery(this).closest('li.meta-item').addClass('halt');
	    		});
	    		
	    	}
	    	
	    }
		
	});
	
	jQuery('#paupress .pau-required').siblings().find(':checkbox').each(function(){
		if ( jQuery(this).is(':checked') ) {
			jQuery(this).closest('li.meta-item').removeClass('halt');
			return false;
		}
		jQuery(this).closest('li.meta-item').addClass('halt');
	});
	
	if ( jQuery('.halt').length != 0 ) {
		// TAKE ME HOME, SCOTTY!
		if ( !jQuery('#errors').length ) {
			jQuery('#user-form').prepend('<div class="pp-error">'+paupressAjax.errMsg+'</div>');
		}
		jQuery('html, body').animate({ scrollTop: jQuery('#paupress').offset().top }, 'slow');
		  return false;
	} else {
		console.log('trying...');
		return true;
	}
	
	return false;
	
}


// AJAX TEST FOR ERRORS
function pp_errors_two(reference) {
	
	if (!reference) {
		var reference = jQuery(this).closest('.paupress-admin-form').attr('id');
	} else {
		var reference = '#'+reference;
	}

	// RESET THE ERRORS
	jQuery(reference+' *').removeClass('halt');
	jQuery(reference+' .pp-error').remove();
	jQuery(reference+' .errors').remove();
				
	// RUN A FRESH CHECK
	jQuery(reference+' .pau-required').siblings('.paupress-field').each(function(){
			
		// FIND THE INPUTS
		jQuery(this).find(':input').each(function(){
			
			if ( jQuery(this).closest('li.meta-item').is(':visible') ) {
				//alert(jQuery(this).attr('name')+' '+jQuery(this).val());
				if ( jQuery(this).is(':text') ) {
					if ( jQuery(this).hasClass('ui-autocomplete-input') || jQuery(this).hasClass('pp-autocomplete-user') ) {
						if ( jQuery(this).next('.pp-lookup-value').length && !jQuery(this).next('.pp-lookup-value').val() ) {
							jQuery(this).closest('li.meta-item').addClass('halt');
						} else if ( !jQuery(this).next('.pp-lookup-value').length ) {
							if ( '' == jQuery(this).val() || '0' == jQuery(this).val() || 'false' == jQuery(this).val()  ) {
								jQuery(this).closest('li.meta-item').addClass('halt');
							}
						}
					} else if ( '' == jQuery(this).val() || '0' == jQuery(this).val() || 'false' == jQuery(this).val()  ) {
						// SPECIAL EXEMPTION FOR CHOSEN
						if ( jQuery(this).closest('li.meta-item').hasClass('chzn-req') ) {
						} else if ( jQuery(this).hasClass('pau-req-pas') ) {
						} else {
							jQuery(this).closest('li.meta-item').addClass('halt');
						}
					}
				}
				
		    	if ( jQuery(this).is(':radio') ) {
		    		if ( jQuery(this).is(':checked') ) {
		    			jQuery(this).closest('li.meta-item').removeClass('halt');
		    			return false;
		    		} else if ( !jQuery(this).closest('li.meta-item').hasClass('halt') ) {
		    			jQuery(this).closest('li.meta-item').addClass('halt');
		    		}
		    	}
		    		    	
		    	// SPECIAL CASE FOR CHOSEN
		    	if ( jQuery(this).hasClass('chzn-select') ) {
		    	
		    		// RESET THE CONTEXT
		    		jQuery(this).closest('li.meta-item').addClass('chzn-req');
		    		
		    		// EVAL
		    		if ( jQuery(this).val() == '' || jQuery(this).val() == null ) {
		    			jQuery(this).closest('li.meta-item').addClass('halt');
		    		}
		    		
		    		jQuery(this).siblings().find('.chosen-results').each(function(){
		    			jQuery('li',this).each(function(){
		    				if ( !jQuery(this).hasClass('active-result') ) {
		    					jQuery(this).closest('li.meta-item').removeClass('halt');
		    					return false;
		    				}
		    			});
		    		});
		    	}
		    	
		    	if ( jQuery(this).is(':hidden') ) {
		    		if ( '' == jQuery(this).val() || '0' == jQuery(this).val() || 'false' == jQuery(this).val()  ) {
		    			// SPECIAL EXEMPTION FOR CHOSEN
		    			if ( jQuery(this).closest('li.meta-item').hasClass('chzn-req') ) {
		    			} else if ( jQuery(this).hasClass('pp-lookup-value') ) {
			    		} else if ( jQuery(this).hasClass('pp-lookup-primary-value') ) {
		    			} else {
		    				jQuery(this).closest('li.meta-item').addClass('halt');
		    			}
		    		}
		    	}
		    	
		    }
	    	
	    });
	    
	    jQuery(this).find(':checkbox').each(function(){
	    	if ( jQuery(this).closest('li.meta-item').is(':visible') ) {
		    	if ( jQuery(this).is(':checked') ) {
		    		jQuery(this).closest('li.meta-item').removeClass('halt');
		    		return false;
		    	}
		    	jQuery(this).closest('li.meta-item').addClass('halt');
		    }
	    });
	    
	    jQuery(this).find('select').each(function(){
	    	if ( jQuery(this).closest('li.meta-item').is(':visible') ) {
		    	if ( jQuery(this).hasClass('chzn-select') ) {} else {
			    	if ( '' == jQuery('option:selected',this).val() ) {
			    		jQuery(this).closest('li.meta-item').addClass('halt');
			    	} else if ( !jQuery(this).closest('li.meta-item').hasClass('halt') ) {
			    		jQuery(this).closest('li.meta-item').removeClass('halt');
			    		return false;
			    	}
			    }
			}
	    });
	    
	    jQuery(this).find(':password').each(function(){
	    
	    	if ( jQuery(this).closest('li.meta-item').is(':visible') ) {
	    		//alert(jQuery(this).attr('name')+' '+jQuery(this).val());
	    		
    	    	if ( '' == jQuery(this).val() || '0' == jQuery(this).val() || 'false' == jQuery(this).val()  ) {
    	    		// SPECIAL EXEMPTION FOR CHOSEN
    	    		if ( jQuery(this).closest('li.meta-item').hasClass('chzn-req') ) {
    	    		} else {
    	    			jQuery(this).closest('li.meta-item').addClass('halt');
    	    		}
    	    	}
			}
		});
		
		jQuery(this).find('textarea').each(function(){
			if ( jQuery(this).closest('li.meta-item').is(':visible') ) {				
		    	if ( !jQuery(this).val().trim().length > 0 ) {
		    		jQuery(this).closest('li.meta-item').addClass('halt');
		    	}
			}
		});
		
		jQuery(this).find('.pp-logic').each(function(){
			if ( '' == jQuery(this).val() || '0' == jQuery(this).val() || 'false' == jQuery(this).val() ) {
				jQuery(this).closest('.meta-item').addClass('halt');
			}
		});
		
	});
		
	// CHECK EMAIL ADDRESSES
	if ( jQuery(reference+' #email').length ) {
		if ( !jQuery(reference+' #email').hasClass('column-input') && jQuery(reference+' #email').is('input') && !jQuery(reference+' #email').hasClass('pp-noreply') ) {
			var email = jQuery(reference+' #email').val();
			if ( email.indexOf('noreply.invalid') === -1 ) {
				var etest = /^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,30}|\d+)$/i;
				if ( false == etest.test(email) ) {
					jQuery(reference+' #email').closest('li.meta-item').addClass('halt');
				}
			}
		}
	}
	
	if ( jQuery(reference+' .halt').length != 0 ) {
		// TAKE ME HOME, SCOTTY!
		if ( !jQuery(reference+' .pp-error').length ) {
			jQuery(reference).prepend('<div class="pp-error">'+paupressAjax.errMsg+'</div>');
		}
		
		jQuery('html, body').animate({ scrollTop: jQuery(reference).offset().top - ( jQuery(reference+' .pp-error:first').height() + 10 ) }, 'slow');
		//jQuery('.halt:first').closest('form').scrollTop(0);
		return true;
	}
	
	return false;

}


function paupress_ajax_view() {
		
	if ( jQuery(this).attr('data-call') ) {
	
		var call = jQuery(this).attr('data-call');
		
		if ( jQuery(this).hasClass('paupress-overlay-clear') ) {
			var ppclass = ' class="paupress-overlay-clear"';
		} else if ( jQuery(this).hasClass('paupress-overlay-white') ) {
			var ppclass = ' class="paupress-overlay-clear"';
		} else {
			var ppclass = '';
		}

		jQuery('body').prepend('<div id="paupress-overlay"'+ppclass+'></div>');
		jQuery('#paupress-overlay').prepend('<div id="paupress-modal-front">'+paupressAjax.ajaxload+'</div>');
		
		if ( jQuery(this).attr('data-wide') ) {
			var wide = jQuery(this).attr('data-wide');
		} else {
			var wide = 90;
		}
		if ( jQuery(this).attr('data-tall') ) {
			var tall = jQuery(this).attr('data-tall');
		} else {
			var tall = 90;
		}
		var widecalc = ( 100 - wide ) / 2;
		var tallcalc = ( 100 - tall ) / 2;
		jQuery('#paupress-modal-front').css('margin-left', widecalc+'%');
		jQuery('#paupress-modal-front').css('margin-right', widecalc+'%');
		jQuery('#paupress-modal-front').css('top', tallcalc+'%');
		jQuery('#paupress-modal-front').css('height', tall+'%');
		/*
		jQuery('.paupress-modal-front').css('height', window.innerHeight);
		jQuery('.home-wrapper-bottom').each(function(){
			var tquote = jQuery(this).find('.call-to-quote').outerHeight(true);
			var taction = jQuery(this).find('.call-to-action').outerHeight(true);
			jQuery(this).css('height', tquote + taction);
		});
		//jQuery('.home-highlight').css('height', window.innerHeight);
		jQuery('.home-spacer').css('height', window.innerHeight);
		jQuery(window).resize(function() {
			jQuery('.home-section').css('height', window.innerHeight);
			//jQuery('.home-highlight').css('height', window.innerHeight);
			jQuery('.home-highlight').each(function(){
				var totalHeight = jQuery('.call-to-quote',this).outerHeight(true);
				jQuery(this).css('height', totalHeight);
			});
			jQuery('.home-spacer').css('height', window.innerHeight);
		});
		*/
		jQuery.post( 
    	paupressAjax.ajaxurl, { 
    	action : call, 
    	type : jQuery(this).attr('data-type'), 
    	data : jQuery(this).attr('data-data'), 
    	view : jQuery(this).attr('data-view'), 
    	show : jQuery(this).attr('data-show')
    	},
      function( response ) {
      	jQuery('#paupress-modal-front').html(response);
        paupress_bind_events('#paupress-modal-front');	
      }
    );
	    
	} else if ( jQuery(this).attr('data-view') ) {
		window.location = jQuery(this).data('view');
	}
 
}
function paupress_modal_resource() {
	
	if ( !jQuery(this).attr('data-view') ) {
		var view = 'pp-close-black';
	} else {
		var view = jQuery(this).attr('data-view');
	} 
	
	jQuery('body').prepend('<div id="paupress-overlay" class="pp-close-modal-maybe"></div>');
	jQuery('#paupress-overlay').prepend('<div id="paupress-modal-front" class="'+view+'">'+paupressAjax.ajaxloadinline+'</div>');
	jQuery('#paupress-modal-front .pp-loader-modal').css('height',jQuery('#paupress-overlay').outerHeight());

	jQuery.post( 
  	paupressAjax.ajaxurl, { 
  	action : jQuery(this).attr('data-call'), 
  	user : jQuery(this).attr('data-user'), 
  	post : jQuery(this).attr('data-post'), 
  	view : jQuery(this).attr('data-view'), 
  	show : jQuery(this).attr('data-show'), 
  	},
    function( response ) {
    	jQuery('#paupress-modal-front').html(response);
      paupress_bind_events('#paupress-modal-front');	
		}
  );
 
}
function paupress_modal_resource_link() {
	
	var curheight = jQuery('#paupress-overlay').outerHeight();
	jQuery('#paupress-modal-front').html(paupressAjax.ajaxloadinline);
	jQuery('#paupress-modal-front .pp-loader-modal').css('height',curheight);

	jQuery.post( 
		paupressAjax.ajaxurl, { 
		action : jQuery(this).attr('data-call'), 
		user : jQuery(this).attr('data-user'), 
		post : jQuery(this).attr('data-post'), 
		view : jQuery(this).attr('data-view')
		},
    function( response ) {
      jQuery('#paupress-modal-front').html(response);
      paupress_bind_events('#paupress-modal-front');	
    }
  );
 
}
function pp_close_modal() {
	jQuery("#paupress-modal-front").empty();
	jQuery("#paupress-overlay").fadeOut('slow').remove();
}
function pp_close_overlay() {
	jQuery("#paupress-modal-frame").empty();
	jQuery(this).closest(".paupress-modal-frame").empty();
	jQuery("#paupress-overlay").fadeOut('slow').remove();
	jQuery(this).closest(".paupress-overlay").fadeOut('slow').remove();
}
function pp_scale_wrap() {
	var ih = window.innerHeight;
	var iw = window.innerWidth / 2;
	jQuery('#pp-slide-wrap').css('height', ih);
	jQuery('#pp-slide-wrap-under').css('height', ih);
	jQuery('#pp-slide-wrap-under').css('margin-right', iw);
	jQuery(window).resize(function() {
		var ih = window.innerHeight;
		var iw = window.innerWidth / 2;
		jQuery('#pp-slide-wrap').css('height', ih);
		jQuery('#pp-slide-wrap-under').css('height', ih);
		jQuery('#pp-slide-wrap-under').css('margin-right', iw);
	});
}
function pp_scale_data() {
	var ih = window.innerHeight - 13;
	jQuery('#pp-slide-data').css('height', ih);
	jQuery('#pp-slide-data-under').css('height', ih);
	jQuery(window).resize(function() {
		var ih = window.innerHeight - 13;
		jQuery('#pp-slide-data').css('height', ih);
		jQuery('#pp-slide-data-under').css('height', ih);
	});
}

function pp_slide_edit(e) {
	e.preventDefault();
	if ( jQuery('#wpadminbar').length != 0 ) {
		jQuery('#pp-slide').css('top','33px');
	}
	if ( jQuery(this).hasClass('pp-submit-options-none') ) {
		var act = true;
	} else {
		var act = false;
	}
	
	// CHECK THE ERRORS
	var reference = jQuery('#pp-slide-data .paupress-admin-form').attr('id');
	var errors = pp_errors_two(reference);
	if ( errors ) {
		return false;
	}
	
	// SAVE TMCE
	if ( jQuery('#pp-slide-data .tmce-active').length != 0 ) {
		tinyMCE.triggerSave();
	}
	
	// CDATA TO AVOID VALIDATION ERRORS
	//<![CDATA[
	var str = jQuery('#pp-slide-wrap').find('input,textarea,select').serialize();
	// ]]>
	
	jQuery('#pp-slide-wrap').html('<div class="pp-slide-loading">'+paupressAjax.ajaxload+'</div>');
	pp_scale_wrap();
	jQuery.post( 
		paupressAjax.ajaxurl, { 
		action : 'paupress_get_action_ajax', 
		data : str, 
		ppsave : act, 
		},
	  function( response ) {
	    jQuery('#pp-slide-wrap').html(response);
	    pp_scale_data();
	    paupress_bind_events('#pp-slide-wrap');
			setTimeout( function() { 
				jQuery('.pp-wp-editor').each(function(){
					var tval = jQuery(this).attr('rel');
					quicktags({id : tval});
					tinyMCE.execCommand('mceAddEditor', false, tval); 
				});
			}, 800 );
		}
	);
}
function pp_slide_edit_option(e) {
	e.preventDefault();
	var reference = jQuery('#pp-slide-data .paupress-admin-form').attr('id');
	var errors = pp_errors_two(reference);
	if ( errors ) {
		return false;
	}
	var m = jQuery(this).data('more');
	var k = jQuery(this).data('keep');
	var c = jQuery(this).data('call');
	jQuery('#pp-slide-wrap').find('.pp-submit-link-call').val(c);
	jQuery('#pp-slide-wrap').find('.pp-submit-link-keep').val(k);
	jQuery('#pp-slide-wrap').find('.pp-submit-link-more').val(m);
	jQuery('#pp-slide-wrap .pp-slide-edit').click();
	return false;
}
function pp_slide_link(e,act){
	e.preventDefault();
	if ( jQuery(this).hasClass('pp-double-check') ) {
		var answer = confirm( paupressAjax.confirmAction );
		if (!answer) {
			return false;
		}
	}
	if ( jQuery('#wpadminbar').length != 0 ) {
		jQuery('#pp-slide').css('top','33px');
	}
	if ( !act ) {
		var act = jQuery(this).attr('href');
	}
	if ( !jQuery('#pp-slide').hasClass('pp-slide-out') ) {
		jQuery('#pp-slide').toggleClass('pp-slide-out','500');
	}
	jQuery('#pp-slide-wrap').html('<div class="pp-slide-loading">'+paupressAjax.ajaxload+'</div>');
	pp_scale_wrap();
	jQuery.post( 
		paupressAjax.ajaxurl, { 
		action : 'paupress_get_action_ajax', 
		data : act, 
		purl : window.location.href, 
		},
    function( response ) {
    	jQuery('#pp-slide-loading').fadeOut('slow');
      jQuery('#pp-slide-wrap').html(response);
      pp_scale_data();
      paupress_bind_events('#pp-slide-wrap');
			setTimeout( function() { 
				jQuery('.pp-wp-editor').each(function(){
					var tval = jQuery(this).attr('rel');
					quicktags({id : tval});
					tinyMCE.execCommand('mceAddEditor', false, tval); 
				});
			}, 800 );
		}
	);

}
function pp_slide_data(e){
	e.preventDefault();
	if ( jQuery('#wpadminbar').length != 0 ) {
		jQuery('#pp-slide').css('top','33px');
	}
	var item = jQuery(this).data('noun');
	var action = jQuery(this).data('verb');
	var post = jQuery(this).data('post');
	if ( !jQuery('#pp-slide').hasClass('pp-slide-out') ) {
		jQuery('#pp-slide').toggleClass('pp-slide-out','500');
	}
	jQuery('#pp-slide-wrap').html('<div class="pp-slide-loading">'+paupressAjax.ajaxload+'</div>');
	pp_scale_wrap();
	jQuery.post( 
		paupressAjax.ajaxurl, { 
		action : 'paupress_get_action_ajax', 
		data : 'item='+item+'&action='+action+'&ID='+post, 
		},
    function( response ) {
    	jQuery('#pp-slide-loading').fadeOut('slow');
      jQuery('#pp-slide-wrap').html(response);
      pp_scale_data();
      paupress_bind_events('#pp-slide-wrap');
			setTimeout( function() { 
				jQuery('.pp-wp-editor').each(function(){
					var tval = jQuery(this).attr('rel');
					quicktags({id : tval});
					tinyMCE.execCommand('mceAddEditor', false, tval); 
				});
			}, 800 );
		}
	);
}
function pp_slide_under(e,act){
	e.preventDefault();
	if ( jQuery('#wpadminbar').length != 0 ) {
		jQuery('#pp-slide-under').css('top','63px');
	} else {
		jQuery('#pp-slide-under').css('top','30px');
	}
	if ( !act ) {
		var act = jQuery(this).attr('href');
	}
	if ( !jQuery('#pp-slide-under').hasClass('pp-slide-out-under') ) {
		jQuery('#pp-slide-under').toggleClass('pp-slide-out-under','500');
	}
	jQuery('#pp-slide-wrap-under').html('<div class="pp-slide-loading">'+paupressAjax.ajaxload+'</div>');
	pp_scale_wrap();
	jQuery.post( 
		paupressAjax.ajaxurl, { 
		action : 'paupress_get_action_under_ajax', 
		data : act, 
		},
	    function( response ) {
	    	jQuery('#pp-slide-loading').fadeOut('slow');
	      jQuery('#pp-slide-wrap-under').html(response);
	      pp_scale_data();
	      paupress_bind_events('#pp-slide-wrap-under');
		}
	);
}
function pp_ajax_clone_modal(e){
	e.preventDefault();
	if ( jQuery('#wpadminbar').length != 0 ) {
		jQuery('#pp-slide').css('top','33px');
	}
	var post = jQuery(this).data('call');
	var func = jQuery(this).data('func');
	jQuery('#pp-slide-wrap').html('<div class="pp-slide-loading">'+paupressAjax.ajaxload+'</div>');
	pp_scale_wrap();
	
	jQuery.post( 
		paupressAjax.ajaxurl, { 
		action : 'paupress_action_clone', 
		data : 'action='+func+'&id='+post, 
		},
    function( response ) {
    	var link = response;
		}
	);
	
	jQuery.post( 
		paupressAjax.ajaxurl, { 
		action : 'paupress_get_action_ajax', 
		data : 'action=getaction&ID='+link, 
		},
    function( response ) {
    	jQuery('#pp-slide-loading').fadeOut('slow');
      jQuery('#pp-slide-wrap').html(response);
      pp_scale_data();
      paupress_bind_events('#pp-slide-wrap');
		}
	);
	
}
function paupress_print() {
	
	var call = jQuery(this).data('call');
	var data = jQuery(this).data('data');
	if ( jQuery(this).hasClass('paupress-print-modal') ) {
		var mode = '#pp-slide-data';
	} else {
		var mode = 'body';
	}
		 
	jQuery.post( 
    	paupressAjax.ajaxurl, { 
    	action : 'paupress_print', 
    	id : call, 
    	data : data, 
    	paupress_nonce : paupressAjax.paupress_nonce 
    	},
        function( response ) {
        	//window.location.href = response;
        	//window.open(response,'_parent');
        	jQuery(mode).prepend('<div id="paupress-overlay"></div>');
        	jQuery('#paupress-overlay').prepend('<div id="paupress-modal-action"><a class="button-primary" href="'+response+'">'+paupressAjax.download+'</a>&nbsp;&nbsp;&nbsp;<a class="pp-close-overlay">'+paupressAjax.close+'</a></div>');
         }
    );
 
}
function paupress_receipt() {
	
	var call = jQuery(this).data('call');
	if ( jQuery(this).hasClass('pp-slide-item-email') ) {
		var mode = '#pp-slide-data';
	} else {
		var mode = 'body';
	}
	jQuery(mode).prepend('<div class="paupress-overlay paupress-overlay-absolute"></div>');
	jQuery('.paupress-overlay').prepend('<div id="paupress-modal-action">'+paupressAjax.oneMoment+'</div>');
		 
	jQuery.post( 
    	paupressAjax.ajaxurl, { 
    	action : 'paupress_receipt_resend', 
    	call : call, 
    	paupress_nonce : paupressAjax.paupress_nonce 
    	},
        function( response ) {
        	jQuery('#paupress-modal-action').html(response);
        	jQuery('#mail').focus();
         }
    );
 
}
function paupress_send_receipt() {
	
	var call = jQuery(this).data('call');
	
	// CDATA TO AVOID VALIDATION ERRORS
	//<![CDATA[
	var str = jQuery('#pp-receipt-send').find('input,textarea,select').serialize();
	// ]]>
	
	jQuery('#pp-receipt-send .paupress-dash-list-wrap').html(paupressAjax.oneMoment);
		 
	jQuery.post( 
    	paupressAjax.ajaxurl, { 
    	action : 'paupress_receipt_resend', 
    	data : str, 
    	paupress_nonce : paupressAjax.paupress_nonce 
    	},
        function( response ) {
        	jQuery('#pp-receipt-send .paupress-dash-list-wrap').html(response);
         }
    );
 
}
function paupress_action_slide_delete() {
	
	var call = jQuery(this).data('call');
	if ( jQuery(this).hasClass('pp-slide-item-delete') ) {
		var mode = '#pp-slide-data';
	} else {
		var mode = 'body';
	}
	jQuery(mode).prepend('<div class="paupress-overlay paupress-overlay-absolute"></div>');
	jQuery('.paupress-overlay').prepend('<div id="paupress-modal-action">'+paupressAjax.oneMoment+'</div>');
		 
	jQuery.post( 
    	paupressAjax.ajaxurl, { 
    	action : 'paupress_action_slide_delete', 
    	call : call, 
    	paupress_nonce : paupressAjax.paupress_nonce 
    	},
        function( response ) {
        	jQuery('#paupress-modal-action').html(response);
        	jQuery('#code').focus();
         }
    );
 
}
function paupress_action_slide_delete_remove(call) {
	jQuery('#'+call).fadeOut('fast').remove();
}
function paupress_action_slide_delete_confirm() {
	
	if ( jQuery(this).hasClass('pp-slide-action-delete-close') ) {
		
		var call = jQuery(this).data('call');
		self.parent.pp_close_slide();
		self.parent.paupress_action_slide_delete_remove(call);
		jQuery(this).closest(".paupress-overlay").fadeOut('slow').remove();
	
	} else {
	
		// CDATA TO AVOID VALIDATION ERRORS
		//<![CDATA[
		var str = jQuery('#pp-action-delete').find('input,textarea,select').serialize();
		// ]]>
		
		jQuery('#pp-action-delete .paupress-dash-list-wrap').html(paupressAjax.oneMoment);
			 
		jQuery.post( 
	    	paupressAjax.ajaxurl, { 
	    	action : 'paupress_action_slide_delete', 
	    	data : str, 
	    	paupress_nonce : paupressAjax.paupress_nonce 
	    	},
        function( response ) {
        	jQuery('#pp-action-delete .paupress-dash-list-wrap').html(response);
         }
    );
    
	}
 
}

function paupress_get_profile_accounts( user ) {
	
	jQuery('body').prepend('<div id="paupress-overlay"></div>');
	jQuery('#paupress-overlay').prepend('<div id="paupress-modal-action">'+paupressAjax.oneMoment+'</div>');
		 
	jQuery.post( 
    	paupressAjax.ajaxurl, { 
    	action : 'paupress_get_profile_accounts', 
    	user : user
    	},
        function( response ) {
        	jQuery('#paupress-modal-action').html(response);
        	jQuery('#mail').focus();
         }
	);
 
}
/* I PRAY THIS WORKS! THANKS TO TIM DOWN
function saveSelection() {
    if (window.getSelection) {
        sel = window.getSelection();
        if (sel.getRangeAt && sel.rangeCount) {
            var ranges = [];
            for (var i = 0, len = sel.rangeCount; i < len; ++i) {
                ranges.push(sel.getRangeAt(i));
            }
            return ranges;
        }
    } else if (document.selection && document.selection.createRange) {
        return document.selection.createRange();
    }
    return null;
}
function restoreSelection(savedSel) {
    if (savedSel) {
        if (window.getSelection) {
            sel = window.getSelection();
            sel.removeAllRanges();
            for (var i = 0, len = savedSel.length; i < len; ++i) {
                sel.addRange(savedSel[i]);
            }
        } else if (document.selection && savedSel.select) {
            savedSel.select();
        }
    }
}
function getLinksInSelection() {
    var selectedLinks = [];
    var range, containerEl, links, linkRange;
    if (window.getSelection) {
        sel = window.getSelection();
        if (sel.getRangeAt && sel.rangeCount) {
            linkRange = document.createRange();
            for (var r = 0; r < sel.rangeCount; ++r) {
                range = sel.getRangeAt(r);
                containerEl = range.commonAncestorContainer;
                if (containerEl.nodeType != 1) {
                    containerEl = containerEl.parentNode;
                }
                if (containerEl.nodeName.toLowerCase() == "a") {
                    selectedLinks.push(containerEl);
                } else {
                    links = containerEl.getElementsByTagName("a");
                    for (var i = 0; i < links.length; ++i) {
                        linkRange.selectNodeContents(links[i]);
                        if (linkRange.compareBoundaryPoints(range.END_TO_START, range) < 1 && linkRange.compareBoundaryPoints(range.START_TO_END, range) > -1) {
                            selectedLinks.push(links[i]);
                        }
                    }
                }
            }
            linkRange.detach();
        }
    } else if (document.selection && document.selection.type != "Control") {
        range = document.selection.createRange();
        containerEl = range.parentElement();
        if (containerEl.nodeName.toLowerCase() == "a") {
            selectedLinks.push(containerEl);
        } else {
            links = containerEl.getElementsByTagName("a");
            linkRange = document.body.createTextRange();
            for (var i = 0; i < links.length; ++i) {
                linkRange.moveToElementText(links[i]);
                if (linkRange.compareEndPoints("StartToEnd", range) > -1 && linkRange.compareEndPoints("EndToStart", range) < 1) {
                    selectedLinks.push(links[i]);
                } 
            }
        }
    }
    return selectedLinks;
}
function altlink() {
	var savedSel = saveSelection();
	var url = jQuery(this).prev('input').val();
	restoreSelection(savedSel);
	document.execCommand("CreateLink", false, url);
	var links = getLinksInSelection();
}
function createLink() {
    // There's actually no need to save and restore the selection here. This is just an example.
    var savedSel = saveSelection();
    var url = document.getElementById("url").value;
    restoreSelection(savedSel);
    document.execCommand("CreateLink", false, url);
    var links = getLinksInSelection();
    for (var i = 0; i < links.length; ++i) {
        //links[i].style.fontWeight = "bold";
    }
}
*/

/*	------------------------------------------------------- 
	AUTOCOMPLETE
	------------------------------------------------------- */

function pp_autocomplete_user_modal() {
	
	// SORTING FUNCTION FOR MANAGE FIELDS LISTS
	jQuery(function() {
		var cache = {};
		jQuery('.pp-autocomplete-user-modal').autocomplete({
			minLength: 2,
			source: function( request, response ) {
				var term = request.term;
				if ( term in cache ) {
					response( cache[ term ] );
					return;
		        }
		        
		        jQuery.post( 
		        	paupressAjax.ajaxurl, { 
		        	action : 'pp_autocomplete_user', 
		        	term : term, 
		        	//paupress_admin_nonce : paupressAdminAjax.paupress_admin_nonce
		        	},
		            function( data ) {
		                cache[ term ] = data;
		                response( data );
					}
		        );
			}, 
			select: function( event, ui ) {
				alert(ui.item.label);
				//window.top.location.href = ui.item.value;
				var curbox = jQuery(this).closest('.box').attr('id');
				jQuery(this).val(ui.item.label);
				jQuery(this).closest('.box').find('.actual').val(ui.item.value);
				return false;
				/*
				jQuery('#'+curbox).animate({
				        left: '-50%'
				    }, "fast", function() {
				        jQuery('#'+curbox).css('left', '200%');
				        jQuery('#'+curbox).appendTo('#pautainer');
				    });
					jQuery('#'+curbox).next().html('one moment...');
				    jQuery('#'+curbox).next().animate({
				        left: '0'
				    }, "fast");
				
				// CDATA TO AVOID VALIDATION ERRORS
				//<![CDATA[
				var str = jQuery(this).closest('form').serialize();
				// ]]>
				  
				jQuery.post( 
					paupressAjax.ajaxurl, { 
					action : 'pp_autocomplete_done', 
					data : str, 
					//paupress_admin_nonce : paupressAdminAjax.paupress_admin_nonce
					},
				    function( response ) {
				        window.top.location.href = response;
				        //jQuery('#fa').closest('.box').html(response);
				    }
				);
				*/
			}
		});
	});
}
function pp_autocomplete_user(sel,que,utp) {
	
	if (!sel) {
		var sel = '.pp-autocomplete-user';
	} 
			
	// SORTING FUNCTION FOR MANAGE FIELDS LISTS
	//jQuery(function() {
	var cache = {};
	jQuery(sel).autocomplete({
		minLength: 2,
		source: function( request, response ) {
			var term = request.term;
			if ( term in cache ) {
				response( cache[ term ] );
				return;
	        }
	        
	        jQuery.post( 
	        	paupressAjax.ajaxurl, { 
	        	action : 'pp_autocomplete_user', 
	        	term : term, 
	        	que : que, 
	        	utp : utp, 
	        	paupress_nonce : paupressAjax.paupress_nonce
	        	},
	            function( data ) {
	                cache[ term ] = data;
	                response( data );
				}
	        );
		},  
		select: function( event, ui ) {
			if ( jQuery(this).hasClass('pp-lookup-go') ) {
				jQuery(this).parent().append('<div class="pp-auto-comp-loader">'+paupressAjax.ajaxloadinline+'</div>');
				if ( ui.item.value.indexOf( 'action' ) >= 0 ) {
					var str = ui.item.value;
					var rep = str.replace( "action=", "" );
					jQuery.post( 
						paupressAjax.ajaxurl, { 
						action : 'pp_add_new_user', 
						data : rep, 
						paupress_nonce : paupressAjax.paupress_nonce
						},
					    function( user ) {
					    	if ( window.location.href.indexOf('wp-admin') > -1 ) {
					    		window.location.href = paupressAjax.ajaxadmin+'admin.php?page=paupress_edit_user&user_id='+user;
					    	} else {
					    		window.location.href = paupressAjax.ajaxhome+'paupress/profile/'+user;
					    	}
							}
					);
				} else {
					if ( window.location.href.indexOf('wp-admin') > -1 ) {
						window.location.href = paupressAjax.ajaxadmin+'admin.php?page=paupress_edit_user&user_id='+ui.item.value;
					} else {
						window.location.href = paupressAjax.ajaxhome+'paupress/profile/'+ui.item.value;
					}
				}
			} else {
				// IF WE NEED TO ADD A NEW USER FIRST
				if ( ui.item.value.indexOf( 'action' ) >= 0 ) {
					
					// HIDE THE LOOKUP INPUT
					// DISABLE THE SLIDEOUT SUBMISSION
					jQuery(event.target).closest('li').hide();
					jQuery(event.target).closest('form').find('#post-go').attr('disabled', 'disabled');
					jQuery(event.target).closest('form').find('#pp-submit-modal').attr('disabled', 'disabled');
					jQuery(event.target).closest('form').find('#pp-submit-modal-new').hide();
					jQuery(event.target).closest('li').after('<li id="do-new-user-load">'+paupressAjax.ajaxloadinline+'</li>');
					
					// GET THE CREATION FORM
					jQuery.post( 
						paupressAjax.ajaxurl, { 
						action : 'pp_add_user', 
						data : ui.item.value, 
						paupress_nonce : paupressAjax.paupress_nonce
						},
					    function( rsvp ) {
					    	jQuery('#do-new-user-load').remove();
					    	jQuery(event.target).closest('li').after(rsvp);
					    	/*
					    	jQuery(event.target).closest('.paupress').siblings('.do-new-user-wrap').empty();
					        jQuery(event.target).closest('.paupress').siblings('.do-new-user-wrap').empty();
					        jQuery(event.target).closest('.paupress').after(rsvp);
					        jQuery(event.target).closest('.paupress').siblings('.do-new-user-wrap').fadeIn();
					        */
						}
					);
					//}
				// IF WE FOUND SOMEONE OR ARE CLEARING THE DECKS
				} else {
					var looklab = jQuery(this);
					var lookval = jQuery(this).siblings('.pp-lookup-value');
					var lookout = jQuery(this).siblings('.pp-lookup-value');
					if ( 'pp_clear' == ui.item.value ) {
						jQuery(this).val('');
						jQuery(lookval).val(ui.item.value);
					} else {
						//jQuery(this).val(ui.item.label);
						jQuery.post( 
							paupressAjax.ajaxurl, { 
							action : 'paupress_ajax_get_user_name', 
							data : ui.item.value, 
							paupress_nonce : paupressAjax.paupress_nonce
							},
						    function( response ) {
						    	jQuery(lookval).val(ui.item.value)
								jQuery(looklab).val(response);
								jQuery(looklab).closest('ul').find('.pp-lookup-label').html(response);
							}
						);
					}
				}
			}
			return false;
		}
	});
	/*.autocomplete( "instance" )._renderItem = function( ul, item ) {
	      return jQuery( "<li>" )
	        .attr( "data-value", item.value )
	        .append( '<a href="">'+item.label+' | 123 Main Street</a><br /><a href="http://example.com">Pet One</a> <a href="http://yahoo.com">Pet Two</a>' )
	        .appendTo( ul );
	    };
	*/
}
function pp_select_new_user() {

	// EMPTY OUT THE MAIN HOLDER'S ELEMENTS AND PLAY THE LOADER
	jQuery('body').prepend('<div id="paupress-overlay"></div>');
	jQuery('#paupress-overlay').prepend('<div id="paupress-modal">'+paupressAjax.oneMoment+'</div>');
	
	jQuery.post( 
		paupressAjax.ajaxurl, { 
		action : 'pp_add_new_user', 
		data : jQuery(this).closest('.pp-select-new-user').val(), 
		},
	    function( user ) {
	    	if ( window.location.href.indexOf('wp-admin') > -1 ) {
	    		window.location.href = paupressAjax.ajaxadmin+'admin.php?page=paupress_edit_user&user_id='+user;
	    	} else {
	    		window.location.href = paupressAjax.ajaxhome+'paupress/profile/'+user;
	    	}
		}
	);
	
}
function pp_select_new_user_fast() {

	var selection = jQuery(this).val();
	jQuery(document).on('click','.pp-select-new-user-fast-go',function(){

		jQuery("#paupress-modal-action").empty();
		
		jQuery.post( 
			paupressAjax.ajaxurl, { 
			action : 'pp_add_new_user', 
			data : selection, 
			},
		    function( user ) {
		    	if ( window.location.href.indexOf('wp-admin') > -1 ) {
		    		window.location.href = paupressAjax.ajaxadmin+'admin.php?page=paupress_edit_user&user_id='+user;
		    	} else {
		    		window.location.href = paupressAjax.ajaxhome+'paupress/profile/'+user;
		    	}
			}
		);

	});
	
}
function pp_add_new_user_fast() {
	// EMPTY OUT THE MAIN HOLDER'S ELEMENTS AND PLAY THE LOADER
	jQuery('#paupress-overlay').remove();
	jQuery('body').prepend('<div id="paupress-overlay"></div>');
	jQuery('#paupress-overlay').prepend('<div id="paupress-modal">'+paupressAjax.oneMoment+'</div>');
	
	jQuery.post( 
		paupressAjax.ajaxurl, { 
		action : 'pp_add_new_user', 
		data : jQuery(this).data('type'), 
		},
	    function( user ) {
	     if ( window.location.href.indexOf('wp-admin') > -1 ) {
	     	window.location.href = paupressAjax.ajaxadmin+'admin.php?page=paupress_edit_user&user_id='+user;
	     } else {
	     	window.location.href = paupressAjax.ajaxhome+'paupress/profile/'+user;
	     }
			}
	);
}
function variable_select(e) {
	var sel = jQuery('#_pp_item_id option:selected').text();
	if ( e != undefined ) { 
		if ( e.type == 'change' ) {
			jQuery('#_pp_item_variable_id').val('');
		}
	}
	jQuery('#_pp_item_variable_id').children('optgroup').hide();
	jQuery('#_pp_item_variable_id').children('optgroup').each(function(){
		if ( jQuery(this).attr('label') == sel ) {
			jQuery(this).show();
		}
	});
}
function pp_dash_autocomplete_user(clas,targ,user,meta) {
			
	// SORTING FUNCTION FOR MANAGE FIELDS LISTS
	var cache = {};
	var xhr = null;
	var ppd = jQuery(clas).autocomplete({
		minLength: 2, 
		delay: 700, 
		source: function( request, response ) {
			
			var term = request.term;
			if ( term in cache ) {
				response( cache[ term ] );
				return;
	    }
      if ( '.pp-autocomplete-user' == clas ) {
      	var type = 'inline';
      } else {
      	var type = 'direct';
      }
			
			if (meta) {
				meta = jQuery(document).find('.pp-autocomplete-user').val();
			}
			
			var post = jQuery(document).find('.pp-autocomplete-user').data('ptype');
			
      if (!xhr) {
        xhr = jQuery.post( 
        	paupressAjax.ajaxurl, { 
        	action : 'pp_dash_autocomplete_user', 
        	timeout: 20000, 
        	term : term, 
        	targ : targ, 
        	type : type, 
					user : user, 
					meta : meta, 
					post : post, 
        	paupress_nonce : paupressAjax.paupress_nonce
        	},
          function( data ) {
          	cache[ term ] = data;
            response( data );
					}
        ).fail( function(xhr, textStatus, errorThrown) {
        	alert('response: '+xhr.responseText+errorThrown);
        });
      }
		}, 
		select: function( event, ui ) {
			jQuery(this).val('').addClass('ui-autocomplete-loading');
			if ( '.pp-autocomplete-user' == clas ) {
				// IF WE NEED TO ADD A NEW USER FIRST
				if ( ui.item.value.indexOf( 'action' ) >= 0 ) {
					
					// HIDE THE LOOKUP INPUT
					// DISABLE THE SLIDEOUT SUBMISSION
					jQuery(event.target).closest('li').hide();
					jQuery(event.target).closest('form').find('#post-go').attr('disabled', 'disabled');
					jQuery(event.target).closest('form').find('#pp-submit-modal').attr('disabled', 'disabled');
					jQuery(event.target).closest('form').find('#pp-submit-modal-new').hide();
					jQuery(event.target).closest('li').after('<li id="do-new-user-load">'+paupressAjax.ajaxloadinline+'</li>');
					
					// GET THE CREATION FORM
					jQuery.post( 
						paupressAjax.ajaxurl, { 
						action : 'pp_add_user', 
						data : ui.item.value, 
						paupress_nonce : paupressAjax.paupress_nonce
						},
					    function( rsvp ) {
					    	jQuery('#do-new-user-load').remove();
					    	jQuery(event.target).closest('li').after(rsvp);
						}
					);
				// IF WE FOUND SOMEONE OR ARE CLEARING THE DECKS
				} else {
					var looklab = jQuery(this);
					var lookval = jQuery(this).siblings('.pp-lookup-value');
					var lookout = jQuery(this).siblings('.pp-lookup-value');
					if ( 'pp_clear' == ui.item.value ) {
						jQuery(this).val('');
						jQuery(lookval).val(ui.item.value);
					} else {
						jQuery.post( 
							paupressAjax.ajaxurl, { 
							action : 'paupress_ajax_get_user_name', 
							data : ui.item.value, 
							paupress_nonce : paupressAjax.paupress_nonce
							},
						    function( response ) {
						    	jQuery(lookval).val(ui.item.value)
								jQuery(looklab).val(response);
								jQuery(looklab).closest('ul').find('.pp-lookup-label').html(response);
								jQuery(looklab).removeClass('ui-autocomplete-loading');
							}
						);
					}
				}
			}
			return false;
		}
	});
	jQuery(clas).each(function(i, el) {
		//console.log(jQuery(el).data());
		jQuery(el).data('ui-autocomplete')._renderItem = function( ul, item ) {
	      return jQuery( '<li class="pp-dash-results">' )
	        .attr( "data-value", item.value )
	        .append( item.label )
	        .appendTo( ul );
		};
		jQuery(el).data('ui-autocomplete')._resizeMenu = function() {
			var pflw = jQuery(clas).outerWidth();
			this.menu.element.outerWidth( pflw );
		}
	});
}
function pp_add_new_user_global(e){
	e.preventDefault();
	jQuery('body').prepend('<div id="paupress-overlay"></div>');
	jQuery('#paupress-overlay').prepend('<div id="paupress-modal-action"></div>');

	jQuery.post( 
    	paupressAjax.ajaxurl, { 
    	action : 'pp_dash_add_new_user', 
    	data : 'fast', 
    	},
      function( response ) {
        jQuery('#paupress-modal-action').html(response);
				paupress_bind_events('#paupress-modal-action');
				jQuery('#pp_dash_lookup').focus();
      }
    );
    return false;
}


/*	------------------------------------------------------- 
	USERS
	------------------------------------------------------- */

function do_new_user() {
	jQuery(this).prev('a').after('<span class="do-new-user-load">'+paupressAjax.ajaxLoadImage+'</span>');

	var aref = jQuery(this).closest('.do-new-user-wrap');
	var bref = jQuery(this).closest('.do-new-user-hold');
	var cref = jQuery(this).closest('.do-new-user-wrap').prev();
	var dref = jQuery(this).closest('.do-new-user-wrap').prev().find('.pp-lookup-value');
	var eref = jQuery(this).closest('.do-new-user-wrap').prev().find('.pp-text-input');
	var fref = jQuery(this).closest('form').find('#post-go');
	var gref = jQuery(this).closest('form').find('#pp-submit-modal');
	var eref = jQuery(this).closest('form').find('#pp-submit-modal-new');
	var data = jQuery(this).closest('.do-new-user-wrap').find('[name]').serialize();
	
	jQuery.post( 
		paupressAjax.ajaxurl, { 
			action : 'pp_do_new_user', 
			data : data, 
		},
	    function( response ) {
	    	jQuery(aref).find('.do-new-user-load').remove();
	    	if ( response.indexOf( 'error' ) !== -1 ) {
	    		jQuery(aref).find('.do-new-user-hold').html(response);
	    	} else {	    	
	    		var source = response.split(':');
	    		var user = source[0];
	    		var name = source[1];
		    	jQuery(dref).val(user);
		    	jQuery(eref).val(name);
		    	jQuery(aref).fadeOut('fast').remove();
		    	jQuery(cref).fadeIn('fast');
		    	jQuery(fref).removeAttr('disabled');
		    	jQuery(gref).removeAttr('disabled');
		    	jQuery(eref).show();
		    }
	    }
	);
}
function stop_new_user(){
	var previous = jQuery(this).closest('.do-new-user-wrap').prev();
	jQuery(this).closest('.do-new-user-wrap').fadeOut('fast').remove();
	jQuery(previous).closest('form').find('#post-go').removeAttr('disabled');
	jQuery(previous).closest('form').find('#pp-submit-modal').removeAttr('disabled');
	jQuery(previous).closest('form').find('#pp-submit-modal-new').show();
	jQuery(previous).fadeIn('fast');
}

function pp_coupon_name(){
	
	var fname = jQuery(this).val();
	var fpost = jQuery('#pp-post-id').val();
	
	if ( fname.length ) {											 
		jQuery.post( 
			paupressAjax.ajaxurl, 
			{ action : 'pp_coupon_title', title : fname, pid : fpost },
		    function( response ) {
		        if ( response ) {
		        	jQuery('#post_title').val(response);
		        	jQuery('#post_title').closest('span').prepend(paupressAjax.couponErr);
		        }
		    }
		);
	}
	
}

function pp_show_password() {
	var type = jQuery(this).prev('input').attr('type');
	if ( 'password' == type ) {
		jQuery(this).prev('input').attr('type','text');
	} else {
		jQuery(this).prev('input').attr('type','password');
	}
	jQuery(this).toggleClass('on');
}

function paupress_subscription_change() {
	var id = jQuery(this).attr('id');
	var answer = confirm( paupressAjax.confirmAction );
	if (answer) {
		jQuery.post( 
			paupressAjax.ajaxurl, { 
			action : 'pp_update_subscription', 
			user : jQuery(this).data('user'), 
			type : jQuery(this).data('type'), 
			paupress_nonce : paupressAjax.paupress_nonce
			},
		    function( response ) {
		        jQuery('#'+id).fadeOut().empty();
		        jQuery('#'+id).html(response).fadeIn("slow");
		        return false;
			}
		);
	}
}

function pp_data_capture() {
	var dcb = jQuery(this).data('body');
	var dch = jQuery(this).data('html');
	var dcdata = jQuery('#'+dcb).text();
	jQuery('#'+dch).html(paupressAjax.ajaxloadinline);
	jQuery.post( 
		paupressAjax.ajaxurl, { 
			action : 'pp_ajax_data_capture', 
			data : dcdata, 
		},
		function( result ) {
			jQuery('#'+dch).html(result);
		}
	);
}


/*	------------------------------------------------------- 
	DOCUMENT READY
	------------------------------------------------------- */

jQuery(document).ready(function () {

	// BIND EVENTS
	paupress_bind_events();	
	multi_clone_sort();
	tabby();
	jQuery('#wp-paupresstmce-wrap').remove();
	
	// CLONE MULTITEXT
	jQuery(document).on('click', 'a.add', multi_clone);
	
	// REMOVE MULTITEXT
	jQuery(document).on('click', 'a.sub', anti_multi_clone);
	
	jQuery(document).on('blur', '.pp-auto-source', function(){
		source = jQuery(this).val();
		jQuery(this).siblings('.pp-auto-target').val(source.split(' ').join('_').replace(/\W/g, '').toLowerCase());
	});

	jQuery('.t-wrapper').hover(function(){
		//jQuery(this).('.toggle_msg').toggle();
	});
	
	jQuery(document).on('click', '.t-trigger', t_toggle);
	
	// DATEPICKER STUFF
	jQuery(document).on('focusin', 'input.paupress-date', function(){
		jQuery(this).datepicker({ dateFormat: 'yy-mm-dd', changeMonth: true, changeYear: true, yearRange: 'c-'+paupressAjax.yearLow+':c+'+paupressAjax.yearHigh, firstDay: paupressAjax.firstDay });	
	});
	
	// GENERAL TOOGLES
	jQuery(document).on('click', 'a.ugt', ugt_toggle);

	// USER META TOOGLES
	jQuery(document).on('click', 'a.umt', umt_toggle);
	
	// USER PROFILE TOOGLES
	jQuery(document).on('click', 'a.upt', upt_toggle);
	jQuery(document).on('click', '.pp-public-toggle', pmt_toggle);
	jQuery(document).on('click', '.pp-public-toggle-check', pmtc_toggle);
	jQuery(document).on('click', '.pp-block-toggle', pp_block_toggle);
	jQuery(document).on('click', 'a.pmta', pta_toggle);
	
	// USER WP-SPECIAL-CIRCUMSTANCES TOOGLES
	jQuery(document).on('click', 'a.uwpt', uwpt_toggle);
	
	// TABBED SECTIONS: SETUP
	jQuery('.paupress-profile .section').hide();
	jQuery('.paupress-profile .nav-tab:first').addClass('nav-tab-active');
	jQuery('.paupress-profile .section:first').fadeIn('fast');
	
	//  TABBED SECTIONS: HANDLE TRANSITIONS
	jQuery(document).on('click', '.paupress-profile a.nav-tab', function() {
		jQuery('.paupress-profile .nav-tab').removeClass('nav-tab-active');
		jQuery(this).addClass('nav-tab-active');
		jQuery('.paupress-profile .section').hide();
		var active = jQuery(this).attr('rel');
		jQuery('#'+active).fadeIn('fast');
		return false;
	});
		
	//SET SUPPORT FOR CHOSEN
	jQuery('.chzn-select').chosen({ allow_single_deselect: true, width: '99%' });
	
	// THE PAUPRESSS ACTIONS LAUNCHER	
	jQuery('#a-launcher').change(function() {
		jQuery('.a-button').hide();
		var action = jQuery(this).val();
		jQuery('#button-'+action).slideToggle('fast');
	});
	
	toggle_inputs();
	clear_toggle_inputs();
	
	/* EXPAND FIN-BTNS
	window.setTimeout( function() { 
		jQuery('textarea').height( jQuery('textarea')[0].scrollHeight );
	}, 1 );
	*/
	
	// PROFILE ACTIONS
	jQuery(document).on('click', '.paupress-view', paupress_action_view);
	jQuery(document).on('click', '.paupress-icon', paupress_icon_toggle);
	jQuery(document).on('change', '.profile-actions-filter', paupress_select_toggle);
	
	jQuery(document).on('change', '.state-province-field', paupress_selopt);
	jQuery(document).on('change', '.country-field', paupress_selopt);
	
	jQuery(document).on('click', '.paupress-choose-profile-accounts', function(){
		window.location.href = jQuery('.paupress-get-profile-accounts').val();
	});
		
	jQuery(document).on('click','.pp-taxonomy-add-go',function(evt){
		//var charCode = evt.charCode || evt.keyCode;
		//if (charCode  == 13) { //Enter key's keycode

			//jQuery(this).closest('form').submit( function() { return false; } );
			jQuery(this).prev('.pp-taxonomy-add').attr('id','pp-temp-taxo-edit');
			var insta = jQuery(this).prev('.pp-taxonomy-add');
			var shell = jQuery(this).closest('div').siblings('.taxonomy-panel');
			
			var term = jQuery(this).prev('.pp-taxonomy-add').val();
			var taxo = jQuery(this).prev('.pp-taxonomy-add').data('pp-taxonomy');
			var type = jQuery(this).prev('.pp-taxonomy-add').data('pp-tax-type');
			var name = encodeURIComponent(jQuery(this).siblings('.pp-checkbox-eq').attr('name'));

			jQuery.post( 
		    	paupressAjax.ajaxurl, { 
		    	action : 'pp_add_taxonomy_term', 
		    	term : term, 
		    	taxo : taxo, 
		    	type : type, 
		    	name : name, 
		    	paupress_nonce : paupressAjax.paupress_nonce
		    	},
		        function( response ) {
		            // DISPLAY THE RESPONSE
		            jQuery(shell).append(response);
		            jQuery(shell).trigger("chosen:updated");
		            jQuery(insta).val('');
		            /*
		            jQuery('#pp-temp-taxo-edit').closest('div').siblings('.taxonomy-panel').append(response);
		            jQuery('#pp-temp-taxo-edit').closest('div').siblings('.taxonomy-panel').trigger("chosen:updated");
		            jQuery('#pp-temp-taxo-edit').val('');
		            jQuery('#pp-temp-taxo-edit').removeAttr('id');
		            */
		         }
		    );

		//}
	});

	
	
	// RESPONSIVE MENU TOGGLES
	jQuery(document).on('change', '.nav-tab-select', function(){
		window.location.href = jQuery(this).val();
	});
	jQuery(document).on('change','#pp-action-launcher',function(){
		var act = jQuery(this).val();
		if ( act.length != 0 ) {
			jQuery(this).val('');
			jQuery('#pp-iframe').attr('src',act);
			jQuery('#pp-slide').toggleClass('pp-slide-out','500');
		}
	});
	/*
	jQuery(document).on('click','.pp-slide-link',function(e){
		e.preventDefault();
		var act = jQuery(this).attr('href');
		if ( !jQuery('#pp-slide').hasClass('pp-slide-out') ) {
			jQuery('#pp-iframe').attr('src',act);
			jQuery('#pp-slide').toggleClass('pp-slide-out','500');
		} else {
			jQuery('#pp-iframe').attr('src','');
			jQuery('#pp-iframe').attr('src',act);
		}
	});
	*/
	jQuery(document).on('click','.pp-slide-link',pp_slide_link);
	jQuery(document).on('click','.pp-slide-data',pp_slide_data);
	jQuery(document).on('click','.pp-slide-under',pp_slide_under);
	jQuery(document).on('click','.pp-slide-clone',pp_ajax_clone_modal);
	jQuery(document).on('change','.pp-slide-select',function(e){
		e.preventDefault();
		var act = jQuery(this).val();
		pp_slide_link(e,act);
	});
	jQuery(document).on('click','.pp-close-slide-back',function(e){
		e.preventDefault();
		var act = jQuery('#pp-child-url').val();
		pp_slide_link(e,act);
	});
	jQuery(document).on('change','#pp-slide-data .pp-user-history-child-opt',function(e){
		var typ = jQuery('option',this).filter(':selected').val();
		jQuery(this).closest('.pp-child-list-wrap').find('.pp-user-history-child-new').data('type',typ);
	});
	jQuery(document).on('click','#pp-slide-data .pp-user-history-child-new',function(e){
		e.preventDefault();
		e.stopPropagation();
		var cid = jQuery(this).closest('.pp-child-list-wrap').data('call');
		var act = jQuery(this).data('type');
		if ( act ) {
			pp_slide_link(e,act);
		}
		return false;
	});

	jQuery(document).on('click','.pp-slide-bottom-link',function(e){
		e.preventDefault();
		var act = jQuery(this).attr('href');
		if ( !jQuery('#pp-slide-bottom').hasClass('pp-slide-up') ) {
			jQuery('#pp-slide-bottom').toggleClass('pp-slide-up','500');
		}
			jQuery('#pp-iframe-bottom').html('<div class="pp-auto-comp-loader">'+paupressAjax.ajaxload+'</div>');
			jQuery.post( 
				paupressAjax.ajaxurl, { 
				action : 'pp_get_report', 
				data : act, 
				paupress_nonce : paupressAjax.paupress_nonce
				},
			    function( response ) {
			        jQuery('#pp-iframe-bottom').html(response);
				}
			);
		/*
		} else {
			jQuery('#pp-iframe-bottom').attr('src','');
			jQuery('#pp-iframe-bottom').attr('src',act);
		}
		*/
	});
	
	jQuery(document).on('click','.pp-close-slide',function(){
		self.parent.pp_close_slide_under();
		self.parent.pp_close_slide();
	});
	jQuery(document).on('click','.pp-close-slide-under',function(){
		self.parent.pp_close_slide_under();
	});
	jQuery(document).on('click','.pp-close-slide-bottom',function(){
		self.parent.pp_close_slide_bottom();
	});
	
	
	jQuery(document).on('click','.pp-submit-link',function(){
		var m = jQuery(this).data('more');
		var k = jQuery(this).data('keep');
		var c = jQuery(this).data('call');
		jQuery(this).closest('form').find('.pp-submit-link-call').val(c);
		jQuery(this).closest('form').find('.pp-submit-link-keep').val(k);
		jQuery(this).closest('form').find('.pp-submit-link-more').val(m);
		jQuery(this).closest('form').submit();
		return false;
	});
	
	jQuery(document).on('click','.pp-profile-account-item',function() {
		jQuery('#pp-profile-accounts a').click();
	});
	jQuery(document).on('click','#pp-subscription-status',paupress_subscription_change);
	jQuery(document).on('click','#pp-subscription-status-sms',paupress_subscription_change);
	jQuery(document).on('click','.pp-alert-dismiss',function(e){
		var id = jQuery(this).data('id');
		var pa = jQuery(this).closest('.pp-alert-wrap');
		var answer = confirm( paupressAjax.confirmAction );
		if (!answer) {
			return false;
		}
		jQuery.post( 
			paupressAjax.ajaxurl, { 
			action : 'pp_alert_dismiss', 
			data : id, 
			paupress_nonce : paupressAjax.paupress_nonce
			},
		    function( response ) {
		        jQuery(pa).fadeOut('slow').empty();
		        return false;
			}
		);
	});
		
	jQuery(document).on('click','.pp-profile-action-item',function(evt){
		
		if ( jQuery(this).closest('.pp-profile-actions').length == 1 ) {
			/*
			var offset = jQuery('.pp-profile-actions').offset();
			var offdoc = jQuery('.pp-profile-actions').width();
			var x = evt.pageX - offset.left + offdoc;
			alert(evt.pageX+' '+offset.left+' '+offdoc);
			*/
			if ( jQuery(this).closest('.pp-profile-action').find('.pp-block-action-list').is(':visible') ) {
				jQuery('.pp-block-action-list').fadeOut('fast');
			} else {
				jQuery('.pp-block-action-list').fadeOut('fast');
				var offpar = jQuery('.pp-profile-actions').offset().left;
				var offdoc = jQuery('.pp-profile-actions').width();
				var offleft = jQuery(this).offset().left;
				var offright = offleft - offpar + 10;
				/* */
				jQuery(this).closest('.pp-profile-action').find('.pp-block-action-list .pp-arrow').css('margin-left',offright);
				jQuery(this).closest('.pp-profile-action').find('.pp-block-action-list').css('width',offdoc).slideToggle('fast');
			}
		} else if ( jQuery(this).closest('.pp-profile-pathway').length == 1 ) {
			/*
			var offset = jQuery('.pp-profile-pathway').offset();
			var offdoc = jQuery('.pp-profile-pathway').width();
			var x = evt.pageX - offset.left + offdoc;
			alert(evt.pageX+' '+offset.left+' '+offdoc);
			*/
			if ( jQuery(this).closest('.pp-profile-account').find('.pp-block-action-list').is(':visible') ) {
				jQuery('.pp-block-action-list').fadeOut('fast');
			} else {
				jQuery('.pp-block-action-list').fadeOut('fast');
				var offpar = jQuery('.pp-profile-pathway').offset().left;
				var offdoc = jQuery('.pp-profile-pathway').width();
				var offleft = jQuery(this).offset().left;
				var offright = offleft - offpar + 20;
				/* */
				jQuery(this).closest('.pp-profile-pathway').find('.pp-block-action-list .pp-arrow').css('margin-left',offright);
				jQuery(this).closest('.pp-profile-pathway').find('.pp-block-action-list').css('width',offdoc).slideToggle('fast');
			}
		} else {
			jQuery(this).next('.pp-block-action-list').slideToggle('fast');
		}
	});
	
	jQuery(document).on('click','.pp-block-action',function(evt){
		jQuery(this).next('.pp-block-action-list').slideToggle('fast');
	});
	
	//jQuery('.pp-widget').height((jQuery('.pp-widget').width() / 4 ) * 3);
	
	jQuery(document).on('click','.pp-return',function(e){
		e.preventDefault();
		jQuery.cookie( 'paupress_return', window.location.href, { path: '/' } );
		window.location.href = jQuery(this).attr('href');
	});
	
	jQuery('#pp-slide-inside .pp-form-list-holder').on('click','a', function(e){
		if ( jQuery(this).attr('href') ) {
			e.preventDefault();
			var href = jQuery(this).attr('href');
			if ( href.length != 0 && href != '#' ) {
				window.open(href, '_blank');
			}
		}
	});
	
	jQuery(document).on('click','.pp-delete-attachment',pp_delete_attachment);
	
	jQuery(document).on('click','.pp-ajax-view a',function(e){
		e.preventDefault();
	});
	jQuery(document).on('click','.pp-ajax-view',paupress_ajax_view);
	jQuery(document).on('click','.paupress-modal-resource',paupress_modal_resource);
	jQuery(document).on('click','.paupress-modal-resource-link',paupress_modal_resource_link);
	jQuery(document).on('click','.pp-close-modal',pp_close_modal);
	jQuery(document).on('click','.pp-close-modal-general',pp_close_modal);
	jQuery(document).on('click','.paupress-print-modal',paupress_print);
	jQuery(document).on('click','.paupress-print',paupress_print);
	jQuery(document).on('click','.pp-slide-item-email',paupress_receipt);
	jQuery(document).on('click','.pp-receipt-resend',paupress_send_receipt);
	jQuery(document).on('click','.pp-slide-item-delete',paupress_action_slide_delete);
	jQuery(document).on('click','.pp-slide-action-delete-confirm',paupress_action_slide_delete_confirm);
	jQuery(document).on('click','.pp-slide-action-delete-close',paupress_action_slide_delete_confirm);
	jQuery(document).on('click','.pp-close-overlay',pp_close_overlay);
	
	jQuery('.paupress-auto-save').change(function() {
		//alert( jQuery(this).attr('id') + ' has changed!' );
	});
	
	jQuery(document).on('click','a.paupress-show-password',pp_show_password);
	jQuery(document).on('click','a.paupress-show-password-inline',pp_show_password);
	
	// TAB REFRESH
	jQuery(document).on('click','.pp-refresh-history-ajax', function(e){
		e.preventDefault();
		var base = jQuery(this).data('base');
		var view = jQuery(this).data('view');
		var user = jQuery(this).data('user');
		var post = jQuery(this).data('post');
		pp_refresh_history(base,view,user,post);
	});
	
	// SLIDES
	jQuery(document).on('click','.pp-slide-edit',pp_slide_edit);
	jQuery(document).on('click','.pp-slide-edit-option',pp_slide_edit_option);
	
	// AUTOCOMPLETE
	jQuery(document).on('keydown.autocomplete','.pp-dash-lookup',function(){
		var target = jQuery('.pp-dash-target').val();
		pp_dash_autocomplete_user('.pp-dash-lookup',target);
	});
	jQuery(document).on('keydown.autocomplete','.pp-autocomplete-user',function(){
		var targ = 'name';
		var user = jQuery(this).closest('.paupress-admin-form').find('input[name ="post_author"]').val();
		var meta = jQuery(this).val();
		if ( jQuery(this).data('field') ) {
			var targ = jQuery(this).data('field');
		}
		pp_dash_autocomplete_user('.pp-autocomplete-user',targ,user,meta);
	});
	jQuery(document).on('click','.pp-select-new-user-go',pp_select_new_user);
	jQuery(document).on('change','.pp-select-new-user-fast',pp_select_new_user_fast);
	jQuery(document).on('click','#adminmenu a[href="admin.php?page=paupress_global_add_user"]',pp_add_new_user_global);
	jQuery(document).on('click','.paupress-add-new-user-global',pp_add_new_user_global);
	jQuery(document).on('click','.paupress-add-new-user-fast',pp_add_new_user_fast);
	
	jQuery(document).on('click', '.do-new-user', do_new_user);
	jQuery(document).on('click', '.stop-new-user', stop_new_user);
	
	jQuery(document).on('click','.pp-rel-switch',function(){
		var rel = jQuery(this).data('rel');
		jQuery(this).closest('.pauf-frame').find('input[name="rel"]').val(rel);
		jQuery(this).closest('.pauf-frame').find('input[type="submit"]').click();
	});
	
	jQuery(document).on('click','.pp-href',function(){
		window.location = jQuery(this).data('href');
		return false;
	});
	
	jQuery(document).on('click','.pp-tab-link',function(){
		var parent = jQuery(this).closest('.pp-tab-navigation').attr('id');
		var target = jQuery(this).data('id');
		jQuery('#'+parent+'-content .pp-tab-item').hide();
		jQuery('#'+parent+' li').removeClass('on');
		jQuery('#'+parent+'-content .pp-tab-item-'+target).show();
		jQuery(this).parent('li').addClass('on');
	});
	
	jQuery(document).on('click', '.pp-tab-scroll',function(){
		var parent = jQuery(this).closest('.pp-tab-navigation').attr('id');
		var target = jQuery(this).data('id');
		var cofset = jQuery(this).closest('.pp-tab-navigation').data('offset');
		jQuery('#'+parent+' li').removeClass('on');
		jQuery('html, body').animate({ scrollTop: jQuery('.pp-tab-item-'+target).offset().top - cofset }, 'slow');
		jQuery(this).parent('li').addClass('on');
		return false;
	});
	
	jQuery(document).on('change', '.pp-tab-select',function(){
		var parent = jQuery(this).closest('.pp-tab-navigation').attr('id');
		var target = jQuery(this).val();
		var cofset = jQuery(this).closest('.pp-tab-navigation').data('offset');
		jQuery('html, body').animate({ scrollTop: jQuery('.pp-tab-item-'+target).offset().top - (cofset + 36) }, 'slow');
		return false;
	});
	
	jQuery(document).on('click','.pp-dc-link',pp_data_capture);

	
	jQuery(document).on('click','.pp-activity-log-toggle',function(){
		jQuery(this).closest('.pp-activity-log-wrap').find('.pp-activity-log-body').slideToggle('fast');
		if ( jQuery(this).hasClass('dashicons-arrow-down') ) {
			jQuery(this).removeClass('dashicons-arrow-down');
			jQuery(this).addClass('dashicons-arrow-up');
		} else if ( jQuery(this).hasClass('dashicons-arrow-up') ) {
			jQuery(this).removeClass('dashicons-arrow-up');
			jQuery(this).addClass('dashicons-arrow-down');
		}
		return false;
	});
	
});


// BASIC ALL-PURPOSE TOGGLE
function t_toggle() {
	var taxname = jQuery(this).attr('title');
	jQuery('#'+taxname).slideToggle('fast');
	jQuery(this).toggleClass('open');
	if ( jQuery(this).hasClass('t-temp') ) {
		jQuery(this).parent('li').undelegate('a.t-trigger', 'click', t_toggle);
		jQuery(this).remove();
	}
};
// source --> https://atifonline.org/wp-content/plugins/presspoint/assets/j/paupress-views.js?ver=3.9.9.983 
jQuery.noConflict();

/**
 * jQuery Cookie plugin
 *
 * Copyright (c) 2010 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */
jQuery.cookie = function (key, value, options) {

    // key and at least value given, set cookie...
    if (arguments.length > 1 && String(value) !== "[object Object]") {
        options = jQuery.extend({}, options);

        if (value === null || value === undefined) {
            options.expires = -1;
        }

        if (typeof options.expires === 'number') {
            var days = options.expires, t = options.expires = new Date();
            t.setDate(t.getDate() + days);
        }

        value = String(value);

        return (document.cookie = [
            encodeURIComponent(key), '=',
            options.raw ? value : encodeURIComponent(value),
            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
            options.path ? '; path=' + options.path : '',
            options.domain ? '; domain=' + options.domain : '',
            options.secure ? '; secure' : ''
        ].join(''));
    }

    // key and possibly options given, get cookie...
    options = value || {};
    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};

// THE VIEW TOGGLE
function inline_toggle_view() {
	
	// SET THE VARS
	var view = jQuery(this).attr('rev');
	
	// SET THE ICON AND CONTENT STATES
	//jQuery('#content-loader').toggle();
	jQuery('.content-view').removeClass('on');
	jQuery('.content-display').hide();
	
	// RESET THE ICON AND CONTENT STATES
	jQuery(this).addClass('on');
	jQuery('#'+view).show();
	//jQuery('#content-loader').toggle();
	
	// DROP THE COOKIE
	jQuery.cookie('view', view, { path: '/' });
	
}

function pp_directory_view() {
  
  var act = jQuery(this).data('view');
  var fid = jQuery(this).closest('form').data('id');
  var pag = '';
  if ( jQuery(this).attr('rel') ) {
    var pag = jQuery(this).attr('rel');
    jQuery(this).attr('rel','');
  } else {
    history.pushState({page: '1'}, 'Directory Results', '');
  }
  
  // DISABLE THE FORM
  jQuery('#'+fid+'-form').submit( function() { return false; } );
  
  // CDATA TO AVOID VALIDATION ERRORS
  //<![CDATA[
   var str = jQuery('#'+fid+'-form').serialize();
  // ]]>

  jQuery.cookie( fid, str, { path: '/' } );

  // EMPTY OUT THE MAIN HOLDER'S ELEMENTS AND PLAY THE LOADER
  jQuery('#'+fid+'-view').empty().html('<div id="loader">'+paupressAjax.ajaxload+'</div>');
  jQuery.post( 
    paupressAjax.ajaxurl, { 
    action : 'pp_directory_view', 
    form : fid, 
    data : str, 
    page : pag, 
    view : act, 
    },
    function( response ) {
        if ( response ) {
          jQuery('#'+fid+'-view').empty().html(response);
          if( jQuery('#gmap').is(':visible') ){//.length != 0
              initialize();
          }	        	
          
          // RESIZE GOOGLE MAP ONLOAD
          jQuery('.gmap_resize').click(function(){
            resizeMap();
          });
          paupress_bind_events();
        }
    }
  );
  
}

function pp_sort_flip() {
	
	var orderby = jQuery(this).data('by');
	if ( jQuery(this).hasClass('pp-desc') ) {
		var order = 'ASC';
		jQuery(this).removeClass('pp-desc');
	} else {
		var order = 'DESC';
		jQuery(this).addClass('pp-desc');
	}
	
	if ( jQuery(this).hasClass('directory-go') ) {
    jQuery('input[name=order_by]').val(orderby);
  	jQuery('input[name=order]').val(order);
		jQuery('#paudirectory-submit').click();
	} else {
    jQuery('select[name=order_by]').val(orderby);
  	jQuery('select[name=order]').val(order).change();
		jQuery('#filter-search-go').click();
	}
	
}

function pp_sort_data(e) {
	e.preventDefault();
	
	//jQuery('.pp-sorted').addClass('pp-sort');
	//jQuery('.pp-sorted').removeClass('pp-sorted');
	//jQuery(this).addClass('pp-sorted');
	
	var orderby = jQuery(this).data('by');
	if ( jQuery(this).hasClass('pp-desc') ) {
		var order = 'ASC';
		jQuery(this).removeClass('pp-desc');
	} else {
		var order = 'DESC';
		jQuery(this).addClass('pp-desc');
	}
	
	if ( jQuery(this).hasClass('directory-go') ) {
    jQuery('input[name=order_by]').val(orderby);
  	jQuery('input[name=order]').val(order);
		jQuery('#paudirectory-submit').click();
	} else {
    jQuery('select[name=order_by]').val(orderby);
  	jQuery('select[name=order]').val(order).change();
		jQuery('#filter-search-go').click();
	}
	
}

// when the DOM is ready...
jQuery(document).ready(function () {

	// SET A COOKIE FOR THEIR TOGGLE
	jQuery('.toggle-view').on('click', '.content-view', inline_toggle_view);
	jQuery('.toggle-view a').tipTip({defaultPosition: 'top', edgeOffset: -15});	
  //jQuery(document).on('hover', '.pp-sort', pp_sort_flip);
	//jQuery(document).on('hover', '.pp-sorted', pp_sort_flip);
  jQuery(document).on('click', '.pp-sort', pp_sort_data);
	jQuery(document).on('click', '.pp-sorted', pp_sort_data);
		
});