//
// cross-browser implementation for instantiating xmlhttp
//
if (!window.XMLHttpRequest)
{
    window.XMLHttpRequest = function()
    {
        // http://blogs.msdn.com/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx
        var types = [
            'MSXML2.XMLHTTP.6.0',
            'MSXML2.XMLHTTP.3.0'
        ];

        for (var i = 0; i < types.length; i++)
        {
            try
            {
                return new ActiveXObject(types[i]);
            }
            catch(e) {}
        }

        return undefined;
    }
}


window.onload = function(){
	window.status = "(c) Copyright Tafelzeil.com. Alle rechten voorbehouden.";
	
	// a simple frameburst
	if (window != top) top.location.href = location.href
	
	// show confirmation if signup for newsletter was succesfull
	if( window.location.search.indexOf( "newsletter_signup=true" ) > 0 ){
		var confirm_msg_newsletter = "Uw inschrijving voor onze nieuwsbrief is opgeslagen.";
	} else if( window.location.search.indexOf( "newsletter_signout=true" ) > 0 ) {
		var confirm_msg_newsletter = "Uw uitschrijving voor onze nieuwsbrief is verwerkt.";
	};
	
	//show customized message if user has enrolled for the newsletter
	if( confirm_msg_newsletter ){
		try{
			var container = ( document.getElementById ) ? document.getElementById( "newsletter" ) : document.all[ "newsletter" ];
			if( container ){
				var msg = document.createTextNode( confirm_msg_newsletter );
			
				// replace form by confimation
				container.replaceChild( msg, container.childNodes[ 3 ] );
			};
		} catch( e ) { alert( 'Bedankt, uw inschrijving voor de nieuwsbrief is opgeslagen.' ); };
	};	
		
	// make height of the navigation bar on the left and the main content equal
	var divMenuNav 		= document.getElementById( "menuContainer" );
	var divContent 		= document.getElementById( "content" );
	if( document.getElementById( "products" ) )
		var tableProducts	= document.getElementById( "products" );
	var divBBottom		= document.getElementById( "border_bottom" );
	
	var iMenuNavHeight 	= divMenuNav.offsetHeight;
	var iContentHeight	= divContent.offsetHeight;
	var iProductHeight	= ( document.getElementById( "products" ) ) ? tableProducts.offsetHeight : 0;
	
	var iContentHeight	= ( iContentHeight > iProductHeight ) ? iContentHeight : iProductHeight;
	
	// TEST TEST TEST
	if( window.location.search.indexOf( "test=true" ) > 0 ){
		alert( iMenuNavHeight + "::" + iContentHeight );
	}
	// TEST TEST TEST
	
	if( iMenuNavHeight > iContentHeight ){
		divContent.style.height = iMenuNavHeight - 8 + "px";
	} else {
		iContentHeight += 50;
		divContent.style.height 	= iContentHeight + "px"; // to fix an IE bug
		divMenuNav.style.height 	= iContentHeight + 10 + "px";
		divBBottom.style.display	= "none";
	}
	
	//try to remove the dotted border from the object-element
	try{
		document.getElementsByTagName( "object" )[0].click();
		document.getElementsByTagName( "embed" )[0].click();
	} catch( e ){ }
	
	// start the event logger if possible. If not, do not trigger an error. Logging is for debugging, not to upset customers.
	try{
		startLogging();
	} catch( e ) {}
};

function showme( dn, uname ){
	return uname + "@" + dn;
}

function showImages( id, numOfImgs ){
	numOfImgs = parseInt( numOfImgs );
	if( numOfImgs < 1 ) {
		alert( 'Er zijn voor dit product op dit moment geen afbeeldingen beschikbaar.' );
		return;
	};
	
	window.open( "/viewImages.asp?id=" + id, "tafelzeil_afbeeldingen", "alwaysRaised=yes,dependent=true,height=400,width=550,location=no,resizable=yes,titlebar=yes,status=yes" );
};

// change the classname of the div with the selected id
function doColor( id ){
	// extract the base-name (i.e. without the number)
	var basename = id.substr( 0, id.lastIndexOf( "_" ) ) + "_";
	var o;
	
	for( var x = 0; x < 20; x++ ){
		o = getObject( basename + x );
		if( o ){
			o.className = o.className.replace( / selected/, "" );
		};
	};
	
	o = getObject( id );
	if( o ) o.className += " selected";
};

function getObject( id ){
	return (document.getElementById)?document.getElementById( id ):(document.all)?document.all[id]:null;
}

// implement eventlogger. Logging events is for debug activities only!
function startLogging(){
	var inputType;
	var element;
	
	
	try{
		// search for all input elements and attach an onBlur handler
		for( var x = 0; x < document.getElementsByTagName( "input" ).length; x++ ){
			inputType = document.getElementsByTagName( "input" )[ x ].type;
			element = document.getElementsByTagName( "input" )[ x ];
				
			// do NOT log passwords
			if( inputType == "password" ) continue;
			
			if( inputType ==  "text" ){				
				if( element.addEventListener )
					element.addEventListener( "blur", doLog, false );
				else //if( element.attachEvent )
					element.attachEvent( "onblur", doLog );
			} else {									
				if( element.addEventListener )
					element.addEventListener( "click", doLog, false );
				else if( element.attachEvent )
					element.attachEvent( "onclick", doLog );
			}
		}
	} catch( e ) {
		if( document.location.href.indexOf( "test" ) > 0 ) 
			alert( e );
	};
	
	
	try{
		// search for all links within the content-section
		for( var x = 0; x < getObject( "content" ).getElementsByTagName( "a" ).length; x++ ){
			element = getObject( "content" ).getElementsByTagName( "a" )[ x ];
				
			// 
			if( element.addEventListener )
					element.addEventListener( "click", doLog, false );
				else if( element.attachEvent )
					element.attachEvent( "onclick", doLog );
		}
	} catch( e ) {
		if( document.location.href.indexOf( "test" ) > 0 ) 
			alert( e );
	};
}

function doLog( e ){
	try{
		if ( !e ) e = window.event;
		var target = ( e.target ) ? e.target : ( e.srcElement ) ? e.srcElement : null;
		if( target.nodeType == 3 ) target = target.parentNode; // handle an (old) safari bug
		
		// handle logging
		if( target.tagName.toLowerCase() == "input" ) {
			if( target.type == "checkbox" || target.type == "radio" )
				logEvent( "form::click::"+ target.name + "::" + target.id + "::" + target.value ) ;
			else if( target.type == "text" )
				logEvent( "form::fillout::" + target.name + "::" + target.value );
			else
				logEvent( "form::click::"+ target.name + "::" + target.value ) ;
		} else if( target.tagName.toLowerCase() == "a" ) {
			logEvent( "content::link::click::"+ target.href ) ;
		}
	} catch( e ){
		if( document.location.href.indexOf( "test" ) > 0 ) 
			alert( e );
	}
	
	return true;
}

function logEvent( event, referrer ){
	try{
		//if( document.location.href.indexOf( "test" ) > 0 ) 
		//	alert( event );
			
		var sUrl 	= "http://www.tafelzeil.com/logevent.asp?event="+ event +"&page=" + document.location.href + "&referrer=" + referrer;				
		var oAjax	= new XMLHttpRequest();
			oAjax.onreadystatechange = function(){ return true; };
			oAjax.open( "GET", sUrl, true );
			oAjax.send( null );	
	} catch( e ) {};
}

function addLoadEvent( evt ){
	var load = window.onload;
	window.onload = function(){
		if( load ) load();
		evt();
	}
}
