/*
 * $ Default javascript file
 *
 * Copyright (c) 2007 That's-id Multimedia
 */

/*------------------------------------------------------------------------------
	Methode om CSS background-image cache te forceren voor IE6
------------------------------------------------------------------------------*/

try {
  document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}


/*------------------------------------------------------------------------------
	onLoad handler
------------------------------------------------------------------------------*/

function onLoad()
{
	$('a[rel=zoom]').setZoomHandler({animation: 'fade', thumbnr: 1});
	if ($('#form_zoeken_locatie').length) setSearchSelectHandlers();
}

function loadGmap(latitude, longitude)
{
    if ($('#gmap').length > 0 && GBrowserIsCompatible()) {
    	var point = new GLatLng(latitude, longitude);
        var map = new GMap2(document.getElementById("gmap"));
        var marker = new GMarker(point);
        map.addControl(new GSmallMapControl());
        map.setCenter(point, 13);
		map.removeMapType(G_HYBRID_MAP);
		//map.addMapType(G_PHYSICAL_MAP);
		map.addControl(new GMapTypeControl());
        map.setMapType(G_SATELLITE_MAP);
        map.addOverlay(marker);
        marker.bindInfoWindowHtml($('#address').html());
    }
}

/*------------------------------------------------------------------------------
	AJAX handlers
------------------------------------------------------------------------------*/

function updateFileIndex(pub_Id, name, page)
{
	$.get('/dynamics/getfilelist.php',{ pub_Id: pub_Id, name: name, page: page },
		function(msg) {
			document.getElementById('fileList').innerHTML=msg;
		});
}

var searchSelectTriggered = false;
function setSearchSelectHandlers()
{
	// dropdown list for plaats key trigger
	if ($('#form_zoeken_locatie #SFRM_plaats').length && typeof $.suggest == 'function')
		$('#form_zoeken_locatie #SFRM_plaats').suggest('/dynamics/search.php?action=locations');

	// postcode key trigger
	$('#form_zoeken_locatie #SFRM_postcode').keyup(function()
	{
		setSearchSelectPostcode(this.value!='' && $('#SFRM_plaats').val()=='');
		if (this.value.length==4)
		{
			if (!searchSelectTriggered)
			{
				searchSelectTriggered = true;
				$('#resultLocation').load('/dynamics/search.php?action=postcode', {value: this.value}, function(){ searchSelectTriggered = false; });
			}
		}
		else
		{
			$('#resultLocation').html('');
		}
	});

	// plaats key trigger
	$('#form_zoeken_locatie #SFRM_plaats').keyup(function()
	{
		setSearchSelectPostcode(this.value=='' && $('#SFRM_postcode').val()!='');
	});

	// select form focus trigger
	$('#form_zoeken_locatie :input').focus(function()
	{
		setSearchSelectForm(true);
	});

	// term form focus trigger
	$('#form_zoeken_term :input').focus(function()
	{
		setSearchSelectForm(false);
	});

	////////// Startup state
	setSearchSelectForm($('#SFRM_zoekterm').val()=='');
	setSearchSelectPostcode($('#SFRM_plaats').val()=='' && $('#SFRM_postcode').val()!='');
}

var form_select = '';
function setSearchSelectPostcode(bool)
{
	if (bool && form_select!='postcode')
	{
		$('#form_zoeken_locatie div.ctrl_plaats').addClass('contTxtGhost');
		$('#form_zoeken_locatie div.ctrl_postcode').removeClass('contTxtGhost');
		form_select='postcode';
	}
	else if (!bool && form_select!='plaats')
	{
		$('#form_zoeken_locatie div.ctrl_plaats').removeClass('contTxtGhost');
		$('#form_zoeken_locatie div.ctrl_postcode').addClass('contTxtGhost');
		form_select='plaats';
	}
}

var form_focus = '';
function setSearchSelectForm(bool)
{
	if (bool && form_focus!='select')
	{
		$('#form_zoeken_locatie').removeClass('contTxtGhost');
		$('#form_zoeken_term').addClass('contTxtGhost').siblings(':input').each(function(){ alert(this.id); });
		$('#form_zoeken_term :input').not(':submit').val('');
		form_focus='select';
	}
	else if (!bool && form_focus!='term')
	{
		$('#resultLocation').html('');
		$('#form_zoeken_term').removeClass('contTxtGhost');
		$('#form_zoeken_locatie').addClass('contTxtGhost');
		$('#form_zoeken_locatie :input').not(':submit').val('');
		form_focus='term';
	}
}

/*------------------------------------------------------------------------------
	Various
------------------------------------------------------------------------------*/

function checkCookies(redirect)
{
	var cookieName = 'testCookie' + (new Date().getTime());

	document.cookie = cookieName + '=cookieValue';
	var cookiesEnabled = document.cookie.indexOf(cookieName) != -1;
	if (!cookiesEnabled)
	{
		location.href=redirect;
	}
}
