jQuery(document).ready(function() {
	//reply comments button
	if (jQuery('#comments-reply-box').length>=1) {
  	comment_form = '<div class="comment-reply-form-box">'+jQuery('#comments-reply-box').html()+'</div>';
  	jQuery('#comments-reply-box').remove();
  	jQuery('.comments-left .discussions .buttons .comment-reply').click(function(e){
  		showReplyForm(this);
  		return false;
  	});
	}
});

function showReplyForm(obj) {
	var buttonDiv = jQuery(obj).parent('div.buttons');
	var nameDiv = jQuery(buttonDiv).parent('.date-buttons').prev().prev('.name');
	var arrowDiv = jQuery(nameDiv).prev('div.arrow');
	var targetSpace = nameDiv.parent().next('br.clear');
	var linkHash = obj.hash.replace('#','');
	var values = linkHash.split('_');

	jQuery(buttonDiv).hide();
	//jQuery(nameDiv).addClass('replying');
	//jQuery(arrowDiv).addClass('arrow-replying');
	jQuery(targetSpace).after(comment_form);

	var formBox = jQuery(targetSpace).next('.comment-reply-form-box').children('.replyformTop');
	jQuery(formBox).attr('class', 'replyformTop '+values[1]+'-reply');
	var comment_parent = jQuery(targetSpace).next('.comment-reply-form-box').children('.replyformTop').children('.leave-comments-form').children('input[name="comment_parent"]');
	jQuery(comment_parent).val(values[0]);
	jQuery('.comment-reply-form-box').show();
	limitChars('textarea.leave-com-mid');
}

function hideReplyForm(t) {
	var replyDiv = jQuery(t).parent('div.submit-cancel').parent('.leave-comments-form').parent('.replyformTop').parent('.comment-reply-form-box');
	var commentReply = jQuery(replyDiv).prev('br.clear').prev('.comment-box').children('.name');
	var arrowReply = jQuery(commentReply).prev('.arrow');
	var replyBtn = jQuery(commentReply).children('.buttons').show();
	commentReply.removeClass('replying');
	arrowReply.removeClass('arrow-replying');
	
	replyDiv.next('br.clear').remove();
	replyDiv.remove();
}

function submitComment(obj,divID) {
	var targetForm = jQuery(obj).parent().parent();
	if (divID =='#start-discussion') {
		var replyDiv = jQuery(targetForm).parent('#start-discussion');
		var thankyouDiv = '#start-discussion';
	}else {
		var replyDiv = jQuery(targetForm).parent('.replyformTop');
		var thankyouDiv = '.comment-reply-form-box';
	}
	
	var parentID = jQuery(targetForm).children('#comment_parent').val();
	var replyID = 'currentReply-'+parentID;
		jQuery(targetForm).addClass(replyID);
	var errorDiv = jQuery('form.'+replyID).prev().prev('div.messages');
	var options = {
		dataType: 'json',
		method: 'POST',
		success: function(data) {
			if (data.success==false) {
				//reset the colors first
				jQuery('form.'+replyID+' input, form.'+replyID+' textarea').removeClass('error');
				var errorMsg ='';
				jQuery.each(data.errors, function(i,val) {
					jQuery('form.'+replyID+' input[name="'+i+'"], form.'+replyID+' textarea[name="'+i+'"]').addClass('error');
					errorMsg += '<p>'+val+'</p>';
				});
				jQuery(errorDiv).html(errorMsg);
				jQuery(errorDiv).show();
			}else if (data.success ==true) {
				jQuery(replyDiv).removeClass('replyformTop');
				var replyClass = jQuery(replyDiv).attr('class') ? jQuery(replyDiv).attr('class') : 'first-level-reply' ;
				
				var successMsg = '';
					successMsg +='<div class="'+replyClass+'">';
						successMsg +='<div class="arrow"></div>	';
				 			successMsg +='<h3>Thank You!</h3>';
								successMsg +='<p>Your comment has been submitted and should appear shortly.</p>';
					successMsg +='</div>';
				
				jQuery(replyDiv).slideUp(800,function(){ 
					jQuery(thankyouDiv).html(successMsg);
					if (divID=='#start-discussion') {
						jQuery(thankyouDiv).addClass('comments-left');
						jQuery(thankyouDiv).css('border','none');
					}
					jQuery(thankyouDiv).show();
				});
			}
		}
	};
	jQuery('.'+replyID).ajaxSubmit(options);
}

function expandReplies(obj,cid,cssClass,comment_status) {
	var values = {
			action: 'expand-comments',
			cid: cid,
			level:cssClass,
			comment_status: comment_status
	};
	postUrl = 'http://'+window.location.host+'/wp-content/plugins/fox_comments/fox_comments.php';
	targetOutput = jQuery(obj).parents('.discussions').next('.children');
	exp_col = jQuery(obj).parent('.exp-col');
	if( jQuery(targetOutput).hasClass('hasContent')==false){
  	jQuery.get(postUrl,values,
  		function(data) {
  			if(data.success==true){
  				if (targetOutput.length==0) {
  					targetOutput = jQuery(obj).parents('.discussions');
  					jQuery(targetOutput).after('<div class="children hasContent">'+data.output+'</div>');
  					slideDownDiv = jQuery(obj).parents('.discussions').next('.children');
  				  jQuery(slideDownDiv).slideDown('normal');
  				  jQuery(exp_col).children('a.expand').hide();
  				  jQuery(exp_col).append('<a class="collapse" href="#" style="display:block;" onclick="collapseReplies(this);return false;"><img src="/wp-content/themes/liveshot/images/collapse.jpg" /></a>');
  				}else {
  					jQuery(targetOutput).addClass('hasContent');
  					jQuery(targetOutput).replaceWith('<div class="children hasContent">'+data.output+'</div>');
  				  jQuery(targetOutput).slideDown('normal');
  				  jQuery(exp_col).children('a.expand').hide();
  				  jQuery(exp_col).append('<a class="collapse" href="#" style="display:block;" onclick="collapseReplies(this);return false;"><img src="/wp-content/themes/liveshot/images/collapse.jpg" /></a>');
  				} 
  			}
  		}	
  	,'json');
	}else{
		jQuery(targetOutput).slideDown('normal');
	  jQuery(exp_col).children('a.expand').hide();
	  jQuery(exp_col).children('a.collapse').show();
	}
	return false;
}

function collapseReplies(obj) {
	collapseTarget = jQuery(obj).parents('.discussions').next('.children');
	exp_col = jQuery(obj).parent('.exp-col');
	jQuery(collapseTarget).slideUp('normal');
	jQuery(exp_col).children('a.collapse').hide();
	jQuery(exp_col).children('a.expand').show();
}

function limitChars(element) {
	var limit = FOX.settings.comments_chars;
	jQuery(element).keyup(function(){
  		// get the value of the textarea
  		var strs = this.value;
  		// count its length
  		var count = strs.length;
  		
  		// if it is over the limit, display the message
  		if(count > limit) {
  			jQuery(this).val(strs.substring(0,limit));
  			alert("You can only type in " + limit  +  " characters ");
  			return false;
  		}
  		
  		//update the display div with the amount of characters used
  		var the_text = "Characters used : "+ count + "/" + limit;
  		var textDiv = jQuery(this).parent().children('.characters-used');
  		jQuery(textDiv).html(the_text);
	});
}