
// Algemene hulproutines en globale initialisatie, wordt uitgevoerd bij inladen pagina.
//
// Bepaalt of de gebruiker lokaal of remote werkt.
// Indien lokaal, initialiseert het ipiWebTools ActiveX control.
// Als het ActiveX control niet beschikbaar is, presenteer dan een installatiescherm, 
// maar alleen als de gebruiker Internet Explorer gebruikt.
//
// Zet zaken die specifiek voor een bepaalde site/fabrikant zijn NIET in deze file, 
// maar in 'sitespecifiek.js'.

// Globale variabelen:
var UseActiveX=false; // true: ActiveX control is geinitialiseerd en moet gebruikt worden; false: gebruik server-side string processing


// Cookie functies
function SetCookie (name,value) 
{
	document.cookie=name+"="+escape(value);
}
	
function ClearCookies()
{
	var thecookie=document.cookie.split(";")
	for (i=0;i<thecookie.length;i++)  
		document.cookie=thecookie[i]+';expires=Thu,01-Jan-1970 00:00:01 GMT';
}

function GetCookie(Name) 
{
	var search=Name+"=";
	var returnvalue="";
	if (document.cookie.length>0) {
		offset=document.cookie.indexOf(search);
		if (offset!=-1) {
			offset+=search.length;
			end=document.cookie.indexOf(";",offset);
			if (end==-1) end=document.cookie.length;
			returnvalue=unescape(document.cookie.substring(offset, end));
			}
		}
	return returnvalue;
}


// Bepaal of de gebruiker met Windows draait.
function IsWindowsOS()
{
	var agt=navigator.userAgent.toLowerCase();
	var is_win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));
	var is_win98 = ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1));
	var is_winnt = ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));
	var is_win20 = ((agt.indexOf("nt 5.0")!=-1) || (agt.indexOf("windows 5.0")!=-1));
	return is_win95 || is_win98 || is_winnt || is_win20;
}


// Bepaal of de gebruiker IE gebruikt.
function IsInternetExplorer()
{
	return navigator.userAgent.indexOf("MSIE")!=-1;
}
	

// Bepaal of gebruiker lokaal werkt.
function IsLocal()
{
	return window.location.protocol=="file:";
}


// Initialiseer het IpiWebTools ActiveX control (voor als er local (van harddisk/cdrom, file://) gewerkt wordt).
// Als het niet aanwezig is, prompt dan de gebruiker of hij/zij het wil installeren.
function InitActiveXControl()
{
	var URL=window.location.href;
	var DirPath=unescape(URL.substring(0,(URL.lastIndexOf("/")) + 1))
	var Pad=DirPath+DownloadPad;
	// alert('// Init van ActiveX control aanroepen, met als agumenten:\nBestekserviceId:'+BestekserviceID+'\nPad: '+Pad);
	try {
		IpiBirdsTools.Init(BestekserviceID,0,Pad); // De variabelen BestekserviceID en DownloadPad worden in 'sitespecifiek.js' gezet.
		// alert('// Init van ActiveX gelukt');
		UseActiveX=true; // Onthoud dat ActiveX control toegepast wordt
		return true;
		}
	catch(e) {
		// alert('// Init van ActiveX mislukte');
		if (IsWindowsOS())  {
			// Operating systeem ondersteunt ActiveX technologie
			if (IsInternetExplorer()) {
				alert('U werkt vanaf CDROM of harddisk, en dat betekent dat de\n'+
					'communicatie met de bestekverwerker via de iPiWebTools-\n'+
					'plugin verloopt.\n'+
					'Deze plugin is niet op uw systeem aangetroffen, \n'+
					'maar uw browser is er waarschijnlijk wel geschikt voor.\n'+
					'\n'+
					'U kunt deze nu installeren.\n'+
					'Bedenk hierbij dat u als user voldoende rechten moet hebben om dit\n'+
					'te doen, of anders dit door de systeembeheerder moet laten uitvoeren.\n'+
					'Dit doet zich vooral voor in een netwerkomgeving.');
				callPrompt();// Keuze voor installatie. Staat in ../install/prompt.js
				}
			else
				alert('U werkt vanaf CDROM of harddisk, en dat betekent dat de\n'+
					'communicatie met de bestekverwerker via een ActiveX\n'+
					'control verloopt.\n'+
					'\n'+
					'Er is echter geen plugin beschikbaar voor uw browser.\n\n'+
					'Het is alleen mogelijk van deze functionaliteit gebruik\n'+
					'te maken indien u Internet Explorer gebruikt.');
			}
		else {
			// Operating systeem ondersteunt géén ActiveX technologie
			alert('Er is geen plugin beschikbaar voor uw platform,\nof omdat er hiervoor geen bestekverwerkende programmatuur beschikbaar is, \ndanwel omdat uw platform geen activex-control ondersteuning biedt.\nWilt u toch gebruik maken van deze functionaliteit, \ndan moet u beschikken over een windows platform.');
			}
		}
	return false;
}



// De onderstaande code staat niet in een functie, en wordt uitgevoerd nadat de pagina is ingeladen
if (IsLocal()) {
	// De gebruiker werkt lokaal.
	// alert('// U werkt lokaal; de OBJECT tag wordt in het document opgenomen');
	// In dit geval passen we de ActiveX control toe
	document.write('<object classid="clsid:8B7A57A8-F2C5-4D20-8858-B7791F156415" id="IpiBirdsTools" align="baseline" border="0" width="0" height="0">\n');
    	document.write('</object>\n');
    	// document.write('(Hier staat de OBJECT tag -- Je ziet het niet, ook niet als je 'view source' doet, maar het staat er wel!)<br>\n');
   	InitActiveXControl();
	}
else {
	// De gebruiker werkt remote
	// In dit geval wordt het clipboard gebruikt voor de communicatie tussen site en bestekverwerker
	}



