	/************************************************************************************************************
	(C) www.dhtmlgoodies.com, January 2006
	
	This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	
	
	Version:	1.0	: January 16th - 2006
				1.1 : January 31th - 2006 - Added cookie support - remember rss sources
				1.2 : July 13th - 2006 - Fixed a problem in the createRSSBoxesFromCookie function
				
	Terms of use:
	You are free to use this script as long as the copyright message is kept intact. However, you may not
	redistribute, sell or repost it without our permission.
	
	Thank you!
	
	www.dhtmlgoodies.com
	Alf Magne Kalleland
	
	************************************************************************************************************/		
	
	/* USER VARIABLES */
	
	var numberOfColumns = 1;	// Number of columns for dragable boxes
	var columnParentBoxId = 'floatingBoxParentContainer';	// Id of box that is parent of all your dragable boxes
	var src_rightImage = 'images/arrow_right.gif';
	var src_downImage = 'images/arrow_down.gif';
	var src_refreshSource = 'images/refresh.gif';
	var src_smallRightArrow = 'images/small_arrow.gif';
	
	var transparencyWhenDragging = true;
	var txt_editLink = 'Edit';
	var txt_editLink_stop = 'End edit';
	var autoScrollSpeed = 4;	// Autoscroll speed	- Higher = faster
	var dragObjectBorderWidth = 1;	// Border size of your RSS boxes - used to determine width of dotted rectangle
	
	var useCookiesToRememberRSSSources = true;
	
	var nameOfCookie = 'dragable_rss_boxes';	// Name of cookie
	
	/* END USER VARIABLES */
	
	
	
	var columnParentBox;
	var dragableBoxesObj;

	var ajaxObjects = new Array();
	
	var boxIndex = 0;	
	var autoScrollActive = false;
	var dragableBoxesArray = new Array();
	
	var dragDropCounter = -1;
	var dragObject = false;
	var dragObjectNextSibling = false;
	var dragObjectParent = false;
	var destinationObj = false;
	
	var mouse_x;
	var mouse_y;
	
	var el_x;
	var el_y;	
	
	var rectangleDiv;
	var okToMove = true;

	var documentHeight = false;
	var documentScrollHeight = false;
	var dragableAreaWidth = false;
		
	var opera = navigator.userAgent.toLowerCase().indexOf('opera')>=0?true:false;
	var cookieCounter=0;
	var cookieRSSSources = new Array();
	
	var staticObjectArray = new Array();
        var order = new Array();
        var create = new Array();
	


	function autoScroll(direction,yPos)
	{
		if(document.documentElement.scrollHeight>documentScrollHeight && direction>0)return;
		if(opera)return;
		window.scrollBy(0,direction);
		if(!dragObject)return;
		
		if(direction<0){
			if(document.documentElement.scrollTop>0){
				dragObject.style.top = (el_y - mouse_y + yPos + document.documentElement.scrollTop) + 'px';		
			}else{
				autoScrollActive = false;
			}
		}else{
			if(yPos>(documentHeight-50)){	
				dragObject.style.top = (el_y - mouse_y + yPos + document.documentElement.scrollTop) + 'px';			
			}else{
				autoScrollActive = false;
			}
		}
		if(autoScrollActive)setTimeout('autoScroll('+direction+',' + yPos + ')',5);
	}
		
	function initDragDropBox(e)
	{
		
		
		dragDropCounter = 1;
		if(document.all)e = event;
		
		if (e.target) source = e.target;
			else if (e.srcElement) source = e.srcElement;
			if (source.nodeType == 3) // defeat Safari bug
				source = source.parentNode;
		
		if(source.tagName.toLowerCase()=='img' || source.tagName.toLowerCase()=='a' || source.tagName.toLowerCase()=='input' || source.tagName.toLowerCase()=='td' || source.tagName.toLowerCase()=='tr' || source.tagName.toLowerCase()=='table')return;
		
	
		mouse_x = e.clientX;
		mouse_y = e.clientY;	
		var numericId = this.id.replace(/[^0-9]/g,'');
		el_x = getLeftPos(this.parentNode.parentNode)/1;
		el_y = getTopPos(this.parentNode.parentNode)/1 - document.documentElement.scrollTop;
			
		dragObject = this.parentNode.parentNode;
		
		documentScrollHeight = document.documentElement.scrollHeight + 100 + dragObject.offsetHeight;
		
		
		if(dragObject.nextSibling){
			dragObjectNextSibling = dragObject.nextSibling;
			if(dragObjectNextSibling.tagName!='DIV')dragObjectNextSibling = dragObjectNextSibling.nextSibling;
		}
		dragObjectParent = dragableBoxesArray[numericId]['parentObj'];
			
		dragDropCounter = 0;
		initDragDropBoxTimer();	
		
		return false;
	}
	
	
	function initDragDropBoxTimer()
	{
		if(dragDropCounter>=0 && dragDropCounter<10){
			dragDropCounter++;
			setTimeout('initDragDropBoxTimer()',10);
			return;
		}
		if(dragDropCounter==10){
			mouseoutBoxHeader(false,dragObject);
		}
		
	}

	function moveDragableElement(e){
		if(document.all)e = event;
		if(dragDropCounter<10)return;
		
		if(document.all && e.button!=1 && !opera){
			stop_dragDropElement();
			return;
		}
		
		if(document.body!=dragObject.parentNode){
			dragObject.style.width = (dragObject.offsetWidth - (dragObjectBorderWidth*2)) + 'px';
			dragObject.style.position = 'absolute';
			dragObject.style.textAlign = 'left';
			if(transparencyWhenDragging){	
				dragObject.style.filter = 'alpha(opacity=70)';
				dragObject.style.opacity = '0.7';
			}	
			dragObject.parentNode.insertBefore(rectangleDiv,dragObject);
			rectangleDiv.style.display='block';
			document.body.appendChild(dragObject);

			rectangleDiv.style.width = dragObject.style.width;
			rectangleDiv.style.height = (dragObject.offsetHeight - (dragObjectBorderWidth*2)) + 'px';
			
		}

		if(e.clientY<50 || e.clientY>(documentHeight-50)){
			if(e.clientY<50 && !autoScrollActive){
				autoScrollActive = true;
				autoScroll((autoScrollSpeed*-1),e.clientY);
			}
			
			if(e.clientY>(documentHeight-50) && document.documentElement.scrollHeight<=documentScrollHeight && !autoScrollActive){
				autoScrollActive = true;
				autoScroll(autoScrollSpeed,e.clientY);
			}
		}else{
			autoScrollActive = false;
		}		


		var leftPos = e.clientX;
		var topPos = e.clientY + document.documentElement.scrollTop;
		
		dragObject.style.left = (e.clientX - mouse_x + el_x) + 'px';
		dragObject.style.top = (el_y - mouse_y + e.clientY + document.documentElement.scrollTop) + 'px';
								

		
		if(!okToMove)return;
		okToMove = false;

		destinationObj = false;
		rectangleDiv.style.display = 'none'; 
		
		var objFound = false;
		var tmpParentArray = new Array();
		
		if(!objFound){
			for(var no=1;no<dragableBoxesArray.length;no++){
				if(dragableBoxesArray[no]['obj']==dragObject)continue;
				tmpParentArray[dragableBoxesArray[no]['obj'].parentNode.id] = true;
				if(!objFound){
					var tmpX = getLeftPos(dragableBoxesArray[no]['obj']);
					var tmpY = getTopPos(dragableBoxesArray[no]['obj']);

					if(leftPos>tmpX && leftPos<(tmpX + dragableBoxesArray[no]['obj'].offsetWidth) && topPos>(tmpY-20) && topPos<(tmpY + (dragableBoxesArray[no]['obj'].offsetHeight/2))){
						destinationObj = dragableBoxesArray[no]['obj'];
						destinationObj.parentNode.insertBefore(rectangleDiv,dragableBoxesArray[no]['obj']);
						rectangleDiv.style.display = 'block';
						objFound = true;
						break;
						
					}
					
					if(leftPos>tmpX && leftPos<(tmpX + dragableBoxesArray[no]['obj'].offsetWidth) && topPos>=(tmpY + (dragableBoxesArray[no]['obj'].offsetHeight/2)) && topPos<(tmpY + dragableBoxesArray[no]['obj'].offsetHeight)){
						objFound = true;
						if(dragableBoxesArray[no]['obj'].nextSibling){
							
							destinationObj = dragableBoxesArray[no]['obj'].nextSibling;
							if(!destinationObj.tagName)destinationObj = destinationObj.nextSibling;
							if(destinationObj!=rectangleDiv)destinationObj.parentNode.insertBefore(rectangleDiv,destinationObj);
						}else{
							destinationObj = dragableBoxesArray[no]['obj'].parentNode;
							dragableBoxesArray[no]['obj'].parentNode.appendChild(rectangleDiv);
						}
						rectangleDiv.style.display = 'block';
						break;					
					}
					
					
					if(!dragableBoxesArray[no]['obj'].nextSibling && leftPos>tmpX && leftPos<(tmpX + dragableBoxesArray[no]['obj'].offsetWidth)
					&& topPos>topPos>(tmpY + (dragableBoxesArray[no]['obj'].offsetHeight))){
						destinationObj = dragableBoxesArray[no]['obj'].parentNode;
						dragableBoxesArray[no]['obj'].parentNode.appendChild(rectangleDiv);	
						rectangleDiv.style.display = 'block';	
						objFound = true;				
						
					}
				}
				
			}
		
		}
		
		if(!objFound){
			
			for(var no=1;no<=numberOfColumns;no++){
				if(!objFound){
					var obj = document.getElementById('dragableBoxesColumn' + no);			
					
						var left = getLeftPos(obj)/1;						
					
						var width = obj.offsetWidth;
						if(leftPos>left && leftPos<(left+width)){
							destinationObj = obj;
							obj.appendChild(rectangleDiv);
							rectangleDiv.style.display='block';
							objFound=true;		
							
						}				
					
				}
			}		
			
		}
	

		setTimeout('okToMove=true',5);
		
	}
	
	function stop_dragDropElement()
	{
		
		if(dragDropCounter<10){
			dragDropCounter = -1
			return;
		}
		dragDropCounter = -1;
		if(transparencyWhenDragging){
			dragObject.style.filter = null;
			dragObject.style.opacity = null;
		}		
		dragObject.style.position = 'static';
		dragObject.style.width = null;
		var numericId = dragObject.id.replace(/[^0-9]/g,'');
		if(destinationObj && destinationObj.id!=dragObject.id){

			if(destinationObj.id.indexOf('dragableBoxesColumn')>=0){
				destinationObj.appendChild(dragObject);
				dragableBoxesArray[numericId]['parentObj'] = destinationObj;
			}else{
				destinationObj.parentNode.insertBefore(dragObject,destinationObj);
				dragableBoxesArray[numericId]['parentObj'] = destinationObj.parentNode;
			}



		}else{
			if(dragObjectNextSibling){
				dragObjectParent.insertBefore(dragObject,dragObjectNextSibling);	
			}else{
				dragObjectParent.appendChild(dragObject);
			}				
			
			
		}

                doOrder();
		autoScrollActive = false;
		rectangleDiv.style.display = 'none'; 
		dragObject = false;
		dragObjectNextSibling = false;
		destinationObj = false;
		
		//if(useCookiesToRememberRSSSources)setTimeout('saveCookies()',100);

		documentHeight = document.documentElement.clientHeight;
	}

        function getElementsByClass(searchClass,node,tag) {
		var classElements = new Array();
		if ( node == null )
			node = document;
		if ( tag == null )
			tag = '*';
		var els = node.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
		for (i = 0, j = 0; i < elsLen; i++) {
			if ( pattern.test(els[i].className) ) {
				classElements[j] = els[i];
				j++;
			}
		}
		return classElements;
	}
	

	function getTopPos(inputObj)
	{		
	  var returnValue = inputObj.offsetTop;
	  while((inputObj = inputObj.offsetParent) != null){
	  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
	  }
	  return returnValue;
	}
	
	function getLeftPos(inputObj)
	{
	  var returnValue = inputObj.offsetLeft;
	  while((inputObj = inputObj.offsetParent) != null){
	  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
	  }
	  return returnValue;
	}
		
	
	function createColumns()
	{
		if(!columnParentBoxId){
			alert('No parent box defined for your columns');
			return;
		}
		//alert(document.getElementById("Div12").innerHTML);
		//alert(document.getElementById('Window 12').innerHTML);
		//var temp=document.getElementById("Window 12");
		columnParentBox = document.getElementsByName(columnParentBoxId)[1];
		var columnWidth = Math.floor(100/numberOfColumns);
		var sumWidth = 0;
		for(var no=0;no<numberOfColumns;no++){
			var div = document.createElement('DIV');
			if(no==(numberOfColumns-1))columnWidth = 99 - sumWidth;
			sumWidth = sumWidth + columnWidth;
			div.style.cssText = 'float:left;width:'+columnWidth+'%;padding:0px;margin:0px;';
			div.style.height='100%';
			div.style.styleFloat='left';
			div.style.width = columnWidth + '%';
			div.style.padding = '0px';
			div.style.margin = '0px';

			div.id = 'dragableBoxesColumn' + (no+1);
			columnParentBox.appendChild(div);
			
			var clearObj = document.createElement('HR');	
			clearObj.style.clear = 'both';
			clearObj.style.visibility = 'hidden';
			div.appendChild(clearObj);
		}
		
		
		
		var clearingDiv = document.createElement('DIV');
		columnParentBox.appendChild(clearingDiv);
		clearingDiv.style.clear='both';
		
	}
	
	function mouseoverBoxHeader()
	{
		if(dragDropCounter==10)return;
		var id = this.id.replace(/[^0-9]/g,'');
		document.getElementById('dragableBoxExpand' + id).style.visibility = 'visible';
		document.getElementById('dragableBoxRefreshSource' + id).style.visibility = 'visible';
		document.getElementById('dragableBoxCloseLink' + id).style.visibility = 'visible';
		if(document.getElementById('dragableBoxEditLink' + id))document.getElementById('dragableBoxEditLink' + id).style.visibility = 'visible';

	}
	function mouseoutBoxHeader(e,obj)
	{
		if(!obj)obj=this;
		
		var id = obj.id.replace(/[^0-9]/g,'');
		document.getElementById('dragableBoxExpand' + id).style.visibility = 'hidden';
		document.getElementById('dragableBoxRefreshSource' + id).style.visibility = 'hidden';
		document.getElementById('dragableBoxCloseLink' + id).style.visibility = 'hidden';
		if(document.getElementById('dragableBoxEditLink' + id))document.getElementById('dragableBoxEditLink' + id).style.visibility = 'hidden';
		
	}

	function showHideBoxContent(e,inputObj)
	{
		if(document.all)e = event;
		if(!inputObj)inputObj=this;
		
		var numericId = inputObj.id.replace(/[^0-9]/g,'');
		var obj = document.getElementById('dragableBoxContent' + numericId);
		
		obj.style.display = inputObj.src.indexOf(src_rightImage)>=0?'none':'block';
		inputObj.src = inputObj.src.indexOf(src_rightImage)>=0?src_downImage:src_rightImage
		
		dragableBoxesArray[numericId]['boxState'] = obj.style.display=='block'?1:0;
		setTimeout('dragDropCounter=-5',5);
	}
	
	function mouseover_CloseButton()
	{
		this.className = 'closeButton_over';	
		setTimeout('dragDropCounter=-5',5);
	}
	
	function highlightCloseButton()
	{
		this.className = 'closeButton_over';
	}
	
	function mouseout_CloseButton()
	{
		this.className = 'closeButton';
	}

        function closeDragableBox(e,inputObj)
	{
		if(!inputObj)inputObj = this;
		var numericId = inputObj.id.replace(/[^0-9]/g,'');
		document.getElementById('dragableBox' + numericId).style.display='none';
		setTimeout('dragDropCounter=-5',5);

	}

	function closeDragableBox_del(e,inputObj)
	{
		if(!inputObj)inputObj = this;
		var numericId = inputObj.id.replace(/[^0-9]/g,'');
		document.getElementById('dragableBox' + numericId).style.display='none';
                document.getElementById('dragableBox' + numericId).outerHTML="";
                //document.getElementById('dragableBox' + numericId).removeNode(true);
                temp=create;
                create=new Array();
                var counter=0;
		for(i=0;i<temp.length;i++){
                        if(temp[i][1].parentNode!=null){
                        	if(temp[i][2]!='dragableBox' + numericId){
	                		//alert(temp[i][1]+"--"+document.getElementById('dragableBoxContent' + numericId).firstChild);
				     	create[counter]=new Array();
	                             create[counter]=temp[i];
	                             counter=counter+1;
	                        }else{
	                          //alert("deleted");
				}
                        }
                }
                //alert(create.length);
                refresh();
		setTimeout('dragDropCounter=-5',5);

	}

	function editRSSContent()
	{
		var numericId = this.id.replace(/[^0-9]/g,'');
		var obj = document.getElementById('dragableBoxEdit' + numericId);
		if(obj.style.display=='none'){
			obj.style.display='block';
			this.innerHTML = txt_editLink_stop;
			document.getElementById('dragableBoxHeader' + numericId).style.height = '135px';
		}else{
			obj.style.display='none';
			this.innerHTML = txt_editLink;
			document.getElementById('dragableBoxHeader' + numericId).style.height = '20px';
		}
		setTimeout('dragDropCounter=-5',5);
	}
	function editTitleContent(){
		var numericId = this.id.replace(/[^0-9]/g,'');
		var editobj = document.getElementById('dragableBoxEdit' + numericId);
		if(editobj.style.display=='none'){
			editobj.style.display='block';
			var obj = document.getElementById('dragableBoxContent' + numericId);
			var first = obj.firstChild.innerHTML;
			var input = document.createElement("textarea");
			input.innerHTML=first;
			obj.innerHTML="";
			obj.appendChild(input);
			this.innerHTML = txt_editLink_stop;
			document.getElementById('dragableBoxHeader' + numericId).style.height = '20px';
		}else{
			editobj.style.display='none';
			var obj = document.getElementById('dragableBoxContent' + numericId);
			var first = obj.firstChild.value;
			var header = document.createElement("h1");
			header.innerHTML=first;
			obj.innerHTML="";
			obj.appendChild(header);
			this.innerHTML = txt_editLink;
			document.getElementById('dragableBoxHeader' + numericId).style.height = '20px';
		}
		setTimeout('dragDropCounter=-5',5);
	}
	function editTextContent(){
			var numericId = this.id.replace(/[^0-9]/g,'');
			var editobj = document.getElementById('dragableBoxEdit' + numericId);
			if(editobj.style.display=='none'){
				editobj.style.display='block';
				var obj = document.getElementById('dragableBoxContent' + numericId);
				var first = obj.firstChild.innerHTML;
				var input = document.createElement("iframe");
				obj.innerHTML="";
				obj.appendChild(input);
				
				input.contentWindow.document.open();
				input.contentWindow.document.write(first);
				input.contentWindow.document.close();
				input.contentWindow.document.body.contentEditable = true;
				input.contentWindow.document.designMode = "on";
				
				this.innerHTML = txt_editLink_stop;
				document.getElementById('dragableBoxHeader' + numericId).style.height = '45px';
			}else{
				editobj.style.display='none';
				var obj = document.getElementById('dragableBoxContent' + numericId);
				var first = obj.firstChild;
				var text = document.createElement("p");
				text.innerHTML=first.contentWindow.document.body.innerHTML;
				obj.innerHTML="";
				obj.appendChild(text);
				this.innerHTML = txt_editLink;
				document.getElementById('dragableBoxHeader' + numericId).style.height = '20px';
			}
			setTimeout('dragDropCounter=-5',5);
	}
	
	
	function showStatusBarMessage(numericId,message)
	{
		document.getElementById('dragableBoxStatusBar' + numericId).innerHTML = message;

	}
	
	function addBoxHeader(parentObj,externalUrl,notDrabable)
	{
		var div = document.createElement('DIV');
		div.className = 'dragableBoxHeader';
		
		div.id = 'dragableBoxHeader' + boxIndex;
		div.onmouseover = mouseoverBoxHeader;
		div.onmouseout = mouseoutBoxHeader;
		if(!notDrabable){
			div.onmousedown = initDragDropBox;
			div.style.cursor = 'move';
		}
		
		var image = document.createElement('IMG');
		image.id = 'dragableBoxExpand' + boxIndex;
		image.src = src_rightImage;
		image.style.visibility = 'hidden';	
		image.style.cursor = 'pointer';
		image.onmousedown = showHideBoxContent;
		div.appendChild(image);
		
		var textSpan = document.createElement('SPAN');
		textSpan.id = 'dragableBoxHeader_txt' + boxIndex;
		div.appendChild(textSpan);
				
		parentObj.appendChild(div);	

		var closeLink = document.createElement('A');
		closeLink.style.cssText = 'float:right';
		closeLink.style.styleFloat = 'right';
		closeLink.id = 'dragableBoxCloseLink' + boxIndex;
		closeLink.innerHTML = 'x';
		closeLink.className = 'closeButton';
		closeLink.onmouseover = mouseover_CloseButton;
		closeLink.onmouseout = mouseout_CloseButton;
		closeLink.style.cursor = 'pointer';
		closeLink.style.visibility = 'hidden';
		closeLink.onmousedown = closeDragableBox_del;
		div.appendChild(closeLink);

			
		var image = document.createElement('IMG');
		image.src = src_refreshSource;
		image.id = 'dragableBoxRefreshSource' + boxIndex;
		image.style.cssText = 'float:right';
		image.style.styleFloat = 'right';
		image.style.visibility = 'hidden';
		//image.onclick = refreshRSS;
		image.style.cursor = 'pointer';
		if(!externalUrl)image.style.display='none';
		div.appendChild(image);

        }


        function addTextEditContent(parentObj){
 		var editLink = document.createElement('A');
 		editLink.href = '#';
 		editLink.onclick = cancelEvent;
 		editLink.style.cssText = 'margin-left: 15px;float:left';
 		editLink.style.styleFloat = 'left';
 		editLink.id = 'dragableBoxEditLink' + boxIndex;
 		editLink.innerHTML = txt_editLink;
 		editLink.className = 'dragableBoxEditLink';
 		editLink.style.cursor = 'pointer';
 		editLink.style.visibility = 'hidden';
 		editLink.onmousedown = editTextContent;
 		parentObj.appendChild(editLink);
 
 		var editBox = document.createElement('DIV');
 		editBox.style.clear='both';
 		editBox.id = 'dragableBoxEdit' + boxIndex;
 		editBox.style.display='none';
 
 		var content = '';
 		editBox.innerHTML = content;
 
		parentObj.appendChild(editBox);
        }
        function addTitleEditContent(parentObj){
		var editLink = document.createElement('A');
		editLink.href = '#';
		editLink.onclick = cancelEvent;
		editLink.style.cssText = 'margin-left: 15px;float:left';
		editLink.style.styleFloat = 'left';
		editLink.id = 'dragableBoxEditLink' + boxIndex;
		editLink.innerHTML = txt_editLink;
		editLink.className = 'dragableBoxEditLink';
		editLink.style.cursor = 'pointer';
		editLink.style.visibility = 'hidden';
		editLink.onmousedown = editTitleContent;
		parentObj.appendChild(editLink);

		var editBox = document.createElement('DIV');
		editBox.style.clear='both';
		editBox.id = 'dragableBoxEdit' + boxIndex;
		editBox.style.display='none';

		var content = '';
		editBox.innerHTML = content;

		parentObj.appendChild(editBox);
        }
        

	

	function addBoxContentContainer(parentObj,heightOfBox)
	{
		var div = document.createElement('DIV');
		div.className = 'dragableBoxContent';
		if(opera)div.style.clear='none';
		div.id = 'dragableBoxContent' + boxIndex;
		parentObj.appendChild(div);			
		if(heightOfBox && heightOfBox/1>40){
			div.style.height = heightOfBox + 'px';
			div.setAttribute('heightOfBox',heightOfBox);
			div.heightOfBox = heightOfBox;
			if(document.all)div.style.overflowY = 'auto';else div.style.overflow='-moz-scrollbars-vertical;';
			if(opera)div.style.overflow='auto';
		}		
	}
	
	function addBoxStatusBar(parentObj)
	{
		var div = document.createElement('DIV');
		div.className = 'dragableBoxStatusBar';
		div.id = 'dragableBoxStatusBar' + boxIndex;
		parentObj.appendChild(div);	
		

	}

        function createATextBox(columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable){

		var tmpIndex = createABox(columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable);
                addTextEditContent(document.getElementById('dragableBoxHeader' + tmpIndex))
                return tmpIndex;

        }
        function createAIMGBox(columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable){

		var tmpIndex = createABox(columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable);
                addTextEditContent(document.getElementById('dragableBoxHeader' + tmpIndex))
                return tmpIndex;

        }
        function createATABLEBox(columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable){

		var tmpIndex = createABox(columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable);
                addTextEditContent(document.getElementById('dragableBoxHeader' + tmpIndex))
                return tmpIndex;

        }
        function createAULBox(columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable){

		var tmpIndex = createABox(columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable);
                addTextEditContent(document.getElementById('dragableBoxHeader' + tmpIndex))
                return tmpIndex;

        }
        function createATITLEBox(columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable){

		var tmpIndex = createABox(columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable);
                addTitleEditContent(document.getElementById('dragableBoxHeader' + tmpIndex))
                return tmpIndex;

        }

	function createABox(columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable)
	{
		boxIndex++;

		var maindiv = document.createElement('DIV');
		maindiv.className = 'dragableBox';
		maindiv.id = 'dragableBox' + boxIndex;
		
		var div = document.createElement('DIV');
		div.className='dragableBoxInner';
		maindiv.appendChild(div);
		

		addBoxHeader(div,externalUrl,notDragable);
		addBoxContentContainer(div,heightOfBox);
		addBoxStatusBar(div);
		
		var obj = document.getElementById('dragableBoxesColumn' + columnIndex);		
		var subs = obj.getElementsByTagName('DIV');
		if(subs.length>0){
			obj.insertBefore(maindiv,subs[0]);
		}else{
			obj.appendChild(maindiv);
		}

		dragableBoxesArray[boxIndex] = new Array();
		dragableBoxesArray[boxIndex]['obj'] = maindiv;
		dragableBoxesArray[boxIndex]['parentObj'] = maindiv.parentNode;
		dragableBoxesArray[boxIndex]['uniqueIdentifier'] = uniqueIdentifier;
		dragableBoxesArray[boxIndex]['heightOfBox'] = heightOfBox;
		dragableBoxesArray[boxIndex]['boxState'] = 1;	// !Expanded

		staticObjectArray[uniqueIdentifier] = boxIndex;

		return boxIndex;
		
	}



	function createHelpObjects()
	{
		/* Creating rectangle div */
		rectangleDiv = document.createElement('DIV');
		rectangleDiv.id='rectangleDiv';
		rectangleDiv.style.display='none';
		document.body.appendChild(rectangleDiv);


	}

	function cancelSelectionEvent(e)
	{
		if(document.all)e = event;

		if (e.target) source = e.target;
			else if (e.srcElement) source = e.srcElement;
			if (source.nodeType == 3) // defeat Safari bug
				source = source.parentNode;
		if(source.tagName.toLowerCase()=='input')return true;

		if(dragDropCounter>=0)return false; else return true;	

	}

	function cancelEvent()
	{
		return false;
	}
	
	function initEvents()
	{
		document.body.onmousemove = moveDragableElement;
		document.body.onmouseup = stop_dragDropElement;
		document.body.onselectstart = cancelSelectionEvent;

		document.body.ondragstart = cancelEvent;
		
		documentHeight = document.documentElement.clientHeight;
		
	}

	/* Delete all boxes */
	
	function deleteAllDragableBoxes()
	{
		var divs = document.getElementsByTagName('DIV');
		for(var no=0;no<divs.length;no++){
			if(divs[no].className=='dragableBox')closeDragableBox(false,divs[no]);
		}

	}
        function deleteAllDragableBoxes_del()
	{
                document.getElementById("dragableBoxesColumn1").innerHTML="";

	}

	/* Reset back to default settings */

	function resetDragableBoxes()
	{
		cookieCounter = 0;
		clearCookiesForDragableBoxes();

		deleteAllDragableBoxes();
		cookieCounter = 0;
		cookieRSSSources = new Array();
		createDefaultBoxes();
	}
	
	function hideHeaderOptionsForStaticBoxes(boxIndex)
	{
		if(document.getElementById('dragableBoxRefreshSource' + boxIndex))document.getElementById('dragableBoxRefreshSource' + boxIndex).style.display='none';
		if(document.getElementById('dragableBoxCloseLink' + boxIndex))document.getElementById('dragableBoxCloseLink' + boxIndex).style.display='none';		
		if(document.getElementById('dragableBoxEditLink' + boxIndex))document.getElementById('dragableBoxEditLink' + boxIndex).style.display='none';
	}

	

	/* You customize this function */
	function createDefaultBoxes()
	{			             /*
		if(cookieCounter==0){
			createARSSBox('http://rss.cnn.com/rss/cnn_topstories.rss',1,false,5,1);
			createARSSBox('http://feeds.feedburner.com/reuters/topNews/',1,false,5);
			createARSSBox('http://www.nytimes.com/services/xml/rss/nyt/HomePage.xml',1,false,5,10);
			createARSSBox('http://rss.pcworld.com/rss/latestnews.rss',1,false,5);
		}
	        /* Titel, Text, Liste, Bild, Bildtext, Tabelle, Bildergallerie                */
		/* Create static boxes */
		var htmlContentOfNewBox = '<p>text</p>';	// HTML content of new box
		var titleOfNewBox = 'Text';
		if(!staticObjectArray['staticObject1']){	// The box is not stored in cookie - we need to create it.
			var newIndex = createABox(1,100,false,'staticObject1');
			document.getElementById('dragableBoxContent' + newIndex).innerHTML = htmlContentOfNewBox;
			document.getElementById('dragableBoxHeader_txt' + newIndex).innerHTML = titleOfNewBox;
		}else{	// Box is stored in cookie - all we have to do is to move content into it.
			document.getElementById('dragableBoxContent' + staticObjectArray['staticObject1']).innerHTML = htmlContentOfNewBox;
			document.getElementById('dragableBoxHeader_txt' + staticObjectArray['staticObject1']).innerHTML = titleOfNewBox;

		}

		var htmlContentOfNewBox = '<h2>Titel</h2>';	// HTML content of new box
		var titleOfNewBox = 'Header';
		if(!staticObjectArray['staticObject2']){	// The box is not stored in cookie - we need to create it.
			var newIndex = createATextBox(1,20,false,'staticObject2');
			document.getElementById('dragableBoxContent' + newIndex).innerHTML = htmlContentOfNewBox;
			document.getElementById('dragableBoxHeader_txt' + newIndex).innerHTML = titleOfNewBox;
		}else{	// Box is stored in cookie - all we have to do is to move content into it.
			document.getElementById('dragableBoxContent' + staticObjectArray['staticObject1']).innerHTML = htmlContentOfNewBox;
			document.getElementById('dragableBoxHeader_txt' + staticObjectArray['staticObject1']).innerHTML = titleOfNewBox;

		}
         /*
		hideHeaderOptionsForStaticBoxes(staticObjectArray['staticObject1']);  */
	                  /*
		var htmlContentOfNewBox = '<DIV>Another static box. This box is not dragable</div>';	// HTML content of new box
		var titleOfNewBox = 'This is a static box';
		if(!staticObjectArray['staticObject2']){	// The box is not stored in cookie - we need to create it.
			var newIndex = createABox(1,100,false,'staticObject2',true);	// true as last argument indicates that this box is not dragable
			document.getElementById('dragableBoxContent' + newIndex).innerHTML = htmlContentOfNewBox;
			document.getElementById('dragableBoxHeader_txt' + newIndex).innerHTML = titleOfNewBox;		
		}else{	// Box is stored in cookie - all we have to do is to move content into it.
			document.getElementById('dragableBoxContent' + staticObjectArray['staticObject2']).innerHTML = htmlContentOfNewBox;	
			document.getElementById('dragableBoxHeader_txt' + staticObjectArray['staticObject2']).innerHTML = titleOfNewBox;
			disableBoxDrag(	staticObjectArray['staticObject2']);	// Not dragable

		}
		hideHeaderOptionsForStaticBoxes(staticObjectArray['staticObject2']);
                              */
		//setTimeout('saveCookies()',100);

	}

	/* Disable drag for a box */
	function disableBoxDrag(boxIndex)
	{
			document.getElementById('dragableBoxHeader' + boxIndex).onmousedown = '';
			document.getElementById('dragableBoxHeader' + boxIndex).style.cursor = 'default';

	}


	function initDragableBoxesScript()
	{
		createColumns();	// Always the first line of this function
		createHelpObjects();	// Always the second line of this function
		initEvents();	// Always the third line of this function
		
		//if(useCookiesToRememberRSSSources)createRSSBoxesFromCookie();	// Create RSS boxes from cookies
		//createDefaultBoxes();	// Create default boxes.


		
	}

        function doHTML(){
                var html="";
                var num;
                var temp;
                for(var i=0;i<order.length;i++){
                        num=order[i].substring(11);
                        temp = document.getElementById(order[i]+"");
                        html+= getElementsByClass("dragableBoxContent",temp,"Div")[0].innerHTML;
                }
                document.getElementById("html").innerHTML=html;
        }
        function doOrder(){
                var all = getElementsByClass("dragableBox",document.getElementById("floatingBoxParentContainer"),"Div");
                order=new Array();
		for(var i=0;i<all.length;i++){
                        if(document.getElementById(all[i].id)){
                		order[i]=all[i].id;
                        }
                }
                //alert(order);
        }
        function openInput(id){
        	//alert(id);
        	//alert(document.getElementById(id).innerHTML);
                deleteAllDragableBoxes_del();
                create=new Array();
                var knoten=document.getElementById(id);
                var id=0;
                for(i=0;i<knoten.childNodes.length;i++){
                	//alert(knoten.childNodes[i]);
                        if(knoten.childNodes[i].nodeType==1){
                		//alert("==>");
                                create[id] = new Array();
                        	create[id][0]=knoten.childNodes[i].nodeName;
                		create[id][1]=knoten.childNodes[i].cloneNode(true);
                                id=id+1;
                        }
                }
                refresh();
        }
        function addText(){
                boxIndex=0;
                //newIndex=createATextBox(1,50,false,"identif"+create.length,false);
                create[create.length]=new Array();
                var i=create.length-1;
                txt =document.createElement("p");
                txt_val =document.createTextNode("asdf...");
                txt.appendChild(txt_val);
                //document.getElementById('dragableBoxContent' + newIndex).appendChild(txt);
		//document.getElementById('dragableBoxHeader_txt' + newIndex).innerHTML = "P";
                create[i][0]=txt.nodeName;
                create[i][1]=txt;
                //alert(create);
                refresh();
        }
        function refresh(){
                deleteAllDragableBoxes_del();
                boxIndex=0;
                var newIndex;
                for(i=create.length-1;i>=0;i--){
			switch (create[i][0]) {
       				case "P" :
                			newIndex=createATextBox(1,150,false,"identif"+i,false);
                                        break;
                                case "IMG" :
                			newIndex=createAIMGBox(1,150,false,"identif"+i,false);
					break;
       				case "H2" :
                			newIndex=createATITLEBox(1,60,false,"identif"+i,false);
					break;
       				case "TABLE" :
                			newIndex=createATABLEBox(1,150,false,"identif"+i,false);
					break;
       				case "UL" :
                			newIndex=createAULBox(1,100,false,"identif"+i,false);
					break;
        			default :  //alert(create[i][0]);
    			}
                        if(newIndex>=0){
                                //alert(create[i][1].innerHTML);
                                t=create[i][1].cloneNode(true);
        			document.getElementById('dragableBoxContent' + newIndex).appendChild(t);
                                create[i][2]='dragableBox' + newIndex;
				document.getElementById('dragableBoxHeader_txt' + newIndex).innerHTML = create[i][0];
                        }
                        newIndex=-1;
                }
                doOrder();
        }
