function adAction(obj){
	var here = obj.parent().parent().attr("id");
	addReply(here.substr(6));
}

function limitChars(textid, limit, infodiv){
	var text = $('#'+textid).val(); 
	var textlength = text.length;
	if(textlength > limit){
		$('#' + infodiv).html('You cannot write more then '+limit+' characters!');
		$('#'+textid).val(text.substr(0,limit));
		return false;
	}else{
		$('#' + infodiv).html('You have '+ (limit - textlength) +' characters left.');
		return true;
	}
}

function showReply(){
	$("#cmBox-"+s+" .leaveComment").bind("click", function(){
		$(this).next().next().slideToggle();
	});
}

function setTrackerBox(element){
	//Loading
	$("#Tracker-Button").show();
	$("#Tracker-Button").next("img").hide();
	//----------
	var cmb = $(element).parent();
	var box = new Array();
	box['id'] = $(cmb).attr("id").substr(6);
	box['name'] = $(cmb).attr("name");
	box['status'] = $(element).attr('mode');
	
	$("#TrackerBox .popupTitle span").text(box['name']);
	$("#Tracker-ID").val(box['id']);
	$("#Tracker-Mode").val(box['status']);
	
	if(box['status'] == "rem"){
		$("#TrackerBox label span").text("Do Not");
	}else{
		$("#TrackerBox label span").text("");
	}
}

function setTracker(status,id){
	var mode = "";
	var button = $("#cmBox-"+id+" .Tracker");
	if(status == "true"){ 
		status = "Tracking";
		mode = "rem";
	}else{ 
		status = "Track";
		mode = "add";
	};
	//alert(status+mode);
	button.text(status);
	button.attr("mode",mode);
}

function track(task,id){
	//Loading Actions
	var button = $("#Tracker-Button")
	button.next("img").show();
	button.hide();
	//-------------------------
	//Optianal parameters
	if(!task){ var task = $("#Tracker-Mode").val();}
	if(!id){ var id = $("#Tracker-ID").val();}
	//----end
	var s = id;
	//alert(task+s);
	var username = $("#username").text();
	var userEmail = $("#Tracker-Email").val();
	var status = "ok";
	
	switch(task){
		case "add":
			$.get("/includes/comments/track.php",{
				mode: "add",
				name: username,
				email: userEmail,
				thread_id: s
			},function(data){
				$.fn.colorbox.close();
				track('get');
			});
			break;
		case "rem":
			$.get("/includes/comments/track.php",{
				mode: "rem",
				name: username,
				email: userEmail,
				thread_id: s
			},function(data){
				$.fn.colorbox.close();
				track('get');
			});
			break;
		case "get":
			return $.get("/includes/comments/track.php",{
				mode: "get",
				name: username,
				email: userEmail,
				thread_id: s
			},function(data){
				setTracker(data,s);
			});
			break;
	}
}

function loadCmts(thread){
	var s = thread;
	var comments = $("#cmBox-"+s+" .comments");
	var p = 3;
	
	var email =  $("#Tracker-Email").val();
	if(email != ""){
		//$("#cmBox-"+s+" .Tracker").trigger("mousedown");
		track('get',s);
	}
	//$("#cmBox-"+s).attr("page", window.location)
	//alert(s);
	//retrieve comments to display on page

	$.getJSON("/includes/comments/comments.php?thread="+s+"&limit"+p+"&jsoncallback=?", function(data) {
	
		if(data == 0){
			$("#cmBox-"+s+" .cmLoading").fadeOut(500, function(){
				  $("#cmBox-"+s+" .comments").append("<h2>There are no comments here</h2>");
				  $("#cmBox-"+s+" .comments").animate({minHeight: "0px"});
				  $("#cmBox-"+s+" .leaveComment").slideToggle();
			});
		}else{
			
			$("#cmBox-"+s+" .cmLoading").fadeOut(500,function(){ 
			//loop through all items in the JSON array
				for (var x = 0; x < data.length; x++) {
				
					//create a container for each comment
					var div = $("<div>").addClass("row").prependTo("#cmBox-"+s+" .comments");
					var user = $("<div>").addClass("userInfo").appendTo(div);
					
					//add author name and comment to container
					$("<label>").text(data[x].name).appendTo(user);
					$("<spam>").addClass("comment-date").text(data[x].date).appendTo(user);	
					$("<div>").addClass("comment").html(data[x].comment).appendTo(div);
				}
				$("#cmBox-"+s+" .comments").animate({minHeight: "0px"});
				$("#cmBox-"+s+" .comments .row").quickpaginate({ perpage: p, pager : $("#cmBox-"+s+" .cmPagination") });
			});
		}
	});	
}

				
function addReply(thread){
	var s = thread;
	var username = "#cmBox-"+s+" .cmUsername";
	var comment = "#cmBox-"+s+" .comment-text";
	var com_holder = "#cmBox-"+s+" .comments";
	var boxName = $("#cmBox-"+s).attr("name");
	var page =  $("#cmBox-"+s).attr("page");
	
	//soncode Charanters
	
	//define ajax config object
	var ajaxOpts = {
		type: "post",
		url: "/includes/comments/addComment.php",
		data: ({author : $(username).text(),
				comment: $(comment).val(),
					 thread: s
				}),
		success: function(data) {
			//create a container for the new comment
			var div = $("<div>").addClass("row").prependTo(com_holder);
		
			var user = $("<div>").addClass("userInfo").appendTo(div);
			//time
			var d = new Date();
			var m = d.getMonth() + 1;
			date = d.getDate()+"/"+m+"/"+d.getFullYear().toString().slice(2);

			//add author name and comment to container
			
			$("<label>").text($(username).text()).appendTo(user);
			$("<spam>").addClass("comment-date").text(date).appendTo(user);	
			$("<div>").addClass("comment").html($(comment).val().replace("/r\n\/","<br>")).appendTo(div);
			$("<hr>").appendTo(div);
		
			//empty Comment
			$(comment).val("");
		}
									
	};
	$.ajax(ajaxOpts);
	
	$.get("/includes/comments/notifier.php",{
		  author: $(username).text(), 
		  comment: $(comment).val(),
		  email: $(".userEmail").val(),
		  thread: boxName,
		  thread_id: s,
		  pageURL: page
	  });
}

$(document).ready(function(){
	//$("a").boxy();				   
						   
	$(".add").click(function(){ adAction($(this)) });
	
	$(".ReplySwitch").bind("click", function(){
		$(this).next().next().slideToggle();
	});
	
	$(".add").attr("disabled","disabled");
	
	$(".comment-box").each(function(){
		var autoID = $(this).attr("id").substr(6);
		autoLoad = $("#cmBox-"+autoID).attr("load");
		if(autoLoad == 1){
			loadCmts(autoID);
			$("#cmBox-"+autoID+" .cmLoading").hide();
		}
	});
		
	$('.leaveComment textarea').keyup(function(){
	   var parent = $(this).parent().parent().attr("id");
	   //alert(parent);
	   		//custome
			value = $(this).val().length;
			
		if( value > 5){
				$("#"+parent+" .add:button").attr("disabled","");
		}else{
			$("#"+parent+" .add:button").attr("disabled","disabled");
		}
		//----
		limitChars( parent+' textarea', 250, parent+' .cmLimiter');
	})
//Authenticate User
	var user = $("#username").text();
	if(validate() == false){
		$(".cmUsername").text("Guess");
		$(".add, .comment-text").attr("disabled", "disabled");
		$(".cmUsername").after("<spam style='color:red;'><strong> - Sorry, Guess cant post comments.</strong></spam>");
		$(".comment-text").val("Please Register or Login to comment");
		$(".comment-text").css({fontSize: "25px", height: "80px"});
		$(".cmLimiter span").show();
	}else{
		$(".cmUsername").text(user)
	}
}); 
