// JavaScript Document
content_folder 		= new Array('','home','over-ons','ons-werk','contact','blog');
start_content 		= new Array('','index.php','index.php','index.php','index.php');
page_content 		= new Array('','detail.php','detail.php','detail.php','detail.php');
url_name 			= new Array('','home','over-ons','ons-werk','contact','blog');
var menu_name 		= new Array('','home','over-ons','ons-werk','contact','blog');
categories_array 	= new Array(0,1,2,Array(5,6),3,7,8);
load_innercontent	= new Array(0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
swfLoad				= new Array(false,false,false,false,false,false,false,false,false,false,false,false,false);
gallery_type		= new Array(0,0,0,0,0,0,0,0,0,0,0,0,0);

var class_array 	= new Array('','home','aanbod','basic','basic','basic','basic');

var root_domain		= 'http://www.nielskalk.com/';
var root_short		= 'kalk';
var has_scroll		= false;

var fx_mouse_overs	= new Array;
var fx_inner_content_menu;
var fx_inner_content;

var fx_music_player;
var fx_background_control;

var active_current		= 1;
var active_menu			= 1;
var active_categories	= 0;
var active_parent		= 0;
var active_item			= 0;
var active_position		= 0;

var display_methods		= new Array('thumbs','rows','one');
var display_method		= 0;

//var big_mode		= false;
var minimized		= true;
var activated		= false;
var left_pos		= 0;

var mySpinner;
var navigating		= false;

var url_to_load;
var allow_click		= true;

var q_str_page			= '';
var q_str_parent		= 0;
var q_str_item			= 0;
var swf_load_item		= false;
var swfOveruler			= false;

function LoadPageAll(basis_url, pagina, basis_item){
	$('main_container').setStyle('left' , 0);
	$('main_container').setStyle('top' , 0);
	
	if(browserIE6==true){
		DD_belatedPNG.fix('img', '.search_option', 'input');
	}

	hasFlash();
	
	middleX				= innerWidth / 2;
	middleY				= innerHeight / 2;
	
	fx_inner_content 	 			= MorpheItems('inner_content', 800, Fx.Transitions.Cubic.easeOut);
	fx_inner_content_menu 			= MorpheItems('inner_content_menu', 800, Fx.Transitions.Cubic.easeOut);
	
	var imgswapCounter	= 0;
	//alert(active_menu);
	$$('.imgswap').each(function(img) {
		imgswapCounter++;
		var src = img.getProperty('src');
		var extension = src.substring(src.lastIndexOf('.'),src.length)
		img.addEvent('mouseenter', function() { img.setProperty('src',src.replace(extension,'-active' + extension)); });
		img.addEvent('mouseleave', function() { img.setProperty('src',src); });
	}); 
	
	firstResize();
	
	Log.log('listing : show listing | no load');
	
	if(basis_item>0 && swf_load_item==true){
		Log.log('item : show detail | first load');
		swf_load_item = false;
		fxcontentShower	= MorpheItems('inner_content_content', 400, Fx.Transitions.Cubic.easeOut);
		fxcontentShower.set({'opacity': 0});									
		swfOpenItem(basis_item, active_categories, active_position)
		initPageItem();
		
		
	}else if(basis_item>0){
		active_item 	= basis_item;
		Log.log('item : show detail | no load');
		
		fxcontentShower	= MorpheItems('inner_content_content', 250, Fx.Transitions.Cubic.easeOut);
		fxcontentShower.set({'display': 'none'});									
		
		/*if($('detail_image_container') && browserIE6==true){
			DD_belatedPNG.fix('#detail_image_container');
		}*/
		listing_thumb_array				= new Array;				
		listing_thumb_list				= $$('#inner_content_content img');
		
		initPageItem();
		initItemFinalize();
	}

	activated		= true;	
	switch(pagina){
		
		case 'information':
			//updateScroll('container_page_scrollable', 'container_page');
		break;
		
	}
	
	
	Log.log('all = initted');
	
	window.onresize = function goResize(){resizing();}
}

function firstResize(){
	
	
	if(q_str_page!='blog'){
		if(document.documentElement.clientWidth){
		
			innerWidth 	= getDocWidth();
			innerHeight	= getDocHeight();
			
			//alert(innerHeight);
			if(!browserIE){
				//innerWidth 	= parseInt((document.documentElement.clientWidth * 1) - 17);
			}
				
			
			if(innerWidth<1000){
				innerWidth 	= 1000;
			}
			if(innerHeight < 650){
				if(!browserIE){
					innerWidth 	= parseInt(innerWidth - 17);
				}
				innerHeight = 650;
				has_scroll	= true;
			}
		}else{
			//alert(2)
			innerWidth 	= 1000;
			innerHeight = 650;
		}
	}else{
		innerWidth 	= parseInt((document.documentElement.clientWidth * 1)) - 17;
		innerHeight = 0;
	}
	positionAfterResize();
	
}

function resizing(){
	if(document.documentElement.clientWidth){
		if(!browserSAF){
			if(browserIE && browserIE8 == false){
				innerWidth 	= parseInt((document.documentElement.clientWidth * 1));
			}else{
				innerWidth 	= parseInt((document.documentElement.clientWidth * 1));
			}
			innerHeight	= parseInt((document.documentElement.clientHeight * 1));
		}else{
			innerWidth 	= parseInt((document.documentElement.clientWidth * 1));
			innerHeight	= parseInt((document.documentElement.clientHeight * 1));
		}
		if(innerWidth<1000){
			innerWidth 	= 1000;
		}
		if(innerHeight < 650){
			if(innerHeight > 650){ //als de hoogte naelijk dusdanig klein is staat er al een scrollbar em moet je de breedte er niet nog een keer vanaf halen!
				if(!browserIE){
					if(!browserSAF){
						innerWidth 	= parseInt((document.documentElement.clientWidth * 1) - 17);
					}else{
						innerWidth 	= parseInt((document.documentElement.clientWidth * 1) - 16);
					}
				}
			}
			innerHeight = 650;
			has_scroll	= true;
		}
	}else{
		//alert(2)
		innerWidth 	= 1000;
		innerHeight = 650;
	}
	positionAfterResize();
					
}


var fx_footer;

function positionAfterResize(){
	middleX				= innerWidth / 2;
	middleY				= innerHeight / 2;
	$('main_container').setStyle('left' , middleX - 505);
	$('main_container').setStyle('display' , 'block');
	proportions_site 		= (innerHeight - 78 - 170)/innerWidth;
		
		
	switch(q_str_page){
		case 'blog':
			if($('post_content')){
			//$('inner_content_menu').setStyles({'left' : 20});
			//$('inner_content').setStyles({'left' : 60});
			}
			//$('home_links').setStyles({'width' : innerWidth});
			//$('home_image_navigation').setStyles({'top' : innerHeight - 78 - 170 - 25, 'left' : middleX - 460});
		break;
	}

		//$('main_container').setStyle('height' , innerHeight);
	$('navigation').setStyle('display' , 'block');
	$('footer').setStyle('display' , 'block');
	
	
	if($('listing_nav')){
	}
	
	if($('post_drag_area')){
	}	
	
	
	
	//fx_footer	= MorpheItems($('footer'), 500, Fx.Transitions.Cubic.easeOut);
//	$('slides_container').setStyle('display' , 'block');
	$('main_container').setStyle('display' , 'block');
	
	
}

var open_full = false;

function initPage(){
	Log.log('listing : init : ' + url_name[active_current]);
}
function initLanguages(){
	if($('search_optionlanguage')){
		loadDropDownActions('search_optionlanguage','language');		
	}
}

var detail_width	= 565;
function initPageItem(){
	Log.log('item : init : ' + active_item);
	fx_inner_content.set({'display': 'block'});
}

function navigateList(direction){
	if(allow_click){
		allow_click			= false;
		var current_page 	= parseInt($('page_nr').value);
		var current_cat 	= $('active_categories_name').value;
		var view			= $('viewoption').value;
		var countertje		= parseInt($('count_inlist').value);
		var this_page		= $('page').value;
		
		
		var current_parent 	= $('this_parents').value;
		var str_path 		= $('str_path').value;
		var path 			= $('path').value;
		
		var maxInList		= parseInt($('maxInList').value);
		switch(direction){
			case 1:
				//rechts // ouder bericht
				if(countertje > maxInList * current_page){
					allow_click		= true;
					current_page++;
				}
			break;
			case -1:
				//links // nieuwer bericht
				if(current_page>1){
					allow_click		= true;
					current_page--;
				}
			break;
		}
			
			
		if(allow_click){
		
			if($('listing_loader')){
				$('listing_loader').setStyle('display','block');
			}
			
			url_to_load				= root_domain + 'aanbod/listing.php?include_header=2&categories='+current_cat+'&parent='+current_parent+'&page_nr='+current_page+'&viewoption='+view+'&page='+this_page+'&str_path='+str_path+'&path='+path;
			
			
			var infoHider;
			var infoHider_target = 'listing_container';
			
			infoHider		= new Fx.Morph(infoHider_target, {duration: 400, transition: Fx.Transitions.Cubic.easeOut});
			infoHider.set({'opacity':0});
			loadNshow(url_to_load, 'listing_container', 'get', false);
			
		}else{
			allow_click			= true;
		}
	}
}

var active_view			= 'thumbs';
var count_inlist		= 0;
var fx_list_items		= new Array;
var items_inlist		= new Array;
var categories_inlist	= new Array;

function updateListingAfterViewOptionChange(){
	updateScroll('listing_container_scrollable', 'listing_container');	
}

var imgHider;
var infoHider;
var navigateItemStarted	= false;
	
function navigateItem(direction){
	if(allow_click == true){
			
		allow_click			= false;
		
		if(!navigateItemStarted){
			var items_inlist_str		= $('items_inlist').value;
			count_inlist				= $('count_inlist').value;
			var categories_inlist_str	= $('categories_inlist').value;
			items_inlist				= items_inlist_str.split(',');
			categories_inlist			= categories_inlist_str.split(',');
		}
		
		var current_active_item;
		if($('selected_article')){
			if($('articles_inlist')){
				var articles_inlist_str		= $('articles_inlist').value;
				var articles_inlist			= articles_inlist_str.split(',');
				current_active_item 		= $('selected_article').value;
				for(var i=0;i<count_inlist;i++){
					if(articles_inlist[i] == current_active_item){
						active_position	= i;
					}	
				}
			}else{
				current_active_item 		= active_item;
				for(var i=0;i<count_inlist;i++){
					if(items_inlist[i] == current_active_item){
						active_position	= i;
					}	
				}	
			}
		}else{
			current_active_item 		= active_item;
			for(var i=0;i<count_inlist;i++){
				if(items_inlist[i] == current_active_item){
					active_position	= i;
				}	
			}
		}
		
		Log.log(active_position);
		
		switch(direction){
			case 1:
				//rechts // ouder bericht
				if(active_position < (count_inlist - 1) ){
					active_position++;
				}else{
					active_position	= 0;	
				}
			break;
			case -1:
				//links // nieuwer bericht
				if(active_position>0){
					active_position--;
				}else{
					active_position		= count_inlist - 1 ;
				}
			break;
		}
		
		var infoHider_target;
		var positionMove;
		
		
		if($('detail_image_container_sets')){
			if(navigateItemStarted){
				imgShower.cancel();
			}
			imgHider				= MorpheItems('detail_image_container_sets', 400, Fx.Transitions.Cubic.easeOut);
			imgHider.start({'opacity':0, 'top':0, 'left':0});	
			infoHider_target		= 'detail_content_container';
			positionMove			= true;
			
			if(navigateItemStarted){
				infoShower.cancel();
			}
		}else if($('detail_image_container')){
			
			//hideTabs();
			if(navigateItemStarted){
				imgShower.cancel();
			}
			imgHider				= MorpheItems('detail_image_content', 400, Fx.Transitions.Cubic.easeOut);
			imgHider.cancel();
			imgHider.start({'opacity':0});
			
			infoHider_target		= 'detail_info';
			positionMove			= true;
		
			if(navigateItemStarted){
				infoShower.cancel();
			}
		}else{
			infoHider_target		= 'inner_content_content';
			positionMove			= false;
		}
		
		infoHider		= new Fx.Morph(infoHider_target, {duration: 200, transition: Fx.Transitions.Cubic.easeOut, 
			onComplete: function(){
				gallery_opened_detail	= false;
				if($('detail_url_str')){
					
					var urls_string	= $('detail_url_str').value;
					var urls_array	= urls_string.split(',');
			
					var new_url		= urls_array[active_position];
					window.location = new_url;
				}else{
					openItem(items_inlist[active_position], categories_inlist[active_position], active_position, true);
				}
			}
		});
		
		navigateItemStarted		= true;	
			
		if(positionMove){
			infoHider.set({'opacity':0});
			infoHider.start({'opacity':0});		
		}else{
			infoHider.start({'opacity':0});	
		}
		
	}
}

function baseInitListingControls(loadImages){
	Log.log('listing : config scroll & dropdown');
	fxcontentShower					= MorpheItems('listing_container', 400, Fx.Transitions.Cubic.easeOut);
	fxcontentShower.set({'opacity': 0, 'display': 'block'});									
	listing_thumb_array				= new Array;				
	listing_thumb_list				= $$('#inner_content_menu_listing img');
	initListLoadnShow(loadImages);
}

var fxcontentShower;
var listing_thumb
var listing_thumb_list;
var listing_thumb_array		= new Array;				
var fx_listing_thumb		= new Array;				
				
function processAfterClick(target, output){
	switch(target){
		case 'inner_content_menu_listing':
			$(target).innerHTML = output;
			$(target).addEvent('domready', function() {
				baseInitListingControls(true);
			});
		break;
		case 'inner_content_menu':
		case 'listing_container':
			$(target).innerHTML = output;
			$(target).addEvent('domready', function() {
				fxcontentShower					= MorpheItems(target, 400, Fx.Transitions.Cubic.easeOut);
				listing_thumb_array				= new Array;				
				listing_thumb_list				= $$('#listing_container img');
				
				if(target == 'inner_content_menu'){
					//at search whole listing is reloaded
					$('listing_container').setStyle('display','block');
				}
				
				initListLoadnShow(true);
			});
		break;
		case 'inner_content_content':
			$(target).innerHTML = output;
			$(target).addEvent('domready', function() {
				fxcontentShower					= MorpheItems(target, 400, Fx.Transitions.Cubic.easeOut);
				listing_thumb_array				= new Array;				
				listing_thumb_list				= $$('#inner_content_content img');
				
				if($('form_login') || $('form_comment') ){
					//comments
					comments = true;
					if($('form_login')){
						setSomeForm('form_login','login_form','login_form','', false, 'submit_btn')
					}else{
						setSomeForm('form_comment','comment_form','comment_form','', false, 'submit_btn')
					}
				}
				
				initPageItem();
				initItemFinalize();
			});
		break;
		case 'post_content':
		case 'comments':
			
			handleFlowResultBlog(target, output);
			
		break;
	};
}

function basicShow(target,animate,allowclick){
	fxcontentShower	= MorpheItems(target, 400, Fx.Transitions.Cubic.easeOut);
	if(animate){
		if(mySpinner){
		   mySpinner.hide();
		}
		fxcontentShower.start({'opacity': 1});
	}else{
		if(mySpinner){
		   mySpinner.destroy();
		}
		fxcontentShower.set({'opacity': 1});
	}
	
}


var basis_rows;
var row_height;
var loaded_rows;
var loaded_images;
var items_per_row;
var stepper			= 0;

var scroll_innited	= false;
var wanna_see		= 324;

function initListLoadnShow(loadImages){
	Log.log('listing : mouse overs & na laden ('+ loadImages +') getoond');
	//loadImages is false of true... als afbeeldingen nog ingeladen moeten worden dan is ie true!
	if(loadImages){
		listing_thumb_list.each(function(element){
			listing_thumb_array.push(element.src);
		});	
		//alert(listing_thumb_array.length);
		if(listing_thumb_array.length > 0){
			var myImages = new Asset.images(listing_thumb_array, {
				onComplete: function(){
					initListShow();
				}
			});
		}else{
			initListShow();
		}
	}else{
		initListShow();			
	}
}


function initListShow(){
	
	var music_list			= $$('.listing-music-holder');
	music_list.each(function(element) {
		var current_music				= parseInt(element.getProperty('id').substring(13));
		music_array[current_music]		= false;
		element.addEvent('click', function(){
			var this_music				= parseInt(element.getProperty('id').substring(13));
			openMusic(this_music);
		});
	});
	if(mySpinner){
	   mySpinner.destroy();
	}
	if(active_form_busy){
		active_form_busy	= false;
		$('listing_container').unspin();
	}
	
	var page_nr			= parseInt($('page_nr').value);
	var countertje		= parseInt($('count_inlist').value);
	var maxInList		= parseInt($('maxInList').value);
	if(countertje < page_nr * maxInList){
		$('olderposts').setStyle('opacity',0);
		//$('olderposts_footer').setStyle('opacity',0);
		if(countertje == 0){
			$('inner_content_menu_listing').setStyle('background-image','none');
		}
	}else{
		$('olderposts').setStyle('opacity',1);
		//$('olderposts_footer').setStyle('opacity',1);
	}
	var current_page 	= $('page_nr').value;
	if(current_page==1){
		$('newerposts').setStyle('opacity',0);
		//$('newerposts_footer').setStyle('opacity',0);
	}else{
		$('newerposts').setStyle('opacity',1);
		//$('newerposts_footer').setStyle('opacity',1);
	}
	
	if($('listing_loader')){
		$('listing_loader').setStyle('display','none');
	}
	fxcontentShower.cancel();									
	fxcontentShower.set({'opacity': 1});									
	
	allow_click		= true;
}

function makeCall(target,str) {
	thisMovie(target).asFunc(str);
}

function resetDetail(){
	active_item								= 0;
	$('inner_content_content').innerHTML 	= '';
	active_position							= 0;
	fx_inner_content.cancel();
	fx_inner_content.start({'left':0, 'width':0});	
	open_full 								= false; // resetten want item is gesloten!
}

var new_top;
function openItem(items_id, categories, position, overrule_allow_click){
	//Log.log('open item : meaning : zet de indicator op de juiste plek / scroll listing indien nodig / laad het item in!');
	if(allow_click || overrule_allow_click){
		allow_click 							= false;
		active_item								= items_id;
		var soort_listing						= $('page').value;
		switch(soort_listing){
			case 'catalog': //products with articles
			
				var next_article				= 0;
				if($('articles_inlist')){
					var articles_inlist_str		= $('articles_inlist').value;
					var articles_inlist			= articles_inlist_str.split(',');
					var next_article			= articles_inlist[active_position]
				}
			
				url_to_load			= root_domain + content_folder[2] + '/detail.php?include_header=1&product='+items_id+'&article='+next_article+'&categories='+categories;
			break;
			case 'sets': //sets
				url_to_load			= root_domain + content_folder[2] + '/detail-sets.php?include_header=1&set='+items_id+'&categories='+categories;
			break;
			case 'blog': //blog
				url_to_load			= root_domain + 'blog/detail.php?include_header=1&item='+items_id+'&categories='+categories;
			break;
			default: //van alles
				url_to_load			= root_domain + content_folder[active_current] + '/detail.php?include_header=1&item='+items_id+'&categories='+categories;
			break;
		}
		alert(url_to_load);
		//$('inner_content_content').innerHTML 	= '';
		loadNshow(url_to_load, 'inner_content_content', 'get', false);
	}
}


function openItemLoad(url){
	loadNshow(url_to_load, 'inner_content_content', 'get', false);
}

var video_id;
var music_id;
var product_id;


function initItemFinalize(){
	if(($('is_video') && $('is_video').value == 'yes' && $('video_id') && $('video_id').value != '')){
		video_id 		= $('active_item').value;
		Log.log('video : variant 1 - '+video_id);
		initVideo();
	}if(($('is_music') && $('is_music').value == 'yes' && $('music_id') && $('music_id').value != '')){
		music_id 		= $('music_id').value;
		Log.log('music : variant 1 (dus vanaf home) - '+music_id);
		initMusic();
	}if(($('is_product') && $('is_product').value == 'yes' && $('product_id') && $('product_id').value != '')){
		product_id 		= $('product_id').value;
		Log.log('product : variant 1 (dus vanaf home) - '+product_id);
		initproduct();
	}else{
		initDetail(content_folder[active_current]);
		allow_click		= true;
		fxcontentShower.set({'opacity': 1, 'display': 'block'});
	}
}

function initDetail(page){
	switch(page){
		case 'blog':
		alert('debug 1');
			listing_thumb_list.each(function(element){
				listing_thumb_array.push(element.src);
			});	
			
			if(listing_thumb_array.length > 0 ){
				var myImages = new Asset.images(listing_thumb_array, {
					onComplete: function(){
						if(mySpinner){
						   mySpinner.destroy();
						}
						if($('detail_loader')){
							$('detail_loader').setStyle('display','none');
						}
						allow_click		= true;
	
					}
				});	
			}else{								
				if(mySpinner){
				   mySpinner.destroy();
				}
				if($('detail_loader')){
					$('detail_loader').setStyle('display','none');
				}
				allow_click		= true;
			}	
		
		break;
	}
}

var imgShower;
var infoShower;
var imgShower;

function openVideoPopup(identifier){
	
	var new_url_mp4			= $('mp4_'+identifier).value;
	var new_url_ogv			= $('ogv_'+identifier).value;
	var new_url_webm		= $('webm_'+identifier).value;
	var video_ttl			= $('ttl_'+identifier).value;
	
	var myNEWVideoPopupBg = new Element('div', {
		'id': 'videoPopupBackground'
	});	
	
	myNEWVideoPopupBg.inject($('main_container'),'after');
	$('videoPopupBackground').setStyles({'width': innerWidth, 'height': getDocHeight(), 'opacity': 0.6, 'display':'block'});
	
	
	var myNEWVideoPopupTop = new Element('div', {
		'id': 'videoPopupTopMenu'
	});
	myNEWVideoPopupTop.inject($('main_container'),'after');
	$('videoPopupTopMenu').setStyles({'left': middleX - 320, 'display':'block'});

	var myNEWVideoPopupTop_NAME = new Element('div', {
		'id': 'videoPopupTopMenu_NAME'
	});
	var myNEWVideoPopupTop_CLOSE = new Element('div', {
		'id': 'videoPopupTopMenu_CLOSE'
	});
	
	
	myNEWVideoPopupTop_NAME.inject($('videoPopupTopMenu'));
	myNEWVideoPopupTop_CLOSE.inject($('videoPopupTopMenu'));
	$('videoPopupTopMenu_NAME').innerHTML	= video_ttl;
	
	myNEWVideoPopupTop_CLOSE.addEvent('click', function(){
		$('videoPopupBackground').destroy();
		$('videoPopupTopMenu').destroy();
		$('videoPopupContainter').destroy();
	});
	
	
	var myNEWVideoPopupContainer = new Element('div', {
		'id': 'videoPopupContainter'
	});
	myNEWVideoPopupContainer.inject($('main_container'),'after');
	$('videoPopupContainter').setStyles({'left': middleX - 320, 'display':'block'});
	
	
	if(browserIE){
		
		var obj = new Swiff(root_domain+'over-ons/video.swf', {
			id: 'videoPopupContainter_'+identifier,
			container: $('videoPopupContainter'),
			width: 640,
			height: 360,
			params: {
				wmode: 'window',
				bgcolor: '#000000'
			},
			vars: {
				direct_ttl: video_ttl,
				direct_url: new_url_mp4
			}
		})
		
		
	}else{
		
		var url = root_domain + 'over-ons/loadvideo.php?new_url_mp4='+new_url_mp4+'&new_url_ogv='+new_url_ogv+'&new_url_webm='+new_url_webm+'&frame_width=640&frame_height=360&browserIE='+browserIE+'&browserCHROME='+browserCHROME+'&browserFF='+browserFF;
		//alert(url);
		var req = new Request({url: url,
			method: 'get',
			onSuccess: function(responseText) {
				var output 	= req.response.text;
			
				
				$('videoPopupContainter').innerHTML = output;
				$('videoPopupContainter').addEvent('domready', function() {
				
				
				var myPlayer = VideoJS.setup("videoPopupPlayer");
				myPlayer.play();
				
				});
			},
			onFailure: function() {
				$('videoPopupContainter').set('innerHTML', 'The request failed.');
			}
		});
		req.send();
				
	}
	
}

function getDocHeight() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
}

function getDocWidth() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollWidth, D.documentElement.scrollWidth),
        Math.max(D.body.offsetWidth, D.documentElement.offsetWidth),
        Math.max(D.body.clientWidth, D.documentElement.clientWidth)
    );
}
