var runLite = 'set';
var ima = {};

/* Knop met hovereffect
-----------------------------------------------------------------------------------------*/
function initKnopHover( EleStr ) {
	EleStr = ( typeof EleStr != 'string' ? '' : EleStr+' ' );
	$(EleStr+'input,'+EleStr+'img').filter('.knop').unbind('hover').hover(
		function() { knopHover( this, true ); },
		function() { knopHover( this, false ); }
	);
}

function knopHover( Ele, Hover ) {
	var imgSrc = ( Ele.src ? Ele.src : Ele.style.backgroundImage );
	var imgExt = imgSrc.match( RegExp('\\.([a-z]{3})("\\)|\\)|)$') );
	if ( !imgExt ) {
		return false;
	}
	imgSrc = imgSrc.replace( '-hover.'+imgExt[1], '.'+imgExt[1] );
	( Hover ? imgSrc = imgSrc.replace( '.'+imgExt[1], '-hover.'+imgExt[1] ) : false );
	( Ele.src ? Ele.src = imgSrc : Ele.style.backgroundImage = imgSrc );
}

/* Gebouw
------------------------------------------------------------------*/
function gebouwOpslaan( Ele, Nr, IcoonKnop ) {
	$.ajax( { data: { gebouw: 'opslaan', id: Nr } } );
	$(Ele).replaceWith( '<img src="/images/knop/'+( IcoonKnop ? 'icoon-' : 'woning-' )+'opgeslagen-wit.png" alt="Woning opgeslagen" class="knop geencursor" />' );
	
	return false;
}

/* Algemeen
------------------------------------------------------------------*/
var klkExp = new RegExp('\\[([a-z-0-9]+)\\]');
function initTrackKlik() {
	$('a,img').filter( function() {
		return ( $(this).attr('class') && $(this).attr('class').match( klkExp ) );
	} ).click( function() {
		return trackKlik( this );
	} );
}

function trackKlik( Ele ) {
	if ( !Ele || ( Ele.nodeName != 'A' && Ele.nodeName != 'IMG' ) || !$(Ele).attr('class') ) {
		return true;
	}
	
	var expMatch = $(Ele).attr('class').match( klkExp );
	$.ajax( { data: { trck: 'klk', id: expMatch[1] } } );
	
	return trackReturn( Ele );
}

function trackCmp( Id, Nr, Bk, Ele ) {
	$.ajax( { data: { trck: 'clckcmp', id: Id, nr: Nr, bk: Bk } } );
	
	if ( !Ele || ( Ele.nodeName != 'A' && Ele.nodeName != 'IMG' ) ) {
		return true;
	}
	
	return trackReturn( Ele );
}

function trackReturn( Ele ) {
	if ( Ele.nodeName == 'A' && Ele.onclick && $(Ele).attr('target') != '_blank' ) {
		if ( Ele.onclick != 'undefined' && Ele.onclick.toString().indexOf( 'return ' ) > 0 ) {
			return false;
		}
	}
	
	if ( Ele.nodeName == 'IMG' || ( Ele.nodeName == 'A' && Ele.target == '_blank' ) ) {
		return true;
	}
	
	setTimeout( function() { document.location.href = Ele.href; }, 200 );
	return false;
}


function initKolomRijen() {
	$('.kolomrij .kolomlinks:first').css('marginLeft', '0px');
	$('.kolomrij').each( function() {
		var maxHoogte = 0;
		for ( var n = 0; n <= 1; n++ ) {
			if ( n == 1 && maxHoogte > 0 ) {
				break;
			}
			$('.box'+( n == 0 ? ' .i3' : '' ), $(this) ).each( function() {
				var hoogte = ( $(this).outerHeight() - 2 );
				if ( hoogte > maxHoogte ) {
					maxHoogte = hoogte;
				}
			} ).height( maxHoogte );
		}
	} );
}

function initFilters() {
	$('.filterlijst select').bind( 'change keyup', function() {
		$( '#form-'+this.id.replace( 'filter-', '' ).replace( 'van', '' ).replace( 'tot', '' ) ).submit();
	} );
}

$(document).ready( function() {
	$.fn.delay = function(time, callback) {
		jQuery.fx.step.delay = function(){};
		return this.animate({delay:1}, time, callback);
	}
	$.fn.outerHTML = function(s) {
		var p = document.createElement('p');
		var c = this.eq(0).clone();
		p.appendChild(c[0]);
		return (s) ? this.before(s).remove() : p.innerHTML;
	}
	$.fn.focusDelay = function(time) {
		var o = this;
		setTimeout( function() { $(o).focus(); }, time );
		return this;
	}
	$(':text').focus( function() {
		var o = this;
		if ( o.setSelectionRange ) {
			setTimeout( function() { o.setSelectionRange(o.value.length, o.value.length); }, 2 );
		} else if ( o.createTextRange ) {
			var r = o.createTextRange();
			r.moveStart( 'character', o.value.length );
			r.select();
		}
	} );
	
	runLite = ( Math.round( jQuery.browser.version ) <= 6 && jQuery.browser.msie );
	
	$.ajaxSetup( {
		url: '/jx.php',
		dataType: 'json',
		type: 'GET'
	} );
	
	// Dialoog
	$('#pagina').append( '<div id="dialoog" title="Dialoog"></div>' );
	$('#dialoog').dialog( {
		autoOpen: false,
		width: 755,
		minHeight: 240,
		modal: true,
		resizable: false,
		draggable: false,
		buttons: { "Sluit scherm": function() {	$(this).dialog('close'); } },
		open: function() {
			$('iframe, object, div[id^=google_ads_div]').filter( function() {
				if ( $(this).parents('#dialoog').length ) {
					return false;
				}
				
				return true;
			} ).css( { visibility: 'hidden' } );
		},
		close: function() {
			$('iframe, object, div[id^=google_ads_div]').css( { visibility: 'visible' } );
		}
	} );
	
	// Tracking
	initTrackKlik();
	
	// Pagina
	if ( typeof( initPagina ) != "undefined" ) { 
		initPagina();
	}
	
	// Mededelingen
	$(".mededelingen").fadeTo( 0, 0 ).fadeTo( 500, 0.95 ).delay( 4000 ).fadeOut( 500 );		
	
	// Filters
	initFilters();
	
	if ( !runLite ) {
		// Box
		( box ? box.init() : false );
		
		// Hover over knoppen
		initKnopHover();
	}
	
	// Kolomrijen
	initKolomRijen();
	
	$('#yourhosting').hover(
		function() { this.src = this.src.replace( 'yourhosting.gif', 'yourhosting-kleur.gif' );	},
		function() { this.src = this.src.replace( '-kleur.gif', '.gif' ); }
	);
} );