function deleteColumns(activeTabNo)
{
	var contentContainer = document.getElementById(columnParentBoxId + activeTabNo);
	var tabColumnsElements = contentContainer.childNodes;	
	var length = tabColumnsElements.length - 1;	
	for (var i = 0; i < length; i++) {
		
		var element = tabColumnsElements[length-1-i]; // start with the last	
		contentContainer.removeChild(element);  
		dragableBoxesArray = arrayDropAss(dragableBoxesArray,element,'parentObj',1);	// delete from dragableBoxesArray
	}
}
function closeDragableBox(e,inputObj)
{
	if(!inputObj)inputObj = this;	
	var numericId = inputObj.id.replace(/[^0-9]/g,'');
	inputObj.id = '0';
	var box = document.getElementById('dragableBox' + numericId);
	box.parentNode.removeChild(box);
	//dragableBoxesArray.pop();
	dragableBoxesArray = arrayDropAss(dragableBoxesArray,box,'obj');
	//boxIndex--;	
}
function takeDragableBox()
{
	this.onmouseout = changeMouseOver;	
}
function changeMouseOver()
{
	this.onmouseout = closeDragableBox;
}
function addBoxHeader(parentObj,dragable)
{
	var div = document.createElement('DIV');
	if (dragable) div.className = 'dragableBoxHeader';
	else div.className = 'menuHeader'; 	
	div.id = 'dragableBoxHeader' + boxIndex;
	parentObj.appendChild(div);

	var textSpan = document.createElement('DIV');
	textSpan.id = 'dragableBoxHeader_txt' + boxIndex;
	textSpan.className = div.className+'_txt';
	div.appendChild(textSpan);
	
	if(!dragable) return;
	
	//div.onmouseover = mouseoverBoxHeader;
	//div.onmouseout = mouseoutBoxHeader;	
	div.onmousedown = initDragDropBox;
	//div.style.cursor = 'move';
	
	var buttonSpan = document.createElement('DIV');
	buttonSpan.id = 'dragableBoxHeader_button' + boxIndex;
	buttonSpan.className = 'dragableBoxHeader_button';
	div.appendChild(buttonSpan);
	
	var minLink = document.createElement('IMG');
	minLink.id = 'dragableBoxExpand' + boxIndex;
	minLink.src = widget_min;	
	minLink.style.cursor = 'pointer';
	minLink.onmousedown = showHideBoxContent;	
	buttonSpan.appendChild(minLink);
	
	var closeLink = document.createElement('IMG');
	closeLink.id = 'dragableBoxCloseLink' + boxIndex;
	closeLink.src = widget_close;
	closeLink.style.cursor = 'pointer';
	closeLink.onmousedown = closeDragableBox;
	buttonSpan.appendChild(closeLink);
	
	var refLink = document.createElement('IMG');
	refLink.src = widget_refresh;
	refLink.id = 'dragableBoxRefreshSource' + boxIndex;
	refLink.onclick = refreshRSS;
	refLink.style.cursor = 'pointer';
	//if(!externalUrl)image.style.display='none';
	buttonSpan.appendChild(refLink);
}
function addCounter(param,detail)
{
	var parentObj = getObject('dragableBoxStatusBar'+detail);
	if (param[3] && parentObj) createText(parentObj,param[3],'','counter');
	else if (parentObj) createText(parentObj,'0','','counter');
}
function createBox(spot,boxId,dragable,state,type,height)
{
	//if (dragableBoxesArray.length != 0) boxIndex++;
	boxIndex = dragableBoxesArray.length;

	// create boxes
	var maindiv = document.createElement('DIV');
	maindiv.id = 'dragableBox' + boxIndex;	
	var div = document.createElement('DIV');
	maindiv.appendChild(div);

	// add header, content, status
	addBoxHeader(div,dragable);
	addBoxContentContainer(div);
	
	// add to column
	if (boxId == 'menu') {
		maindiv.className = 'menu';
		var obj = document.getElementById(menuContainer);
		obj.appendChild(maindiv);		
		document.getElementById('dragableBoxHeader_txt' + boxIndex).innerHTML = menuTitle;
	
	}else {
		maindiv.className = 'dragableBox';
		div.className = type;
		addBoxStatusBar(div);
		//if (!isNaN(spot))
		//	spot = 'dragableBoxes' + activeTabNo + 'Column' + spot;
		var obj = document.getElementById(spot);
		var subs = obj.getElementsByTagName('DIV');
		if (subs.length > 0) obj.insertBefore(maindiv, subs[0]);
		else obj.appendChild(maindiv);
	}

	//dragableBoxesArray[boxIndex] = new Array();
	dragableBoxesArray[boxIndex] = new Array();
	dragableBoxesArray[boxIndex]['obj'] = maindiv;
	dragableBoxesArray[boxIndex]['parentObj'] = maindiv.parentNode;
	//dragableBoxesArray[boxIndex]['activeTabNo'] = activeTabNo;
	//dragableBoxesArray[boxIndex]['columnNo'] = columnIndex;
	dragableBoxesArray[boxIndex]['boxId'] = boxId;
	dragableBoxesArray[boxIndex]['heightOfBox'] = height;
	dragableBoxesArray[boxIndex]['boxState'] = 1;	// Expanded
	//dragableBoxesArray[boxIndex]['boxState'] = state;

	if (state==0) showHideBoxContent(false,document.getElementById('dragableBoxExpand' + boxIndex));
	
	staticObjectArray[boxId] = boxIndex;
	
	return boxIndex;	
}
function createWidget(url,spot,height,boxTitle,boxId,state,ad)
{		
	if (!height || height == 0) height = 200;
		
	if (boxId == 'website'){		
		var boxIndex = createBox(spot,url,true,state,'widgetBox',height);
		var contentBox = document.getElementById('dragableBoxContent' + boxIndex);
		if (browser == 'Safari') boxId += boxIndex+spot; // safari bug - mixed up the iframes
		else boxId += boxIndex;
		var className = 'website';
		var statusBar = getObject('dragableBoxStatusBar'+boxIndex);
		createText(statusBar,'Größer','link_fullscreen_dragableBoxContent'+boxIndex,'link');
		var element = createIFrame(contentBox,url,boxId,className);
		dragableBoxesArray[boxIndex]['type'] = 'website';
		getData('addCounter_'+boxIndex,'boxes',Array('COUNT()'),Array('boxId'),Array(url)); // add counter to status
	} 
	else { // normal widget
		var boxIndex = createBox(spot,boxId,true,state,'widgetBox',height);
		var contentBox = document.getElementById('dragableBoxContent' + boxIndex);
		var className = 'widget';
		var element = createIFrame(contentBox,url,boxId,className);
		//var test = element.contentDocument.body.clientHeight;
		//contentBox.style.height = height+'px';
		//if (height != 0) contentBox.style.height = height+'px';
		if (height != 0) element.style.height = height+'px';
		dragableBoxesArray[boxIndex]['type'] = 'widget';
		getData('addCounter_'+boxIndex,'boxes',Array('COUNT()'),Array('boxId'),Array(boxId)); // add counter to status		
	}
	
	if (browser == 'Safari'){ // safari bug - mixted up the iframes
		var parent = element.parentNode;
		parent.removeChild(element);
		parent.appendChild(element);
	}
	
	var titleBar = getObject('dragableBoxHeader_txt'+boxIndex);	
	titleBar.innerHTML = boxTitle;
	if (ad == true || ad == 'true') {
		createText(titleBar,' << Sponsored >>','','ad');
		dragableBoxesArray[boxIndex]['ad'] = ad;
	}
	else dragableBoxesArray[boxIndex]['ad'] = 'false';
	dragableBoxesArray[boxIndex]['url'] = url;	
	
	return boxIndex;	
}
function changeWidgetClass(idArray)
{
	var element = getObject(idArray[2]);
	element.className = 'website_thickbox';
}

function autoScroll(direction,yPos)
{
	if(document.documentElement.scrollHeight>documentScrollHeight && direction>0)return;
	if(browser == '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; // dragableBox   
	
	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 && !browser == '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';
		dragObject.style.zIndex = '1';
		dragObject.childNodes[0].style.height = '100%';
		if(transparencyWhenDragging){	
			dragObject.style.filter = 'alpha(opacity=70)';
			dragObject.style.opacity = '0.7';
		}	
		dragObject.parentNode.insertBefore(rectangleDiv,dragObject);
		rectangleDiv.style.display='block';
		rectangleDiv.style.clear='both';		// to move the rectangle under the box !!!
		document.body.appendChild(dragObject); // makes it really slow but is neccessary for the rectangle

		// rectangle of this original position
		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();
	
	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']);
			
			// old position
			if(leftPos>tmpX && leftPos<(tmpX + dragableBoxesArray[no]['obj'].offsetWidth) && topPos>(tmpY-20) && topPos<(tmpY + (dragableBoxesArray[no]['obj'].offsetHeight/2))){
				
				destinationObj = dragableBoxesArray[no]['obj'];
				// rectangle of the future position
				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;
					// rectangle of the future position, after another box
					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('dragableBoxes' + activeTabNo + 'Column' + no);						
				var left = getLeftPos(obj)/1;										
				var width = obj.offsetWidth;
				
				// new empty column
				//if(leftPos>left && leftPos<(left+width+10)){ 
				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 = '';
		dragObject.style.opacity = '';
	}		
	dragObject.style.position = 'static';
	dragObject.style.width = null;
	var numericId = dragObject.id.replace(/[^0-9]/g,'');
	
	// move to new tab
	if (tabDrop){
		
		var obj = getObject('dragableBoxes' + tabDrop + 'Column1');
		obj.appendChild(dragObject);
		dragableBoxesArray[numericId]['parentObj'] = obj;
	
	}else if(destinationObj && destinationObj.id!=dragObject.id){
		
		if(destinationObj.id.indexOf('dragableBoxes' + activeTabNo + 'Column')>=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);
		}				
		
		
	}

	autoScrollActive = false;
	rectangleDiv.style.display = 'none'; 
	dragObject = false;
	dragObjectNextSibling = false;
	destinationObj = false;
	
	if(useCookiesToRememberRSSSources)setTimeout('saveCookies()',100);

	documentHeight = document.documentElement.clientHeight;	
}

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(widget_min)>=0?'none':'block';		// hide or not
	inputObj.src = inputObj.src.indexOf(widget_min)>=0?widget_max:widget_min;	// swop button
	
	dragableBoxesArray[numericId]['boxState'] = obj.style.display=='block'?1:0;
	saveCookies();
	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 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 showStatusBarMessage(numericId,message)
{
	document.getElementById('dragableBoxStatusBar' + numericId).innerHTML = message;	
}

function saveFeed(boxIndex)
{
	var heightOfBox = dragableBoxesArray[boxIndex]['heightOfBox'] = document.getElementById('heightOfBox[' + boxIndex + ']').value;
	var intervalObj = dragableBoxesArray[boxIndex]['intervalObj'];
	if(intervalObj)clearInterval(intervalObj);
	
	if(heightOfBox && heightOfBox>40){
		var contentObj = document.getElementById('dragableBoxContent' + boxIndex);
		contentObj.style.height = heightOfBox + 'px';
		contentObj.setAttribute('heightOfBox',heightOfBox);
		contentObj.heightOfBox = heightOfBox;	
		if(document.all)contentObj.style.overflowY = 'auto';else contentObj.style.overflow='-moz-scrollbars-vertical;';
		if(browser == 'Opera')contentObj.style.overflow='auto';			
		
	}
	
	dragableBoxesArray[boxIndex]['url'] = document.getElementById('rssUrl[' + boxIndex + ']').value;
	dragableBoxesArray[boxIndex]['heightOfBox'] = heightOfBox;
	dragableBoxesArray[boxIndex]['maxRssItems'] = document.getElementById('maxRssItems[' + boxIndex + ']').value;
	dragableBoxesArray[boxIndex]['heightOfBox'] = document.getElementById('heightOfBox[' + boxIndex + ']').value;
	dragableBoxesArray[boxIndex]['minutesBeforeReload'] = document.getElementById('minutesBeforeReload[' + boxIndex + ']').value;
	
	if(dragableBoxesArray[boxIndex]['minutesBeforeReload'] && dragableBoxesArray[boxIndex]['minutesBeforeReload']>5){
		var tmpInterval = setInterval("reloadRSSData(" + boxIndex + ")",(dragableBoxesArray[boxIndex]['minutesBeforeReload']*1000*60));	
		dragableBoxesArray[boxIndex]['intervalObj'] = tmpInterval;
	}
	reloadRSSData(boxIndex);	
}

function addRSSEditContent(parentObj)
{
	var editLink = document.createElement('A');
	editLink.href = '#';
	editLink.onclick = cancelEvent;
	editLink.style.cssText = 'float:right';
	editLink.style.styleFloat = 'right';
	editLink.id = 'dragableBoxEditLink' + boxIndex;
	editLink.innerHTML = txt_editLink;
	editLink.className = 'dragableBoxEditLink';
	editLink.style.cursor = 'pointer';
	editLink.style.visibility = 'hidden';
	editLink.onmousedown = editRSSContent;
	parentObj.appendChild(editLink);	
			
	var editBox = document.createElement('DIV');
	editBox.style.clear='both';
	editBox.id = 'dragableBoxEdit' + boxIndex;
	editBox.style.display='none';
	
	var content = '<form><table cellpadding="1" cellspacing="1"><tr><td>Source:<\/td><td><input type="text" id="rssUrl[' + boxIndex + ']" value="' + dragableBoxesArray[boxIndex]['rssUrl'] + '" size="25" maxlength="255"><\/td><\/tr>'
	+ '<tr><td>Items:<\/td><td width="30"><input type="text" id="maxRssItems[' + boxIndex + ']" onblur="this.value = this.value.replace(/[^0-9]/g,\'\');if(!this.value)this.value=' + dragableBoxesArray[boxIndex]['maxRssItems'] + '" value="' + dragableBoxesArray[boxIndex]['maxRssItems'] + '" size="2" maxlength="2"><\/td><\/tr><tr><td>Fixed height:<\/td><td><input type="text" id="heightOfBox[' + boxIndex + ']" onblur="this.value = this.value.replace(/[^0-9]/g,\'\');if(!this.value)this.value=' + dragableBoxesArray[boxIndex]['heightOfBox'] + '" value="' + dragableBoxesArray[boxIndex]['heightOfBox'] + '" size="2" maxlength="3"><\/td><\/tr><tr>'
	+'<tr><td>Reload every:<\/td><td width="30"><input type="text" id="minutesBeforeReload[' + boxIndex + ']" onblur="this.value = this.value.replace(/[^0-9]/g,\'\');if(!this.value || this.value/1<5)this.value=' + dragableBoxesArray[boxIndex]['minutesBeforeReload'] + '" value="' + dragableBoxesArray[boxIndex]['minutesBeforeReload'] + '" size="2" maxlength="3">&nbsp;minute<\/td><\/tr>'
	+'<tr><td><input type="button" onclick="saveFeed(' + boxIndex + ')" value="Save"><\/td><\/tr><\/table><\/form>';
	editBox.innerHTML = content;
	
	parentObj.appendChild(editBox);		
	
}
function addBoxContentContainer(parentObj)
{
	var div = document.createElement('DIV');
	div.className = 'dragableBoxContent';
	if (browser == 'Opera') div.style.clear='none';
	div.id = 'dragableBoxContent' + boxIndex;
	parentObj.appendChild(div);	
}

function addBoxStatusBar(parentObj)
{
	var div = document.createElement('DIV');
	div.className = 'dragableBoxStatusBar';
	div.id = 'dragableBoxStatusBar' + boxIndex;
	parentObj.appendChild(div);	
	
}
function createRectangle()
{
	/* 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 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';		
}
function disableBoxDrag(boxIndex) // Disable drag for a box
{
	document.getElementById('dragableBoxHeader' + boxIndex).onmousedown = '';
	document.getElementById('dragableBoxHeader' + boxIndex).style.cursor = 'default';				
}


// rss, feeds
function createFeed(formObj)
{
	var url = formObj.rssUrl.value;
	var items = formObj.items.value;
	var height = formObj.height.value;
	var reloadInterval = formObj.reloadInterval.value;
	if(isNaN(height) || height/1<40)height = false;	
	if(isNaN(reloadInterval) || reloadInterval/1<5)reloadInterval = false;
	createRSSBox(url,1,height,items,reloadInterval);	
}
function createRSSBox(url,spot,maxRssItems,minutesBeforeReload,boxId,state,ad)
{
	if(!minutesBeforeReload) minutesBeforeReload = '0';	
	var boxIndex = createBox(spot,boxId,true,state,'rssBox',0);	
	
	dragableBoxesArray[boxIndex]['maxRssItems'] = maxRssItems?maxRssItems:100;
	dragableBoxesArray[boxIndex]['url'] = url;
	dragableBoxesArray[boxIndex]['type'] = 'rss';
	staticObjectArray[boxId] = boxIndex;
	
//	var tmpInterval = false;
//	if(minutesBeforeReload && minutesBeforeReload>0){
//		var tmpInterval = setInterval("reloadRSSData(" + boxIndex + ")",(minutesBeforeReload*1000*60));
//	}
//	dragableBoxesArray[boxIndex]['minutesBeforeReload'] = minutesBeforeReload;
//	dragableBoxesArray[boxIndex]['intervalObj'] = tmpInterval;	
//	addRSSEditContent(document.getElementById('dragableBoxHeader' + boxIndex));
	
	var boxContent = getObject('dragableBoxContent'+boxIndex);
	if (!boxContent.innerHTML) boxContent.innerHTML = 'loading RSS data';

	if (url.length>0 && url!='undefined'){
		
		var ajaxIndex = ajaxObjects.length;
		ajaxObjects[ajaxIndex] = new sack();
		if(!maxRssItems)maxRssItems = 10;	
		ajaxObjects[ajaxIndex].requestFile = rssfile + '?rssURL=' + escape(url) + '&maxRssItems=' + maxRssItems; // Specifying which file to get
		ajaxObjects[ajaxIndex].onCompletion = function(){ showRSSData(ajaxIndex,boxIndex); }; // Specify function that will be executed after file has been found
		ajaxObjects[ajaxIndex].runAJAX();
	}
	else hideHeaderOptionsForStaticBoxes(boxIndex);
	getData('addCounter_'+boxIndex,'boxes',Array('COUNT()'),Array('boxId'),Array(boxId)); // add counter to status		
	if (ad == true || ad == 'true') {
		createText(getObject('dragableBoxHeader_txt'+boxIndex),' << Sponsored >>','','ad');
		dragableBoxesArray[boxIndex]['ad'] = ad;
	}
	else dragableBoxesArray[boxIndex]['ad'] = 'false';
	
	return boxIndex;
}
function reloadRSSData(numericId)
{
	var ajaxIndex = ajaxObjects.length;
	ajaxObjects[ajaxIndex] = new sack();
	showStatusBarMessage(numericId,'Loading data...');
	ajaxObjects[ajaxIndex].requestFile = rssfile + '?rssURL=' + escape(dragableBoxesArray[numericId]['url']) + '&maxRssItems=' + dragableBoxesArray[numericId]['maxRssItems']; // Specifying which file to get
	ajaxObjects[ajaxIndex].onCompletion = function(){ showRSSData(ajaxIndex,numericId); }; // Specify function that will be executed after file has been found
	ajaxObjects[ajaxIndex].runAJAX();				
}
function refreshRSS()
{
	reloadRSSData(this.id.replace(/[^0-9]/g,''));
	setTimeout('dragDropCounter=-5',5);
}
function showRSSData(ajaxIndex,boxIndex)
{
	var header = getObject('dragableBoxHeader_txt' + boxIndex);
	if (!header) return;
	var rssContent = ajaxObjects[ajaxIndex].response;
	var tokens = rssContent.split(/\n\n/g);
	var headerTokens = tokens[0].split(/\n/g);
	// if there are more free lines
	if (!headerTokens[0]) headerTokens = arrayDrop(rssContent.split(/\n\n\n/g)[0].split(/\n/g),'');
	
	if(headerTokens[0]=='0'){
		headerTokens[1] = '';
		headerTokens[0] = 'Invalid source';
		closeDragableBox(false,header);
		return;			
	}
	
	header.innerHTML = '<span>' + headerTokens[0] + '&nbsp;<\/span><span class="rssNumberOfItems">(' + headerTokens[1] + ')<\/span>';
	var box = document.getElementById('dragableBoxContent' + boxIndex);
	box.removeChild(box.firstChild);
	var list = createList(box);
	for(var no=1;no<tokens.length;no++) addCSSLine(list,tokens[no]);	// Looping through RSS items		
	showStatusBarMessage(boxIndex,'');
	//ajaxObjects[ajaxIndex] = false;
}
function addCSSLine(list,token)
{
	var itemTokens = token.split(/##/g);
	if (!itemTokens[3]) return;
	var item = createListElement(list,itemTokens[0],'open_'+itemTokens[3],'link');		
	item.onmouseover = function(){this.className = 'link_over'; showTooltip(this,itemTokens[2]);};
	item.onmouseout = function(){this.className = 'link'; removeTooltip();};
}
function getXMLValue()
{
  if (http_request.readyState == 4) 
  {
      if (http_request.status == 200) 
      {                    	
            var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
            xmlDoc.async=false;
            xmlDoc.loadXML(http_request.responseXML.xml);
            xmlValue = xmlDoc.getElementsByTagName('ModulePrefs')[0].getAttributeNode('title').nodeValue;
      }
      else 
      {
          alert('There was a problem with the request.');
      }
  }
}
function setXML(url) 
{
  http_request = false;

  if (window.XMLHttpRequest) 
  { // Mozilla, Safari,...
      http_request = new XMLHttpRequest();
      
      if (http_request.overrideMimeType)
      {
          http_request.overrideMimeType('text/xml; charset=ISO-8859-2');
      }
  } else if (window.ActiveXObject) 
  { // IE
      http_request = new ActiveXObject("Microsoft.XMLHTTP");
  }

  if (!http_request) {
      alert('Giving up :( Cannot create an XMLHTTP instance');
      return false;
  }
  
  http_request.onreadystatechange = getXMLValue;
  http_request.open('GET', url, true);
  http_request.send(null);
}	