var homeAniInterval, homeSlideInterval, homeAniIndex=false, newsSliderTimer,newsSliderIndex=0, monthlyProductTimer;
var ie,badBrowser;
var infoImageOpacity=(0.4);
var themeWorldIndex=0;
var minHeight=600;
var heightThreshold=700;

// Produktwelten(Gesamtsortiment) Animation, Home-Teaser Slider und Info-Button Animation starten sofort
var showMonthlyDelay=4000; // nach 4 Sekunden erscheint das Produkt des Monats
var hideMonthlyDelay=12000; // nach weiteren 12 Sekunden blendet es wieder aus.
var newsSliderDelay=5000 // nach 5 Sekunden beginnt die Neuheiten Thumbnail Animation
var newsSliderTime=6000 // nach weitern 6 Sekunden erscheint das naechste Neuheiten Thumbnail
var homeSlideDelay=7000; // nach 7 Sekunden beginnt die automatische Themenweltenanimation - alle 7 Sekunden geht es weiter zur Naechsten Themenwelt
var homeTeaserScrollTime=5000; // innerhalb 5 Sekunden scrollt die Anwenderbereichsliste von einem Ende zum Anderen
var homeTeaserScrollDelay=3000; // nach 3 Sekunden scrollt die Anwenderbereichsliste in die entgegengesetzte Richtung

$(document).ready(function(){
	ie = jQuery.browser.msie
	badBrowser = ie && jQuery.browser.version<7;
	if($('ul.multimediaControl').length==1){
		init_multimediaDisplay_controls();
		$('ul.multimediaControl').find('a').bind('click',multimediaDisplay_control);
	}
	initAutocomplete();
	initMonthly();
	if(!touchClient) initWindowHeightControls();
	initHomeTeaser();
	if(!touchClient)initInfoImages();
	$("a.infoImage").bind("click",getThemeworlditem);
	initDelays();  // Verzoegernungssteuerung fuer Navi und Flyouts
	initThemeWorlds();
});
function initWindowHeightControls(){
	$(window).bind('resize scroll',function(){ // Hoehe der Themenweltenbilder abhaengig von Fenstergroesse aendern
		setBoxHeight();
	});
	setBoxHeight();
}
function initThemeWorlds(){
	$('div#themenWelten li.bracket').css({
		opacity:0.5
	});
	$('div#themenWelten a.slideArrow').css({
		opacity:0
	}).delay(3000).animate({
		opacity:1
	},1000).animate({
		opacity:0.3
	},300);
	$('div#themenWelten a.slideArrow').bind('mouseover',function(){
		$(this).animate({
			opacity:1
		},100)
		});
	$('div#themenWelten a.slideArrow').bind('mouseout',function(){
		$(this).animate({
			opacity:0.3
		},400)
		});

	$('div#themenWelten a.slideArrow.next').bind('click',function(){
		slideThemeWorlds(themeWorldIndex+1);
		stopAutoSlide();
	});
	$('div#themenWelten a.slideArrow.previous').bind('click',function(){
		slideThemeWorlds(themeWorldIndex-1);
		stopAutoSlide();
	});

	$('div#themenWelten').bind('touchstart',function(){
		stopAutoSlide();
	//		slideThemeWorlds(themeWorldIndex+1);
	//		jp('touchstart');
	});
	

	
	if(!touchClient){
		$('div.thumbnailBox ul li a').each(function(index){
			$(this).data('index',index);
			$(this).bind('mouseenter',function(event){
				$('div.thumbnailBox span span').html($(event.currentTarget).attr('name'));
				showTooltip($('div.thumbnailBox span:first-child'),250);
			});
			$(this).bind('mouseleave',function(){
				hideTooltip($('div.thumbnailBox span:first-child'));
			});
			$(this).bind('click',function(event){
				event.preventDefault();
				var themeWorldIndex=$(event.currentTarget).data('index');
				slideThemeWorlds(themeWorldIndex);
				stopAutoSlide();
			});
		});
	}
	
	homeSlideInterval=window.setInterval(function(){
		slideThemeWorlds(themeWorldIndex+1);
	},homeSlideDelay);
	

}
function initInfoImages(){ 
	$("a.infoImage").each(function(){
		var infoAnchor=$(this);
		var infoImage=$(this).children('img');
		infoImage.css({
			opacity:0,
			width:2,
			height:2,
			left:13,
			top:13
		});
		replaceTitleTag(infoAnchor);
		bubbleMe(infoImage);
	});
	$("a.infoImage").bind('mouseenter',function(){
		stopAutoSlide();
		var infoImage=$(this).children('img');
		infoImage.stop();
		infoImage.css({
			opacity:infoImageOpacity
		});
		infoImage.animate({
			width:14,
			height:14,
			left:7,
			top:7,
			opacity:1
		},50,function(){
			infoImage.animate({
				width:28,
				height:28,
				left:0,
				top:0
			},100,function(){
				showTooltip(infoImage);
			});
		})
	});
	$("a.infoImage").bind('mouseleave',function(){
		var opacity=($(this).hasClass('monthlyProduct'))?1:infoImageOpacity;
		var infoImage=$(this).children('img');
		infoImage.stop();
		infoImage.animate({
			width:28,
			height:28,
			left:0,
			top:0,
			opacity:opacity
		},700);
		hideTooltip(infoImage);
	});
	
	// setup flyout labels
	
	$('span.reminder').each(function(){
		$(this).css({
			display:'inline'
		});
		$(this).data('width',$(this).width());
		$(this).css({
			display:'none',
			position:'absolute',
			width:'1px'
		});
	});

}

function initHomeTeaser(){
	$('div.homeTeaser div.column').each(function(){
		var box=$(this);
		var obj=$(this).children(':first-child');
		if (obj.height()>119) {
			obj.bind('bottom',function(){
				obj.animate({
					'margin-top':0
				},homeTeaserScrollTime,function(){
					$(this).delay(homeTeaserScrollDelay).trigger('top');
				});
			});
			obj.bind('top',function(){
				obj.animate({
					'margin-top':109-obj.height()
					},homeTeaserScrollTime,function(){
					$(this).delay(homeTeaserScrollDelay).trigger('bottom');
				});
			});
			obj.bind('mousemove',function(e){
				var mouseTop = Math.max(0,e.pageY-box.offset().top-10);
				var margin= mouseTop-(mouseTop*1.15*(obj.height()/box.height()));
				obj.stop().animate({
					marginTop:margin
				},500);
			});
			if(!ie) box.bind('mouseleave',function(e){
				obj.delay(10000).trigger('top');
			});
			obj.trigger('top');
		}
	});

	var i=0;
	$('div.homeTeaser.newsSlider').data('activeIndex',0);
	$('div.homeTeaser.newsSlider').find('b').each(function(index){
		var j=index;
		$(this).children('a').each(function(){
			$(this).data('block',j);
			$(this).data('index',i++);
			$(this).bind('click',function(event){
				window.clearTimeout(newsSliderTimer);
				setNewsSlider($(event.target).data().index,newsSliderTime)
			})
		});
	});
	newsSliderTimer = window.setTimeout('newsSliderIndex++;setNewsSlider(newsSliderIndex)', newsSliderDelay);


	// Produktweltenanimation ( NICHT Themenwelten ) - wird gestoppt bei Benutzereingriff
	$('div.homeTeaser:first-child a.hoverLink,div.homeTeaser:first-child ul a').bind('mouseenter mouseleave',function(event){
		var anchorItem=event.currentTarget;
		var anchorLength=4, anchorIndex;
		$(anchorItem).parents('div.homeTeaser').find('a').each(function(index){
			if(this==anchorItem) anchorIndex=(index/anchorLength-Math.floor(index/anchorLength))*anchorLength;
		});
		window.clearInterval(homeAniInterval);
		toggleProductWorlds('mouseleave',homeAniIndex);
		toggleProductWorlds(event.type,anchorIndex);
	});
	homeAniInterval=window.setInterval(function(){
		if(homeAniIndex!==false) {
			toggleProductWorlds('mouseleave',homeAniIndex);
			homeAniIndex=Math.floor(Math.random()*4);
			toggleProductWorlds('mouseenter',homeAniIndex);
		} else homeAniIndex=0;
	},1000);	
}
function initAutocomplete(){
	$('[name="search_string"],form[name="searchForm"] div.select').bind('keydown click focus blur',function(event){ //autocomplete Search
		var field=(this.tagName=='INPUT')?this:$(event.currentTarget).find('input')[0];
		var is_dropdown = field.parentNode.parentNode.className=='select';
		event.stopPropagation();
		var selected=$(field).parent().next().children('li.selected');
		if(selected.length==0) selected=false;
				
		switch (event.type) {
			case 'blur':
				if(selected) field.value=selected.text();
				$('ul.autocomplete').remove();
				break;
			case 'focus':
				field.select();
				break;
			case 'click':
				if(is_dropdown) field.blur();
				if($('ul.autocomplete').length==0){
					if(is_dropdown) showAutocomplete(field,'getcats');
				} else $('ul.autocomplete').remove();
				break;
			case 'keydown':
				switch (event.keyCode){
					case 40:
						if(selected) {
							if(selected.next()[0]) selected.removeClass('selected').next().addClass('selected');
						} else $('ul.autocomplete').children('li:first-child').addClass('selected');
						break;
					case 38:
						if(selected.prev()[0]) selected.removeClass('selected').prev().addClass('selected');
						break;
					case 13:
						field.value=selected.text();
					case 27:
						$('ul.autocomplete').remove();
						break;
					default:
						field.onkeyup=function(){
							field.onkeyup=null;
							showAutocomplete(field,'autocomplete');
						}
				}
				break;
			default:
		}
	
	});

}
function showAutocomplete(field,func){
	$.post("request.php", {
		'function': func,
		'searchstring':field.value.toLowerCase(),
		ajax: 1
	},function(data) {
		$('ul.autocomplete').remove();
		if (data.length>0) {
			var list=$('<ul class="autocomplete"></ul>');
			$(field).parent().after(list);
			list.bind('mouseover',function(event){
				list.children().removeClass('selected');
				$(event.target).addClass('selected');
			});
			list.bind('click',function(event){ // only for getcats
				event.stopPropagation();
				field.value=$(list).children('.selected').text();
				$(list).remove();
			});
			$(data).each(function(index){
				//				var style=(index==0)?' class="selected"':'';
				//				list.append('<li'+style+'>'+this+'</li>');
				list.append('<li>'+this+'</li>');
			});
		}
	},"json");
}
function initMonthly(){
	monthlyProductTimer = window.setTimeout(function(){ // Produkt des Monats - Timer zur Einblendung
		showMonthly();
		monthlyProductTimer = window.setTimeout(function(){
			hideMonthly();
		},hideMonthlyDelay);
	},showMonthlyDelay);
}
function showMonthly(){
	$('div.monthlyProduct.closed').
	css({
		width:1,
		height:1
	}).
	removeClass('closed').
	animate({
		width:380,
		height:125
	},500,'easeInOutQuart',function(){
		$(this).addClass('open');
	});
}
function hideMonthly(){
	window.clearTimeout(monthlyProductTimer);
	$('div.monthlyProduct.open').
	removeClass('open').
	animate({
		width:1,
		height:1
	},500,'easeInOutQuart',function(){
		$(this).addClass('closed');
	});
}
function setNewsSlider(index, timeout){
	if(!timeout)timeout=3000;
	if(index>=$('div.homeTeaser.newsSlider span a').length) index=0;
	$('div.homeTeaser.newsSlider div i').stop().animate({
		'margin-left':(-116*index)
		},700,'easeInOutQuart',function(){
		var dots=$('div.homeTeaser.newsSlider span a')
		/* dots.removeClass('active'); $(dots[index]).addClass('active'); */
		var lis=$('div.homeTeaser.newsSlider ul li');
		lis.removeClass('hover');
		var li=$(lis[$(dots[index]).data().block])
		li.addClass('hover');
		$('#newsBadget')[0].href=li.children('a')[0].href;
		newsSliderIndex = index;
	});
	$('div.homeTeaser.newsSlider span img').stop().animate({
		'left':(12*index+16)
		},700,'easeInOutQuart');
	newsSliderTimer = window.setTimeout('newsSliderIndex++;setNewsSlider(newsSliderIndex)', timeout);

}

function setBoxHeight(){
	var winHeight=($(window).height());
	var scroll=$(window).scrollTop()*2;

	var BoxHeight=504;
	if (winHeight<minHeight) winHeight=minHeight;
	if ((winHeight+scroll)<heightThreshold){
		BoxHeight=winHeight-heightThreshold+BoxHeight+scroll;
	}
	$('div#themenWelten').css({
		height:(BoxHeight)
	});
	$('div.themenWeltItem div.productTooltip').css({
		top:(504-BoxHeight+50)
		});
}
function replaceTitleTag(anchor){
	anchor.prepend('<span class="reminder" style="display:none;">'+anchor.attr('title')+'</span>');
	anchor.removeAttr('title');
}
function showTooltip(obj,width){
	var infoTooltip=$($(obj).parent().find('span')[0]);
	infoTooltip.css({
		opacity:0
	});
	infoTooltip.stop().animate({
		width:(width || infoTooltip.data('width')+20),
		opacity:1
	},200);
}
function hideTooltip(obj){
	var infoTooltip=$($(obj).parent().find('span')[0]);
	infoTooltip.delay(200).animate({
		width:1,
		opacity:0
	},100);

}
function bubbleMe(infoImage){
	window.setTimeout(function(){
		var opacity=($(infoImage).parent().hasClass('monthlyProduct'))?1:infoImageOpacity;
		infoImage.animate({
			opacity:1,
			width:28,
			height:28,
			left:0,
			top:0
		},1500,'easeOutElastic',function(){
			infoImage.animate({
				opacity:opacity
			},700);
		});
	},Math.floor(Math.random()*1500)+800); //timer for run-in bubbles
}
function stopAutoSlide(){
	window.clearInterval(homeSlideInterval);
//	jp('stop');
}

function slideThemeWorlds(index){
	var cropWidth = touchClient?912:880;
	var last=($('div#themenWelten div.themenWelt').length)-1;
	if (index<0) index=last;
	if (index>last) index=0;
	themeWorldIndex=index;
	if(!touchClient){
		$('div#themenWelten li.bracket').stop();
		$('div#themenWelten li.bracket').animate({
			left:65*index
			},800,'easeInOutQuart',function(){
			var ulpos= -(parseInt($('div.thumbnailBox ul').css('left'))-10)/65;
			var bracketpos=parseInt($('div#themenWelten li.bracket').css('left'))/65;
			var targetIndex=false;
			if (bracketpos==last) targetIndex=index-3;
			else if (bracketpos==0) targetIndex=index;
			else if (bracketpos<=ulpos) targetIndex=index-1;
			else if ((bracketpos-2)>ulpos) targetIndex=index-2;
			if(targetIndex!==false){
				$('div.thumbnailBox ul').delay(300).animate({
					left:(10-(65*(targetIndex)))
					},1000);
				$('div#themenWelten li.bracket').animate({
					opacity:1
				},300).animate({
					opacity:0
				},300).animate({
					opacity:1
				},300).animate({
					opacity:0.5
				},300);
			}
		});
	}
	$('div#themenWelten div.scrollbox').animate({
		marginLeft:-(cropWidth+59)*index
		},800,'easeInOutQuart',function(){
		if(!touchClient){
			$("a.infoImage").each(function(){
				var infoAnchor=$(this);
				var infoImage=$(this).children('img');
				//			infoImage.stop();
				infoImage.animate({
					opacity:infoImageOpacity,
					width:10,
					height:10,
					left:9,
					top:9
				},200);
				bubbleMe(infoImage);
			});
		}
	});
}

function toggleProductWorlds(type,anchorIndex){
	var anchors=$('div.homeTeaser:first-child a.hoverLink');
	var listElements=$('div.homeTeaser:first-child ul li');
	if(type=='mouseenter'){
		$(anchors[anchorIndex]).addClass('hover');
		$(listElements[anchorIndex]).addClass('hover');
	}else{
		$(anchors[anchorIndex]).removeClass('hover');
		$(listElements[anchorIndex]).removeClass('hover');
	}
}


wedoWorlds=Array('Office','School','Creative','Gifts');

/************************ PRELOADER **************************************/

function OJ_preload(images){
	i=0;
	imageObjects = new Array;
	while (typeof(images[i])!="undefined"){
		imageObjects[i]= new Image(); 
		imageObjects[i].src="img/home/"+images[i];
		i++;
	}
}
/************************ COMMERCE CONNECTOR **************************************/

function OJ_openCConnector (eanCode){
	//	window.open('cConnector.php?eanCode='+eanCode, "CommerceConnectorPopup", "width=805,height=686,top=100,location=no,menubar=no,status=no,toolbar=no,scrollbars=no,resizable=yes");
	window.open('cConnector.php?eanCode='+eanCode, "CommerceConnectorPopup", "width=935,height=750,top=100,location=no,menubar=no,status=no,toolbar=no,scrollbars=no,resizable=yes");
}

function OJ_openOnlineshop (deeplink){
	//deeplink='http://www.printus.de/webapp/wcs/stores/servlet/ProductDisplay?storeId=20&langId=-3&catalogId=1&productId=3491&topCategoryStyleId=ff';
	window.open(deeplink, "OnlineShopWindow", "width=1100,height=900,top=100,location=yes,menubar=yes,status=yes,toolbar=yes,scrollbars=yes");

}

/************************ DELAYS **************************************/
var activeThumbnail=false;
var activeFlyout=false;
var activeFlyoutTimer=false;
var activeFlyoutHideTimer=false;
var mousex = false;
var mousey = false;

var pathnaviElement=false;
var pathnaviTimer=false;
var pathnaviHideTimer=false;

function initDelays(){
	var Flyouts=document.getElementsByName('tooltip');
	for ( var i = 0; i < Flyouts.length; i++) { //init events for thumbnails
		Flyouts[i].onmousemove=showFlyout;
		Flyouts[i].onmouseout=hideFlyout;
	}
	var reminders=document.getElementsByName('reminder');
	for ( i = 0; i < reminders.length; i++) { //init events for thumbnails
		reminders[i].onmouseover=hideReminder;
		reminders[i].id='reminder_'+i;
		window.setTimeout('showReminder("reminder_'+i+'")',4000);
	}
	if (document.body.addEventListener)  //trace mouse position
		document.body.addEventListener('mousemove',getMouseCoordinates,false);
	else if(document.body.attachEvent)
		document.body.attachEvent('onmousemove',getMouseCoordinates);

	if (document.getElementById('pathNavi')){ //set styles and init events for path Navi
		var navi=document.getElementById('pathNavi');
		navi.className = 'off';
		navi.onmouseover = showSubsEvent;
		navi.onmouseout = hideSubsEvent;
	}
}
/************************ PATHNAVI **************************************/
function getMouseCoordinates (e){
	var event = window.event || e;
	mousex = event.pageX || event.clientX;
	mousey = event.pageY || event.clientY;
}
function showSubsEvent(e){
	var event = window.event || e;
	var target = event.srcElement || event.target;
	pathnaviElement = target.parentNode.getElementsByTagName('UL')[0];
	if(pathnaviHideTimer){
		window.clearTimeout(pathnaviHideTimer);
		pathnaviHideTimer=false;
	}
	if(!pathnaviTimer) pathnaviTimer=window.setTimeout('showSubs()',300);
}
function hideSubsEvent(){
	if(pathnaviTimer){
		window.clearTimeout(pathnaviTimer);
		pathnaviTimer=false;
	}
	if(!pathnaviHideTimer) pathnaviHideTimer=window.setTimeout('hideSubs()',300)
}
function showSubs(){
	var navi=document.getElementById('pathNavi');
	navi.className = 'on';
	pathnaviTimer = false;
	if(pathnaviElement){ //buggy ie des not re-render
		pathnaviElement.style.visibility='visible'; 
		pathnaviElement.onmouseover=function(){
			pathnaviElement.style.visibility='';
			pathnaviElement.onmouseover=null;
		}
	}
	$('div#top, div#bottom, div#standard').css({
		opacity:0.3
	});
}

function hideSubs(){
	var navi=document.getElementById('pathNavi');
	navi.className = 'off';
	pathnaviHideTimer = false;
	$('div#top, div#bottom, div#standard').css({
		opacity:''
	});
}
/************************ REMINDER **************************************/

function showReminder(id){
	var reminder=document.getElementById(id);
	var span=reminder.getElementsByTagName('SPAN')[0];
	reminder.style.display='block';
	if(span.style.width) {
		var width=parseInt(span.style.width);
		span.style.width=(width+10)+'px';
		if (width<140) window.setTimeout('showReminder("'+id+'")',20);
		else window.setTimeout('hideReminder("'+id+'")',3000)
	} else {
		span.style.width='0px';
		window.setTimeout('showReminder("'+id+'")',500);
	}
}
function hideReminder(id){
	if (id) document.getElementById(id).style.display="none";
	else {
		this.style.display="none";
		
	}
}

/************************ FLYOUTS **************************************/
function showFlyout(e){
	var event = window.event || e;
	activeThumbnail = event.srcElement || event.target;
	while(activeThumbnail.tagName!='A')activeThumbnail=activeThumbnail.parentNode;
	if($(activeThumbnail).next()[0].tagName=='DIV'){
		if ( activeFlyout && (activeFlyout != activeThumbnail.nextSibling ) ) { 
			activeFlyout.style.display='none';
			activeFlyout = activeThumbnail.nextSibling;
			setFlyout();
		}

		activeFlyout = activeThumbnail.nextSibling;
		if (activeFlyout.style.display=='block') setFlyout();
		else if(!activeFlyoutTimer) activeFlyoutTimer=window.setTimeout("setFlyout(true);",500);
		if(activeFlyoutHideTimer) { 
			window.clearTimeout(activeFlyoutHideTimer);
			activeFlyoutHideTimer = false;
		//setFlyout();
		}
	}
}
function setFlyout(init){
	if(activeFlyout || init){
		//		var scrollOffset=(document.documentElement.scrollTop)?document.documentElement.scrollTop:0; //ie scroll offset
		var scrollOffset=ie?document.documentElement.scrollTop:0; //ie scroll offset
		activeFlyout.style.left=(mousex-getPos(activeThumbnail.offsetParent).left-223)+'px';
		activeFlyout.style.top=(mousey-getPos(activeThumbnail.offsetParent).top-150+scrollOffset)+'px';
		activeFlyout.style.display='block';
	}

}
function hideFlyout(e){
	var event = window.event || e;
	var target = event.srcElement || event.target;
	if(!activeFlyoutHideTimer) activeFlyoutHideTimer=window.setTimeout("hideActiveFlyout()",50);
}
function hideActiveFlyout(){
	if(activeFlyout){
		activeFlyout.style.display='none';
		window.clearTimeout(activeFlyoutTimer);
		activeFlyoutTimer=false;
		activeFlyout=false;
		activeFlyoutHideTimer=false;
	}
}

function getPos (obj) {
	var output = new Object();
	var mytop=0, myleft=0;
	while( obj) {
		mytop+= obj.offsetTop;
		myleft+= obj.offsetLeft;
		obj= obj.offsetParent;
	}
	output.left = myleft;
	output.top = mytop;
	return output;
}
/**************************** HELPERS *********************************************/

function limit(min,value,max){
	if (value<min) value = min;
	if (value>max) value = max;
	return value;
}
function pyth (a,b){
	return Math.sqrt(a*a+b*b);
}
/**************************** DEBUGGING *********************************************/

var jsPromptPre = "";

function jp(promptTXT){
	promptTXT +=' ';
	if(document.getElementById('jsPrompt')){
		lines=promptTXT.split("\n");
		for (i=0;i<lines.length;i++){
			var newP = document.createElement("p");
			var newTXT = document.createTextNode(lines[i]);
			newP.appendChild(newTXT);
			document.getElementById('jsPrompt').appendChild(newP);
		}
	} else jsPromptPre+="\n"+promptTXT;
}
function jd(obj,hideFuncs){
	var text ="******************_object_dump_********************\n";
	if (typeof(obj)=='object'){
		for(var key in obj) {
			if (key!='channel'){
				if (obj[key]) 
					var string=""+obj[key];
				//					if(typeof(obj[key])!='function' && typeof(obj[key])!='undefined') text+=typeof(obj[key])+" => "+ key+" => "+string+"\n";
				if(typeof(obj[key])!='function' && typeof(obj[key])!='undefined') text+=key+" => "+string+"\n";
				else if(!hideFuncs)text+=key+" => "+string.substring(0,string.indexOf('{'))+"\n";
			}
		//			if (obj[key]) text+=key+" => "+obj[key]+"\n";
		}
		jp(text+"*********************_end_dump_********************\n");
	}
}
function jc(){
	if(document.getElementById('jsPrompt')){
		document.getElementById('jsPrompt').innerHTML='';
	} else jsPromptPre="";
	
}

/************************ OLD INSERTED FOR Compatibility **************************************/

function image_change (url,id) {
	document.getElementById(id).src = url;
}


