/*
 *  Browser Detect
 */
function BrowserDetectLite() {
	var ua = navigator.userAgent.toLowerCase();

	// browser name
	this.isGecko     = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);
	this.isMozilla   = (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length);
	this.isNS        = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );
	this.isIE        = ( (ua.indexOf('msie') != -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) );
	this.isSafari    = (ua.indexOf('safari') != - 1);
	this.isOpera     = (ua.indexOf('opera') != -1);
	this.isKonqueror = (ua.indexOf('konqueror') != -1 && !this.isSafari);
	this.isIcab      = (ua.indexOf('icab') != -1);
	this.isAol       = (ua.indexOf('aol') != -1);

	// spoofing and compatible browsers
	this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE);
	this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla);

	// browser version
	this.versionMinor = parseFloat(navigator.appVersion);

	// correct version number
	if (this.isNS && this.isGecko) {
		this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) );
	}
	else if (this.isIE && this.versionMinor >= 4) {
		this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
	}
	else if (this.isMozilla) {
		this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) );
	}
	else if (this.isSafari) {
		this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) );
	}
	else if (this.isOpera) {
		if (ua.indexOf('opera/') != -1) {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera/') + 6 ) );
		}
		else {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera ') + 6 ) );
		}
	}
	else if (this.isKonqueror) {
		this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) );
	}
	else if (this.isIcab) {
		if (ua.indexOf('icab/') != -1) {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab/') + 6 ) );
		}
		else {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab ') + 6 ) );
		}
	}

	this.versionMajor = parseInt(this.versionMinor);
	this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );

	// dom support
	this.isDOM1 = (document.getElementById);
	this.isDOM2Event = (document.addEventListener && document.removeEventListener);

	// css compatibility mode
	this.mode = document.compatMode ? document.compatMode : 'BackCompat';

	// platform
	this.isWin   = (ua.indexOf('win') != -1);
	this.isWin32 = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1) );
	this.isMac   = (ua.indexOf('mac') != -1);
	this.isUnix  = (ua.indexOf('unix') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)
	this.isLinux = (ua.indexOf('linux') != -1);

	// specific browser shortcuts
	this.isNS4x  = (this.isNS && this.versionMajor == 4);
	this.isNS40x = (this.isNS4x && this.versionMinor < 4.5);
	this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7);
	this.isNS4up = (this.isNS && this.versionMinor >= 4);
	this.isNS6x  = (this.isNS && this.versionMajor == 6);
	this.isNS6up = (this.isNS && this.versionMajor >= 6);
	this.isNS7x  = (this.isNS && this.versionMajor == 7);
	this.isNS7up = (this.isNS && this.versionMajor >= 7);

	this.isIE4x  = (this.isIE && this.versionMajor == 4);
	this.isIE4up = (this.isIE && this.versionMajor >= 4);
	this.isIE5x  = (this.isIE && this.versionMajor == 5);
	this.isIE55  = (this.isIE && this.versionMinor == 5.5);
	this.isIE5up = (this.isIE && this.versionMajor >= 5);
	this.isIE6x  = (this.isIE && this.versionMajor == 6);
	this.isIE6up = (this.isIE && this.versionMajor >= 6);

	this.isIE4xMac = (this.isIE4x && this.isMac);
}
var browser = new BrowserDetectLite();


/*
 *  PNG fix (yuck!)
 */
if (browser.isIE5x || browser.isIE6x) {
	window.attachEvent('onload', function() {
		var blank = "/media/images/empty.gif";

		if( document.all )
			all = document.all;
		else if( !document.all && document.getElementsByTagName )
			all = document.getElementsByTagName('*');
		else
			return;

		for( i=0; i<all.length; i++ ){
			element = all[i];

			if( element.nodeName.toLowerCase() == 'img' ){
				if( /\.png$/.test( element.src.toLowerCase() ) ) {
					element.style.width = element.width + 'px';
					element.style.height = element.height + 'px';
					element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + element.src + "',sizingMethod='scale')";
					element.src=blank;
				} else {
					element.runtimeStyle.filter = "";
				}

			} else {

				if( element.getAttribute( 'background' ) ){
					if( /\.png$/.test( element.getAttribute( 'background' ).toLowerCase() ) ) {
						element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + element.getAttribute( 'background' ) + "',sizingMethod='scale')";
						element.setAttribute( 'background', '' );
					}
				}

				else{
					if( element.style.backgroundImage ){
						if( /\.png$/.test( element.style.backgroundImage.replace( 'url(', '' ).replace( ')', '' ).toLowerCase() ) ) {
							element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + element.style.backgroundImage.replace( 'url(', '' ).replace( ')', '' ) + "',sizingMethod='scale')";
							element.style.backgroundImage = '';
							}
						}
					}
				}
			}
		}
	);
}


/*
 *  Onload handler
 */
function loadPage() {

	// Fix margin on small screens
	if (document.body.clientWidth < 1000) {
		document.body.style.marginLeft = '0';
	}

	// Show for sale ribbon
	var forsaleBanner = document.getElementById('forsalebanner');
	if (forsaleBanner) {
		forsaleBanner.style.visibility = 'visible';
	}
}


/*
 *  Links / banners onclick tracker
 */
function cHnd(obj, type, id, block, page) {
	// Get the right element

	var anchorElement = null;
	if (obj.nodeName.toLowerCase() == 'li') {
		anchorElement = obj.childNodes[0].childNodes[0];

		// GG Block has extra icons element, skip it
		if (anchorElement.nodeName.toLowerCase() == 'span') {
			anchorElement = obj.childNodes[0].childNodes[2];
		}
	} else {
		anchorElement = obj;
	}
	if (anchorElement.changedHREF) return true;

	// Replace URL with tracker URL
	var url = '/out.php?t=' + type + '&i=' + id + '&b=' + block + '&p=' + page + '&u=' + escape(anchorElement.href);
	anchorElement.href = url;
	anchorElement.changedHREF = true;

	return true;
}


/*
 * Block links: click/mouseover/mouseout handlers
 */
function blockClick(obj, e, url) {
	var popup = true;

	if (url == undefined) {
		var anchorElement = obj.childNodes[0].childNodes[0];
		// GG Block has extra icons element, skip it
		if (anchorElement.nodeName.toLowerCase() == 'span') {
			anchorElement = obj.childNodes[0].childNodes[2];
		}
		var url = anchorElement.href;
	}

	if (popup) {
		var plopWindow = window.open(url);
		plopWindow.focus();
		return false;
	} else {
		window.location.href = url;
	}
}

function blockOver(obj, e, statustext) {
	if (obj.hoverState != true) {

		// Get first span, change background
		var spanElement = obj.childNodes[0];
		spanElement.oldBackgroundColor = spanElement.style.backgroundColor;
		spanElement.style.background = 'none';

		// Change <a> color
		var anchorElement = spanElement.childNodes[0];
		anchorElement.oldColor = anchorElement.style.color;
		anchorElement.style.color = '#800101';

		var emElement;
		for (var i = 0; i < spanElement.childNodes.length; i++) {
			if (spanElement.childNodes[i].nodeName.toLowerCase() == 'em') {
				emElement = spanElement.childNodes[i]; break;
			}
		}
		if (emElement && emElement.style) {
			emElement.oldColor = emElement.style.color;
			emElement.style.color = '#555555';
		}

		// Set status bar
		setStatus(statustext);

		// Remember hover state
		obj.hoverState = true;
	}
}

function blockOut(obj, e) {
	if (typeof e == 'undefined' && typeof window.event != 'undefined') {
		e = window.event;
	}

	// Check if this is a real mouseout
	var relatedTarget = (e.relatedTarget) ? e.relatedTarget : e.toElement;
	while (relatedTarget && relatedTarget != obj && relatedTarget.nodeName.toLowerCase() != 'body') {
		relatedTarget = relatedTarget.parentNode;
	}

	// Undo mouseover colors if it is a real mouseout
	if (relatedTarget != obj) {
		// Get first span, reset background to default
		var spanElement = obj.childNodes[0];
		spanElement.style.backgroundColor = spanElement.oldBackgroundColor;

		// Change back <a> color
		var anchorElement = spanElement.childNodes[0];
		anchorElement.style.color = anchorElement.oldColor

		var emElement;
		for (var i = 0; i < spanElement.childNodes.length; i++) {
			if (spanElement.childNodes[i].nodeName.toLowerCase() == 'em') {
				emElement = spanElement.childNodes[i]; break;
			}
		}
		if (emElement && emElement.style) {
			emElement.style.color = emElement.oldColor
		}

		// Unset status bar
		unsetStatus();

		// Reset hover state
		obj.hoverState = false;
	}
}


/*
 *  Statusbar
 */
function setStatus(text) {
	window.status = text
}

function unsetStatus() {
	window.status = '';
}


/*
 *  Extra text show/hide
 */
function toggleText(elementName) {
	var element = document.getElementById(elementName);

	if (element) {
		if (element.style.display != "block") {
			element.style.display = "block";
		} else {
			element.style.display = "none";
		}
	}
}


/*
 *  New head tabs
 */
function clickHeadTab(tabname) {
	var ggTab = document.getElementById('tab_gg');
	var ntgTab = document.getElementById('tab_ntg');
	var ggTabA = document.getElementById('tab_gg_a');
	var ntgTabA = document.getElementById('tab_ntg_a');

	if (tabname == 'tab_gg') {
		ggTab.style.display = 'block'; ggTabA.className = 'activetab';
		ntgTab.style.display = 'none'; ntgTabA.className = '';
	} else {
		ggTab.style.display = 'none'; ggTabA.className = '';
		ntgTab.style.display = 'block'; ntgTabA.className = 'activetab';
	}
}

function mirrorTabs(element) {
	var persoonWie  = document.getElementById('persoon_wie_tab');
	var persoonWaar = document.getElementById('persoon_waar_tab');
	var bedrijfWat  = document.getElementById('bedrijf_wat_tab');
	var bedrijfWaar = document.getElementById('bedrijf_waar_tab');

	if (element.id == 'bedrijf_wat_tab' || element.id == 'bedrijf_waar_tab') {
		persoonWie.value  = bedrijfWat.value;
		persoonWaar.value = bedrijfWaar.value;
	} else if (element.id == 'persoon_wie_tab' || element.id == 'persoon_waar_tab') {
		bedrijfWat.value  = persoonWie.value;
		bedrijfWaar.value = persoonWaar.value;
	}
}


/*
 *  [Gouden|Nationale Telefoon] Gids popups
 */
function popGoudenGids(formElement) {


	var searchInput = formElement.bedrijf_wat.value;
	var isGgClick = document.getElementById('searchTypeGg').checked;

	if (searchInput == '') {
		alert('U hebt niet ingevuld welk bedrijf u wilt zoeken. Probeer het nogmaals.');
	} else {
		if (isGgClick)
			urchinTracker('/GoudenGids/ZoekBox/' + searchInput);
		else
			urchinTracker('/DeTelefoongids/ZoekBox/' + searchInput);

		openGidsWindow('/loading.php');
		setTimeout('submitForm(\'' + formElement.id + '\')', 300);
	}


	return false;
}

function popNationaleTelefoonGids(formElement) {

	var searchInput = formElement.persoon_wie.value;

	if (searchInput == '') {
		alert('U hebt niet ingevuld wie u wilt zoeken. Probeer het nogmaals.');
	} else {
		urchinTracker('/NationaleTelefoongids/ZoekBox/' + searchInput);
		openGidsWindow('/loading.php');
   		setTimeout('submitForm(\'' + formElement.id + '\')', 300);
	}

	return false;
}

function openGidsWindow(url) {
	gidsWindow = window.open(url, 'gids', 'height=625, width=1010, resizable=yes, scrollbars=yes');
	gidsWindow.focus();
	return gidsWindow;
}

function submitForm(formID) {
	var formElement = document.getElementById(formID);
	formElement.submit();
}

function gidsListClick(element) {
	var searchInput = element.href.split('=');
	searchInput = searchInput[2];
	urchinTracker('/GoudenGids/Link/' + searchInput);
	openGidsWindow('/loading.php');
	setTimeout('activateWindow(\'/search.php?Show=GoudenGidsSearch&bedrijf_wat=' + searchInput + '\')', 300);
}

function activateWindow(url) {
	gidsWindow = window.open(url, 'gids', 'height=625, width=1010, resizable=yes, scrollbars=yes');
	gidsWindow.focus();
}

function ggIcon(event, element) {
	event.cancelBubble = true;
	if (event.stopPropagation) event.stopPropagation();
	urchinTracker('/GoudenGids/Dochterpagina/');

	var url = element.href;
	var plopWindow = window.open(url);
	plopWindow.focus();

	return false;
}


//document.getElementById('bedrijf_wat_suggestion').innerHTML = 'Wie zoekt u? (bijv: \"jansen\")';

function ChangeSearchText(input){
	if(input.value == 'dtg'){
		document.getElementById('bedrijf_wat_suggestion').innerHTML = 'Wie zoekt u? (bijv: "jansen")';
	} else {
		document.getElementById('bedrijf_wat_suggestion').innerHTML = 'Wat zoekt u? (bijv: "juwelier")';
	}
}