/**
Site:	stadiumfrenzy.com
File:	profile.js
Auhtor:	Jeremy
©:		INSPIRE
**/
var curpage = 1;
$(document).ready(function() {

		//===================================================//
		//================ Delete user comment===============//
		//===================================================//
		$(".del_com_nav").livequery("click",function(){
			var brokenstring=$(this).attr("href").split("_");
			var id = brokenstring[1];
			var type = brokenstring[2];
			var icons=' <a title="Confirm" href="#_'+id+'_'+type+'" class="confirmcomdel">Confirm</a> ';
			icons+=' <a title="Cancel" href="#_'+id+'_'+type+'" class="abortcomdel">Cancel</a>';
			$("#del_com_nav_"+id).html(icons);
			return false;
		});

		$(".abortcomdel").livequery("click",function(){
			var brokenstring=$(this).attr("href").split("_");
			var id = brokenstring[1];
			var type = brokenstring[2];
			var icons=' <a title="delete" href="#_'+id+'_'+type+'" class="del_com_nav">Delete</a>';
			$("#del_com_nav_"+id).html(icons);
			return false;
		});

		$(".confirmcomdel").livequery("click",function(){
			var brokenstring=$(this).attr("href").split("_");
			var id_ = brokenstring[1];
			var type_ = brokenstring[2];
			//console.log(id_+' / '+type_);
			if(type_==1){ //delete feed
				var src_= "userfeed";
				$("#feed_"+id_).slideUp();
				save(src_,id_,'delfeed');
			} else {
			if(type_==2){ //delete comment
				var src_= "usercomment";
				$("#conversation_"+id_).slideUp();
				save(src_,id_,'delcom');

			} else {
			if(type_==3){ //delete reply
				var src_= "usercomment";
				$("#reply_"+id_).slideUp();
				save(src_,id_,'delcom');
				var countwrap = $("#reply_"+id_).parent().parent().find("a.reptoggler");
				var count = $(countwrap).text().replace("(","").replace(")","");
				var newcount = Number(count)-1;
				$(countwrap).fadeOut().html("("+newcount+")").fadeIn();
			}
			}}
			return false;
		});

		//===================================================//
		//=============== Delete the promotion ==============//
		//===================================================//
		$('#pmbinbusiness').click(function() {
			$.post("/user/delpromo",{submit: "Confirm"},function(data){
				location.href=data;
			});
	    	return false;
	    })

	    //Asks the user if he is sure he wants to delete the comment
		$('#pmbinbusiness').confirm({
	  		dialogShow:'fadeIn',
	  		dialogSpeed:'medium',
			wrapper: '<a id="pmbinbusiness" class="wizardaction" href="#"></a>',
			 buttons: {
			    wrapper:'<span class="confirmspans"></span>',
			    separator:' / '
			  }
	  	});


	  	//===================================================//
	  	//================== Toggle Replies =================//
	  	//===================================================//
	  	$("a.replytoggler").livequery("click",function(){
			var brokenstring=jQuery(this).attr("href").split("_");
			var comid = brokenstring[1];
			var reptouserid = brokenstring[2];
	  		var repwrap = $(this).parent().parent().parent().find("div.comreplies");
	  		togglereply(comid, reptouserid, repwrap);
	  		return false;
	  	});
	  	$("a.reptoggler").livequery("click",function(){
	  		var repwrap = $(this).parent().parent().parent().find("div.comreplies");
	  		togglereplies(repwrap);
	  		return false;
	  	});

	    jQuery("#reply_txt").livequery("blur",function(){
	    	window.setTimeout(function() {
				jQuery("#replywrap").slideUp(function(){
					jQuery("#replywrap").remove();
				});
			}, 200);
	    });


		//===================================================//
		//================= Load More Feeds =================//
		//===================================================//
		$("#morebtn").livequery("click",function(){
	  		var frags = $(this).attr("href").split("_");
	  		var getuser = frags[1];
	  		var loggeduser = frags[2];
	  		var page = curpage + 1;
	  		curpage++;
	  		loadmore(getuser,loggeduser,page);
	  		return false;
	  	});


		//===================================================//
		//================== Picture Edition ================//
		//===================================================//
		$("#profilelogo").click(function(){
			picturedit();
		});

		jQuery("#profilelogo").hover(
	      function () {
	        jQuery("#chgepichover").show();
	      },
	      function () {
	        jQuery("#chgepichover").hide();
	      }
	    );


		//===================================================//
		//=================== User Ratings ==================//
		//===================================================//
		$(".rating_inc").click(function(){
			var brokenstring=$(this).attr("href").split("_");
			var getuser = brokenstring[1];
			var loggedinuser = brokenstring[2];
			var type = brokenstring[3];
			$("#rating_counts").slideUp(function(){
				$("#rating_counts").html("Your rating has been sent.");
				$("#rating_counts").slideDown();
			});
			$.post("/user/profilepost",{action: "postrating", from: loggedinuser, to: getuser, type: type});
			//alert(getuser+' '+loggedinuser+' '+type);

			return false;
		});
	    //Asks the user if he is sure he wants to reset the ratings
		$('#pmbinratings').confirm({
	  		dialogShow:'fadeIn',
	  		dialogSpeed:'medium',
			wrapper: '<a id="pmbinratings" class="wizardaction" href="#"></a>',
			 buttons: {
			    wrapper:'<span class="confirmspans"></span>',
			    separator:' / '
			  }
	  	});
		$('#pmbinratings').click(function() {
			var brokenstring=$(this).attr("href").split("_");
			var loggedinuser = brokenstring[1];
			$.post("/user/profilepost",{action: "resetratings", from: loggedinuser},function(data){});
	    	return false;
	    })


	    //===================================================//
	    //============ Closes an internal msg prompt ========//
	    //===================================================//
	    $(".closeprompt").live("click",function(){
			var brokenstring=$(this).attr("href").split("_");
			var userid = brokenstring[1];
			var promptid = brokenstring[2];
			//alert(userid+'/'+promptid);
			$.post("/user/profilepost",{action: "closeprompt", user: userid, message: promptid},function(data){
				$("#prompt_"+promptid).slideUp("slow");
			});
	    	return false;
	    });


		//===================================================//
		//======== validates the form to post a comment =====//
		//===================================================//
		$("#formtestimonial").submit(function(){
			var thisval = jQuery("#user_comment_text").val();
			var loggeduser = $("#from").val();
			var getuser = $("#to").val();
			if(thisval.length>1 && loggeduser.length>0 && getuser.length>0){
				jQuery("#formtestimonial").ajaxSubmit(function(data){
					jQuery("#user_comment_text").val("");
					eval("var com = "+data);
					var comdom = gencom(com,getuser,loggeduser);
					jQuery("#comments_wrap").prepend(comdom);

					var d 		= com.POST_DATE.split(" ");
					post_date 	= d[3]+' - '+d[1]+' '+d[0];
					jQuery("#lateststatus").fadeOut().text(com.POST_TEXT+' - '+post_date).fadeIn();
				});
			} return false;
		});


		//===================================================//
		//======== validates the form to post a reply =======//
		//===================================================//
		$(".replyform").livequery("submit",function(){
			var thisval = jQuery("#reply_txt").val();
			var loggeduser = $("#from").val();
			var getuser = $("#to").val();
			if(thisval.length>1 && loggeduser.length>0 && getuser.length>0){
				jQuery(this).ajaxSubmit(function(data){
					jQuery("#reply_txt").val("");
					eval("var com = "+data);
					var comid = com.REPLY_TO;
					var repdom = genreply(com,getuser,loggeduser);
					var comreplies = $("#conversation_"+comid).find("div.comreplies");
					$(comreplies).append(repdom).slideDown();
					var countwrap = $(comreplies).parent().find("a.reptoggler");
					var count = $(countwrap).text().replace("(","").replace(")","");
					var newcount = Number(count)+1;
					$(countwrap).fadeOut().html("("+newcount+")").fadeIn();
				});
			} return false;
		});

		//===================================================//
		//================== Block a user ===================//
		//===================================================//
	     jQuery('#pmblockfan').click(function() {
			var brokenstring=jQuery(this).attr("href").split("_");
			var getuser = brokenstring[1];
			var loggedinuser = brokenstring[2];
			jQuery.post("/user/profilepost",{action: "blockuser", from: loggedinuser, to: getuser});
			$(this).html("User blocked");
	     	return false;
	     });

		//===================================================//
		//================== World cup toggle ===============//
		//===================================================//
	     jQuery('#togglewc').click(function() {
	        jQuery('#worldcup').show();
	     });
	     jQuery('a#togglewc').fancybox({
	        'onClosed':function() {
	            jQuery('#worldcup').hide();
	         }
	     });

		//===================================================//	     
		//============= Icon summary sliding ================//
		//===================================================//
		$('#profile_summary_icons ul li a').click(function(){
			if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
				var $target = $(this.hash);
				$target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
				if ($target.length) {
					var targetOffset = $target.offset().top;
					$('html,body').animate({scrollTop: targetOffset}, 1000,function(){
						$target.animate({
							opacity: 0.25
						},200,function(){
							$target.animate({
								opacity: 1
							},200);
						});
					});
				}
			}
			return false;
		});

		//===================================================//
		//=================== Gallery Qtip ==================//
		//===================================================//	
		$('#profile_summary_icons ul li a').each(function(){
			var t = $(this).attr('title');
			$(this).attr('title','');
			$(this).qtip({
				content: t, // Use the ALT attribute of the area map
				position: { 
					target: 'mouse',
					adjust: { x: 5, y: 0 }
				},
				show: { 
					delay: 0 ,
					effect: { length: 100 }
				}
			});
		});	

  });


//===========================================================================================================================//


	//===================================================//
	//Saves the information modified lively on the profile
	//===================================================//
	function save(src, val, type) {
		//alert("src: "+src+", val: "+val+", type: "+type);
		$.get("/user/editprofile",{data: src, val: unescape(val), type: type }); //make connection
	}


	//====================================================//
	//== Allows the user to modify the field he clicked ==//
	//====================================================//
	function edit(src,data,type){
		data = unescape(data);
		switch(type)
		{
			case'input':
			$("#"+src).html('<input class="text" name="editfiled" id="editfiled" type="text" value="'+unescape(data)+'" onBlur="confirm(\''+src+'\',\''+escape(data)+'\',\''+type+'\')" onkeypress="if (event.keyCode == 13) confirm(\''+src+'\',\''+escape(data)+'\',\''+type+'\')">');
			break;

			case'textarea':
			$("#"+src).html('<textarea name="editfiled" id="editfiled" onBlur="confirm(\''+src+'\',\''+escape(data)+'\',\''+type+'\')" >'+unescape(data)+'</textarea>');
			break;

			default:
			$("#"+src).html(data);
			break;
		}
		$('#editfiled').focus();
		$('#editfiled').select();
	}
	function checkKey(src,data,type)
	{
		if (event.keyCode == 13) { confirm(src,data,type); }
	}
	function confirm(src,data,type){

		i=$('#editfiled').val();
		//if(i==escape('')){ i=unescape(data); }

		//alert("i"+i);
		var data2 = i.replace(/([^>])\n/g, '$1<br>');
		data2=escape(data2);
		i=escape(i);

		$('#'+src).html('<span class="" onClick="edit(\''+src+'\',\''+i+'\',\''+type+'\')">'+unescape(data2)+'</span>');
		save(src,data2,'live');
		//alert(src);
	}


	//===================================================//
	//======== Toggle the "change picture" span =========//
	//===================================================//
	function picturedit() {$('#promologo').toggle(); }


	//====================================================//
	//== Loads a page of comments on the user's profile ==//
	//====================================================//
	function loadmore(getuser,loggeduser,page){
		var loading= '<img id="wallloading" src="/public/_layout/icon_set/loading_small.gif" alt="loading" style="border: none;"/>'
		$("#comment_module_wrap").append(loading);
	 	$.post("/user/profilepost", { action: 'getnextwallpage', getuser: getuser, page: page },
			function(data){
				var com="<hr />"; var replies=""; var cpt = 0;
				$.each(data, function(i,item){
					post_cat 	= item.POST_CAT;
					if(post_cat==1){
						com+=genfeed(item,getuser,loggeduser);
					} else {
					if(post_cat==2) {
						com+=gencom(item,getuser,loggeduser);
					}}
					cpt++;
				});
				$("#morebtnwrap").before(com);
				$("#wallloading").remove();
				if(cpt<10){ //No more posts
					$("#morebtnwrap").remove();
				}
			},"json"
		);
	}


	//===================================================//
	//=================== Toggle Replies ================//
	//===================================================//
	function togglereplies(repwrap){
		var repwrapstyle = $(repwrap).css("display");
		if(repwrapstyle=="block"){
			$(repwrap).slideUp("slow");
		} else {
			jQuery(repwrap).slideDown();
		}
	}
	function togglereply(comid, reptouserid, repwrap){
		if(jQuery('#reply_txt').length==0){
			var formaction = jQuery("#formtestimonial").attr("action");
			var cardlink = jQuery("#cardlinkwrap").html().replace("44_44","25_25");
			var to = jQuery("#to").val()
			var from = jQuery("#from").val();
			var comform=''
			+'<div id="replywrap" class="comreplies">'+"\n"
			+'<form class="replyform" action="'+formaction+'" method="post" >'+"\n"
				+'		<div class="span-2 last" id="cardlinkwrap">'+cardlink+'</div>'+"\n"
				+'<div class="span-12 last">'+"\n"
					+'			<input type="hidden" name="to" value="'+to+'"/>'+"\n"
					+'			<input type="hidden" name="from" value="'+from+'"/>'+"\n"
					+'			<input type="hidden" id="replyto" name="replyto" value="'+comid+'"/>'+"\n"
					+'			<input type="hidden" id="replytouser" name="replytouser" value="'+reptouserid+'"/>'+"\n"
					+'<input type="hidden" id="action" name="action" value="postcomment"/>'+"\n"
					+'<textarea id="reply_txt" name="user_comment_text" class="reply_txt" rows="2"></textarea>'+"\n"
				+'</div>'+"\n"
				+'<div class="span-2 last"><input type="submit" value="Post" class="button" /></div>'+"\n"
			+'</form>'+"\n"
			+'</div>';+"\n"
			jQuery(repwrap).append(comform);
			jQuery(repwrap).slideDown();
			jQuery("#replywrap").show();
			jQuery('#reply_txt').focus();
		} else {
			jQuery("#replywrap").slideUp(function(){
				jQuery("#replywrap").remove();
			});
		}
	}

	//===================================================//
	//================= Com generated DOM ===============//
	//===================================================//
	function gencom(item,getuser,loggeduser){
		post_id 	= item.POST_ID;
		post_userid = item.USER_ID;
		post_text 	= item.POST_TEXT;
		post_cat 	= item.POST_CAT;
		post_type 	= item.FEED_TYPE;
		var d 		= item.POST_DATE.split(" ");
		post_date 	= d[3]+' - '+d[1]+' '+d[0];
		post_promo 	= item.PROMOTION_TITLE;
		post_fname 	= item.USER_FIRST_NAME;
		post_lname 	= item.USER_LAST_NAME;
		pic 		= item.PICTURE.split("/");
		post_pic 	= '/public/_userfiles/cache/44_44/'+pic[4];
		var repcount=0; var replies="";
		if(typeof(item.USER_COMMENT_REPLIES)!="undefined"){
			post_replies = item.USER_COMMENT_REPLIES;
			$.each(post_replies, function(j,reply){
				replies+=genreply(reply,getuser,loggeduser);
				repcount++;
			});
		}

		com="\n"
		+'<div id="conversation_'+post_id+'" class="conversationwrap span-20 last">'
			+'<div class="profile_post span-20 last">'

				+'<div class="span-2">'
					+'<a id="card_'+post_userid+'" href="/user/profile/id/'+post_userid+'" class="card_link" cardid="'+post_userid+'">'
					+'<img src="'+post_pic+'" alt="'+post_promo+'" />'
					+'</a>'
				+'</div>'
				+'<div class="span-1">&nbsp;</div>'
				+'<div class="span-17 last" id="comments_box_'+post_id+'">'
					+'<div class="combox">'
						+'<div class="com_right">'
							+'<div>'+post_text+'</div>'
						+'</div>'
						+'<div class="com_foot">'
							+'<div class="com_foot_left">'
								+'<a class="replytoggler" href="#_'+post_id+'_'+post_userid+'">Reply</a> - '
								+'<a class="reptoggler" href="#">('+repcount+')</a>';
								if(getuser==loggeduser || loggeduser==post_userid){ com+' - <span id="del_com_nav_'+post_id+'" class="del_com_nav_wrap"><a class="del_com_nav" href="#_'+post_id+'_2">Delete</a></span>';}
							com+='</div>'
							+'<div class="com_foot_right"><strong><a href="/user/profile/id/'+post_userid+'">'+post_promo+'</a></strong> - '+post_date+'</div>'
						+'</div>'
						+'<div class="comboxarrow">&nbsp;</div>'
						+'<div class="comreplies">'
							+replies
						+'</div>'
					+'</div>'
				+'</div>'
			+'</div>'
		+'</div>'
		+"\n";
		return com;
	}


	//===================================================//
	//================ Feed generated DOM ===============//
	//===================================================//
	function genfeed(item,getuser,loggeduser){
		post_id 	= item.POST_ID;
		post_userid = item.USER_ID;
		post_text 	= item.POST_TEXT;
		post_cat 	= item.POST_CAT;
		post_type 	= item.FEED_TYPE;
		var d 		= item.POST_DATE.split(" ");
		post_date 	= d[3]+' - '+d[1]+' '+d[0];

		feed="\n"
		+'<div id="feed_'+post_id+'" class="span-20 last profile_post">'
			+'<div class="span-3">&nbsp;</div>'
			+'<div class="span-1 feed_type_img feed_type_'+post_type+'">&nbsp;</div>'
			+'<div class="span-16 last">'
				+'<div>'
					+post_text+' - '+post_date;
					if(getuser==loggeduser){ feed+=' - <span id="del_com_nav_'+post_id+'" class="del_com_nav_wrap"><a class="del_com_nav" href="#_'+post_id+'_1">Delete</a></span>'; }
				feed+='</div>'
			+'</div>'
		+'</div>'
		+"\n";
		return feed;
	}

	//===================================================//
	//================ Reply Generated DOM ==============//
	//===================================================//
	function genreply(reply,getuser,loggeduser){
		reply_id 	= reply.POST_ID;
		reppic 		= reply.PICTURE.split("/");
		reply_pic 	= '/public/_userfiles/cache/25_25/'+reppic[4];
		var rd 		= reply.POST_DATE.split(" ");
		reply_date 	= rd[3]+' - '+rd[1]+' '+rd[0];
		reply_text 	= reply.POST_TEXT;
		reply_promo = reply.PROMOTION_TITLE;
		reply_fname = reply.USER_FIRST_NAME;
		reply_lname = reply.USER_LAST_NAME;
		reply_to 	= reply.REPLY_TO;
		reply_userid = reply.USER_ID;

		repdom="\n"
		+'<div class="com_reply" id="reply_'+reply_id+'">'
			+'<div class="span-2 last">'
				+'<a id="card_'+reply_userid+'" href="/user/profile/id/'+reply_userid+'" class="card_link" cardid="'+reply_userid+'">'
				+'<img src="'+reply_pic+'" alt="'+reply_promo+'" />'
				+'</a>'
			+'</div>'
			+'<div class="span-13 last">'
				+reply_text
				+'<div class="replyfoot">'
					+'<strong><a href="/user/profile/id/46">'+reply_promo+'</a></strong> - '+reply_date;
					if(getuser==loggeduser || loggeduser==reply_userid){ repdom+=' - <span id="del_com_nav_'+reply_id+'" class="del_com_nav_wrap"><a class="del_com_nav" href="#_'+reply_id+'_3">Delete</a></span>'; }
				repdom+='</div>'
			+'</div>'
		+'</div>'
		+"\n";
		return repdom;
	}


