window.addEvent('domready', function(){

	dp_vote = $('vote_poll');
	dp_view = $('view_poll');
	dp_msg = $('div_poll_message');
	
	$('btn_vote').addEvent('click', function(e){
		opt_id =  get_selected_id();
		
		if (opt_id > 0)
		{
			// send json
			
			new Request.JSON({
				url: "pages/poll.php",
				onRequest: function(){				
					dp_msg.erase('class');
					dp_msg.addClass('bblue');
					dp_msg.set('html', 'Saving ...');				
				},
				onSuccess: function(feedback){
				
					if (feedback == null || feedback==0)
					{
						dp_msg.erase('class');
						dp_msg.addClass('rred');
						dp_msg.set('html', 'DB Connection Error! Try again!');						
					}
					else if(feedback == 3)
					{
						dp_msg.erase('class');
						dp_msg.addClass('rred');
						dp_msg.set('html', 'You already voted!');						
					}
					else
					{
						dp_msg.erase('class');
						dp_msg.addClass('ggreen');
						dp_msg.set('html', 'Your vote successfully saved!');		
						
						fetch_current_poll.send("via=async&mode=currentpoll&poll_id=" + $('poll_id').value + "&goto=" + $('pagename').value);
						//	refresh result
					}
				
				}
			}).send("via=async&poll_id=" + $('poll_id').value + "&poll_option=" + opt_id);
		}
		else
		{
			dp_msg.erase('class');
			dp_msg.addClass('rred');
			dp_msg.set('html', 'Select an option to vote!');
		}
	})
	
	var fetch_current_poll = new Request.JSON({
		url: "pages/poll.php",
		onRequest:function(){},
		onSuccess: function(feedback){
			if (feedback != null && feedback.status==1)
			{
				dp_view.erase('class');
				dp_view.set("html",feedback.html);
				dp_view.reveal();
			}
			else if (feedback.status ==3)
			{
				// need to show form
				dp_view.dissolve();
				$('poll_question').set("html", feedback.poll_question);
				$('option_area').set("html", feedback.options);
				$('poll_id').value = feedback.poll_id;
				dp_msg.set("html", '');
				dp_vote.reveal();
			}
		},
		onComplete:function(){
		
			if (dp_vote.getStyle("display") == "block")
				dp_vote.dissolve();
		}
	})
	

	var get_selected_id = function()
	{
		str = "";
		$$('#vote_poll input[class=poll_option]').each(function(npt, index){
		
			if (npt.getProperty('checked'))
				str = npt.value;
		})
		
		return str;
	}
	
	var per_l = function()
	{
			if (dp_view.getStyle("display") == "block")
				fetch_current_poll.send("via=async&mode=currentpoll&poll_id=" + $('poll_id').value + "&goto=" + $('pagename').value);
	}
	/* set periodical into action! once every second */
	var periodicalID = per_l.periodical(8000);	
})
