popup = {
    popupDiv:null,
    getOffsetToObject:function (sourceObj,parentObj) {
        if(sourceObj == null||sourceObj==parentObj){
            return {top:0, left:0};
        }
        var ret = this.getOffsetToObject(sourceObj.offsetParent, parentObj);
        ret.top += sourceObj.offsetTop;
        ret.left += sourceObj.offsetLeft;
        return ret;
    },
   
    showPopup:function (args){
		if(window.pageLoaded !== 1)
					return;
        if(args.parentObj==undefined){
            args.parentObj=document.body;
        }
        var offset = {top:0,left:0};
        if(args.relObj != undefined){
            offset = this.getOffsetToObject(args.relObj,args.parentObj);
        }
        if(args.top == undefined){
            args.top=0;
        }
        if(args.left == undefined){
            args.left=0;
        }
        if(args.horAlign == undefined){
            args.horAlign='left';
        }
        if(args.verAlign == undefined){
            args.verAlign='top';
        }
        offset.top+=args.top;
        offset.left+=args.left;
        if(args.verAlign=='bottom' && (offset.top-args.height) <0){
			args.verAlign="top";
			offset.top+=args.relObj.offsetHeight+10; // +5 == shadowHeight
			
		}
        if(this.popupDiv == null||1){

            this.popupDiv = document.createElement('div');
            this.popupDiv.style.position='absolute';

            this.popupDiv.style.fontFamily='Verdana';
            this.popupDiv.style.fontSize='11px';
            this.popupDiv.style.backgroundColor='#ffffff';
            this.popupDiv.style.border='1px solid #c2c2c2';
            this.popupDiv.style.padding='5px';

            this.popupDiv.id='eventDiv';
            this.popupDiv.className="shadowContainer";
            tl= document.createElement('div');
            tl.className="pos tl";
            t= document.createElement('div');
            t.className="pos t";
            tr= document.createElement('div');
            tr.className="pos tr";
            r= document.createElement('div');
            r.className="pos r";
            b= document.createElement('div');
            b.className="pos b";
            br= document.createElement('div');
            br.className="pos br";
            bl= document.createElement('div');
            bl.className="pos bl";

            l= document.createElement('div');
            l.className="pos l";
            this.popupDiv.appendChild(tl);
            this.popupDiv.appendChild(t);
            this.popupDiv.appendChild(tr);
            this.popupDiv.appendChild(r);
            this.popupDiv.appendChild(b);
            this.popupDiv.appendChild(br);
            this.popupDiv.appendChild(bl);
            this.popupDiv.appendChild(l);
            this.popupDivContent=document.createElement('div');
			this.popupDivContent.style.position="absolute";
			this.popupDivContent.style.left="5px";
			this.popupDivContent.style.top="5px";
			this.popupDivContent.style.right="5px";
			this.popupDivContent.style.bottom="5px";
            this.popupDiv.appendChild(this.popupDivContent);
            //document.body.appendChild(this.popupDiv);
        }
		args.parentObj.appendChild(this.popupDiv);
        if(args.verAlign=='top'){
            this.popupDiv.style.top= (offset.top) +'px';
            
        }
		else if(args.verAlign=='centered'){
			this.popupDiv.style.top= '50%';
			this.popupDiv.style.marginTop= -parseInt(args.height/2)+"px";
		}
        else{
            this.popupDiv.style.top= (offset.top-args.height-23) +'px';
            
        }
        if(args.horAlign=='left'){
            this.popupDiv.style.left= offset.left + 'px';
            
        }
        else{
            this.popupDiv.style.left= offset.left +args.relObj.offsetWidth+ 'px';
            
        }
        
        
        this.popupDiv.style.height=args.height+'px';
        this.popupDiv.style.width=args.width+'px';
        this.popupDivContent.innerHTML=args.html;
        this.popupDiv.style.display="block";
    },
    closePopup : function(){
		if(this.popupDiv !=null){
			this.popupDiv.style.display = "none";
		}
    }
}
function hideTooltip(){

	popup.closePopup();

}
function showTooltip(args)
{/*
	args: 
	sourceObj,parentObj, html,width,height
	*/
	popup.showPopup({relObj:args.sourceObj,parentObj:args.parentObj,html:args.html,width:args.width,height:args.height,verAlign:'bottom'});

}


			window.firstPageCalendar={};
				function hideEventsPopup()
			{
				if(document.eventDiv) {
					document.eventDiv.style.display='none';
				}
			
			}
			function showEventsPopup(obj, date)
			{
			
				var offset = getOffsetToDocument(obj);
				if(window.pageLoaded !== 1)
					return;
							
				if(!document.eventDiv) {
	                document.eventDiv = document.createElement('div');
	                document.eventDiv.style.position='absolute';
	                document.eventDiv.style.top= (offset.top +30) +'px';
	                document.eventDiv.style.left= (offset.left-200) + 'px';
	                document.eventDiv.style.height='200px';
	                document.eventDiv.style.width='430px';
	                document.eventDiv.style.fontFamily='Verdana';
	                document.eventDiv.style.fontSize='11px';
					document.eventDiv.style.backgroundColor='#ffffff';
					document.eventDiv.style.border='1px solid #c2c2c2';
					document.eventDiv.style.padding='5px';
					//document.eventDiv.style.overflow="hidden";
	                document.eventDiv.id='eventDiv';
					document.eventDiv.className="shadowContainer";
					tl= document.createElement('div');
					tl.className="pos tl";
					t= document.createElement('div');
					t.className="pos t";
					tr= document.createElement('div');
					tr.className="pos tr";
					r= document.createElement('div');
					r.className="pos r";
					b= document.createElement('div');
					b.className="pos b";
					br= document.createElement('div');
					br.className="pos br";
					bl= document.createElement('div');
					bl.className="pos bl";
					
					l= document.createElement('div');
					l.className="pos l";
					document.eventDiv.appendChild(tl);
					document.eventDiv.appendChild(t);
					document.eventDiv.appendChild(tr);
					document.eventDiv.appendChild(r);
					document.eventDiv.appendChild(b);
					document.eventDiv.appendChild(br);
					document.eventDiv.appendChild(bl);
					document.eventDiv.appendChild(l);
					document.eventDivContent=document.createElement('div');
					document.eventDiv.appendChild(document.eventDivContent);
					//l.className="pos l";
					
	                	
					document.body.appendChild(document.eventDiv);
				}
				else
				{
				
					document.eventDiv.style.top= (offset.top + 30)+'px';
						
					document.eventDiv.style.left= (offset.left -200 )+ 'px';
				
				}
				document.eventDiv.style.display='block';
				//document.eventDivContent.innerHTML=html;
				if(document.eventDiv.date==date)
					return;
				document.eventDiv.date=date;
				
				if(window.firstPageCalendar[date]==null){
					window.firstPageCalendar[date]="Laddar...";
					ajax.queue({
						url: 'event_show_day.cfm?startdate='+date, 
						onload:function (args){
						
							var result=eval("("+args.request.responseText+")");
							for(var cDate in result){
								window.firstPageCalendar[cDate]=result[cDate];
								if(document.eventDiv.date==cDate){
									document.eventDivContent.innerHTML=window.firstPageCalendar[cDate];
								}
							
							}
						
						}
					});//target: document.eventDivContent
				}
				document.eventDivContent.innerHTML=window.firstPageCalendar[date];
				
			}
			
			function getOffsetToObject(sourceObj,parentObj) {								
			
				
				if(sourceObj == null||sourceObj==parentObj){
			
						
					return {top:0, left:0};
				}
				
				var ret = getOffsetToObject(sourceObj.offsetParent, parentObj);
				
				ret.top += sourceObj.offsetTop;
				ret.left += sourceObj.offsetLeft;
				
				return ret;
			}
			
			
			function getOffsetToDocument(obj)
			{								
				if(obj == null)
					return {top:0, left:0};
				
				var ret = getOffsetToDocument(obj.offsetParent);
				
				ret.top += obj.offsetTop;
				ret.left += obj.offsetLeft;
				
				return ret;
			}
			cPopup={};
