
function flapoutArticle(uuid) {
	var $foDiv = $('#fo-'+uuid);
	var $foBtn = $('#fobtn-'+uuid);
	if(!$foDiv.is(':visible')) {
		$foDiv.slideDown();
		$foBtn.fadeOut();
	} else {
		$foDiv.slideUp();
		$foBtn.fadeIn();
	}
}

// ###################################################################
// ## NAMESPACE														##
// ###################################################################


//############################ #######################################
//## Switch radiobuttons    corrections/advertisers form            ##
//###################################################################

jQuery.noConflict();
(function($){
	
	$(document).ready(function(){
	    $('input.books')
	    .attr('checked','checked')
	    .click(function(){
	      $('#ads').slideUp('normal', function(){
	        $('#books').slideDown('normal');
	      });
	      
	    });

	    $('input.ads').click(function(){
	      $('#books').slideUp('normal', function(){
	        $('#ads').slideDown('normal');
	      });
	    });

	    $('input.books').attr('checked','checked');
	    $('#books').show()
	    if(document.correctionform){
		    document.correctionform.chkValueTwo.value="checked";
			document.correctionform.chkValueTwoSel.value = 'unchecked' ;
	    }
	    
	  });
	
	$(".js-checkbox-group").each(function(){
		
		var msgEN = "Select at least one of the options";
		var msgDK = "Select at least one of the options";
		
		var msg = /^(?:da)/i.test(lang) ? msgDK : msgEN;
		
		var group	= $("input[type=checkbox]", this);
		
		if(!$(this).data("ATTENTIONIMG")) {
			$(this).data("ATTENTIONIMG",$("<img src='"+contextPath+"/docroot/images/attentie_red_ico.gif' />").css({
				"position" : "absolute",
				"left" : "189px",
				"top" : "0",
				"width" : "16px",
				"height" : "15px"
			}));
			$(this).append($(this).data("ATTENTIONIMG"));
			$(this).data("ATTENTIONIMG").hide();
			$(this).data("ATTENTIONIMG").attr("alt",msg);
		}
		
		$(this).data("ATTENTIONIMG").mouseover(function(e){
			NetEffect.formToolTip.showTip(e);
		}).mouseout(function(e){
			NetEffect.formToolTip.hideTip(e);
		});
		
		var self 	= this;
		/*
		$(this).closest("form").submit(function() {
			for(var i=0;c; c=group[i];i++){
				if(c.checked){
					$(self).data("ATTENTIONIMG").hide();
					return true;
				}
			}
			
			$(self).data("ATTENTIONIMG").show();
			
			return false
		});
		*/
	})
	
})(jQuery);
  
 //###################################################################
//## Switch radiobuttons technical errors form             		    ##
//###################################################################
hideFields();
function hideFields()
{
	if(document.techform){
	    if(document.techform.type[6].checked)
	    {
	        document.getElementById('system').style.display = "";
	        document.getElementById('phone').style.display = 'none';
	    }
	    else
	    {
	        document.getElementById('system').style.display = 'none';
	        document.getElementById('phone').style.display = "";
	    }
	}
}

//###################################################################
//## Clear form category field static form				           ##
//###################################################################

function clear(name) {
    if(name == "category_2") {
      document.forms.update_form.category_2.value = "";
    }
  }

//###################################################################
//## Check checkboxen									           ##
//###################################################################


function checkCheckBoxes() {
	if (document.contact_representative.CHKBOX_1.checked == false &&
		document.contact_representative.CHKBOX_2.checked == false)
	{
		alert ('You didn\'t choose any of the checkboxes!');
		return false;
	}
}

function bookOrInternet() {
	if (document.getElementById('book').checked == false &&
		document.getElementById('internet').checked == false)
	{
		return false;
	}
	
	return true;
}

function checkCheckBoxes_pl() {
	if (document.contact_representative.CHKBOX_1.checked == false &&
		document.contact_representative.CHKBOX_2.checked == false)
	{
		alert ('You didn\'t choose any of the checkboxes maar dan in het pools!');
		return false;
	}
}

/**
 * rewritten prototype form validator in jQuery
 * @param {Object} $
 * @author Daniel Daxl
 */
jQuery(document).ready(function($) {
	$("form.js-validator").each(function(){
		var errorMessages = {
			// English
			"js-validate-string-en" : "Use only text here.",
			"js-validate-notempty-telephone-en" : "Telephone or mobile is a required field.",
			"js-validate-notempty-mobile-en" : "Mobile or telephone is a required field.",
			"js-validate-number-en" : "Use numeric values only.",
			"js-validate-email-en" : "Please fill out a valid email address",
			"js-validate-url-en" : "Please fill out a valid web address",
			"js-validate-select-en" : "Select at least one of the options.",
			"js-validate-radio-en" : "Select one of the options",
			"js-validate-notempty-en" : "This is a required field.",
			"js-validate-number2-en" : "Use numeric values only.",
			"js-validate-captcha-true-en" : "Input doesn't match.",

			// mediatel
			'js-validate-ico-en': 		'Please enter a numeric value',
			'js-validate-ico-cs': 		'IČO společnosti musí být vyplněno, pokud jej nemáte napište "nemám".',
			'js-validate-ico-sk': 		'IČO spoločnosti musí byť vyplnené. Ak ho nemáte napíšte "nemám".',
			'js-validate-number-cs': 	'Zadejte telefonní číslo.',
			'js-validate-number-sk': 	'Zadajte telefónne číslo.',
			'js-validate-notempty-cs': 	'Zadejte',
			'js-validate-notempty-sk': 	'Zadajte',

			// polish
			"js-validate-string-pl" : "Użyj tylko tekst",
			"js-validate-number-pl" : "Użyj tylko wartości liczbowe.",
			"js-validate-email-pl" : "Wstaw prawidłowy adres e-mail",
			"js-validate-select-pl" : "Wybierz przynajmniej jedną z opcji",
			"js-validate-radio-pl" : "Wybierz jedną z opcji",
			"js-validate-notempty-pl" : "To pole jest wymagane",
			"js-validate-number2-pl" : "Użyj tylko wartości liczbowe.",
			
			// english again
			"js-validate-notempty-browser-en" : "Browser is a required field",
			"js-validate-notempty-OS-en" : "Operating system is a required field.",
			"js-validate-notempty-description-en" : "Description of patch is a required field.",
			"js-validate-notempty-name-en" : "Name is a required field.",
			"js-validate-notempty-address-en" : "Address is a required field.",
			"js-validate-postalcode-en" : "Postal code is required and must consist of 4 or 5 digits.",
			"js-validate-notempty-city-en" : "City is a required field.",
			"js-validate-notempty-e-mail-en" : "e-mail is a required field.",
			"js-validate-notempty-reason-for-referral-en" : "Reason-for-referral is a required field.",
			"js-validate-notempty-your-idea-or-comment-en" : "Your-idea-or-comment is a required field.",
			"js-validate-notempty-digits-telephone-en" : "Telephone is a required field and must consist 8 digits",
			"js-validate-notempty-branche-en" : "Line of trade is a required field",
			
			// danish
			"js-validate-notempty-browser-dk" : "Du skal indtaste hvilken browser du bruger(f.eks internet explorer 6.0)",
			"js-validate-notempty-OS-dk" : "Du skal indtaste hvilket operativsystem du benytter(f.eks Windows XP)",
			"js-validate-notempty-description-dk" : "Du skal komme med en beskrivelse af en evt. fejl ",
			"js-validate-notempty-name-dk" : "Du skal indtaste dit navn",
			"js-validate-notempty-address-dk" : "Du skal indtaste din adresse",
			"js-validate-notempty-postalcode-dk" : "Du skal indtaste dit postnummer",
			"js-validate-notempty-city-dk" : "Du skal indtaste den by du bor i",
			"js-validate-notempty-e-mail-dk" : "Du skal indtaste din email adresse",
			"js-validate-notempty-telephone-dk" : "Du skal indtaste dit telefonnummer",
			"js-validate-notempty-mobile-dk" : "Du skal som minimum indtaste dit telefonnummer eller dit mobilnummer",
			"js-validate-notempty-reason-for-referral-dk" : "Du skal komme med en beskrivelse af den rettelse du ønsker foretaget",
			"js-validate-notempty-your-idea-or-comment-dk" : "Du skal komme med en beskrivelse af den rettelse du ønsker foretaget",
			"js-validate-email-dk" : "Du skal indtaste din email adresse",
			"js-validate-string-dk" : "Du skal indtaste den by du bor i",
			"js-validate-postalcode-dk" : "Du skal indtaste dit postnummer",
			"js-validate-notempty-digits-telephone-dk" : "Du skal som minimum indtaste dit telefonnummer",
			"js-validate-notempty-branche-dk" : "Du skal indtaste din branche",
			
			// swedish
			"js-validate-notempty-sv": "Obligatorisk"
		};
		
		var validators = {
			"errors" : 0,
			"isText" : function(value){
				return /\D/.test(value) ? true : false;
			},
			"isNumber" : function(value){
				return !isNaN(value);
			},
			"isEmail" : function(value){
				if(value) {
					if(!/[@]/.test(value)) return false;
					var bits = value.split("@");
					if(bits.length > 2 || bits.length <= 1) return false;
					if(!bits[1].include(".") && !/\D/.test(bits[1].split(".").last()) ) return false;
					return true;
				}
				return true;
			},
			"isUrl" : function(value) {
				var tomatch = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
		     	if(value) {
					if (tomatch.test(value)) return true;
					return false;
				}
				return true;
			},
			"isEmpty" : function(value) {
				return value.replace(/\s/gi,"").length == 0 ? true : false;
			},
			"isRadioSelected" : function(control) {
				var n = $(control).getAttribute("name");
				var els = $("input[name="+n+"]");
				for(var i=0;i<els.length;i+=1)
					if($F(els[i])) return true;
				return false;
			
			},	
			"isPhoneNumber" : function(value) {
				return isNaN(value);
			},
			"isLength" : function(value, min, max) {
				if(!isNaN(min) && value.length < min)
					return false;
				if(!isNaN(max) && value.length > max)
					return false;
				return true;
			},
			"setValid" : function(obj) {
				$('img.' + $(obj).attr('name')).remove();
			},
			"setInvalid" : function(obj) {
				var label = '', t;
				$('img.' + $(obj).attr('name')).remove();
				validators.errors++;
				for(var pattern in errorMessages) {
					if (obj.hasClass(pattern)) label = errorMessages[pattern];
				}
				
				var img = new Image();
				img.src = contextPath+"/docroot/images/attentie_red_ico.gif";
				img.title = label;
				$(img).addClass("warning " + $(obj).attr('name'));
				$(img).css(
					{
					"position" : "relative",
					"float!" : "left",
					"margin" : "3px 0 0 -22px",
					"width" : "16px",
					"height" : "15px"
					}
				);
				$(img).hover(function(e) {
					this.t = $(img).attr('title');
					img.title = '';
					$(img).after('<p class="tooltip">' + this.t + '</p>');
					$("p.tooltip").css("top",(e.pageY - 10) + "px").css("left",(e.pageX + 20) + "px").fadeIn("fast");		
				}, function() {
					img.title = this.t;
					$('p.tooltip').remove();
				});
				$(obj).before(img);	
			}
		}
		
		$(this).bind("submit", function() {
			var formArray = $(this).serializeArray(), list = $(this)[0];
			validators.errors = 0;
			for(var i =0, len = list.length; i<len; i++) {
				var o = $(list[i]), v = o.val();

				if(o.hasClass("js-validate-string-en")) 	( validators.isText(v) && !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-number-en"))		( validators.isNumber(v) && !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-email-en"))		( validators.isEmail(v))	? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-select-en"))		( !validators.isEmpty(v)) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-radio-en"))		( validators.isRadioSelected(o)) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-en")) 	( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-sv")) 	( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-number2-en")) 	( !validators.isPhoneNumber(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-url-en")) 		( validators.isUrl(v) ) ? validators.setValid(o) : validators.setInvalid(o);
	
				if(o.hasClass("js-validate-ico-en"))		( validators.isNumber(v) && !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-ico-cs"))		( validators.isNumber(v) && !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-ico-sk"))		( validators.isNumber(v) && !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-string-cs")) 	( validators.isText(v) && !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-string-sk")) 	( validators.isText(v) && !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-number-cs"))		( validators.isNumber(v) && !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-number-sk"))		( validators.isNumber(v) && !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-cs")) 	( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-sk")) 	( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
					
				if(o.hasClass("js-validate-notempty-browser-en"))				( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-OS-en"))					( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-description-en"))			( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-name-en"))					( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-address-en"))				( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-postalcode-en"))						( !validators.isEmpty(v) && validators.isLength(v,4,5) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-city-en"))					( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-e-mail-en"))				( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-telephone-en"))				( !validators.isEmpty(v) && validators.isLength(v,8) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-mobile-en"))				( !validators.isEmpty(v) && validators.isLength(v,8) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-reason-for-referral-en"))	( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);	
				if(o.hasClass("js-validate-notempty-your-idea-or-comment-en"))	( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);			
				if( o.hasClass("js-validate-notempty-digits-telephone-en") )	( !validators.isEmpty(v) && validators.isLength(v,8) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-branche-en"))				( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);	
					
				if(o.hasClass("js-validate-notempty-browser-dk"))				( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-OS-dk"))					( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-description-dk"))			( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-name-dk"))					( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-address-dk"))				( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-postalcode-dk"))						( !validators.isEmpty(v) && validators.isLength(v,4,5) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-city-dk"))					( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-e-mail-dk"))				( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-telephone-dk"))				( !validators.isEmpty(v) && validators.isLength(v,8) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-mobile-dk"))				( !validators.isEmpty(v) && validators.isLength(v,8) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-reason-for-referral-dk"))	( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-your-idea-or-comment-dk"))	( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);	
				if(o.hasClass("js-validate-notempty-digits-telephone-dk"))		( !validators.isEmpty(v) && validators.isLength(v,8) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-email-dk"))							( validators.isEmail(v)) ? validators.setValid(o) : validators.setInvalid(o);	
				if(o.hasClass("js-validate-string-dk"))							( validators.isText(v) && !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);	
				if(o.hasClass("js-validate-notempty-branche-dk"))				( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);		
		
				if(o.hasClass("js-validate-string-pl"))		( validators.isText(v) && !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);	
				if(o.hasClass("js-validate-number-pl"))		( validators.isNumber(v) && !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-email-pl"))		( validators.isEmail(v)) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-select-pl"))		( !validators.isEmpty(v)) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-radio-pl"))		( validators.isRadioSelected(o)) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-notempty-pl"))	( !validators.isEmpty(v) ) ? validators.setValid(o) : validators.setInvalid(o);
				if(o.hasClass("js-validate-number2-pl"))	( !validators.isPhoneNumber(v) ) ? validators.setValid(o) : validators.setInvalid(o);
			}
			if (validators.errors > 0) return false;
			return true;			
		});
	});
});
