$(document).ready(function() {
  $(".articleContainer").each(function() {
    if ($(this).find(".tags").length > 0) {
      $(this).find(".articleTags").text($(this).find(".tags").text());
    }
  });
  if ($('.comment').length >= 1) {
    $('.comment label:not(.checkboxgroup label)').labelOver('over-apply');
  }

  $('.tags').tagify();
  if (window.location.href.indexOf("preview=true") != -1) {
    $("body").addClass("preview");
    $("#adminHeader ul>li:last").addClass("ui-tabs-selected");
  } else {
    $("#adminHeader ul>li:first").addClass("ui-tabs-selected");
  }
});


jQuery.fn.tagify = function() {
	//only in frontend mode not in editmode
	if ($('body.loginMode').length == 0) {
		this.each(function() {
			var words = $(this).text().split(/\b[\s,\.-:;]*/)
			$(this).html("");
			var length = words.length;
			for (var i = 0; i < length; i++) {
				//url is everything before /cid(#) or /tag(TAG)
				var url = document.location.href;
				if (url.indexOf('/cid(') > 0)
					url = url.substr(0, url.indexOf('/cid('));
				if (url.indexOf('/tag(') > 0)
					url = url.substr(0, url.indexOf('/tag('));

				var a = document.createElement("a");
				a.className = "tagLink";
				a.setAttribute("href", url + "/tag(" + words[i] + ")");
				a.innerHTML = words[i];
				$(this).append(a);
				$(this).append(' ');
			}
		});
	}
};

function CheckRequiredField(source, args) {
	if (args.Value.length > 0) {
		args.IsValid = true;
	}
	else {
		args.IsValid = false;
	}
	SetErrorClass(source.controltovalidate, args.IsValid);
}

function CheckEmail(source, args) {
	var elem = document.getElementById(source.controltovalidate);

	if (/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/i.test(elem.value)) {
		args.IsValid = true;
	}
	else {
		args.IsValid = false;
	}

	SetErrorClass(source.controltovalidate, args.IsValid);
}

function CheckCheckBox(source, args) {
	var checkbox = document.getElementById(source.controltovalidate);
	args.IsValid = checkbox.checked;
	
	SetErrorClass(source.controltovalidate, args.IsValid);
}

function SetErrorClass(inputId, isValid) {
	var element = document.getElementById(inputId);
	if (isValid) {
		element.className = element.className.replace(' error', '');
		if (element.className == 'error') {
			element.className = '';
		}
	}
	else {
		element.className = element.className.replace(' error', '') + ' error';
	}
}