var ox_timeline_arrSmallHeight;
var ox_timeline_arrSmallWidth;
var ox_timeline_arrLargeHeight;
var ox_timeline_arrLargeWidth;
var ox_timeline_arrIntervals;
var ox_timeline_arrScaleHeight;
var ox_timeline_arrScaleWidth;
var ox_timeline_arrPopups;
var ox_timeline_arrPeriods;
var ox_timeline_arrPeriodLabels;

var ox_timeline_bolScroll=false;
var ox_timeline_intScroll=0;
var ox_timeline_intScrollRate=0;

function ox_timeline_init(id,dateStart,dateStop,dateNow,dateFrom,dateTo,intIncrement,intObjects,strHeight,strLineHeight,strPosition,intPosition,bolFirst){
	var objTimeline=document.getElementById("ox_timeline_"+id);
	var objSpacer=document.getElementById("ox_timeline_spacer_"+id);
	var objBackground=document.getElementById("ox_timeline_background_"+id);
	var objContent=document.getElementById("ox_timeline_content_"+id);
	var objTable=document.getElementById("ox_timeline_table_"+id);
	var objPrevious=document.getElementById("ox_timeline_previous_"+id);
	var objNext=document.getElementById("ox_timeline_next_"+id);
	var objArrowLeft=document.getElementById("ox_timeline_arrow_left_"+id);
	var objArrowRight=document.getElementById("ox_timeline_arrow_right_"+id);
	var objSpanStart=document.getElementById("ox_timeline_span_start_"+id);
	var objStart=document.getElementById("ox_timeline_start_"+id);
	var objLabelStart=document.getElementById("ox_timeline_label_start_"+id);
	var objSpanFrom=document.getElementById("ox_timeline_span_from_"+id);
	var objFrom=document.getElementById("ox_timeline_from_"+id);
	var objLabelFrom=document.getElementById("ox_timeline_label_from_"+id);
	var objSpanNow=document.getElementById("ox_timeline_span_now_"+id);
	var objNow=document.getElementById("ox_timeline_now_"+id);
	var objLabelNow=document.getElementById("ox_timeline_label_now_"+id);
	var objSpanTo=document.getElementById("ox_timeline_span_to_"+id);
	var objTo=document.getElementById("ox_timeline_to_"+id);
	var objLabelTo=document.getElementById("ox_timeline_label_to_"+id);
	var objSpanStop=document.getElementById("ox_timeline_span_stop_"+id);
	var objStop=document.getElementById("ox_timeline_stop_"+id);
	var objLabelStop=document.getElementById("ox_timeline_label_stop_"+id);
	var dateReal=new Date();dateReal=Date.parseDate(dateReal.getFullYear()+"-"+parseInt(dateReal.getMonth()+1)+"-"+dateReal.getDate(),"Y-m-d")
	var intTotal;
	var intContainerLeft=getElementLeft(objTimeline);
	var intContainerTop;
	var intAdjustOffset;
	var intBGOffset;
	var intTableOffsetWidth;
	if(bolFirst){
		ox_timeline_arrSmallHeight=new Array(intObjects);
		ox_timeline_arrSmallWidth=new Array(intObjects);
		ox_timeline_arrLargeHeight=new Array(intObjects);
		ox_timeline_arrLargeWidth=new Array(intObjects);
		ox_timeline_arrIntervals=new Array(intObjects+1);
		ox_timeline_arrScaleHeight=new Array(intObjects);
		ox_timeline_arrScaleWidth=new Array(intObjects);
		ox_timeline_arrPopups=new Array(intObjects);
	}
	if(strHeight=="100%"){
		objTimeline.style.height=objTimeline.parentNode.clientHeight+"px";
	}else if(strHeight!=""){
		objTimeline.style.height=strHeight;
	}
	if(strLineHeight=="100%"){
		objTable.style.height=objTimeline.offsetHeight+"px";
	}
	intBGOffset=Math.round(objTable.offsetLeft/8);
	if(strPosition=="top"){



		//TODO: implement timeline top!



	}else if(strPosition=="bottom"){
		objBackground.style.top=(objTimeline.offsetHeight-objTable.offsetHeight)-intBGOffset-intPosition+"px";
		objTable.style.top=(objTimeline.offsetHeight-objTable.offsetHeight)-intPosition+"px";
		objPrevious.style.height=objTable.offsetHeight+2*intBGOffset+"px";
		objPrevious.style.top=(objTimeline.offsetHeight-objTable.offsetHeight)-intBGOffset-intPosition+"px";
		objNext.style.height=objTable.offsetHeight+2*intBGOffset+"px";
		objNext.style.top=(objTimeline.offsetHeight-objTable.offsetHeight)-intBGOffset-intPosition+"px";
		objArrowLeft.style.height=objTable.offsetHeight+"px";
		objArrowLeft.style.top=(objTimeline.offsetHeight-objTable.offsetHeight)-intPosition+"px";
		objArrowRight.style.height=objTable.offsetHeight+"px";
		objArrowRight.style.top=(objTimeline.offsetHeight-objTable.offsetHeight)-intPosition+"px";
	}else{
		objBackground.style.top=(objTimeline.offsetHeight-objTable.offsetHeight)/2-intBGOffset+"px";
		objTable.style.top=(objTimeline.offsetHeight-objTable.offsetHeight)/2+"px";
	}
	objSpacer.style.height=objContent.offsetHeight+"px";
	intContainerTop=getElementTop(objTimeline);
	if(document.all){
		intAdjustOffset=(objTimeline.offsetWidth-objTable.offsetWidth)/2-getElementLeft(objTable);
	}if(css().browser=="webkit safari"){
		intAdjustOffset=-18;
	}else{
		if(bolFirst){
			intTableOffsetWidth=objTable.offsetWidth;
		}else{
			intTableOffsetWidth=objTable.parentNode.offsetWidth-402;			
		}
		intAdjustOffset=(objTimeline.offsetWidth-intTableOffsetWidth)/2-getElementLeft(objTable);
	}
	objBackground.style.width=Math.round((objTimeline.offsetWidth-((getElementLeft(objTable)-intContainerLeft)*2))*(dateStop-dateStart)/1000/60/60/24*intIncrement/100)+intBGOffset*16+"px";
	objBackground.style.height=objTable.offsetHeight+2*intBGOffset+"px";
	if(document.all){
		objBackground.style.left=0+"px";
	}else{
		objBackground.style.left=intContainerLeft+"px";
	}
	objTable.style.width=Math.round((objTimeline.offsetWidth-((getElementLeft(objTable)-intContainerLeft)*2))*(dateStop-dateStart)/1000/60/60/24*intIncrement/100)+"px";
	intTotal=objTable.offsetWidth/((dateStop-dateStart)/1000/60/60/24);
	if(document.all){
		objSpanStart.style.left="0px";
	}else{
		objSpanStart.style.left=getElementLeft(objTable)+"px";
	}
//ox_timeline_init_draw(objTable,objSpanStart,objStart,objLabelStart,intContainerLeft,intContainerTop);
	if(document.all){
		objSpanFrom.style.left=Math.round(intTotal*(dateFrom-dateStart)/1000/60/60/24)+"px";
	}else{
		objSpanFrom.style.left=Math.round(getElementLeft(objTable)+intTotal*(dateFrom-dateStart)/1000/60/60/24)+"px";
	}
//ox_timeline_init_draw(objTable,objSpanFrom,objFrom,objLabelFrom,intContainerLeft,intContainerTop);
	if(!(dateReal<dateStart || dateReal>dateStop)){
		if(document.all){
			objSpanNow.style.left=Math.round(intTotal*(dateNow-dateStart)/1000/60/60/24)+"px";
		}else{
			objSpanNow.style.left=Math.round(getElementLeft(objTable)+intTotal*(dateNow-dateStart)/1000/60/60/24)+"px";
		}
		ox_timeline_init_draw(objTable,objSpanNow,objNow,objLabelNow,intContainerLeft,intContainerTop);
	}else{
		objNow.style.display="none";
		objLabelNow.style.display="none";
	}
	if(document.all){
		objSpanTo.style.left=Math.round(intTotal*(dateTo-dateStart)/1000/60/60/24)+"px";
	}else{
		objSpanTo.style.left=Math.round(getElementLeft(objTable)+intTotal*(dateTo-dateStart)/1000/60/60/24)+"px";
	}
//ox_timeline_init_draw(objTable,objSpanTo,objTo,objLabelTo,intContainerLeft,intContainerTop);
	if(document.all){
		objSpanStop.style.left=objTable.offsetWidth+"px";
	}else{
		objSpanStop.style.left=getElementLeft(objTable)+objTable.offsetWidth+"px";
	}
//ox_timeline_init_draw(objTable,objSpanStop,objStop,objLabelStop,intContainerLeft,intContainerTop);
	var intPeriods=Math.round((dateStop-dateStart)/1000/60/60/24/365)*12;
	var intStartYear=dateStart.getFullYear()
	var intStartMonth=dateStart.getMonth()
	var dateOffset=new Date();
	var intOffset;
	dateOffset=Date.parseDate(intStartYear+"-"+parseInt(intStartMonth+1)+"-1","Y-m-d")
	if(bolFirst){
		ox_timeline_arrPeriods=new Array(intPeriods);
		ox_timeline_arrPeriodLabels=new Array(intPeriods);
	}
	for(var intCount=0;intCount<=intPeriods;intCount++){
		dateOffset=Date.parseDate(intStartYear+"-"+parseInt(intStartMonth+1)+"-1","Y-m-d")
		intOffset=Math.round(intTotal*(dateOffset-dateStart)/1000/60/60/24);
		intOffset=intOffset+intAdjustOffset;
		if(intStartMonth==0){
			ox_timeline_init_draw_time(objTable,intContainerLeft,intContainerTop,intOffset,"year",intStartYear,bolFirst,intCount)
		}else{
			ox_timeline_init_draw_time(objTable,intContainerLeft,intContainerTop,intOffset,"month",intStartMonth,bolFirst,intCount)
		}
		if(intStartMonth==11){
			intStartMonth=0;
			intStartYear++;
		}else{
			intStartMonth++;
		}
	}
	ox_timeline_intScroll=getElementLeft(objSpanFrom)-getElementLeft(objContent)-getElementLeft(objTable)+intContainerLeft;
	objContent.scrollLeft=ox_timeline_intScroll;
	objContent.style.visibility="visible";
	objTimeline.style.visibility="visible";
}

function ox_timeline_init_draw(objTable,objPoint,objLine,objLabel,intContainerLeft,intContainerTop){
	objLine.style.left=getElementLeft(objPoint)-intContainerLeft-Math.round(objLine.offsetWidth/2)+"px";
	objLine.style.height=objTable.offsetHeight-objLabel.offsetHeight+"px";
	objLine.style.top=getElementTop(objTable)-intContainerTop+objLabel.offsetHeight+"px";
	objLine.style.visibility="visible";
	objLabel.style.left=getElementLeft(objPoint)-intContainerLeft-Math.round(objLabel.offsetWidth/2)+"px";
	objLabel.style.top=getElementTop(objTable)-intContainerTop+"px";
	objLabel.style.visibility="visible";
}

function ox_timeline_init_draw_time(objTable,intContainerLeft,intContainerTop,intOffset,strType,strValue,bolFirst,intCount){
	if(strType=="year"){
		if(bolFirst){
			objTable.parentNode.insertBefore(document.createElement("div"),objTable.nextSibling);
			ox_timeline_arrPeriods[intCount]=objTable.nextSibling;
			ox_timeline_arrPeriods[intCount].className="ox-timeline-period opacity-25"
			objTable.parentNode.insertBefore(document.createElement("div"),objTable.nextSibling);
			ox_timeline_arrPeriodLabels[intCount]=objTable.nextSibling;
			ox_timeline_arrPeriodLabels[intCount].className="ox-timeline-label-period opacity-25"
			ox_timeline_arrPeriodLabels[intCount].innerHTML=strValue;
		}
		if(document.all){
			ox_timeline_arrPeriods[intCount].style.left=getElementLeft(objTable)+intOffset-Math.round(ox_timeline_arrPeriods[intCount].offsetWidth/2)+"px";
		}else{
			ox_timeline_arrPeriods[intCount].style.left=intContainerLeft+getElementLeft(objTable)+intOffset-Math.round(ox_timeline_arrPeriods[intCount].offsetWidth/2)+"px";
		}
		ox_timeline_arrPeriods[intCount].style.height=objTable.offsetHeight-ox_timeline_arrPeriodLabels[intCount].offsetHeight+"px";
		ox_timeline_arrPeriods[intCount].style.top=getElementTop(objTable)-intContainerTop+ox_timeline_arrPeriodLabels[intCount].offsetHeight+"px";
		ox_timeline_arrPeriods[intCount].style.visibility="visible";
		if(document.all){
			ox_timeline_arrPeriodLabels[intCount].style.left=getElementLeft(objTable)+intOffset-Math.round(ox_timeline_arrPeriodLabels[intCount].offsetWidth/2)+"px";
		}else{
			ox_timeline_arrPeriodLabels[intCount].style.left=intContainerLeft+getElementLeft(objTable)+intOffset-Math.round(ox_timeline_arrPeriodLabels[intCount].offsetWidth/2)+"px";
		}
		ox_timeline_arrPeriodLabels[intCount].style.top=getElementTop(objTable)-intContainerTop+"px";
		ox_timeline_arrPeriodLabels[intCount].style.visibility="visible";
	}else{
		if(bolFirst){
			objTable.parentNode.insertBefore(document.createElement("div"),objTable.nextSibling);
			ox_timeline_arrPeriods[intCount]=objTable.nextSibling;
			ox_timeline_arrPeriods[intCount].className="ox-timeline-period opacity-5"
		}
		if(document.all){
			ox_timeline_arrPeriods[intCount].style.left=getElementLeft(objTable)+intOffset-Math.round(ox_timeline_arrPeriods[intCount].offsetWidth/2)+"px";
		}else{
			ox_timeline_arrPeriods[intCount].style.left=intContainerLeft+getElementLeft(objTable)+intOffset-Math.round(ox_timeline_arrPeriods[intCount].offsetWidth/2)+"px";
		}
		ox_timeline_arrPeriods[intCount].style.height=Math.round(objTable.offsetHeight/2)+"px";
		ox_timeline_arrPeriods[intCount].style.top=getElementTop(objTable)-intContainerTop+Math.round(objTable.offsetHeight/2-ox_timeline_arrPeriods[intCount].offsetHeight/2)+"px";
		ox_timeline_arrPeriods[intCount].style.visibility="visible";
	}
}

function ox_timeline_object_init(timelineId,id,dateStart,dateStop,dateNow,dateFrom,dateTo,intIncrement,strTime,strFrom,strTo,bolTitle,bolSummary,bolFirst){
	var objTimeline=document.getElementById("ox_timeline_"+timelineId);
	var objTable=document.getElementById("ox_timeline_table_"+timelineId);
	var objSpan=document.getElementById("ox_timeline_span_"+id);
	var objTime=document.getElementById("ox_timeline_time_"+id);
	var objObject=document.getElementById("ox_timeline_object_"+id);
	var objIconSmall=document.getElementById("ox_timeline_icon_small_"+id);
	var objIconReflection=document.getElementById("ox_timeline_icon_reflection_"+id);
	var objIconLarge=document.getElementById("ox_timeline_icon_large_"+id);
	var objLabel;
	var objBar;
	var objBarReflection;
	var objBarBack;
	var objBarForth;
	var objPopup;
	var intTotal=objTable.offsetWidth/((dateStop-dateStart)/1000/60/60/24);
	var intTime;
	var intStart;
	var intWidth;
	var intContainerLeft=getElementLeft(objTimeline);
	var strId;
	var strSrc;
	var objTempNew;
	if(bolFirst){
		ox_timeline_arrSmallHeight[id]=objIconSmall.offsetHeight;
		ox_timeline_arrSmallWidth[id]=objIconSmall.offsetWidth;
		if(objIconLarge!=undefined){
			ox_timeline_arrLargeHeight[id]=objIconLarge.offsetHeight;
			ox_timeline_arrLargeWidth[id]=objIconLarge.offsetWidth;
		}else{
			ox_timeline_arrLargeHeight[id]=objIconSmall.offsetHeight;
			ox_timeline_arrLargeWidth[id]=objIconSmall.offsetWidth;
		}
	}
	if(strTime=="now") intTime=Math.round(intTotal*(dateNow-dateStart)/1000/60/60/24);
	else if(strTime!="") intTime=Math.round(intTotal*(Date.parseDate(strTime,"Y-m-d")-dateStart)/1000/60/60/24); else intTime=Math.round(intTotal*(dateNow-dateStart)/1000/60/60/24)
	if(strFrom=="now"){strFrom=dateNow.dateFormat("Y-m-d");intStart=Math.round(intTotal*(dateNow-dateStart)/1000/60/60/24);}
	else if(strFrom!="") intStart=Math.round(intTotal*(Date.parseDate(strFrom,"Y-m-d")-dateStart)/1000/60/60/24); else intStart=intTime;
	if(strTo=="now"){strTo=dateNow.dateFormat("Y-m-d");intWidth=Math.round(intTotal*(dateNow-dateStart)/1000/60/60/24)-intStart;}
	else if(strTo!="") intWidth=Math.round(intTotal*(Date.parseDate(strTo,"Y-m-d")-dateStart)/1000/60/60/24)-intStart; else intWidth=intTime;
	if(intStart<0){intWidth=intWidth+intStart;intStart=0;}
	if(intStart+intWidth>objTable.offsetWidth) intWidth=intWidth-(intStart+intWidth-objTable.offsetWidth);
	if(intWidth<0) intWidth=0;
	if(document.all){
		if(intTime<0) objTime.style.left="0px"; else if(intTime>objTable.offsetWidth) objTime.style.left=objTable.offsetWidth+"px"; else objTime.style.left=intTime+"px";
		objSpan.style.left=intStart+"px";
		objSpan.style.width=intWidth+"px";
	}else{
		if(intTime<0) objTime.style.left=getElementLeft(objTable)+"px"; else if(intTime>objTable.offsetWidth) objTime.style.left=getElementLeft(objTable)+objTable.offsetWidth+"px"; else objTime.style.left=getElementLeft(objTable)+intTime+"px";
		objSpan.style.left=getElementLeft(objTable)+intStart+"px";
		objSpan.style.width=intWidth+"px";
	}
	objObject.style.left=getElementLeft(objTime)-intContainerLeft+"px";
	objObject.style.top=getElementTop(objTime)-getElementTop(objTimeline)+"px";
	if(objIconSmall.className=="ox-timeline-object-icon-name"){
		if(window.getComputedStyle){
			strSrc=window.getComputedStyle(objIconSmall.firstChild,null).backgroundImage;
			strSrc=strSrc.substr(4,strSrc.length-5)
		}else if(objIconSmall.currentStyle){
			strSrc=objIconSmall.firstChild.currentStyle.backgroundImage;
			strSrc=strSrc.substr(5,strSrc.length-7)
		}
		strId=objIconSmall.id;
		objTempNew=document.createElement("img");
		objTempNew.src=strSrc;
		objTempNew.border="0";
		objTempNew.className="ox-timeline-object-icon-small";
		objTempNew.onmouseover=objIconSmall.onmouseover;
		objTempNew.onmouseout=objIconSmall.onmouseout;
		objIconSmall.parentNode.replaceChild(objTempNew,objIconSmall);
		objIconSmall=objTempNew;
		objIconSmall.id=strId;
	}
	objIconSmall.style.left=Math.round(-ox_timeline_arrSmallWidth[id]/2)+"px";
	objIconSmall.style.top=Math.round(-ox_timeline_arrSmallHeight[id]/2)+"px";
	objIconSmall.style.visibility="visible";
	//if(objIconReflection!=undefined){
	//	objIconReflection.style.left=Math.round(-ox_timeline_arrSmallWidth[id]/2)+"px";
	//	objIconReflection.style.top=Math.round(-ox_timeline_arrSmallHeight[id]/2)+55+"px";
	//	objIconReflection.style.visibility="visible";
	//}
	if(objIconLarge!=undefined){
		if(objIconLarge.className=="ox-timeline-object-icon-name"){
			if(window.getComputedStyle){
				strSrc=window.getComputedStyle(objIconLarge.firstChild,null).backgroundImage;
				strSrc=strSrc.substr(4,strSrc.length-5)
			}else if(objIconLarge.currentStyle){
				strSrc=objIconLarge.firstChild.currentStyle.backgroundImage;
				strSrc=strSrc.substr(5,strSrc.length-7)
			}
			strId=objIconLarge.id;
			objTempNew=document.createElement("img");
			objTempNew.src=strSrc;
			objTempNew.border="0";
			objTempNew.className="ox-timeline-object-icon-large";
			objTempNew.onmouseover=objIconLarge.onmouseover;
			objTempNew.onmouseout=objIconLarge.onmouseout;
			objIconLarge.parentNode.replaceChild(objTempNew,objIconLarge);
			objIconLarge=objTempNew;
			objIconLarge.id=strId;
		}
		objIconLarge.style.height=ox_timeline_arrSmallHeight[id]+"px";
		objIconLarge.style.width=ox_timeline_arrSmallWidth[id]+"px";
		objIconLarge.style.left=Math.round(-ox_timeline_arrSmallWidth[id]/2)+"px";
		objIconLarge.style.top=Math.round(-ox_timeline_arrSmallHeight[id]/2)+"px";
		objIconLarge.style.display="none";
		objIconLarge.style.visibility="visible";
	}
	if(strFrom!="" && strTo!=""){
		objBar=document.getElementById("ox_timeline_bar_"+id);
		objBar.style.left=getElementLeft(objSpan)-intContainerLeft+"px";
		objBar.style.width=objSpan.offsetWidth+"px";
		objBar.style.top=getElementTop(objSpan)-getElementTop(objTimeline)-Math.round(objBar.offsetHeight/2)+"px";
		objBar.style.visibility="visible";
		objBarReflection=document.getElementById("ox_timeline_bar_reflection_"+id);
		if(objBarReflection!=undefined){
			objBarReflection.style.left=getElementLeft(objSpan)-intContainerLeft+"px";
			objBarReflection.style.width=objSpan.offsetWidth+"px";
			objBarReflection.style.top=getElementTop(objSpan)-getElementTop(objTimeline)-Math.round(objBar.offsetHeight/2)+55+"px";
			//objBarReflection.style.visibility="visible";
		}
		if(Date.parseDate(strFrom,"Y-m-d")<dateStart){
			objBarBack=document.getElementById("ox_timeline_bar_back_"+id);
			objBarBack.style.left=getElementLeft(objBar)-intContainerLeft-getElementLeft(objTimeline)-objBarBack.offsetWidth+"px";
			objBarBack.style.top=getElementTop(objBar)-getElementTop(objTimeline)+Math.round(objBar.offsetHeight/2-objBarBack.offsetHeight/2)+"px";
			objBarBack.style.visibility="visible";
		}
		if(Date.parseDate(strTo,"Y-m-d")>dateStop){
			objBarForth=document.getElementById("ox_timeline_bar_forth_"+id);
			objBarForth.style.left=getElementLeft(objBar)-intContainerLeft-getElementLeft(objTimeline)+objBar.offsetWidth+"px";
			objBarForth.style.top=getElementTop(objBar)-getElementTop(objTimeline)+Math.round(objBar.offsetHeight/2-objBarForth.offsetHeight/2)+"px";
			objBarForth.style.visibility="visible";
		}
	}
	if(bolTitle){
		objLabel=document.getElementById("ox_timeline_label_"+id);
		objLabel.style.left=Math.round(-objLabel.offsetWidth/2)+"px";
		objLabel.style.top=Math.round(ox_timeline_arrSmallHeight[id]/2)+"px";
		objLabel.style.visibility="visible";
	}
	if(bolTitle && bolSummary){
		objPopup=document.getElementById("ox_timeline_popup_"+id);
		objPopup.style.left=Math.round(ox_timeline_arrLargeWidth[id]/2)+"px";
		objPopup.style.top=Math.round(-objPopup.offsetHeight/2)+"px";
		ox_timeline_arrPopups[id]=new Fadomatic(objPopup,5,0,0,75);
	}
}

function ox_timeline(id,direction){
	var objObject=document.getElementById("ox_timeline_object_"+id);
	var objIconSmall=document.getElementById("ox_timeline_icon_small_"+id);
	var objIconReflection=document.getElementById("ox_timeline_icon_reflection_"+id);
	var objIconLarge=document.getElementById("ox_timeline_icon_large_"+id);
	var objLabel=document.getElementById("ox_timeline_label_"+id);
	var objPopup=document.getElementById("ox_timeline_popup_"+id);
	window.clearInterval(ox_timeline_arrIntervals[id]);
	if(direction=="in"){
		if(objIconLarge!=undefined){
			objIconSmall.style.display="none";
			if(objIconReflection!=undefined){
				objIconReflection.style.display="none";
			}
			objIconLarge.style.display="block";
		}
		objObject.style.zIndex=1;
		if(objIconLarge!=undefined){
			ox_timeline_arrScaleHeight[id]=objIconLarge.offsetHeight;
			ox_timeline_arrScaleWidth[id]=objIconLarge.offsetWidth;
		}else{
			ox_timeline_arrScaleHeight[id]=objIconSmall.offsetHeight;
			ox_timeline_arrScaleWidth[id]=objIconSmall.offsetWidth;
		}
		ox_timeline_arrIntervals[id]=window.setInterval(
			function(){
				var bolDoneHeight=false;
				var bolDoneWidth=false;
				if(ox_timeline_arrScaleHeight[id]<ox_timeline_arrLargeHeight[id]){
					if(objIconLarge!=undefined){
						objIconLarge.style.height=ox_timeline_arrScaleHeight[id]+"px";
						objIconLarge.style.top=Math.round(-ox_timeline_arrScaleHeight[id]/2)+"px";
					}
					if(objLabel!=undefined){
						objLabel.style.top=Math.round(ox_timeline_arrScaleHeight[id]/2)+"px";
					}
					ox_timeline_arrScaleHeight[id]=ox_timeline_arrScaleHeight[id]+Math.round((ox_timeline_arrLargeHeight[id]-ox_timeline_arrSmallHeight[id])/10);
				}else{
					bolDoneHeight=true;
				}
				if(ox_timeline_arrScaleWidth[id]<ox_timeline_arrLargeWidth[id]){
					if(objIconLarge!=undefined){
						objIconLarge.style.width=ox_timeline_arrScaleWidth[id]+"px";
						objIconLarge.style.left=Math.round(-ox_timeline_arrScaleWidth[id]/2)+"px";
					}
					ox_timeline_arrScaleWidth[id]=ox_timeline_arrScaleWidth[id]+Math.round((ox_timeline_arrLargeWidth[id]-ox_timeline_arrSmallWidth[id])/10);
				}else{
					bolDoneWidth=true;
				}
				if(bolDoneHeight && bolDoneWidth){
					window.clearInterval(ox_timeline_arrIntervals[id]);
					if(objIconLarge!=undefined){
						objIconLarge.style.height=ox_timeline_arrLargeHeight[id]+"px";
						objIconLarge.style.width=ox_timeline_arrLargeWidth[id]+"px";
						objIconLarge.style.left=Math.round(-ox_timeline_arrLargeWidth[id]/2)+"px";
						objIconLarge.style.top=Math.round(-ox_timeline_arrLargeHeight[id]/2)+"px";
					}
					if(objLabel!=undefined){
						objLabel.style.top=Math.round(ox_timeline_arrLargeHeight[id]/2)+"px";
						objLabel.style.display="none";
					}
					if(objPopup!=undefined){
						ox_timeline_arrPopups[id].fadeIn();
					}
				}
			},
		20);
	}else{
		if(objIconLarge!=undefined){
			ox_timeline_arrScaleHeight[id]=objIconLarge.offsetHeight;
			ox_timeline_arrScaleWidth[id]=objIconLarge.offsetWidth;
		}
		if(objPopup!=undefined){
			ox_timeline_arrPopups[id].fadeOut();
		}
		if(objLabel!=undefined){
			objLabel.style.display="block";
		}
		ox_timeline_arrIntervals[id]=window.setInterval(
			function(){
				var bolDoneHeight=false;
				var bolDoneWidth=false;
				if(ox_timeline_arrScaleHeight[id]>ox_timeline_arrSmallHeight[id]){
					if(objIconLarge!=undefined){
						objIconLarge.style.height=ox_timeline_arrScaleHeight[id]+"px";
						objIconLarge.style.top=Math.round(-ox_timeline_arrScaleHeight[id]/2)+"px";
					}
					if(objLabel!=undefined){
						objLabel.style.top=Math.round(ox_timeline_arrScaleHeight[id]/2)+"px";
					}
					ox_timeline_arrScaleHeight[id]=ox_timeline_arrScaleHeight[id]-Math.round((ox_timeline_arrLargeHeight[id]-ox_timeline_arrSmallHeight[id])/10);
				}else{
					bolDoneHeight=true;
				}
				if(ox_timeline_arrScaleWidth[id]>ox_timeline_arrSmallWidth[id]){
					if(objIconLarge!=undefined){
						objIconLarge.style.width=ox_timeline_arrScaleWidth[id]+"px";
						objIconLarge.style.left=Math.round(-ox_timeline_arrScaleWidth[id]/2)+"px";
					}
					ox_timeline_arrScaleWidth[id]=ox_timeline_arrScaleWidth[id]-Math.round((ox_timeline_arrLargeWidth[id]-ox_timeline_arrSmallWidth[id])/10);
				}else{
					bolDoneWidth=true;
				}
				if(bolDoneHeight && bolDoneWidth){
					window.clearInterval(ox_timeline_arrIntervals[id]);
					if(objIconLarge!=undefined){
						objIconSmall.style.display="block";
						if(objIconReflection!=undefined){
							objIconReflection.style.display="block";
						}
						objIconLarge.style.display="none";
					}
					if(objLabel!=undefined){
						objLabel.style.top=Math.round(ox_timeline_arrSmallHeight[id]/2)+"px";
					}
					objObject.style.zIndex=0;
				}
			},
		20);
	}
}

function ox_timeline_scroll(id,e){
	var objTimeline=document.getElementById("ox_timeline_"+id);
	var objContent=document.getElementById("ox_timeline_content_"+id);
	var objBackground=document.getElementById("ox_timeline_background_"+id);
	var intContainerLeft=getElementLeft(objTimeline);
	if(getMouseX(e)-getElementLeft(objTimeline)<100 && getMouseY(e)>getElementTop(objBackground) && getMouseY(e)<getElementTop(objBackground)+objBackground.offsetHeight){
		if(getMouseX(e)-getElementLeft(objTimeline)<20){ox_timeline_intScrollRate=80;}
		else if(getMouseX(e)-getElementLeft(objTimeline)<40){ox_timeline_intScrollRate=40;}
		else if(getMouseX(e)-getElementLeft(objTimeline)<60){ox_timeline_intScrollRate=20;}
		else if(getMouseX(e)-getElementLeft(objTimeline)<80){ox_timeline_intScrollRate=10;}
		else{ox_timeline_intScrollRate=5;}
		if(!ox_timeline_bolScroll){
			ox_timeline_bolScroll=true;
			ox_timeline_arrIntervals[id]=window.setInterval(
				function(){
					if(document.all){
						if(ox_timeline_intScroll-ox_timeline_intScrollRate>0){
							ox_timeline_intScroll=ox_timeline_intScroll-ox_timeline_intScrollRate;
						}else{
							window.clearInterval(ox_timeline_arrIntervals[id]);
							ox_timeline_intScroll=0;
						}
					}else{
						if(ox_timeline_intScroll-ox_timeline_intScrollRate-intContainerLeft>0){
							ox_timeline_intScroll=ox_timeline_intScroll-ox_timeline_intScrollRate;
						}else{
							window.clearInterval(ox_timeline_arrIntervals[id]);
							ox_timeline_intScroll=intContainerLeft;
						}
					}
					objContent.scrollLeft=ox_timeline_intScroll;
				},
			20);
		}
	}else if(getMouseX(e)-getElementLeft(objTimeline)>objTimeline.offsetWidth-100 && getMouseY(e)>getElementTop(objBackground) && getMouseY(e)<getElementTop(objBackground)+objBackground.offsetHeight){
		if(getMouseX(e)-getElementLeft(objTimeline)>objTimeline.offsetWidth-20){ox_timeline_intScrollRate=80;}
		else if(getMouseX(e)-getElementLeft(objTimeline)>objTimeline.offsetWidth-40){ox_timeline_intScrollRate=40;}
		else if(getMouseX(e)-getElementLeft(objTimeline)>objTimeline.offsetWidth-60){ox_timeline_intScrollRate=20;}
		else if(getMouseX(e)-getElementLeft(objTimeline)>objTimeline.offsetWidth-80){ox_timeline_intScrollRate=10;}
		else{ox_timeline_intScrollRate=5;}
		if(!ox_timeline_bolScroll){
			ox_timeline_bolScroll=true;
			ox_timeline_arrIntervals[id]=window.setInterval(
				function(){
					if(ox_timeline_intScroll+ox_timeline_intScrollRate<objContent.scrollWidth-objContent.offsetWidth){
						ox_timeline_intScroll=ox_timeline_intScroll+ox_timeline_intScrollRate;
					}else{
						window.clearInterval(ox_timeline_arrIntervals[id]);
						ox_timeline_intScroll=objContent.scrollWidth-objContent.offsetWidth;
					}
					objContent.scrollLeft=ox_timeline_intScroll;
				},
			20);
		}
	}else{
		if(ox_timeline_bolScroll){
			ox_timeline_bolScroll=false;
			window.clearInterval(ox_timeline_arrIntervals[id]);
		}
	}
}

function ox_timeline_scroll_stop(id){
	if(ox_timeline_bolScroll){
		ox_timeline_bolScroll=false;
		window.clearInterval(ox_timeline_arrIntervals[id]);
	}
}