var oObservedActions = {};
var iObservedActionsCount = 0;
var sCalled = null;


var sActionInfoContainerId='observeContainer';
var sActionsListContainerId='followupActionsList';
var sActionsContainerId='followupSection_';
var sActionsListSectionTpl='followup_action_sections_tpl';
var sActionsListActionTpl='followup_action_tpl';
var sActionsOverboxId='overObserveActionChoose';

var aNotificationHide = [];
var rNotificationHide = null;
var iToHideIndex = 0;

function getObservedType(sHost,sPath){

	if(empty(sPath)){
		sPath = '';
	}

	if(!empty(sCalled)){
		jQuery.overbox.show('#'+sActionsOverboxId);
		sCalled = sHost+'-'+sPath;
	}
	else{
		sCalled = sHost+'-'+sPath;
	}

	var iObjectId;
	var aHost = sHost.split('.');
	var aPath = sPath.split('/');
	var oObserveData = {
		type:[],
		subject:[]
	};

	if(!empty(aPath)){
		iObjectId = aPath[aPath.length-1].split('.');
		iObjectId = Number(iObjectId[0]);
	}

	if(sHost!=oGlobal.BASE_URL){
		var sSubdomain = aHost[0];

		switch(aHost[1]){
			case 'u':
				oObserveData.type[0] = 'user';
				oObserveData.subject[0] = sSubdomain;
			break;

			case 'o':
				oObserveData.type[0] = 'provider';
				oObserveData.subject[0] = sSubdomain;
			break;

			case 'z':
				oObserveData.type[0] = 'team';
				oObserveData.subject[0] = sSubdomain;
			break;

			default:
				if(sPath.indexOf('grupa')>-1){
					oObserveData.type[0] = 'group';
					oObserveData.subject[0] = iObjectId;
					/*if(oLocation.pathname.indexOf('forum')){
					}
					else if(oLocation.pathname.indexOf('plik')){
					}*/
				}
				else{
					var aCheck = oGlobal.BASE_URL.split('.');
					if(sSubdomain!=aCheck[0]){
						oObserveData.type[0] = 'channel';
						oObserveData.subject[0] = sSubdomain;
						if(sPath.indexOf('posts')>-1){
							oObserveData.type[1] = 'forum';
							oObserveData.subject[1] = iObjectId;
						}
						else if(sPath.indexOf('artykul')>-1){
							oObserveData.type[1] = 'article';
							oObserveData.subject[1] = iObjectId;
						}
					}
				}
			break;
		}
	}
	return oObserveData;
}

function followThisObject(oLocation,bParseConfig){
	if(!oGlobal.LOGGED_IN){
		//look->overlay_login.ctrl.php@143
		var sObjectString = '{hostname:"'+oLocation.hostname+'",pathname:"'+oLocation.pathname+'",}';
		$('#eval_after_overlay_login').val('followThisObject('+sObjectString+')');
			
		jQuery.overbox.show('#overDivLogin');
		$('#lll').focus();
		return false;
	}

	if(bParseConfig===true){
		checkObservedActions();
		$.followup.follow();
		sCalled = null;
		return false;
	}
	else{
		var oObserveData = getObservedType(oLocation.hostname,oLocation.pathname);
		chooseFollowOptions(oObserveData);
		return false;
	}
}

function stopFollowingObject(oLocation){
	var oObserveData = getObservedType(oLocation.hostname,oLocation.pathname);
	$.followup.addToDefaults({
		oObserveData:oObserveData
	});
	$.followup.unfollow();
  return false;
}

function chooseFollowOptions(oObserveData){
	$.followup.addToDefaults({
		oObserveData:oObserveData
	});
	$.followup.getFollowOptions();
	return false;
}

function followSectionsAction(obj){
	if(empty(oObservedActions[obj.value])){
		oObservedActions[obj.value] = {
			follow:true,
			actions:{}
		}
		iObservedActionsCount++;
	}

	if(obj.checked===false){
		$('input[name="section_actions_'+obj.value+'"]')
			.attr({checked:false,disabled:true})
			.each(function(k,v){
				oObservedActions[obj.value]['actions'][v.value] = false;
			});

		oObservedActions[obj.value]['follow'] = false;

		if($('input[name="sections"]').length>0 && $('input:checked[name="sections"]').length==0){
			$('#followup_save').attr({disabled:true});
		}

	}
	else if(obj.checked===true){
		$('input[name="section_actions_'+obj.value+'"]')
			.attr({checked:true,disabled:false})
			.each(function(k,v){
				oObservedActions[obj.value]['actions'][v.value] = true;
			});

		oObservedActions[obj.value]['follow'] = true;

		if($('#followup_save').attr('disabled')){
			$('#followup_save').attr({disabled:false});
		}

	}
};

function followOptionsAction(obj){
	var aName = obj.name.split('_');
	if(empty(oObservedActions[aName[aName.length-1]])){
		oObservedActions[aName[aName.length-1]] = {
			follow:true,
			actions:{}
		}
	}

	oObservedActions[aName[aName.length-1]]['actions'][obj.value] = obj.checked;

	if(obj.checked===false){
		if($('input[name="section_actions_'+aName[aName.length-1]+'"]').length>0 && $('input:checked[name="section_actions_'+aName[aName.length-1]+'"]').length==0){
			$('#options_section_'+aName[aName.length-1]).attr({checked:false});
			followSectionsAction({
				checked:false,
				value:aName[aName.length-1]
			});
		}
	}

}

function checkObservedActions(){
	if(iObservedActionsCount<$('input[name="sections"]').length){
		$('input[name="sections"]').each(function(i,v){
			if(empty(oObservedActions[v.value])){
				oObservedActions[v.value] = {
					follow:true,
					actions:{}
				};
				if(v.checked===false){
					oObservedActions[v.value]['actions'] = null;
				}
				else if(v.checked===true){
					$('input:checked[name="section_actions_'+v.value+'"]').each(function(k,val){
						oObservedActions[v.value]['actions'][val.value] = true;
					});				
				}
			}
		});
	}
}

function markObservedServices(){
	$.followup.getObserved('channel',function(observed){
		$.each(observed,function(k,v){
			$('#'+v.SUBDOMAIN+'_observe_icn').css({
					'background-image':'url(/img/icn_observe_off.png)',
					cursor:'default'
			});

			$('#'+v.SUBDOMAIN)
				.removeClass('observe_service')
				.unbind('click')
				.css({'text-decoration':'none'});
		});
	});
}

