var $j = jQuery.noConflict();

function Trim(value) {
    value = value.replace(/^\s+/, '');
    value = value.replace(/\s+$/, '');
    return value;
}

jQuery.fn.labelify = function (c) { c = jQuery.extend({ text: "title", labelledClass: "" }, c); var d = { title: function (a) { return Trim(jQuery(a).attr("title")) }, label: function (a) { return Trim(jQuery("label[for=" + a.id + "]").text()) } }; var e; var f = jQuery(this); return jQuery(this).each(function () { if (jQuery(this).val() != '') return; if (typeof c.text === "string") { e = d[c.text] } else { e = c.text }; if (typeof e !== "function") { return } var a = e(this); if (!a) { return } jQuery(this).data("label", e(this).replace(/\n/g, '')); jQuery(this).focus(function () { if (this.value === jQuery(this).data("label")) { this.value = this.defaultValue; jQuery(this).removeClass(c.labelledClass) } }).blur(function () { if (this.value === this.defaultValue) { this.value = jQuery(this).data("label"); jQuery(this).addClass(c.labelledClass) } }); var b = function () { f.each(function () { if (this.value === jQuery(this).data("label")) { this.value = this.defaultValue; jQuery(this).removeClass(c.labelledClass) } }) }; jQuery(this).parents("form").submit(b); jQuery(window).unload(b); if (this.value !== this.defaultValue) { return } this.value = jQuery(this).data("label"); jQuery(this).addClass(c.labelledClass) }) };

/* Creëer wrapper voor buttons */
function createButton(){
	if($j('.button-container, .categorybutton, .linkbutton, .addjobreactionblock').size() > 0){
		
		var a = $j('.mailafriendblock a').length;
		$j('.categorybutton,  .jobreactionblock a, .topmenu .linkblock a.linkbutton, .addjobreactionblock .button-container input').not($j('.agreewithprivacystatement a')).each(function(){
			var button = this;
			var selected = '';
			if(button.type != 'hidden'){
				if( $j(button).hasClass('selected')){
					selected = 'selected';
					$j(button).attr("disabled", "");
				}
					
				if( $j(button).hasClass('inactive')){
					selected = 'inactive';
					$j(button).attr("disabled", "");
				}
					
				$j(button).wrap('<span class="candywrapper ' + selected + '"></span>');
				
			} else {
				$j(button).css('display','none');
			}
		});
	}
}

function createForms(){
	if( $j('.small_loginblock, .surveycontainer, .loginmodule, .addeventblock, .signupblock, .taggrouplistsearchblock ,.jobreactionblock').length > 0){
		$j('.small_loginblock, .surveycontainer, .loginmodule, .addeventblock, .signupblock, .taggrouplistsearchblock').not($j('.stage .surveycontainer, .beurs .surveycontainer')).wrap('<div class="blueform" />');
		
		$j('.jobreactionblock .formholder').parent().wrap('<div class="blueform" />');
		
		$j('.login_panel_small .login_panel_remember_radios').parent().prev().addClass('linksradios');
	}
	$j('input:checkbox, .input-select, .beurs .input-radio, .stage .input-radio, .itemsperpage select, .sorting select, .distanceselect select, .taggrouplistsearchblock select, .youropinionreport select, .viewoptions select, .addjobreactionblock select').not('.searchLeft .input-select, .input-transfer, .youropinionrating input, .blue input').richFormElement({ selectOptionBorder: 1, selectTextbarBorder: 8 });
			
	$j('.searchLeft .input-select').richFormElement({ selectOptionBorder: 1, selectTextbarBorder: 8, selectVisOptions: 2.5 });
	
	if( $j('.addjobreactionblock .birthday').length > 0){
		$j('.addjobreactionblock .birthday .richForm_dropdown').each( function(e){
			$j(this).addClass('drop' + e);
		});
		$j('.addjobreactionblock .birthday').append('<div class="clear"></div>');
	}
}

function changeSearchresult(){
	if( $j('#vacright .searchresultsblock').length > 0){
		var htmlPage = '';
		
		if($j('#vacright .searchresultsblock .paging').length > 0)
			htmlPage = $j('#vacright .searchresultsblock .paging').html();
		else
			$j('ul.results li:last').addClass('last');
		
		$j('#vacright .searchresultsblock>.detail').after('<div class="pagerBar">' + htmlPage + '<div class="clear"></div></div>' );
		$j('#vacright .searchresultsblock .pagerBar').append(  $j('#vacright .searchresultsblock .rssbuttonholder') );
		
		if( $j('#vacright .mailagentblock').length > 0){
			$j('#vacright .searchresultsblock .pagerBar').append(  $j('#vacright .searchresultsblock .rssbuttonholder,#vacright .mailagentblock'));
			$j('#vacright .searchresultsblock .pagerBar .rssbuttonholder a').addClass('extra');
		}
		else{
			$j('#vacright .searchresultsblock .pagerBar').append(  $j('#vacright .searchresultsblock .rssbuttonholder') );
		}
		
		$j('#vacright .searchresultsblock .pages a.selected').after('<span class="endcap"></span>');
	}
	
	if( $j('#vacleft .searchresultsblock').length > 0){
		$j('#vacleft .searchresultsblock').wrapInner('<div class="middle" />');
		$j('#vacleft .searchresultsblock').prepend('<div class="top"></div>');
		$j('#vacleft .searchresultsblock').append('<div class="bottom"></div>');
	}
}

function activateFaq(){
	if( $j('#faq').size() > 0 ){
	
		var allHeights = [];
	
		$j('#faq .plain-text').each( function(e){
			allHeights[e] = String( $j(this).height());
		});
	
		$j('#faq .plain-text').hide();
		$j('#faq .plain-text').animate({height: "0px"}, { queue:false, duration:0, easing: "linear" });
		
		$j('#faq h2').each( function(e){
			var index = e;
			$j(this).click( function(){
				$j('#faq .plain-text').hide();
				$j('#faq h2').removeClass('open');
				$j('#faq .plain-text').height(0);
			
				$j('#faq .plain-text').eq(index).show().animate({height: allHeights[index] + "px"}, { queue:false, duration:400, easing: "linear" });
				$j(this).addClass('open');
			});
		});
		$j('#faq h2:last').addClass('last');
	}
}

function editSearchHeader(){
	if( $j('#vacright .searchresultsblock').length > 0){
		var resultText = $j('#vacright .searchresultsblock .detail').text();

		resultText = resultText.slice( resultText.indexOf('van') + 3, resultText.length);
	
		$j('#vacright .searchresultsblock h2').text(resultText + ' vacatures gevonden');
	}
}

function jobDetailPage(){
	if( $j('.vacdetail .sollicitatie .jobreactionblock').length > 0){
		$j('.detailsquare .middle').append(	$j('.vacdetail .sollicitatie .jobreactionblock').html()); 
	}
	if( $j('.vacdetail #consultant').length > 0){
		var consultant = $j('.vacdetail #consultant');
		var contact = $j('.vacdetail .contactblock');
		
		$j('.contactimage').append( $j('.image', consultant));
		$j('h5', contact).append( $j('.title', consultant).text());
		$j('p', contact).append( $j('.text', consultant).text());
		$j('.name', contact).append( $j('.name', consultant).text());
		$j('.tel', contact).append( $j('.tel', consultant).text());
		$j('.mail', contact).append( $j('.mail', consultant).html());
		
		if( $j('.image', consultant).hasClass('nophoto')){
			 $j('.contactinfo', contact).addClass('nophoto')
		}
	}
	
	if($j('.stage .jobreactionblock').length > 0){
		$j('.detailsquare .middle').append($j('.stage .jobreactionblock').html()); 
	}
	
}

function applyGenderDropdown(){
	if( $j('.addjobreactionblock .gender').length > 0){
		var genderDiv = $j('.addjobreactionblock .gender');
		$j('ul', genderDiv).hide();
		$j('div:first', genderDiv).addClass('gendercon').after('<div class="clear"></div>');
		
		$j('ul', genderDiv).before('<select id="gender"></select>');
		
		var genderSelect;
		
		$j('li label', genderDiv).each( function(e){
			genderSelect += '<option value="' + e + '">' + $j(this).text() + '</option>';
		});

		
		$j('#gender').html(genderSelect);
	}
}

function createThemePage(){
	if( $j('.themabg').length > 0 ){
		$j('.themabg .filedisplayblock h2').wrap('<div class="themeheader" />');
		
		$j('.p_industrie .plain-text').jScrollPane();
		
		$j('.p_blog ul').wrap('<div id="blogwrapper"/>');
		$j('.p_vacatures ul').wrap('<div id="vacwrapper"/>');
		
		$j('#blogwrapper').jScrollPane();
		$j('#vacwrapper').jScrollPane();
	}
	
	if($j('.stage').length > 0){
		$j('#contentmain').jScrollPane();
	}	
}

$j("#header .input-text").labelify({ text: "label", labelledClass: "labeled" });

$j('.reactions li:even').addClass('even');

if($j('.reactionhead').length > 0){
	$j('.reactions li').each(function(){
		var t = $(this);
		var r = $j('.reactionhead', t)
		var p = $j('.poster', t);
		r.prepend(p);
	});
}

function blogHref(){
	if($j('.p_blog').size() > 0){
		$j(".p_blog .article a").each(function(index){
		var href = $j(this).attr("href");
		var newhref = "/" + href.split('/')[2] + "/" + href.split('/')[4] + "?articleid=" + href.split('/')[3];
		$j(this).attr("href", newhref);
		});	
	}
}

function checkPage(){
	if($j('#contentmain .htmlblock').length > 0 && $j('.paging').length > 0){
		$j('.searchresultsblock').each(function(){
			var t = $j(this);
			var p = $j('.paging', t);
			var h = $j('#contentmain .htmlblock');
			
			p.prepend(h);
		});
	}
}

checkPage();
createButton();
blogHref();
applyGenderDropdown();
createForms();
changeSearchresult();
activateFaq();
editSearchHeader();
jobDetailPage();
createThemePage();

$j('#leftcolumn h2:first').addClass('first');
$j('.page #leftcolumn .block-output:last').not('.socials .block-output').addClass('last');
$j('#rightcolumn .block-output:last').addClass('last');
$j('ul.results li:last').addClass('last');
$j('.articlelistblock li:last').addClass('last');
$j('.blok .block-output:nth-child(1)').addClass('first');

$j('.paging a[disabled],  .pages a[disabled]').removeAttr('disabled');
$j('.page .terugcomp').height( $j('#leftcolumn h2:first').outerHeight(true));

if( $j('.bluesquare .block-output').length > 0){
	$j('.bluesquare').after('<div class="divider"></div>');
}
