/* Make sure jquery can work together with prototype */
jQuery.noConflict();

jQuery().ready(function(){
	// Left menu methods
	jQuery('ul.level1>li>a').click(function(){
		jQuery('ul.level1>li>a').not(this).removeClass("active").parent("li").removeClass("open");
		jQuery(this).toggleClass("active").parent("li:first").toggleClass("open");
	});
	jQuery('ul.level2>li>a').click(function(){
		jQuery(this).toggleClass("active").parent("li:first").toggleClass("open");
	});
	
	jQuery('ul.level2 .head').click(function() {
		jQuery(this).next().toggle('slow');
	}).next().hide();
	
	// simple Accordion
	//jQuery('#serviceToolBox').Accordion().activate(1);
	//jQuery('ul.level2').Accordion({header: '.head',active: 0,autoHide: false});
	//jQuery('#serviceToolBox').accordion({active: false, 'autoheight': true});
	
	 String.prototype.endsWidth = function(s) {
	   return this.length >= s.length && this.substr(this.length - s.length) == s; 
	 };
	
	jQuery("#serviceToolBox a").click(function(event) {
		  var $data = event.target;
		  
		  if (!$data.href.endsWidth('#'))
		  {
				event.stopImmediatePropagation();
				//event.preventDefault();
		  }
	});
	
	jQuery('#serviceToolBox').accordion({
		'active': false, 
		'autoheight': false,  
		'clearStyle': false
		/*,
		changestart: function(event, ui) {
		  var $header = ui.newHeader.children();
		  var len = $header.length;
		  var $lastheader = $header.last();
		}
		*/
	});
	
	jQuery("div.dropdown").click(function(e) {
        var ddl = jQuery(this);
        if (this.className.indexOf("dropdown-closed") > -1) {
			ddl.removeClass("dropdown-closed");
			ddl.addClass("dropdown-open");
			
			if (!ddl.hasClass("square") && jQuery(ddl.children("ul")[0]).width() < ddl.width()) { // Resize the choices
				jQuery(ddl.children("ul")[0]).css("width",ddl.width()-7 + "px");
			}
        }
        else {
            ddl.removeClass("dropdown-open");
            ddl.addClass("dropdown-closed");
        }
    });

    jQuery("div.dropdown").mouseout(function(e) {
        // Close the popup if the mouse is no longer over the dropdown
        if (jQuery(e.toElement).parents("div.dropdown").length == 0) {
            var ddl = jQuery(e.fromElement).parents("div.dropdown");
            ddl.removeClass("dropdown-open");
            ddl.addClass("dropdown-closed");
        }
    });
    
    jQuery("div.dropdown li").click(function(e) {
        var ddl = jQuery(this).parents("div.dropdown");
        var el = ddl.children("div")[0];
        if (this.innerText) {
            el.innerText = this.innerText;
        }
        else if (this.textContent) {
            el.textContent = this.textContent;
        }
        ddl.removeClass("dropdown-open");
        ddl.addClass("dropdown-closed");

        e.preventDefault();
        e.stopPropagation();

        /*
        onchange: set hidden form variable etc.
        */

        return false;
    });

	// Resize the pulldowns, only the round ones
	//var pulldowns = jQuery("div.dropdown");
	//for(var i = 0; i < pulldowns.length; i++) {
	//	if (pulldowns[i].className.indexOf("square") == -1) { // Geen square pulldows aanpassen.
			//alert(jQuery(pulldowns[i]).children("ul")[0].style.width);
			//jQuery(pulldowns[i]).children("ul")[0].style.width = (jQuery("div.dropdown").width()-7) + 'px';
	//	}
	//}
	
	// Open and close the second level menu's and more
	jQuery("#left-menu").children("li").children("a").click(function(e) {
		var isAlreadyOpen = jQuery(this).parent().hasClass("selected")
		jQuery("#closemenu").hide();
		jQuery("#left-menu").children("li").children("a").removeClass("selected"); // Clear previous selected menu href's
		jQuery("#left-menu").children("li").removeClass("selected"); // Clear previous selected menu href's
		jQuery("ul.level2").hide(); // Close all open second level menu's
		if (!isAlreadyOpen) { // Don't open a new submenu when click to close
			
			jQuery(this).parent().addClass('selected'); // Set current menu item to selected
			var subMenus = jQuery(this).parent("li").children("ul"); //Minimal 1 child should be there
			if (subMenus.length > 0) { // check if there is at lease 1 child
				subMenus[0].style.display = 'block'; // Show the child, which is level 3 and level 4 of the menu
				jQuery("#closemenu").show();
			}
		}
	});
	
});

function closeMenu() {
	jQuery("#left-menu").children("li").removeClass("selected"); // Clear previous selected menu href's
	jQuery("ul.level2").hide(); // Close all open second level menu's
	jQuery("#closemenu").hide();
}

/* Spinner controls */
jQuery(document).ready(function() {
    var els = jQuery("input.spinner");
    for (var i = 0; i < els.length; i++) {
        TextFieldControls.AddControl(els[i], UPDOWN_CONTROL, 0, 100, 1);
    }
});

/* Catalog */
function toggleCatalogInfo(elementId) {
    var el = document.getElementById("info_" + elementId);
    var btn = document.getElementById("btn_" + elementId);
    //var imgsml = document.getElementById("img_sml_" + elementId);
    //var imglrg = document.getElementById("img_lrg_" + elementId);
	var catalogus_image = document.getElementById("catalogus_image_" + elementId);
    var cmdbox = document.getElementById("cmdbox_" + elementId);

    var collapsed = (btn.className == "detailinfo_collapsed");
    btn.className = (collapsed) ? "detailinfo_expanded" : "detailinfo_collapsed";
    el.style.display = (collapsed) ? "block" : "none";
	catalogus_image.style.height = (collapsed) ? "auto": "38px";
    if (cmdbox == null) {
        return;
    }
    cmdbox.className = (collapsed) ? "catalog-commandbox-mini-expanded" : "catalog-commandbox-mini-normal";
}

/*
Cookie handlers
*/

function getCookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
		}

	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
	}

 

function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}

	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+'='+escape( value ) +
		( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
		( ( path ) ? ';path=' + path : '' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );
	}


function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + '=' +
		               ( ( path ) ? ';path=' + path : '') +
		               ( ( domain ) ? ';domain=' + domain : '' ) +
		               ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
	}	
 

/*
Font size change function
*/

function enlarge_font(oFontSizeButton) {
	var currentSize = '';
	var newSize = '';         

	if(document.defaultView && document.defaultView.getComputedStyle){
        currentSize = document.defaultView.getComputedStyle(document.body, '').getPropertyValue('font-size');
   		}
    else if(document.body.currentStyle){
        currentSize = document.body.currentStyle.fontSize;
		} 
		
	if (currentSize.length > 0) {
		if (currentSize.indexOf('px') > -1) {
			currentSize = currentSize.substr(0, currentSize.length - 2);
		    currentSize = '' + parseInt(currentSize,10) / 0.16;
			}

	    else if (currentSize.indexOf('%') > -1) {
			currentSize = currentSize.substr(0, currentSize.length - 1);
	    	}

	              

		switch (currentSize) {
			case '62.5':
			newSize = '75%';
			break;
															   
			case '75':
			newSize = '80%';
			break;
		    
			default:
			newSize = '62.5%';
		    }
			
		setCookie('fontsize', newSize + ';' , 30);	              
		document.body.style.fontSize = newSize;
	}
}

// poging 1


function shrink_font(oFontSizeButton) {
	var currentSize = '';
	var newSize = '';         

	if(document.defaultView && document.defaultView.getComputedStyle){
        currentSize = document.defaultView.getComputedStyle(document.body, '').getPropertyValue('font-size');
   		}
    else if(document.body.currentStyle){
        currentSize = document.body.currentStyle.fontSize;
		} 
		
	if (currentSize.length > 0) {
		if (currentSize.indexOf('px') > -1) {
			currentSize = currentSize.substr(0, currentSize.length - 2);
		    currentSize = '' + parseInt(currentSize,10) / 0.16;
			}

	    else if (currentSize.indexOf('%') > -1) {
			currentSize = currentSize.substr(0, currentSize.length - 1);
	    	}

	              

		switch (currentSize) {
			case '80':
			newSize = '75%';
			break;
															   
			case '75':
			newSize = '62.5%';
			break;
		    
			default:
			newSize = '62.5%';
		    }
			
		setCookie('fontsize', newSize + ';' , 30);	              
		document.body.style.fontSize = newSize;
	}
}

// end poging 1

function readFontSizeSetting() {
	var fontsizeFromCookie = getCookie('fontsize');
	if (fontsizeFromCookie != null) {
		var aFontSizeData = fontsizeFromCookie.split(';');
	    if (aFontSizeData.length == 3) {
			document.body.style.fontSize = aFontSizeData[0];
		    var oFontSizeButton = document.getElementById(aFontSizeData[1]);
		    if (oFontSizeButton != null) {
				oFontSizeButton.className = aFontSizeData[2];
		        }
	        }
		}
	}

function window_onload() {
	readFontSizeSetting();
}

window.onload = window_onload;

window.onload = setBackground;
function setBackground()
{
	// Function to create the background image and scale it to the td#middle size width and height
	if(document.getElementById('middle'))
	{
		//use timeout because the rendertime
		setTimeout("getElementHeight()",500);
	}
}
function getElementHeight()
{
	var eHeight = document.getElementById('middle').offsetHeight;
	var eWidth = document.getElementById('middle').offsetWidth;
	if(document.getElementById('background-content-image'))
	{
		var background = document.getElementById('background-content-image');
		background.style.height = eHeight + 'px';
		background.style.width = eWidth + 'px';
	}
}