
	
	_maxcolumnheight = 260;
	_divtocolumnbreakhtml = new Array();
	_columns = new Array();


			
	function columnbreakerinit(sourcedivid, maxheight)
	{
		if (maxheight)
			_maxcolumnheight = maxheight;
			
		_tags = new Array()
		_tagsindex = 0;
		_columns[sourcedivid] = new Array();
		_columns[sourcedivid]['html'] = new Array();
		_columns[sourcedivid]['index'] = 1;
		_columns[sourcedivid]['count'] = 0;

		_divtocolumnbreakhtml[sourcedivid] = getelebyid(sourcedivid).innerHTML;

		getelebyid(sourcedivid).innerHTML = "";
		
//		while (_divtocolumnbreakhtml[sourcedivid].indexOf("\n") > -1)
//			_divtocolumnbreakhtml[sourcedivid] = _divtocolumnbreakhtml[sourcedivid].replace("\n", "<br>");

/*		while (_divtocolumnbreakhtml[sourcedivid].indexOf("<p>") > -1)
			_divtocolumnbreakhtml[sourcedivid] = _divtocolumnbreakhtml[sourcedivid].replace("<p>", "<br>");
		while (_divtocolumnbreakhtml[sourcedivid].indexOf("<P>") > -1)
			_divtocolumnbreakhtml[sourcedivid] = _divtocolumnbreakhtml[sourcedivid].replace("<P>", "<br>");
		while (_divtocolumnbreakhtml[sourcedivid].indexOf("</p>") > -1)
			_divtocolumnbreakhtml[sourcedivid] = _divtocolumnbreakhtml[sourcedivid].replace("</p>", " ");
		while (_divtocolumnbreakhtml[sourcedivid].indexOf("</P>") > -1)
			_divtocolumnbreakhtml[sourcedivid] = _divtocolumnbreakhtml[sourcedivid].replace("</P>", " ");
*/	
		//_divtocolumnbreakhtml[sourcedivid]['columnindex'] = 0

		frompos = 0;
		_html = '';
		aftertagadded = 0;

		jump = 'findtag';
		while (jump != 'exitloop')
		{
			switch (jump)
			{
				case 'findtag':
					firsttagleftbracketpos = _divtocolumnbreakhtml[sourcedivid].indexOf("<", frompos);
					firsttagrightbracketpos = _divtocolumnbreakhtml[sourcedivid].indexOf(">", firsttagleftbracketpos);
					if (firsttagleftbracketpos == -1)
					{
						nomoretags = 1;
						addthistagbeforesentence = '';
						addthistagaftersentence = '';
						sentence = _divtocolumnbreakhtml[sourcedivid];
						_divtocolumnbreakhtml[sourcedivid] = '';
						jump = 'findwordsinsentence';
						break;
					}
					nomoretags = 0;
					
					firsttag = _divtocolumnbreakhtml[sourcedivid].substring(firsttagleftbracketpos, firsttagrightbracketpos + 1);
//	sem mozem pridat smallcaps lebo IE <br> zmeni na <BR> ale source sa sice nemeni, lenze niektore ediory mozu vkladat <BR>
					if (firsttag == '<br>')
					{
						frompos = firsttagrightbracketpos + 1;
						jump = 'findtag';
						break;
					}
					frompos = 0;

					secondtagleftbracketpos = _divtocolumnbreakhtml[sourcedivid].indexOf("<", firsttagrightbracketpos + 1);
					secondtagrightbracketpos = _divtocolumnbreakhtml[sourcedivid].indexOf(">", firsttagrightbracketpos + 1);
					if (secondtagleftbracketpos == -1)
					{
//						alert(firsttag+"ERROR: wrong html code, some missing </*> tag.\nEXIT Column Breaker Function!");
//						jump = 'exitloop';
//						break;
					}

					secondtag = _divtocolumnbreakhtml[sourcedivid].substring(secondtagleftbracketpos, secondtagrightbracketpos + 1);

					if (firsttagleftbracketpos == 0)
					{	
						addthistagbeforesentence = firsttag;
						if (secondtag.substr(0,2) == "</")
						{
							addthistagaftersentence = secondtag;
							sentence = _divtocolumnbreakhtml[sourcedivid].substring(firsttagrightbracketpos + 1, secondtagleftbracketpos);
							_divtocolumnbreakhtml[sourcedivid] = _divtocolumnbreakhtml[sourcedivid].substring(secondtagrightbracketpos + 1);							
							jump = 'findwordsinsentence';
							break;
						}
						else
						{
							addthistagaftersentence = '';
							sentence = _divtocolumnbreakhtml[sourcedivid].substring(firsttagrightbracketpos + 1, secondtagleftbracketpos);
							_divtocolumnbreakhtml[sourcedivid] = _divtocolumnbreakhtml[sourcedivid].substring(secondtagleftbracketpos);							
							jump = 'findwordsinsentence';
							break;
						}
					}
					else						
					{	
						if (firsttag.substr(0,2) == "</")
						{
							addthistagbeforesentence = '';
							addthistagaftersentence = firsttag;
							sentence = _divtocolumnbreakhtml[sourcedivid].substring(0, firsttagleftbracketpos);
							_divtocolumnbreakhtml[sourcedivid] = _divtocolumnbreakhtml[sourcedivid].substring(firsttagrightbracketpos + 1);							
							jump = 'findwordsinsentence';
							break;
						}
						else
						{
							addthistagbeforesentence = '';
							addthistagaftersentence = '';
							sentence = _divtocolumnbreakhtml[sourcedivid].substring(0, firsttagleftbracketpos);
							_divtocolumnbreakhtml[sourcedivid] = _divtocolumnbreakhtml[sourcedivid].substring(firsttagleftbracketpos);							
							jump = 'findwordsinsentence';
							break;
						}
					}
					
				case 'findwordsinsentence':
					oldhtml = _html;

					if (addthistagbeforesentence.length > 0)
					{
						_html = _html + addthistagbeforesentence;
						_tagsindex = _tagsindex + 1;
						_tags[_tagsindex] = addthistagbeforesentence;
						addthistagbeforesentence = '';
					}
					
					nomorewords = 0;		
					if (sentence == '')
					{
						if (nomoretags == 1)
						{
							jump = 'addlastcolumnandexit';
							break;
						}
						else
						{
							if (addthistagaftersentence.length > 0)
							{
								_html = _html + addthistagaftersentence;
								_tagsindex = _tagsindex - 1;
								addthistagaftersentence = '';
							}
							jump = 'findtag';
							break;
						}
					}
					
					sentencefrompos = 0;
					spacepos = sentence.indexOf(" ", sentencefrompos);
					breaker = " ";
					breakpos = sentence.indexOf("<br>", sentencefrompos);
					if (breakpos < spacepos && breakpos != -1)
					{
						spacepos = breakpos;
						breaker = "<br>";
					}
					

					if (spacepos == -1 )
					{
						word = sentence;
						nomorewords = 1;
						_html += word;
						if (addthistagaftersentence.length > 0)
						{
							_html += addthistagaftersentence;
							aftertagadded = 1;
						}
						else
						{
							aftertagadded = 0;
						}
					}
					else
					{
						word = sentence.substring(sentencefrompos, spacepos);
						_html += word + breaker;
					}
						
					getelebyid(sourcedivid).innerHTML = _html
					newheight = getelebyid(sourcedivid).offsetHeight;

					if (newheight <= _maxcolumnheight)
					{
						if (aftertagadded == 1)
						{
							_tagsindex = _tagsindex - 1;
							aftertagadded = 0;
							addthistagaftersentence = '';
						}

						if (nomorewords == 0)
						{
							sentence = sentence.substring(spacepos + breaker.length);
							jump = 'findwordsinsentence';
							break;
						}
						else
						{
							jump = 'findtag';
							break;
						}	
					}
					else
					{
						_html = oldhtml;
						getelebyid(sourcedivid).innerHTML = _html;
						_columns[sourcedivid]['html'][_columns[sourcedivid]['index']] = _html;
						_columns[sourcedivid]['index'] += 1;

						_html = '';
						getelebyid(sourcedivid).innerHTML = '';
						sentence = sentence;
						for (i = 1; i <= _tagsindex; i = i + 1)
							_html = _html + _tags[i];
						
						if (aftertagadded == 1)
						{
							aftertagadded = 0;
						}

						jump = 'findwordsinsentence';
						break;
					}
					break;		
				
				case 'addlastcolumnandexit':
					_columns[sourcedivid]['html'][_columns[sourcedivid]['index']] = _html;
					getelebyid(sourcedivid).innerHTML = '';
					jump = 'exitloop';
					break;
				
			}
		}

		_columns[sourcedivid]['count'] = _columns[sourcedivid]['index'];
		_columns[sourcedivid]['index'] = 1;
		columnbreakershowcolumn(sourcedivid);
		//alert(_columns[sourcedivid]['html'][_columns[sourcedivid]['index']])
	
	}



	function columnbreakershowcolumn(sourcedivid)
	{
		_before = ''; _after = '';
		if (_columns[sourcedivid]['index'] > 1)
			_before = "<a href=# onclick='columnbreakershowprevcolumn(\""+sourcedivid+"\");' class=columnbreakpagenavigation><<< </a>";
		else
			_before = "<span class=columnbreakpagenavigation>&nbsp;</span>";

		if (_columns[sourcedivid]['index'] < _columns[sourcedivid]['count'])
			_after = "<a href=# onclick='columnbreakershownextcolumn(\""+sourcedivid+"\");' class=columnbreakpagenavigation> >>></a>";
		else
			_after = "<span class=columnbreakpagenavigation>&nbsp;</span>";
		
//		getelebyid(sourcedivid).innerHTML = _columns[sourcedivid]['html'][_columns[sourcedivid]['index']] + "<div align=center>" + _before + (_columns[sourcedivid]['index']) + "/" + _columns[sourcedivid]['count'] + _after + "</div>";
		getelebyid(sourcedivid).innerHTML = _before + "<br>" + _columns[sourcedivid]['html'][_columns[sourcedivid]['index']] + "<br><div align=right>" + _after + "</div>";
	}

	function columnbreakershownextcolumn(sourcedivid)
	{
		if (_columns[sourcedivid]['index'] < _columns[sourcedivid]['count'])
			_columns[sourcedivid]['index'] = _columns[sourcedivid]['index'] + 1;
		columnbreakershowcolumn(sourcedivid);
	} 

	function columnbreakershowprevcolumn(sourcedivid)
	{
		if (_columns[sourcedivid]['index'] > 1)
			_columns[sourcedivid]['index'] = _columns[sourcedivid]['index'] - 1;
		columnbreakershowcolumn(sourcedivid);
	} 



