/* ======================================================= */
/*

browserchecks

*/

var IS_MOZ
var IS_IE
var IS_SAFARI
var IS_OPERA 

var VERSION_IS

var IS_WIN
var IS_MAC
var IS_OSX

var gPathLevel = "./";

if(navigator)
{
	user = navigator;
	IS_MOZ = (user.appName.toLowerCase().indexOf("netscape") != -1);
	IS_IE = (user.appName.toLowerCase().indexOf("internet") != -1);
	IS_SAFARI = (user.userAgent.toLowerCase().indexOf("safari") != -1);
	
	IS_OPERA = (user.appName.toLowerCase() == "opera");
	
	if(user.userAgent.indexOf("Opera")>-1)
	{
		IS_IE = false;
		IS_OPERA = true;
	}
	// browser version
	if (user.appVersion)
	{  // don't try to parseInt a string (NA = "")
		VERSION_IS = parseInt(user.appVersion);
		if (IS_IE)
		{  
			IS_IE55 = false;
			VERSION_IS = parseFloat(user.userAgent.split("MSIE")[1].split(";")[0]);
			if(VERSION_IS==5.5)
			{
				IS_IE55 = true;
			}
			VERSION_IS = parseInt(VERSION_IS)
		}
	}
	if (user.userAgent && user.appVersion)
	{
		agt = user.userAgent.toLowerCase();  
		IS_WIN = ((agt.indexOf("win") != -1) || (agt.indexOf("16bit") != -1));
		IS_MAC = (agt.indexOf("mac") != -1);
		
		IS_OSX = IS_MAC && (agt.indexOf("os x") != -1);
	}
}	
/* ======================================================= */

var STYLE = "";

if(!((IS_IE && IS_WIN) || IS_SAFARI))
{
	STYLE +="input.typeText{height:auto;width:142px;}\n";
	
	STYLE +="input.phoneSmall{width:30px;}\n";
	STYLE +="input.phoneLong{width:95px;}\n";
	
	STYLE +="td.address input.typeText{width:72px;}\n";
	STYLE +="td.radius input.typeText{width:47px;}\n";
	
	STYLE +="td.internet input.typeText{width:95px;}\n";
	STYLE +="td.email input.typeText{width:45px;}\n";
	
	STYLE +="input.zipNumbers,input.dateDate,input.dateMonth,input.dateYear,input.dateHour,input.dateMinutes{width:35px;}\n";
	STYLE +="input.zipLetters,input.dateDate,input.dateMonth,input.dateHour,input.dateMinutes{width:20px;}\n";
	
	STYLE +="div.webfinderSearch input.typeText{height:auto;width:162px;}\n";
		
	STYLE +="div.resultsNav a.firstLast,div.resultsNav a.prevNext,div.resultsNav a.firstLast:active,div.resultsNav a.prevNext:active{vertical-align:top;}\n";
	
	STYLE +="table.detailSet{position:static}\n";
}

if(IS_IE && IS_MAC){
	STYLE +="div.filterBlock{overflow:hidden;}\n";
	STYLE +="div.resultBlock,div.resultMap,div.resultsNav,table.iconsCategorySet td.icons img,";
	STYLE +="div.printBack,table.detailSet div.icons,table.detailSet div.icons img,div.extraOptions div.right,";
	STYLE +="div.subNavBlock,div.pageContentBlock"
	STYLE +="{position:relative;}\n";
	STYLE +="table.detailSet{position:static;}\n";
}

if(STYLE.length>0)
{
	HTML = "<style type=\"text/css\">\n"+STYLE+"</style>\n";
	document.writeln(HTML);
}
/* ======================================================= */

function prepareMouseDown(buttonElm)
{
	if(!buttonElm.defaultImageSrc) buttonElm.defaultImageSrc = buttonElm.src
	buttonElm.onmousedown = function()
	{
		this.src=this.defaultImageSrc.replace('.gif','_down.gif');
		this.onmouseup = function()
		{
			
			this.src=this.defaultImageSrc;
		}
	}
	buttonElm.onmouseout = function()
	{
		this.onmousedown=null;
		this.onfocus=null;
	} 
	buttonElm.onfocus=function(){
		this.blur();
	}
	
}

function flyoutOver(aElm,searchType)
{
	tdElm = aElm.parentNode;
	if(tdElm.defaultClass==null) tdElm.defaultClass=tdElm.className;
	if(tdElm.className.toLowerCase().indexOf("active")<0)
	{
		tdElm.className = (tdElm.defaultClass.length)? tdElm.defaultClass+" hover":"hover";
	}
	tdElm.onmouseout = function()
	{
		if(this.className.toLowerCase().indexOf("active")<0)
		{
			this.className = this.defaultClass;
		}
	}
	tdElm.onclick = function()
	{
		if(this.className.toLowerCase().indexOf("active")<0)
		{
			this.className = (this.defaultClass.length)? this.defaultClass+"Active":"active";
			flyout(this,searchType,true);
		}
		else
		{
			this.className = (this.defaultClass.length)? this.defaultClass+" hover":"hover";
			flyout(this,searchType,false);
		}
		aElm.blur();
		return false;
	}
}

var keywordRegio = {}
var activeStates = [false,false,false];
function flyout(tdElm,searchType,isActive)
{
	switch(searchType)
	{
		case "keywords":
			searchElm = document.getElementById("keywordSearch")
			if(keywordRegio.active && keywordRegio.active!=searchElm)
			{
				keywordRegio.tdElm.className = tdElm.defaultName;
				keywordRegio.active.style.display="none";
				activeStates[1]=false;
			}
			searchElm.style.display=(isActive)?"block":"none";
			activeStates[0]=isActive;
			if(isActive && document.getElementById("keywordList").innerHTML.length==0  && false )
			{
				aElmList = document.getElementById("keywordIndex").getElementsByTagName("a");
				for(var i=0;i<aElmList.length;i++)
				{
					if(aElmList[i].href){
						 window.status = "Please wait while loading data...";
						 getKeywords(aElmList[i],'keywordList');
						 break;
					}
				}
			}
			keywordRegio.tdElm=tdElm;
			keywordRegio.active=searchElm;
			break;
		case "regio":
			searchElm = document.getElementById("regioSearch")
			if(keywordRegio.active && keywordRegio.active!=searchElm)
			{
				keywordRegio.tdElm.className = tdElm.defaultName;
				keywordRegio.active.style.display="none";
				activeStates[0]=false;
			}
			searchElm.style.display=(isActive)?"block":"none";
			activeStates[1]=isActive;
			keywordRegio.tdElm=tdElm;
			keywordRegio.active=searchElm;
			if( isActive )
			{
				mapImg = document.getElementById("nederlandMap");
				if( mapImg )
				{
					if( mapImg.style.backgroundImage.indexOf("nederland.gif")<0 )
					{
						mapImg.src = gPathLevel + "img/nederland.gif";
						mapImg.style.backgroundImage='url(' + gPathLevel + 'img/nederland.gif)';
						
						mapImgHdr = document.getElementById("nederlandMapHeader");
						if( mapImgHdr )
						{
							mapImgHdr.src = "img/label_regio.gif";
						}
					}
				}
				
			}
			break;
		case "extended":
			defaultElm = document.getElementById("defaultSearch");
			extendedElm = document.getElementById("extendedSearch");
			// show extended search
			if(isActive)
			{
				copyFields("fDefault","fExtended");
				defaultElm.style.display="none";
				extendedElm.style.display="block";
				currentFormId = "fExtended";
				SetFirstFocus(1);
				//setSearchMode((watWieSelectedId)?watWieSelected:"waar");
			}
			else
			{
				copyFields("fExtended","fDefault");
				extendedElm.style.display="none";
				defaultElm.style.display="block";
				currentFormId = "fDefault";
				SetFirstFocus(0);
				//setSearchMode((watWieSelectedId)?watWieSelected:"waar");
			}
			activeStates[2]=isActive;
			break;
	}
	checkSelectBoxes(activeStates);
}


/* ======================================================= */

var selectBoxIdList = ["sSort"];

function checkSelectBoxes(activeStates)
{
	if(IS_IE && IS_WIN)
	{
		var visibleState = "visible";
		for(var i=0;i<activeStates.length;i++)
		{
			if(activeStates[i])
			{
				visibleState = "hidden";
				break;
			}
		}
		for(var i=0;i<selectBoxIdList.length;i++)
		{
			selectElm = document.getElementById(selectBoxIdList[i]);
			if(selectElm)
			{
				selectElm.style.visibility=visibleState;
			}
		}
	}
}

/* ======================================================= */

function copyFields(fromId,toId)
{
	fromForm = document.getElementById(fromId);
	toForm = document.getElementById(toId);
	toForm["wat"].value = fromForm["wat"].value;
	toForm["wie"].value = fromForm["wie"].value;
	
	if(fromId=="fExtended")
	{
/*		if(validZipcode(fromForm["pcode"].value))
		{
			toForm["waar"].value = fromForm["pcode"].value;
		}
		else*/
		{
			toForm["waar"].value = (fromForm["waar"].value!=fromForm["waar"].defaultValue)?fromForm["waar"].value:toForm["waar"].defaultValue;
		}
	}
	else
	{
		if(validZipcode(fromForm["waar"].value))
		{
//			toForm["waar"].value = "";
//			toForm["pcode"].value = fromForm["waar"].value;
		}
		else
		{
//			toForm["pcode"].value = "";
			toForm["waar"].value = (fromForm["waar"].value!=fromForm["waar"].defaultValue)?fromForm["waar"].value:toForm["waar"].defaultValue;
		}
	}
}

/* ======================================================= */

function trim(str) {
 // skip leading and trailing whitespace
 // and return everything in between
  str=str.replace(/^\s*(.*)/, "$1");
  str=str.replace(/(.*)\s*$/, "$1");
  return str;
}

function validZipcode(zip)
// test for _dutch_ zipcode
{
	var format = /^\d{4}\s?[a-z]{2}$/i;
	return format.test(trim(zip));
}

/* ======================================================= */

var currentFormId = "fDefault";
var watWieSelectedId
inputActiveList = {}


inputActiveList.fDefault = {
	wie:{
		inputElmList:["wie"],
		imageIdList:["wieDefault"]
	},
	wat:{
		inputElmList:["wat"],
		imageIdList:["watDefault"]
	}
}

inputActiveList.fExtended ={
	wie:{
		inputElmList:["wie"],
		imageIdList:["wieExtended"]
	},
	wat:{
		inputElmList:["wat"],
		imageIdList:["watExtended"]
	},
	waar:{
		inputElmList:[	"waarstraat","pcode","waar","waarstraal",
						"wStraat","wPostcode","wPlaats","wStraal","straalKM"],
		imageIdList:["waarExtended"]
	},
	telefoon:{
		inputElmList:["telefoon1","telefoon2"],
		imageIdList:["telefoonExtended"]
	},
	web:{
		inputElmList:[	"web",
						"webWWW","webNL"],
		imageIdList:["internetExtended"]
	},
	email:{
		inputElmList:[	"email1","email2",
						"emailNL"],
		imageIdList:["emailExtended"]
	}
}

inputActiveList.fWebfinder = {
	waar:{
		inputElmList:["waar","tdWebfinder"],
		imageIdList:["waarWebfinder"]
	}
}


function focusInput(inputElm,activeID)
{
	setSearchMode(activeID)
	
	if( inputElm.value=="Product of dienst" || inputElm.value=="Bedrijfsnaam" || inputElm.value=="Plaats of postcode" )
	{
//		inputElm.value="";
	}
	
	if(inputElm.value==inputElm.defaultValue)
	{
	//	inputElm.value="";
	}
	
//	inputElm.select();
	
	inputElm.onblur = function()
	{
		if(this.value.length==0)
		{
//			this.value=this.defaultValue;
		}
		if((this.name=="wie" || this.name=="wat"))
		{
			if(this.value!=this.defaultValue)
			{
				watWieSelectedId = this.name;
			}
			else
			{
				watWieSelectedId=null;
				setSearchMode("waar");
			}
		}
	}
}


function focusWebfinderInput(inputElm,activeID)
{

	if( inputElm.value=="bv. mp3-speler" || inputElm.value=="bv. Amsterdam" )
	{
		inputElm.value="";
	}

	if(inputElm.value==inputElm.defaultValue)
	{
		var formElm = document.getElementById("fWebfinder")
		if(inputElm.name=="waar"){
			setActive(inputActiveList.fWebfinder["waar"],formElm,true);
		}
//		inputElm.value="";
	}

	inputElm.select();
	
	inputElm.onblur = function()
	{
		var formElm = document.getElementById("fWebfinder")
		if(this.value.length==0)
		{
			//this.value=this.defaultValue;
		}
		if(this.name=="waar")
		{
			if(this.value==this.defaultValue)
			{
				setActive(inputActiveList.fWebfinder["waar"],formElm,false);
			}
			
		}
	}
	
}

function setSearchMode(activeID)
{
return;	// Requested by FVN 1/13/2005
	if(activeID)
	{
		var formElm = document.getElementById(currentFormId)
		// disable all
		for(var i in inputActiveList[currentFormId])
		{
			if(i!=activeID)
			{
				setActive(inputActiveList[currentFormId][i],formElm,false)
			}
		}
		// set active
		if(inputActiveList[currentFormId][activeID]) setActive(inputActiveList[currentFormId][activeID],formElm,true)
		if(currentFormId=="fExtended")
		{
			if(activeID=="waar")
			{
				if(watWieSelectedId)
				{
					setActive(inputActiveList[currentFormId][watWieSelectedId],formElm,true)
				}
				else
				{
					setActive(inputActiveList[currentFormId]["wat"],formElm,true)
					setActive(inputActiveList[currentFormId]["wie"],formElm,true)
				}
			}
			if(activeID=="wat" || activeID=="wie")
			{
				setActive(inputActiveList[currentFormId]["waar"],formElm,true);
			}
		}
		else if(activeID=="waar")
		{
			if(watWieSelectedId)
			{
				setActive(inputActiveList[currentFormId][watWieSelectedId],formElm,true)
			}
			else
			{
				setActive(inputActiveList[currentFormId]["wat"],formElm,true)
				setActive(inputActiveList[currentFormId]["wie"],formElm,true)
			}
		}
		formElm["searchMode"].value=activeID;
	}
}

function setActive(inputActiveSet,formElm,active)
{
	// set active
	inputList = inputActiveSet.inputElmList;
	imageList = inputActiveSet.imageIdList;
	for(var j=0;j<inputList.length;j++)
	{
		
		inputElm = (formElm[inputList[j]])?formElm[inputList[j]]:document.getElementById(inputList[j]);
		if(inputElm)
		{
			inputElm.style.color=(active)?"#000":"#aaa";
		}
	}
	for(var j=0;j<imageList.length;j++)
	{
		imgElm = document.getElementById(imageList[j])
		if(imgElm)
		{
			if(!imgElm.defaultSrc) imgElm.defaultSrc = imgElm.src;
			imgElm.src=(active)?imgElm.defaultSrc:imgElm.defaultSrc.replace(".gif","_disabled.gif");
		}
	}
}


/* ======================================================= */

function mapOver(aElm, inImgLevel)
{
	regioNr = aElm.id.substr(1);
	
		mapImg = document.getElementById("nederlandMap");
		mapA = document.getElementById("t"+regioNr);
		
		mapA.className="hover";
		if(regioNr.length)
		{
			mapImg.src = inImgLevel + "img/nederland_"+regioNr+".gif"
		}
		aElm.onmouseout = function()
		{
			mapA.className="";
			mapImg.src = inImgLevel + "img/transparent.gif";
		}

	aElm.onclick = function()
	{
		regioNr = aElm.id.substr(1);
		mapA = document.getElementById("t"+regioNr);
		
		formDefault = document.getElementById("fDefault");
		formExtended = document.getElementById("fExtended");
		formDefault["waar"].value = formExtended["waar"].value = ((regioNr.length)?"regio ":"")+mapA.innerHTML;
		
		// closs flyout
/*		var tdRegioElm = document.getElementById("tdRegio");
		tdRegioElm.click();
		tdRegioElm.className = tdRegio.defaultClass;*/
		
		var tdRegioElm = document.getElementById("tdRegio");
		flyout(tdRegioElm,"regio",false)
		tdRegioElm.className = tdRegioElm.defaultClass;
		
		return false;
	}
}

/* ======================================================= */

function setKeyword( text, inId)
{
	formDefault = document.getElementById("fDefault");
	formExtended = document.getElementById("fExtended");
	
	formDefault["wat"].value = formExtended["wat"].value = text;
	formDefault["wie"].value = formExtended["wie"].value = "";
	
	setSearchMode("wat");
	if( inId!=-1 )
	{
		formDefault.exactm.value = inId;
		formExtended.exactm.value = inId;
	}
	
	// closs flyout
	var tdKeywordElm = document.getElementById("tdKeyword");
	flyout(tdKeywordElm,"keywords",false)
	tdKeywordElm.className = tdKeywordElm.defaultClass;
}




/* ======================================================= */

function setName( text, inId)
{
	formDefault = document.getElementById("fDefault");
	formExtended = document.getElementById("fExtended");
	
	formDefault["wie"].value = formExtended["wie"].value = text;
	formDefault["wat"].value = formExtended["wat"].value = "";

	formDefault.exactm.value = ""
	formExtended.exactm.value = ""
	
	setSearchMode("wie");
}



/* ======================================================= */

function setWhere( text, inId)
{
	formDefault = document.getElementById("fDefault");
	formExtended = document.getElementById("fExtended");
	
	formDefault["waar"].value = formExtended["waar"].value = text;
}


/* ======================================================= */

function setAllBox( inWie, inWat, inWaar )
{
	formDefault = document.getElementById("fDefault");
	formExtended = document.getElementById("fExtended");
	
	formDefault["wie"].value = formExtended["wie"].value = inWie;
	formDefault["wat"].value = formExtended["wat"].value = inWat;
	formDefault["waar"].value = formExtended["waar"].value = inWaar;

	formDefault.exactm.value = ""
	formExtended.exactm.value = ""
}


/* ======================================================= */

function setAsHomepage(aElm){
	aElm.style.behavior="url(#default#homepage)";
	if(aElm.setHomepage)
	{
		aElm.setHomepage("http://goudengids.nl/");
		return false;
	}
	else
	{
		return true;
	}
}

/* ======================================================= */

var windowList = {}

function openInNewWindow(aObj,w,h,attr)
{
	var url;
	var targetName;
	
	if(typeof(aObj)=="string")
	{
		url = aObj;
		targetName = "_blank";
	}
	else
	{
		url = aObj.href;
		targetName =  aObj.target;
	}
	
	w += (IS_SAFARI)?-2:((IS_MAC && IS_IE)?-16:0);
	h += (IS_SAFARI)?15:((IS_MAC && IS_IE)?-16:0);
	
 	x=(screen.availWidth-w)/2;
 	y=(screen.availHeight-h)/2;
 	if(windowList[url])
 	{
 		aWindow = windowList[url];
 		if(!window.aWindow.closed)
 		{ 
 			window.aWindow.close();
 		}
 	};
 	windowList[url] = window.open(url,targetName,"width="+w+",height="+h+",left="+x+",top="+y+","+(attr ? attr : "location=no,status=yes,menubar=no,scrollbars=yes,resizable=no"))
	
 	return false;
}

function printPage()
{
	if(window.print)
	{
		window.print();
	}
	else
	{
		alert("Deze functionaliteit wordt door uw browser niet ondersteund. Gebruik daarvoor de print mogelijkheid van de browser zelf.");
	}
	return false;
}


function openCloseSubNav(aElm){
	subNavElm = aElm.parentNode
	if(subNavElm.className.indexOf(" open")<0)
	{
		subNavElm.className = subNavElm.className+" open";
	}
	else
	{
		subNavElm.className = subNavElm.className.replace(" open","");
	}
	return false;
}



function OpenAdvancedForm()
{
	var tdRegioElm = document.getElementById("tdExtended");
	//flyoutOver(tdRegioElm,"extended")
	flyout(tdRegioElm,"extended",true)
}
