var positionmax = 6;

function init()
{
	changevoteform();
}

document.write(getCalendarStyles());
//var cp = new ColorPicker(); // DIV style

function changevoteform()
{
	//todo: expired auf bzw zuklappen
	var isvote = document.getElementById("isvote").checked;
	if (isvote == true) 
	{
		document.getElementById("voteform").style.display = "block";
		document.getElementById("hiddenhasvote").value = '1';
	}
	else
	{
		document.getElementById("voteform").style.display = "none";
		document.getElementById("hiddenhasvote").value = '0';
	}
	showpreview();
}

function changetextform()
{
	if (document.getElementById("inputhastext"))
	{
		var checked = document.getElementById("inputhastext").checked;
		if (checked ==  true)
		{
			document.getElementById("textarea").style.display = "block";
			document.getElementById("hiddenhastext").value = '1';
		}
		else
		{
			document.getElementById("textarea").style.display = "none";
			document.getElementById("hiddenhastext").value = '0';
		}
	}
	showpreview();
}

function changeimageform()
{
	if (document.getElementById("hasimage").checked == true)
	{
		document.getElementById("upload").style.display = "block";
		document.getElementById("hiddenhasimage").value = '1';
	}
	else
	{
		document.getElementById("upload").style.display = "none";
		document.getElementById("hiddenhasimage").value = '0';
	}
	showpreview();
}

function changecounterform()
{
	if (document.getElementById("iscounter").checked == true)
	{
		document.getElementById("hiddenhascounter").value = '1';
	}
	else
	{
		document.getElementById("hiddenhascounter").value = '0';
	}
	showpreview();
}

function changecommentform()
{
	if (document.getElementById("iscomment").checked == true)
	{
		document.getElementById("hiddenhascomment").value = '1';
	}
	else
	{
		document.getElementById("hiddenhascomment").value = '0';
	}
	showpreview();
}

function changevideoform()
{
	if (document.getElementById("isvideo").checked == true)
	{
		document.getElementById("videoform").style.display = "block";
		document.getElementById("hiddenhasvideo").value = '1';
	}
	else
	{
		document.getElementById("videoform").style.display = "none";
		document.getElementById("hiddenhasvideo").value = '0';
	}
	showpreview();
}



var items = Array();
var title = "";
var vote_expired_day;
var vote_expired_month;
var vote_expired_year;
var vote_show_result;

function newitem(num)
{
 	var len=0;
 	for (var i=0; i<=100; i++)
 	{
 		if (document.getElementById('vote_item_'+i))
 		{
 			len++;
 		}
 	}
	var i = num + 1;
	if ( i == len && i<=100)
	{
		var myTableBody = document.getElementById("item_tbody");
		var myRow = document.createElement("TR");
		var myCell = document.createElement("TD");
		var myCell_text = document.createElement("TD");

		var input = document.createElement("SPAN");
		input.innerHTML = '<input type="text" class=textinput name="vote_item[' + i + ']" id="vote_item_' + i + '" onkeyup="newitem(' + i + ');showpreview();save_item('+i+');" >';

		myRow.appendChild(myCell_text);
		myRow.appendChild(myCell);
		myCell.appendChild(input);
		// myCell_text.appendChild(document.createTextNode('Antwort ' + (i+1)));
		myCell_text.appendChild(document.createTextNode(' '));

		myTableBody.appendChild(myRow);
	}
}

function save_item(i)
{
	if (!document.getElementById('saved_item_'+i))
	{	
		document.getElementById('create').innerHTML += "<input type=hidden name=\"vote_item["+i+"]\" id=saved_item_"+i+" value=\""+document.getElementById('vote_item_'+i).value+"\" />";
	}
	else
	{
		document.getElementById('saved_item_'+i).value = document.getElementById('vote_item_'+i).value;
	}
}

var now = new Date();
var cal = new CalendarPopup("caldiv");
cal.addDisabledDates(null,formatDate(now,"yyyy-MM-dd"));

cal.setReturnFunction("setMultipleValues4");
function setMultipleValues4(y,m,d) 
{
	document.create.date_year.value=y;
	document.create.date_month.selectedIndex=m;
	for (var i=0; i<document.create.date_date.options.length; i++) 
	{
		if (document.create.date_date.options[i].value==d) 
		{
			document.create.date_date.selectedIndex=i;
		}
	}
}

function getDateString(y_obj,m_obj,d_obj) 
{
	var y = y_obj.options[y_obj.selectedIndex].value;
	var m = m_obj.options[m_obj.selectedIndex].value;
	var d = d_obj.options[d_obj.selectedIndex].value;
	if (y=="" || m=="") { return null; }
	if (d=="") { d=1; }
	return str= y+"-"+m+"-"+d;
}


function htmlspecialchars(ch) {
   ch = ch.replace(/&/g,"&amp;")
   ch = ch.replace(/\"/g,"&quot;")
   ch = ch.replace(/\'/g,"&#039;")
   ch = ch.replace(/</g,"&lt;")
   ch = ch.replace(/>/g,"&gt;")

   return ch
}

var activatedmods = new Array();

function previewarray ()
{
	var i;
	var arr = new Array();
	// page title
	arr['title'] 		= htmlspecialchars(document.getElementById('hiddentitle').value);
	// page style
	arr['style'] 		= document.getElementById('style').options[document.getElementById('style').selectedIndex].value;
	// ob vote benutzt wird oder nicht
	arr['isvote']		= document.getElementById('isvote').checked; // boolean
	if (document.getElementById("wysiwygcontent")) arr['content'] 		= document.getElementById("wysiwygcontent").contentWindow.document.body.innerHTML // text
	// ablaufdatum des votes
	arr['date_date'] 	= document.getElementById('date_date').value; // int
	arr['date_month'] 	= document.getElementById('date_month').value; // int
	arr['date_year'] 	= document.getElementById('date_year').value; // int
	arr['iscounter'] 	= document.getElementById('iscounter').checked; // boolean
	arr['iscomment'] 	= document.getElementById('iscomment').checked; // boolean
	arr['isvideo'] 		= document.getElementById('isvideo').checked; // boolean

	// dateiname vom bild (ohne path und extention)
	arr['filename'] 	= document.getElementById('filename').value; // text

	var i = document.getElementById('style').options[document.getElementById('style').selectedIndex].value;
	// hintergrundfarbe (ohne #)
	arr['bgcolor'] 		= bgcolor[i];
	// textfarbe (ohne #)
	arr['color'] 		= color[i];

	arr['vote_title'] = htmlspecialchars(document.getElementById('vote_title').value);
	// lade alle votes (ignoriere leere felder)
	var x = 0;
	arr['vote_items'] = new Array();
	for (i=0;i<=100;i++)
	{
		if (document.getElementById('vote_item_'+i) && document.getElementById('vote_item_'+i).value!='')
		{
			arr['vote_items'][x] = htmlspecialchars(document.getElementById('vote_item_'+i).value);
			x++;
		}
	}
	
	activatedmods['image']		= (arr['filename'] && document.getElementById("hiddenhasimage").value == 1) ? 1 : 0;
	activatedmods['vote']		= (arr['isvote'] && document.getElementById("hiddenhasvote").value == 1) ? 1 : 0;
	activatedmods['counter']	= (arr['iscounter'] && document.getElementById("hiddenhascounter").value == 1) ? 1 : 0;
	activatedmods['comment']	= (arr['iscomment'] && document.getElementById("hiddenhascomment").value == 1) ? 1 : 0;
	activatedmods['video']		= (arr['isvideo'] && document.getElementById("hiddenhasvideo").value == 1) ? 1 : 0;
	activatedmods['text']		= (document.getElementById("hiddenhastext").value == 1) ? 1 : 0;

	arr['vote_show_result'] = document.getElementById('vote_show_result').checked;

	return arr;
}

function showpreview()
{
	var arr = new Array();
	arr = previewarray();
	document.getElementById('preview').style.backgroundColor = arr['bgcolor'];
	document.getElementById('preview').style.color = arr['color'];

	var htmltxt = '<h1 style="text-align: center;font-size:24px;color:'+arr['color']+'">'+arr['title']+'</h1>';
	htmltxt	+= '<table style=" width:100%;color: '+arr['color']+';"><tr><td></td><td style="width:25px;"></td></tr>';
	
	
	for( var i = 1; i <= positionmax; ++i )
	{
		if( document.getElementById('position_image').value == i ) {if (arr['filename'] && document.getElementById("hiddenhasimage").value == 1) htmltxt += printimage(arr);}
		if( document.getElementById('position_vote').value == i ) {if (arr['isvote'] == true && document.getElementById("hiddenhasvote").value == 1){htmltxt += printvote(arr);}}
		if( document.getElementById('position_text').value == i ) {if (document.getElementById("hiddenhastext").value == 1) htmltxt += printcontent(arr);}
		if( document.getElementById('position_counter').value == i ) {if (arr['iscounter'] == true && document.getElementById("hiddenhascounter").value == 1){htmltxt += printcounter(arr);}}
		if( document.getElementById('position_comment').value == i ) {if (arr['iscomment'] == true && document.getElementById("hiddenhascomment").value == 1){htmltxt += printcomment(arr);}}
		if( document.getElementById('position_video').value == i ) {if (arr['isvideo'] == true && document.getElementById("hiddenhasvideo").value == 1){htmltxt += printvideo(arr);}}
	}

	htmltxt	+= '</table>';
//	alert(htmltxt);
	document.getElementById('preview').innerHTML = htmltxt;
	if (previewimagesize == '' && arr['filename'])
	{
		document.images.previewimage.onload=resizepreviewimage;
	}
	if( window.iepngalpha ) {iepngalpha();}

}

function is_activated(e)
{
	if( e == 'position_image' )
		return activatedmods['image'];
	if( e == 'position_vote' )
		return activatedmods['vote'];
	if( e == 'position_counter' )
		return activatedmods['counter'];
	if( e == 'position_text' )
		return activatedmods['text'];
	if( e == 'position_comment' )
		return activatedmods['comment'];
	if (e == 'position_video' )
		return activatedmods['video'];
}

function getnamebyposition(n)
{
	if( document.getElementById('position_image').value == n ) {return 'position_image';}
	if( document.getElementById('position_vote').value == n ) {return 'position_vote';}
	if( document.getElementById('position_text').value == n ) {return 'position_text';}
	if( document.getElementById('position_counter').value == n ) {return 'position_counter';}
	if( document.getElementById('position_comment').value == n ) {return 'position_comment';}
	if( document.getElementById('position_video').value == n ) {return 'position_video';}
}

function moveup(e)
{
	
	if( document.getElementById(e).value >= 2 )
	{
		target = document.getElementById(e).value - 1;
		while( !is_activated(getnamebyposition(target)) && target > 1 )
			target--;
		if( target >= 1 )
		{
			document.getElementById(getnamebyposition(target)).value = document.getElementById(e).value; 
			document.getElementById(e).value = target;
			showpreview();
		}
	}
	
}

function movedown(e)
{
	if( document.getElementById(e).value <= (positionmax-1) )
	{
		target = parseInt(document.getElementById(e).value) + 1;
		while( !is_activated(getnamebyposition(target)) && target < positionmax  )
		{
			target++;
		}
		if( target <= positionmax )
		{
			document.getElementById(getnamebyposition(target)).value = document.getElementById(e).value; 
			document.getElementById(e).value = target;
			showpreview();
		}
	}
}

function isbottomposition(e)
{
	var pos = parseInt(document.getElementById(e).value);
	if( pos == positionmax )
		return true;
	
	for( pos++; pos <= positionmax; ++pos )
	{
		if( is_activated(getnamebyposition(pos)) )
		{
//			alert(getnamebyposition(pos) + ': active');
			return false;
		}
	}
	return true;
}

function istopposition(e)
{
	var pos = document.getElementById(e).value;
	if( pos == 1 )
		return true;
	pos--;
	for( ; pos >= 1; --pos )
	{
		if( is_activated(getnamebyposition(pos)) )
		{
//			alert(getnamebyposition(pos) + 'is activated');
			return false;
		}
	}
	return true;
}

function updownbuttons(e)
{
	var string = '';
	if( !istopposition(e) )
		string += '<img src="http://www.beerpages.de/design/go-up.png" onClick="moveup(\'' + e + '\')" />';
	if( !isbottomposition(e) )
		string += '<br /><img src="http://www.beerpages.de/design/go-down.png" onClick="movedown(\'' + e + '\')" />';
	return string;
}

function getrandvalues(n)
{
  v = new Array();
  for( i = 0; i < n; ++i )
    v[v.length] = Math.round(Math.abs(Math.sin(Math.pow((i+5.8),(i+5.9))))*100);
  return v;
}

function printvote(arr)
{
	var i = 0;

	var votetxt_items = '';
	var vx = 0;
	for (i=0;i<=100;i++)
	{
		if (arr['vote_items'][i])
		{
			vx++;
			votetxt_items += '<tr><td>'+arr['vote_items'][i]+'</td> <td><input type=radio name=voteitem value="" readonly /></td></tr>';
		}
	}




	var votetxt = ''
+'<tr><td style="border:1px dashed #' + calcbordercolor(arr['bgcolor'].substr(1,6)) + ';padding:10px;"><h2 style="color: '+arr['color']+';font-size: 17px;">'+arr['vote_title']+'</h2>'
+'<div id="voting">';

	if (vx >= 1)
	{

		if (arr['vote_show_result'])
		{
			votetxt += '<div class="designdiv" style="text-align:center;background:#'+calcbackcolor(arr['bgcolor'].substr(1,6))+';border-color:#'+calcbordercolor(arr['bgcolor'].substr(1,6))+'; width: 300px; padding:10px; margin:5px auto; border-width: 1px;">'
+'	<table style="text-align:left;color: '+arr['color']+';border-spacing:10px;width:100%;">';
			var zahlen = getrandvalues(vx);
			var gesamt = 0;
			var laenge = 0;
			for (i=0;i<vx;i++)
			{
				gesamt += parseInt(zahlen[i]);
			}
			for (i=0;i<vx;i++)
			{
				laenge = Math.round((zahlen[i] / gesamt)*100);
				votetxt += '<tr><td>'+arr['vote_items'][i]+'</td><td><div style="margin: 0; margin-left:auto; width: '+laenge+'px;background: '+arr['color']+';color: #'+calcbackcolor(arr['bgcolor'].substr(1,6))+'">&nbsp;</div></td><td>'+laenge+'%</td><td>('+zahlen[i]+')</td></tr>';
			}
			votetxt += '<tr><td colspan="3"></td><td style="border-top: 1px solid '+arr['color']+'">('+gesamt+')</td></tr></table></div>';
		}


		votetxt += '<div class="designdiv" style="text-align:center;background:#'+calcbackcolor(arr['bgcolor'].substr(1,6))+';border-color:#'+calcbordercolor(arr['bgcolor'].substr(1,6))+'; width: 300px; padding:10px; margin: 5px auto;border-width: 1px;">'
	+'<table style="margin:0 auto;text-align:left;color: '+arr['color']+'">';
		votetxt += votetxt_items;	
		votetxt += '</table>'
	+'<input type=submit value="abstimmen!" onClick="return false;" />'
	+'</div>'
+'</div>';
	}

	votetxt += '</td><td>' + updownbuttons('position_vote');

	votetxt += '</td></tr>';

	return votetxt;
}

function printcontent(arr)
{
	return '<tr><td style="border:1px dashed #' + calcbordercolor(arr['bgcolor'].substr(1,6)) + ';padding:10px;">'+arr['content']+ '</td><td>' + updownbuttons('position_text') + '</td></tr>';
}

function printcounter(arr)
{
	return '<tr><td style="border:1px dashed #' + calcbordercolor(arr['bgcolor'].substr(1,6)) + ';text-align:center;padding:10px;"><img src="http://www.beerpages.de/counter/1516" /></td><td>' + updownbuttons('position_counter') + '</td>';
}

function printcomment(arr)
{
	commenttxt = ''
+'<tr><td style="border:1px dashed #' + calcbordercolor(arr['bgcolor'].substr(1,6)) + ';padding:10px;"><h2 style="color: '+arr['color']+';font-size: 17px;">Kommentare von: '+arr['title']+'</h2>'
+'<div class="designdiv" style="text-align:center;background:#'+calcbackcolor(arr['bgcolor'].substr(1,6))+';border-color:#'+calcbordercolor(arr['bgcolor'].substr(1,6))+'; width: 300px; padding:10px; margin:5px auto; border-width: 1px;">'	
+'<div style="width:100%;text-align:left;">'
+'Name: <input type="text" id="comment_name" value=""  style="border: 1px solid #'+calcbordercolor(arr['bgcolor'].substr(1,6))+';background-color:#'+calcbackcolor(arr['bgcolor'].substr(1,6))+';color:'+arr['color']+';" /><br /><br />'
+'Dein Text:<br />'
+'<textarea id="comment_text" rows="6" cols="40" style="width:90%px;border: 1px solid #'+calcbordercolor(arr['bgcolor'].substr(1,6))+';background-color:#'+calcbackcolor(arr['bgcolor'].substr(1,6))+';color:'+arr['color']+';"></textarea>'
+'<div style="text-align:right"><input type="button" value="Rein damit!"></div>'
+'</div>'
+'<div id="comment_list">'
+'<div style="text-align:left;">'
+'<div style="">'
+'<div style="float:left;width: 100px;padding:5px;font-size:10px;overflow:hidden;">Name: Sascha<br />24.09.2008 03:16</div>'
+'<div style="float:left;width: 175px;padding:5px;font-size:12px;overflow:hidden;">Einfach toll!</div>'
+'<div style="clear:left;"></div>'
+'</div>'
+'</div>'
+'</div>'
+'</div>';

	commenttxt += '</td><td>' + updownbuttons('position_comment');

	commenttxt += '</td></tr>';
	return commenttxt;	
}

function printvideo(arr)
{
	video = document.getElementById('video').value;
	url = parse_url(video);
	embed = "";
	if (typeof url.host != 'undefined')
	{
		if (url.host.match('youtube') != null)
		{
			r = new Array();
			parse_str(url.query, r);
//			embed = r['v'];
			embed = '<object width="320" height="265"><param name="movie" value="http://www.youtube.com/v/'+r['v']+'&hl=de&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'+r['v']+'&hl=de&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265"></embed></object>';
		}
		else if (url.host.match('clipfish') != null)
		{
			ids = url.path.match('([0-9]+)');
			if (ids && ids[1])
			{
				id = ids[1];
				embed = "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='320' height='265' id='player' align='middle'><param name='allowScriptAccess' value='always' /><param name='movie' value='http://www.clipfish.de/videoplayer.swf?as=0&amp;vid="+id+"&amp;r=1' /><param name='quality' value='high' /><param name='bgcolor' value='#FF0000' /><param name='allowFullScreen' value='true' /><embed src='http://www.clipfish.de/videoplayer.swf?as=0&amp;vid="+id+"&amp;r=1' quality='high' bgcolor='#FF0000' width='320' height='265' name='player' align='middle' allowFullScreen='true' allowScriptAccess='always' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer'></embed></object>";
			}
		}
	}
	
	return '<tr><td style="border:1px dashed #' + calcbordercolor(arr['bgcolor'].substr(1,6)) + ';text-align:center;padding:10px;">'
	+ embed
	+'</td><td>' + updownbuttons('position_video') + '</td>';
}

var previewimagesize = '';
function printimage(arr)
{
	if (arr['filename'])
	{
		var string = '<tr><td style="border:1px dashed #' + calcbordercolor(arr['bgcolor'].substr(1,6)) + ';text-align:center;padding:10px;"><img name=previewimage id=previewimage src="http://www.beerpages.de/images/tmp/'+arr['filename']+'.jpg" style="border: 1px solid #'+calcbordercolor(arr['bgcolor'].substr(1,6))+';'+previewimagesize+'" /></td><td>' + updownbuttons('position_image') + '</td></tr>';
/*		if (previewimagesize == '')
		{
			document.images.previewimage.onload=resizepreviewimage;
		}*/ //verlegt nach showpreview()
		return string;
	}
}

function resizepreviewimage()
{
	img = document.getElementById('previewimage');
	if (img && img.width >= 300)
	{

		img.style.width = '300px';
		previewimagesize = 'width:300px;';
	}
}


var xcontent = '';
function checkcontent ()
{
	if (document.getElementById("wysiwygcontent"))
	{
		if (document.getElementById("wysiwygcontent").contentWindow.document.body.innerHTML != xcontent)
		{
			xcontent = document.getElementById("wysiwygcontent").contentWindow.document.body.innerHTML;
			showpreview();
		}
	}
}


function submitCreate()
{
	WYSIWYG.updateTextArea("content"); 
	if (document.getElementById("image").value == "" && document.getElementById("file").value != "" )
	{
		if (confirm("Bist du sicher, das du das ausgewählte Bild nicht hochladen willst?"))
		{
			document.create.submit()
		}
	}
	else
	{
		document.create.submit()
	}
}


window.setInterval("checkcontent();", 300);





