/**
 * jQuery.fn.sortElements
 * --------------
 * @param Function comparator:
 *   Exactly the same behaviour as [1,2,3].sort(comparator)
 *   
 * @param Function getSortable
 *   A function that should return the element that is
 *   to be sorted. The comparator will run on the
 *   current collection, but you may want the actual
 *   resulting sort to occur on a parent or another
 *   associated element.
 *   
 *   E.g. $('td').sortElements(comparator, function(){
 *      return this.parentNode; 
 *   })
 *   
 *   The <td>'s parent (<tr>) will be sorted instead
 *   of the <td> itself.
 */
jQuery.fn.sortElements = (function(){
 
    var sort = [].sort;
 
    return function(comparator, getSortable) {
 
        getSortable = getSortable || function(){return this;};
 
        var placements = this.map(function(){
 
            var sortElement = getSortable.call(this),
                parentNode = sortElement.parentNode,
 
                // Since the element itself will change position, we have
                // to have some way of storing its original position in
                // the DOM. The easiest way is to have a 'flag' node:
                nextSibling = parentNode.insertBefore(
                    document.createTextNode(''),
                    sortElement.nextSibling
                );
 
            return function() {
 
                if (parentNode === this) {
                    throw new Error(
                        "You can't sort elements if any one is a descendant of another."
                    );
                }
 
                // Insert before flag:
                parentNode.insertBefore(this, nextSibling);
                // Remove flag:
                parentNode.removeChild(nextSibling);
 
            };
 
        });
 
        return sort.call(this, comparator).each(function(i){
            placements[i].call(getSortable.call(this));
        });
 
    };
 
})();

$(document).ready(function(){
	
	$('.author-archive a').sortElements(function(a, b){
		aWord = $(a).text();
		bWord = $(b).text()
		aArray = aWord.split(" ");
		aArray = aArray.reverse();
		bArray = bWord.split(" ");
		bArray = bArray.reverse();
		return aArray[0] > bArray[0] ? 1 : -1;
	});
	
	var randNo = Math.floor(Math.random()*8);
	$('#front-sidebar-inside').css('background','url(/wp-content/themes/kyd2/images/slides/'+randNo+'.jpg)');
	
	$('[placeholder]').focus(function() {
	  var input = $(this);
	  if (input.val() == input.attr('placeholder')) {
		input.val('');
		input.removeClass('placeholder');
	  }
	}).blur(function() {
	  var input = $(this);
	  if (input.val() == '' || input.val() == input.attr('placeholder')) {
		input.addClass('placeholder');
		input.val(input.attr('placeholder'));
	  }
	}).blur();
	
	$('[placeholder]').parents('form').submit(function() {
	  $(this).find('[placeholder]').each(function() {
		var input = $(this);
		if (input.val() == input.attr('placeholder')) {
		  input.val('');
		}
	  })
	});
	
	$('#renewal').removeAttr('checked');
	
	$('#menu-top-menu > li').hover(function(){
		$('.sub-menu').not($(this).find('.sub-menu')).hide();
		$(this).find('.sub-menu').clearQueue().slideDown(80);
	}, function() {
		$(this).find('.sub-menu').delay(300).fadeOut(100);
	});
	
	$('.issue-top').remove().insertAfter('#topmenucont').children().wrap('<div class="container_12">');
	
	$('.podcast-details .podPress_content').remove().insertAfter('.podcast-details');
	
	$('.mailing-send').click(function(e){
		e.preventDefault();
		$URL = $(this).attr('href') + '&MERGE0=' + $('#email').val() + '&MERGE1=' + $('#fullname').val();
		$(this).attr('href', $URL);
		
		window.open( $(this).attr('href') );
		
	});
	
	$('.menu-item .sub-menu').parent().append('<span class="down-arrow">&#9660;</span');
	
	
	
	//$('.issue-content a[href*="/article/"]').append(' <span class="fulltext">Full Text</span>');
	//$('.issue-content a[href*="/2"]').append(' <span class="excerpt">Excerpt</span>');
	$('.issue-content a.free').append(' <span class="fulltext">Free</span>');
	
	if ($('#s').val() == '') { $('#s').val('Search').addClass('placeholder'); }
	
	$('#s').focus(function(){
		if ($('#s').val() == 'Search')
		{
			$('#s').val('').removeClass('placeholder');
		}	
	});
	
	$('#s').blur(function(){
		if ($('#s').val() == '')
		{
			$('#s').val('Search').addClass('placeholder');
		}	
	});
	
		
	if ($('#rssmail2').val() == '') { $('#rssmail2').val('Enter your email to subscribe').addClass('placeholder'); }
	
	$('#rssmail2').focus(function(){
		if ($('#rssmail2').val() == 'Enter your email to subscribe')
		{
			$('#rssmail2').val('').removeClass('placeholder');
		}	
	});
	
	$('#rssmail2').blur(function(){
		if ($('#rssmail2').val() == '')
		{
			$('#rssmail2').val('Enter your email to subscribe').addClass('placeholder');
		}	
	});
	
	$('.logged-in h3 .subname').text('Renewal Options');
	$('.logged-in input[src="/wp-content/themes/kyd2/images/subscribe-button.png"]').attr('src','/wp-content/themes/kyd2/images/renew-button.png');
	
	$('#renewal').change(function(){
		
		if ($('#renewal').attr('checked'))
		{
			$('#subscribe-button').attr('value','Renew');
			$('#item_name').attr('value','Kill Your Darlings Four-Issue Renewal')
			
		} else
		{
			$('#subscribe-button').attr('value','Subscribe');
			$('#item_name').attr('value','Kill Your Darlings Four-Issue Subscription')
		}
		
		
	});
	
	
	$('.price-options').change(function(){
		selectedPrice = $(this).find(':selected').attr('class');
		$(this).parent().find('input[name=amount]').attr('value', selectedPrice);
		
	});
	
	
	
});
