( function( $ ) {
	window.polldaddyshortcode = {
		render: function() {
			var ratings = $( 'div.pd-rating[data-settings]' );
			var polls = $( 'div.PDS_Poll[data-settings]' );

			if ( polls ) {
				$.each( polls, function() {
					var poll = $( this ).data( 'settings' );

					if ( poll ) {
						var poll_url = document.createElement( 'a' );
						poll_url.href = poll[ 'url' ];
						if (
							poll_url.hostname != 'secure.polldaddy.com' &&
							poll_url.hostname != 'static.polldaddy.com'
						) {
							return false;
						}
						var pathname = poll_url.pathname;
						if ( ! /\/?p\/\d+\.js/.test( pathname ) ) {
							return false;
						}
						var wp_pd_js = document.createElement( 'script' );
						wp_pd_js.type = 'text/javascript';
						wp_pd_js.src = poll[ 'url' ];
						wp_pd_js.charset = 'utf-8';
						wp_pd_js.async = true;
						document.getElementsByTagName( 'head' )[ 0 ].appendChild( wp_pd_js );
					}
				} );
			}

			if ( ratings ) {
				var script = '';

				$.each( ratings, function() {
					var rating = $( this ).data( 'settings' );

					if ( rating ) {
						script +=
							'PDRTJS_settings_' +
							rating[ 'id' ] +
							rating[ 'item_id' ] +
							'=' +
							rating[ 'settings' ] +
							"; if ( typeof PDRTJS_RATING !== 'undefined' ){ if ( typeof PDRTJS_" +
							rating[ 'id' ] +
							rating[ 'item_id' ] +
							"=='undefined' ){PDRTJS_" +
							rating[ 'id' ] +
							rating[ 'item_id' ] +
							'= new PDRTJS_RATING( PDRTJS_settings_' +
							rating[ 'id' ] +
							rating[ 'item_id' ] +
							' );}}';
					}
				} );

				if ( script.length > 0 )
					$( '#polldaddyRatings' ).after(
						"<script type='text/javascript' charset='utf-8' id='polldaddyDynamicRatings'>" +
							script +
							'</script>'
					);
			}
		},
	};

	$( 'body' ).on( 'post-load pd-script-load', function() {
		window.polldaddyshortcode.render();
	} );
	$( 'body' ).trigger( 'pd-script-load' );
} )( jQuery );
