Array.prototype.remove=function(s){
	var i = this.indexOf(s);
	if(i != -1) this.splice(i, 1);
}

/**
 * Item html creation helper.
 */
function mycarousel_getItemHTML(item){
	return '<a href="'+item.url+'" title="'+item.title+'"><img src="'+item.src+'" width="125" height="200" alt="'+item.title+'" /></a>';
};
				
var Bridge = {
	init: function(){
		if (typeof document.body.style.maxHeight == "undefined"){ // IE6
			jQuery('ul#navigation li').hover(
				function(){
					if(jQuery(this).hasClass('no-sub')) jQuery(this).addClass('no-sub-hover');
					jQuery(this).addClass('hover');
				},
				function(){
					if(jQuery(this).hasClass('no-sub')) jQuery(this).removeClass('no-sub-hover');
					jQuery(this).removeClass('hover');
				}
			);
		}
		/* nav width fix */
		jQuery('#navigation > li').each(function(){
			var ul = jQuery(this).find('ul');
			if(ul.get(0)){
				//alert(ul.width());
			}
		});
		
		var s = jQuery('body').hasClass('nl') ? 'Zoeken' : 'Search';
		
		jQuery('li#searchform input').val(s).focus(function(){
			if (this.value==s) this.value='';
		}).blur(function(){
			if (this.value=='') this.value=s;
		});
		
		/* Match Tool */
		var ml = jQuery('ul#matchlist');
		if(ml.get(0)){
			var s = jQuery('h2#match-title > span'),
			bmain = ml.find('li.main').size() === 0 ? true : false,
			mkw = ml.find('li.main span.keywords').text().split(' ');
			ml.find('li:not(.main)').click(function(){
				if(bmain){
					window.location.href = '/'+(jQuery('body').hasClass('nl')?'nl':'en')+'/page/match/?'+this.id.substring(0,this.id.indexOf('-'));
					return;
				}
				var li = jQuery(this),
				title = li.find('img').attr('alt'),
				cimg = li.find('span.carousel-img').text(),
				curl = li.find('span.carousel-url').text(),
				kw = li.find('span.keywords').text().split(' '), set = false, v = '', match = [];
				li.parent().find('li').removeClass('clicked').end().end().addClass('clicked');
				jQuery('div#match-result span').empty();
				s.text(title);
				jQuery('#match-with').find('img').attr('src', cimg).attr('alt', title).end().find('a').attr('href', curl).attr('title',title).text(title);
				
				var fmkw = mkw.slice(), fkw = kw.slice();
				jQuery.each(mkw, function(k,v){
						if(jQuery.inArray(v,kw) >= 0){
							match.push(v);
							fmkw.remove(v);
							fkw.remove(v);
						}
					}
				);
				
				//alert('matches: '+match.length);

				for(i=0;i<match.length;i++){
					jQuery('span#pos-'+i).text(match[i]);
				}
				if(match.length < 6){ // anders issie vol, komt bijna niet voor
					var i2 = 0;
					for(i=match.length;i<6;i++){
						var pos = i, v = (i+2)%2===0?fmkw[i2]:fkw[i2];
						jQuery('span#pos-'+pos).text(v);
						i2++;
					}
				}
			}).hover(
				function(){
					if(jQuery(this).hasClass('clicked') === false){
						s.text(jQuery(this).find('img').attr('alt'));
					}
				},
				function(){
					if(jQuery(this).parent().find('li.clicked').get(0)){
						s.text(jQuery(this).parent().find('li.clicked img').attr('alt'));
					}else{
						s.text('...');
					}
				}
			);
		}
		
		/* Home news */
		var fk = jQuery('ul#fake-news');
		if(fk.get(0)){
			jQuery('#news-holder strong').remove();
			fk.find('li.newsitem').each(function(){				
				jQuery('#news-holder').append(this.innerHTML).removeClass('loading');
			});
		}

		jQuery('#innovatie-monitor-form').submit(function(){
			var t = jQuery(this), f = t.find('fieldset:eq(0)'), emailReg = new RegExp(/^[\w-_\.]*[\w-_.]\@[\w].+[\w]+[\w]$/), err = '';
			f.find('input[type="text"]').each(function(i){
				if(this.value == ''){
					f.find('label[for="'+this.id+'"]').css({color: 'red'});
					err = 'Vul aub alle verplichte velden in.<br/>';
				}else{
					f.find('label[for="'+this.id+'"]').css({color: ''});
				}
			});
			if(!emailReg.test(f.find('#sEmail').val())){
				f.find('label[for="sEmail"]').css({color: 'red'});
				err += 'Vul aub een correct e-mailadres in.';
			}
			if(err != ''){
				t.find('#warning').remove().end().prepend('<div id="warning"><p>'+err+'</p></div>');
				return false;
			}
		});
		
		var cmbf = jQuery("#call-me-back-form");
		if (cmbf.size() > 0){
			jQuery("input[name=sURL]").val(window.location.href);
			
			/* form validator */
			jQuery.extend(jQuery.validator.messages, {
				required: (jQuery("body").hasClass("nl")?"Dit is een verplicht veld.":"This field is required.")
			});
						
			/* Validate the form */
			cmbf.validate({

			});	
		}	
		
		jQuery.validator.addMethod("telephone", function(value, element) {
			return this.optional(element) || /^(\(){0,1}(\+[0-9]{2}|\+[0-9]{2}\s{0,1}\(0\)|\(\+[0-9]{2}\)\s{0,1}\(0\)|(\+)?00[0-9]{2}|0)(\)){0,1}([0-9\-\s]{9,16})$/.test(value);
		}, (jQuery("body").hasClass("nl")?"Vul a.u.b. een geldig telefoonnummer in.":"Please enter a valid phonenumber."));		
		
		var f = jQuery(".validate");
		if (f.size() > 0){
			jQuery.extend(jQuery.validator.messages, {
				"required": (jQuery("body").hasClass("nl")?"Dit is een verplicht veld.":"This field is required."),
				"email": (jQuery("body").hasClass("nl")?"Vul aub een geldig e-mailadres in.":"This is not a valid email.")
			});
			f.each(function() {
				var fo = jQuery(this);
				if (fo.is(".rc-form")){
					return
				}
				jQuery(this).validate();
			});
		}	
		
		jQuery("#bel-me-terug-form, #stuur-door-form, #nieuwsbrief-form").each(function(){
			jQuery(this).validate({
			/*
				"submitHandler": function(f){
					jQuery.post('/remote/captcha.php', jQuery(f).serialize(), function(data){
						if (data != 'correct'){
							jQuery('.bel-terug form button').before('<label class="error">De validatiecode is onjuist</label>');
							
						}else{ // wel valid
						return false;
							f.submit();
						}
					});
				}
			*/
			});
		});
		
		/*
		
		jQuery('.bel-terug form').submit(function (){
			jQuery.post('/submit2.php', jQuery(this).serialize(), function(data){
				if (data != 'correct'){
					jQuery('.bel-terug form button').before('<label class="error">De validatiecode is onjuist</label>');
				}
			});
			return false;
		});
		*/
		
		jQuery('.title-link').click(function() {
			if (jQuery(this).next('form').is(":hidden")){
				jQuery('.contact-info form').slideUp();
				jQuery('.contact-info em').text("+");
				jQuery(this).find('em').text("-");
				jQuery(this).next('form').slideDown();
				return false;			
			} else {
				jQuery('.contact-info form').slideUp();
				jQuery('.contact-info em').text("+");
				return false;
			}
		});	
		
		var captcha = new Image(),
			$captcha = jQuery("img.captcha");
			captcha.src = "/securimage.php";
			$captcha.attr("src", captcha.src);
			jQuery(".captcha-reload").click(function (){
				$captcha.attr("src", "/securimage.php?" + Math.random());
				return false;
			});		
		
		//Reset input fields
		jQuery.fn.resettable = function ( ) {
			fields = new Array();	  
			this.each(function() {
				//check to make sure the element has a name attribute. If not, do nothing!
				//if (!$(this).attr("name")) return true;
				jQuery(this).data("original", jQuery(this).val()) ;
				jQuery(this).focus(function() {
					if ( jQuery(this).val() == jQuery(this).data("original") ) 	jQuery(this).val("");   
				}).blur(function() {
					if (jQuery(this).val() == "") jQuery(this).val( jQuery(this).data("original") );
				});
			});
			return this;
		}
		jQuery("form input").resettable();
	}
}
jQuery(Bridge.init);

