(function(){

  angular.module("heuer.core")
  .directive('socialMedia',socialMediaDirective);

socialMediaDirective.$inject = ["$location","$http"];

function socialMediaDirective($location,$http) {
  return {
	restrict: 'E',
	scope: {
	  mailText: '@',
	  mailSubject: '@',
	  shareText: '@',
	  shareTitle: '@',
	  mobile: '@'
	},
	link:function(scope,ele,attr){
	  
	  // Encode the URL Content
	  scope.shareTitleEncoded = encodeURIComponent(scope.shareTitle);
	  scope.shareTextEncoded = encodeURIComponent(scope.shareText);
	  
	  scope.url = encodeURIComponent($location.$$absUrl);
	  	  
	  // get the short URL
	  /*
	  $http({
		method: 'POST',
		data:{'longUrl':$location.$$absUrl},
		url: 'https://www.googleapis.com/urlshortener/v1/url?key=AIzaSyCipseDfZUkKPiLN7oNL0wz0idUW49oknQ'
	  }).then(function successCallback(response) {
		if(response && response.status == 200 && response.data.id){
		  scope.url = response.data.id;
		}
	  }, function errorCallback(response) {
		// Error ist in dem fall egal. Gibt dann einfach den Normalen URL
	  });
	  */
	  
	  
	  var e = document.createElement("div");
	  e.innerHTML = scope.mailText.replace(/<[^>]+>/gm, '');
	  
	  // TODO: AW 10.05.2016 Hier muss noch der Standard für die IZ festgelegt werden
	  if($location.$$absUrl.indexOf("/news")  != -1){
		scope.cleanedMailText = "Sehr geehrter ,%0a%0dich wollte Sie über diesen Artikel informieren.%0a%0dMit freundlichen Grüßen,%0a%0d%0a%0d%0a%0d==================================================%0a%0d" + e.textContent + "%0a%0d" + scope.url;
	  } else {
		scope.cleanedMailText = "Sehr geehrter ,%0a%0dich wollte Sie über dieses Event informieren.%0a%0dMit freundlichen Grüßen,%0a%0d%0a%0d%0a%0d==================================================%0a%0d" + e.textContent + "%0a%0d" + scope.url;
	  }
	  
	  scope.getTemplate = function() {
		if(scope.mobile == "true"){
		  return '/backend/resources/api/templates/name/sharing.mobile.links/render';
		} else {
		  return '/backend/resources/api/templates/name/sharing.links/render';
		}
	  }
	},
	template:'<div ng-include="getTemplate()"></div>',
  }
}
  
  
}());