﻿$(document).ready(function() {
	$.extend($.fn.disableTextSelect = function() {
		return this.each(function(){
			if($.browser.mozilla){//Firefox
				$(this).css('MozUserSelect','none');
			}else if($.browser.msie){//IE
				$(this).bind('selectstart',function(){return false;});
			}else{//Opera, etc.
				$(this).mousedown(function(){return false;});
			}
		});
	});

	$.extend($.fn.mousehold = function(timeout, f) {
		if (timeout && typeof timeout == 'function') {
			f = timeout;
			timeout = 20;
		}
		if (f && typeof f == 'function') {
			var timer = 0;
			var fireStep = 0;
			return this.each(function() {
				jQuery(this).mousedown(function() {
					fireStep = 1;
					var ctr = 0;
					var t = this;
					timer = setInterval(function() {
						ctr++;
						f.call(t, ctr);
						fireStep = 2;
					}, timeout);
				})

				clearMousehold = function() {
					clearInterval(timer);
					if (fireStep == 1) f.call(this, 1);
					fireStep = 0;
				}
			
				jQuery(this).mouseout(clearMousehold);
				jQuery(this).mouseup(clearMousehold);
			})
		}
	});

	widget_reload();
});

function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
	{
	c_start=c_start + c_name.length+1;
	c_end=document.cookie.indexOf(";",c_start);
	if (c_end==-1) c_end=document.cookie.length;
	return unescape(document.cookie.substring(c_start,c_end));
	}
  }
return "";
}

Array.prototype.remove = function(from, to) {
  var rest = this.slice((to || from) + 1 || this.length);
  this.length = from < 0 ? this.length + from : from;
  return this.push.apply(this, rest);
};

function widget_reload(next_f)
{
	var url = $("meta[property=og:url]").attr("content");
	var type = $("meta[property=og:type]").attr("content");
	var title = escape($("meta[property=og:title]").attr("content"));
	var username = $("#fhchatname").html();
	var usernamehash = $("#fhchatinfo").html();
	var baseurl;
	if( (document.location.host+"").indexOf("10.0.0.39:1080") >= 0 || (document.location.host+"").indexOf("10.0.0.39:7080") >= 0)
		baseurl = "http://10.0.0.4/Recommendations2/";
	else
		baseurl = "http://recommend.fourhooks.ro/";

	if( !username || username == "")
		username = "";

//	if( username != "pisoias" && username != "Dragosh" && username != "Gina"  && username != "Gruia" && username != "Cristina" && username != "Dragos" && username != "CristinaP" && username != "Caelea" && username != "apoclambda" && username != "VirgilP" && username != "irinaachim" && username != "korinna" && username != "mihaelabarsan" && username != "Metropotam" && username != "xyzdotro" && username != "alinacuzmin" && username != "FourHooks" && username != "Ela" && username != "mihaelabarsan" && username != "tudorik" && username != "Tudorik" && username != "gabiba" && username != "korinna" && username != "nihasa" && username != "dragosgurarosie" && username != "Alecsandra")
//		return;

	$.getJSON( baseurl+"Service.svc/GetStatus?type="+type+"&username="+username+"&url="+url+"&callback=?", function(data) 
	{
		var Actions = data.d.Actions;
		var Users = data.d.Users;
		var UsersNicknames = data.d.UsersNicknames;
		var SummaryMsg = data.d.SummaryMsg;
		var LikeCount = data.d.LikeCount;

		var widget = $("#recommend_widget");
		widget.html("<div class='type_"+type+"'></div><div class='type_bookmark'></div><div class='type_again'></div>");
		widget = $("#recommend_widget div.type_"+type);

		if( data.d.BeenCount > 0 && type != "event")
		{
			var delivery = false;
			for ( var t in data.d.Tags)
				if( data.d.Tags[t] == "delivery" || data.d.Tags[t] == "online")
				{
					delivery = true;
					break;
				}
			if( !delivery)
			{
				if( data.d.BeenCount == 1)
					$("#recommend_widget div.type_again").append( "<span class='been_count_msg'>ai fost aici o data</span>");
				else
					$("#recommend_widget div.type_again").append( "<span class='been_count_msg'>ai fost aici de <span class='count'>"+data.d.BeenCount+"</span> ori</span>");
			} else {
				if( data.d.BeenCount == 1)
					$("#recommend_widget div.type_again").append( "<span class='been_count_msg'>ai comandat de aici o data</span>");
				else
					$("#recommend_widget div.type_again").append( "<span class='been_count_msg'>ai comandat de aici de <span class='count'>"+data.d.BeenCount+"</span> ori</span>");
			}
		}

		for( var i = 0; i < Actions.length; i++)
		{
			if( Actions[i].name == "bookmark")
				widget = $("#recommend_widget div.type_bookmark");
			else
			if( Actions[i].name == "been_again")
				widget = $("#recommend_widget div.type_again");
			else
				widget = $("#recommend_widget div.type_"+type);
			if( Actions[i].done)
			{
				if( type == "event" && Actions[i].name == "been")
				{
					var start_time = parseFloat( $("meta[property=og:start_time]").attr("content"));
				//	alert( Date.parse(new Date())/1000 + " " + start_time);
					if( Date.parse(new Date())/1000 < start_time)
					{
						Actions[i].promptremove = "Nu mai vreau";
						Actions.remove( i+1);
					}
				}
				widget.append( "<span id='action_"+Actions[i].id+"' class='"+Actions[i].name+" set'>"+Actions[i].promptremove+"</span>"); 
				$("#recommend_widget #action_"+Actions[i].id).click(function() {
					var username = $("#fhchatname").html();
					if( !username || username == "")
						username = "";
					if( username == "")
					{
						var href = $(".login_link").attr("href");
						if( href.substring( 0, 11) == "javascript:")
							 eval( href.substring(11));
						else
							window.location = href;
						return;
					}

					var actionname = $(this).attr("class");
					actionname = actionname.substring( 0, actionname.indexOf(" "));
					var params = "username="+username+""; params += "&";
					params += "usernamehash="+usernamehash+""; params += "&";
					params += "actionname="+actionname+""; params += "&";
					params += "url="+url+""; params += "&";
					params += "name="+title+""; params += "&";
					params += "type="+type+""; 
					$.getJSON( baseurl+"Service.svc/ClearAction?"+params+"&callback=?", function(data) 
					{
						clear_like();
						widget_reload();
					});
				});
			} else {
				if( type == "event" && Actions[i].name == "been")
				{
					var start_time = parseFloat( $("meta[property=og:start_time]").attr("content"));
				//	alert( Date.parse(new Date())/1000 + " " + start_time);
					if( Date.parse(new Date())/1000 < start_time)
						Actions[i].prompt = "Vreau sa merg";
				}
				widget.append( "<span id='action_"+Actions[i].id+"' class='"+Actions[i].name+"'>"+Actions[i].prompt+"</span>"); 
				$("#recommend_widget #action_"+Actions[i].id).click(function() {
					if( username == "")
					{
						var href = $(".login_link").attr("href");
						if( href.substring( 0, 11) == "javascript:")
							 eval( href.substring(11));
						else
							window.location = href;
						return;
					}
					var actionname = $(this).attr("class");
					var params = "username="+username+""; params += "&";
					params += "usernamehash="+usernamehash+""; params += "&";
					params += "actionname="+actionname+""; params += "&";
					params += "url="+url+""; params += "&";
					params += "name="+title+""; params += "&";
					params += "source=1"; params += "&";
					params += "type="+type+""; 
					$.getJSON( baseurl+"Service.svc/SetAction?"+params+"&callback=?", function(data) 
					{
						clear_like();
						var c = getCookie( "prompt_count");
						if( c == "") c = "0";
						if( data.d == "ok_show_prompt" && parseInt(c) < 3 && (type == "landmark" && actionname == "been" || type == "movie" && actionname == "seen" || type == "band" && actionname == "like" || actionname == "bookmark"))
						{
							setCookie( "prompt_count", parseInt(c)+1, 15);
							widget_reload( show_like);
						} else
							widget_reload();
					});
				});
			}
		}

		if( Users)
		{
			var suffix = "/#"+type+"-like";

			if( type == "event")
			{
				var start_time = parseFloat( $("meta[property=og:start_time]").attr("content"));
				if( Date.parse(new Date())/1000 < start_time)
				{
					SummaryMsg = SummaryMsg.replace( "Ei au fost", "Ei merg");
				}
			}

			var html = "<div class='users_list'>";
			for( var i = 0; i < Users.length; i++)
				html += "<div"+(i == 0 ? " class='first'":"")+"><a href='http://metropotam.ro/profil/"+Users[i]+suffix+"'><img width='50' height='50' src=' http://avatars.fourhooks.ro/"+Users[i]+".jpg' alt='"+UsersNicknames[i]+"'></a></div>";
			html += "</div>";
			widget = $("#recommend_widget");
			widget.children( ".users").remove();
			if( Users.length > 0)
			{
				if( type != "company")
					widget.append( "<div class='users'><span>"+SummaryMsg+"</span><span class='like_img'>("+LikeCount+")</span>"+html+"</div>");
				else
					widget.append( "<div class='users'><span>"+SummaryMsg+"</span>"+html+"</div>");

				if( Users.length > widget.width() / 60)
				{
					widget.find( ".users .users_list").css( "margin-left", "20px");
					
					widget.children( ".users").append( "<div class='scroll_left'></div><div class='scroll_right'></div>");
					var sl = widget.children( ".users").children(".scroll_left");
					sl.mousehold(function() {
						var users_list = $(this).parent().children( ".users_list");
						var x = parseInt( $(users_list).css("margin-left").replace( "px", ""));
						if( x <= 10)
							x += 10;
						$(users_list).css( "margin-left", x+"px");
					});
					var sr = widget.children( ".users").children(".scroll_right");
					sr.mousehold(function() {
						var users_list = $(this).parent().children( ".users_list");
						var x = parseInt( $(users_list).css("margin-left").replace( "px", ""));
						if( x >= -(Users.length*60-widget.width()))
							x -= 10;
						$(users_list).css( "margin-left", x+"px");
					});
				}
			}
		}

		widget = $("#recommend_widget");
		widget.append( "<br style='clear:both;'/>");

		widget.disableTextSelect();

		if( next_f)
			next_f();
	});
}

function show_like()
{
	var widget = $("#recommend_widget");
	widget.children( "#shape_11").remove();

	var type = $("meta[property=og:type]").attr("content");

	var msg = "";
	if( type == "landmark")
		msg = "Spune-ne daca ai mai fost si in alta parte!";
	else
	if( type == "band")
		msg = "Spune-ne ce trupe iti mai plac!";
	else
	if( type == "movie")
		msg = "Spune-ne ce filme ai mai vazut!";

	widget.children( ".type_bookmark").before( '<div id="shape_11" class="widget_popup_shape_11"><div id="shape_11_top" class="widget_popup_shape_11_top"></div><div id="shape_11_mid" class="widget_popup_shape_11_mid"><div id="spune-ne_daca_ai_mai_fost_si_in_alta_parte" class="widget_popup_spune_ne_daca_ai_mai_fost_si_in_alta_parte">'+msg+'</div><div id="layer_8" class="widget_popup_layer_8"><div id="shape_1_copy_32" class="widget_popup_shape_1_copy_32"><div id="vreau" class="widget_popup_vreau">Vreau</div></div><div id="nu_multumesc" class="widget_popup_nu_multumesc">Nu, multumesc</div><div class="clearer"></div></div></div><div id="shape_11_bottom" class="widget_popup_shape_11_bottom"></div></div>');
	$("#recommend_widget #shape_11 .widget_popup_nu_multumesc").click(function(){
		clear_like();
	});		
	$("#recommend_widget .widget_popup_shape_1_copy_32").click(function(){
		var type = $("meta[property=og:type]").attr("content");
		var username = $("#fhchatname").html();
		window.location = "http://metropotam.ro/profil/"+username+"/#"+type+"-wizard";
	//	alert("a");
	/*	var comment = $("#recommend_widget .like_popup textarea").val();
		var tb = $(".comment_body");
		if( tb.length)
		{
			tb.val( comment);
			if( tb.parents( "form").find("input:submit").length)
				tb.parents( "form").find("input:submit").click();
			else {
				var btn = $(".comment_submit");
				if( btn.attr("href")) {
					var js = btn.attr("href").substring( 11);
					eval(js);
				} else
					btn.click();
			}
		}  */
	});	   
}

function clear_like()
{
	var widget = $("#recommend_widget");
	widget.children( "#shape_11").remove();
}
