var poll = {  // need mootols.js

	max: 0,
	sess: '',
	namespace: '',
	parentObj: '',
	elements: [0],
	
	init: function(namespace, parentObj, max, sess) {
		this.namespace = namespace;
		this.parentObj = parentObj;
		this.max  = max;
		this.sess = sess;
		var count = 0;
		if ($(this.parentObj) && (count = $(this.parentObj).getElements('.poll-answer').length)) {
			this.elements = [];
			for (var i=0; i<count; i++) this.elements[i] = i;
			this.index = count;
			if (count < this.max) this.btn($($(this.parentObj).getElements('.poll-line')[this.elements[this.elements.length-1]]).getElements('.poll-add')[0].parentNode);
		}
	},

	add: function(namespace) {
	    if($('poll_ans_home') && $('poll_ans_home').getElement('li.poll-line div.tip-t2') != undefined) {
	       $('poll_ans_home').getElement('li.poll-line div.tip-t2').destroy();    
	    }
		var s  = $(this.parentObj).getElements('.poll-line').length - 1;
		var sr = $(this.parentObj).getElements('.poll-line')[s];
		if (s + 1 >= this.max) return;
		var clone = sr.cloneNode(true);
		sr.parentNode.insertBefore(clone, (sr.nextSibling.tagName != 'undefined')? sr.nextSibling: sr.nextSibling.nextSibling);
		var d = s + 1;
		var dr = $(this.parentObj).getElements('.poll-line')[d];
		$(sr).getElements('.poll-add')[0].parentNode.innerHTML = '<span class="poll-add">&nbsp;</span>';
		if (d + 1 >= this.max) {
			$(dr).getElements('.poll-add')[0].parentNode.innerHTML = '<span class="poll-add">&nbsp;</span>';
		} else {
			this.btn($(dr).getElements('.poll-add')[0].parentNode);
		}
		$(dr).getElements('.poll-del')[0].onclick = function(c) { 
			return function() {
				poll.del(c); 
				return false;
			}
		}(this.elements.length);
		$(dr).getElements('.poll-answer')[0].value = '';
		$(dr).getElements('.poll-answer')[0].disabled = false;
		$(dr).getElements('.poll-answer')[0].name = 'answers[]';
		$(dr).getElements('.poll-answer')[0].tabindex = '20'+d;
		if ($(dr).getElements('.poll-answer-exists')[0]) $(dr).getElements('.poll-answer-exists')[0].parentNode.removeChild($(dr).getElements('.poll-answer-exists')[0]);
		$(dr).getElements('.poll-num')[0].innerHTML = d + 1;
		this.elements[this.elements.length] = d;
	},
	
	del: function(index) {
		var addbtn = false;
		var o = $(this.parentObj).getElements('.poll-line');
		var n = this.elements[index];
		if (o.length == 1) {
			$(o[n]).getElements('.poll-answer')[0].value = '';
			$(o[n]).getElements('.poll-answer')[0].disabled = false;
			$(o[n]).getElements('.poll-answer')[0].name = 'answers[]';
			if ($(o[n]).getElements('.poll-answer-exists')[0]) {
				$(o[n]).getElements('.poll-answer-exists')[0].parentNode.removeChild($(o[n]).getElements('.poll-answer-exists')[0]);
			}
			return;
		}
		o[n].parentNode.removeChild(o[n]);
		for (var i=0,c=this.elements.length; i<c; i++) {
			if (this.elements[i] > n) --this.elements[i];
		}
		delete this.elements[index];
		for (var i=n+1; i<o.length; i++) {
			$(o[i]).getElements('.poll-num')[0].innerHTML = i;
		}
		if (n == o.length-1) {
			this.btn($(o[o.length-2]).getElements('.poll-add')[0].parentNode);
		} else if (o.length+1 >= this.max) {
			this.btn($(o[o.length-1]).getElements('.poll-add')[0].parentNode);
		}
	},
	
	btn: function(obj) {
		var a = document.createElement('a');
		a.href = 'javascript: return false';
		a.className = 'poll-add';
		a.innerHTML = '<img id="pollimg" src="/images/addpoll.png" width="15" height="15" border="0" alt="Добавить ответ" title="Добавить ответ">';
		a.onclick = function() {
			poll.add(); 
			return false;
		}
		obj.innerHTML = '';
		obj.appendChild(a);
	},

	vote: function(id) {
		var vote = 0;
		var radio = $$('#poll-'+id+' input[name=poll_vote]');
		for (var i=0; i<radio.length; i++) {
			if (radio[i].checked) vote = radio[i].value;
		}
		if (vote) {
			for (var i=0; i<radio.length; i++) radio[i].disabled = true;
			$('poll-btn-vote-'+id).innerHTML = '';
			$('poll-btn-result-'+id).innerHTML = '';
			eval('xajax_'+this.namespace+'Poll_Vote(id, vote, this.sess)');
		} else {
			alert('Выберите вариант ответа');
			return false;
		}
	},
	
	showResult: function(id) {
		var radio = $$('#poll-'+id+' input[name=poll_vote]');
		for (var i=0; i<radio.length; i++) radio[i].disabled = true;
		$('poll-btn-vote-'+id).innerHTML = '';
		$('poll-btn-result-'+id).innerHTML = '';
		eval('xajax_'+this.namespace+'Poll_Vote(id, 0, "")');
	},
	
	showPoll: function(id) {
		$('poll-btn-vote-'+id).innerHTML = '';
		$('poll-btn-result-'+id).innerHTML = '';
		eval('xajax_'+this.namespace+'Poll_Show(id)');
	},
	
	close: function(id) {
		var radio = $$('#poll-'+id+' input[name=poll_vote]');
		for (var i=0; i<radio.length; i++) radio[i].disabled = true;
		$('poll-btn-vote-'+id).innerHTML = '';
		$('poll-btn-result-'+id).innerHTML = '';
		$('poll-btn-close-'+id).innerHTML = '';
		eval('xajax_'+this.namespace+'Poll_Close(id)');
	},
	
	remove: function(id) {
		if (confirm('Уверены, что хотите удалить опрос?')) {
			var radio = $$('#poll-'+id+' input[name=poll_vote]');
			for (var i=0; i<radio.length; i++) radio[i].disabled = true;
			$('poll-btn-vote-'+id).innerHTML = '';
			$('poll-btn-result-'+id).innerHTML = '';
			$('poll-btn-close-'+id).innerHTML = '';
			$('poll-btn-remove-'+id).innerHTML = '';
			eval('xajax_'+this.namespace+'Poll_Remove(id)');
		}
	}
	
}




var lenta_poll_blog = {  // need mootols.js

	max: 0,
	sess: '',
	namespace: '',
	parentObj: '',
	elements: [0],
	
	init: function(namespace, parentObj, max, sess) {
		this.namespace = namespace;
		this.parentObj = parentObj;
		this.max  = max;
		this.sess = sess;
		var count = 0;
		if ($(this.parentObj) && (count = $(this.parentObj).getElements('.poll-answer').length)) {
			this.elements = [];
			for (var i=0; i<count; i++) this.elements[i] = i;
			this.index = count;
			if (count < this.max) this.btn($($(this.parentObj).getElements('.poll-line')[this.elements[this.elements.length-1]]).getElements('.poll-add')[0].parentNode);
		}
	},

	add: function() {
		var s  = $(this.parentObj).getElements('.poll-line').length - 1;
		var sr = $(this.parentObj).getElements('.poll-line')[s];
		if (s + 1 >= this.max) return;
		var clone = sr.cloneNode(true);
		sr.parentNode.insertBefore(clone, (sr.nextSibling.tagName != 'undefined')? sr.nextSibling: sr.nextSibling.nextSibling);
		var d = s + 1;
		var dr = $(this.parentObj).getElements('.poll-line')[d];
		$(sr).getElements('.poll-add')[0].parentNode.innerHTML = '<span class="poll-add">&nbsp;</span>';
		if (d + 1 >= this.max) {
			$(dr).getElements('.poll-add')[0].parentNode.innerHTML = '<span class="poll-add">&nbsp;</span>';
		} else {
			this.btn($(dr).getElements('.poll-add')[0].parentNode);
		}
		$(dr).getElements('.poll-del')[0].onclick = function(c) { 
			return function() {
				poll.del(c); 
				return false;
			}
		}(this.elements.length);
		$(dr).getElements('.poll-answer')[0].value = '';
		$(dr).getElements('.poll-answer')[0].disabled = false;
		$(dr).getElements('.poll-answer')[0].name = 'answers[]';
		$(dr).getElements('.poll-answer')[0].tabindex = '20'+d;
		if ($(dr).getElements('.poll-answer-exists')[0]) $(dr).getElements('.poll-answer-exists')[0].parentNode.removeChild($(dr).getElements('.poll-answer-exists')[0]);
		$(dr).getElements('.poll-num')[0].innerHTML = d + 1;
		this.elements[this.elements.length] = d;
	},
	
	del: function(index) {
		var addbtn = false;
		var o = $(this.parentObj).getElements('.poll-line');
		var n = this.elements[index];
		if (o.length == 1) {
			$(o[n]).getElements('.poll-answer')[0].value = '';
			$(o[n]).getElements('.poll-answer')[0].disabled = false;
			$(o[n]).getElements('.poll-answer')[0].name = 'answers[]';
			if ($(o[n]).getElements('.poll-answer-exists')[0]) {
				$(o[n]).getElements('.poll-answer-exists')[0].parentNode.removeChild($(o[n]).getElements('.poll-answer-exists')[0]);
			}
			return;
		}
		o[n].parentNode.removeChild(o[n]);
		for (var i=0,c=this.elements.length; i<c; i++) {
			if (this.elements[i] > n) --this.elements[i];
		}
		delete this.elements[index];
		for (var i=n+1; i<o.length; i++) {
			$(o[i]).getElements('.poll-num')[0].innerHTML = i;
		}
		if (n == o.length-1) {
			this.btn($(o[o.length-2]).getElements('.poll-add')[0].parentNode);
		} else if (o.length+1 >= this.max) {
			this.btn($(o[o.length-1]).getElements('.poll-add')[0].parentNode);
		}
	},
	
	btn: function(obj) {
		var a = document.createElement('a');
		a.href = 'javascript: return false';
		a.className = 'poll-add';
		a.innerHTML = '<img id="pollimg" src="/images/addpoll.png" width="15" height="15" border="0" alt="Добавить ответ" title="Добавить ответ">';
		a.onclick = function() {
			poll.add(); 
			return false;
		}
		obj.innerHTML = '';
		obj.appendChild(a);
	},

	vote: function(id) {
		var vote = 0;
		var radio = $$('#blog-poll-'+id+' input[name=poll_vote]');
		for (var i=0; i<radio.length; i++) {

			if (radio[i].checked) vote = radio[i].value;
		}
		if (vote) {
			for (var i=0; i<radio.length; i++) radio[i].disabled = true;
			$('poll-btn-vote-'+id).innerHTML = '';
			$('poll-btn-result-'+id).innerHTML = '';
			eval('xajax_'+this.namespace+'Poll_Vote(id, vote, this.sess, 1)');
		} else {
			alert('Выберите вариант ответа');
			return false;
		}
	},
	
	showResult: function(id) {
		var radio = $$('#poll-'+id+' input[name=poll_vote]');
		for (var i=0; i<radio.length; i++) radio[i].disabled = true;
		$('poll-btn-vote-'+id).innerHTML = '';
		$('poll-btn-result-'+id).innerHTML = '';
		eval('xajax_'+this.namespace+'Poll_Vote(id, 0, "",1)');
	},
	
	showPoll: function(id) {
		$('poll-btn-vote-'+id).innerHTML = '';
		$('poll-btn-result-'+id).innerHTML = '';
		eval('xajax_'+this.namespace+'Poll_Show(id,1)');
	},
	
	close: function(id) {
		var radio = $$('#poll-'+id+' input[name=poll_vote]');
		for (var i=0; i<radio.length; i++) radio[i].disabled = true;
		$('poll-btn-vote-'+id).innerHTML = '';
		$('poll-btn-result-'+id).innerHTML = '';
		$('poll-btn-close-'+id).innerHTML = '';
		eval('xajax_'+this.namespace+'Poll_Close(id)');
	},
	
	remove: function(id) {
		if (confirm('Уверены, что хотите удалить опрос?')) {
			var radio = $$('#poll-'+id+' input[name=poll_vote]');
			for (var i=0; i<radio.length; i++) radio[i].disabled = true;
			$('poll-btn-vote-'+id).innerHTML = '';
			$('poll-btn-result-'+id).innerHTML = '';
			$('poll-btn-close-'+id).innerHTML = '';
			$('poll-btn-remove-'+id).innerHTML = '';
			eval('xajax_'+this.namespace+'Poll_Remove(id)');
		}
	}
	
}


var lenta_poll_comm = {  // need mootols.js

	max: 0,
	sess: '',
	namespace: '',
	parentObj: '',
	elements: [0],
	
	init: function(namespace, parentObj, max, sess) {
		this.namespace = namespace;
		this.parentObj = parentObj;
		this.max  = max;
		this.sess = sess;
		var count = 0;
		if ($(this.parentObj) && (count = $(this.parentObj).getElements('.poll-answer').length)) {
			this.elements = [];
			for (var i=0; i<count; i++) this.elements[i] = i;
			this.index = count;
			if (count < this.max) this.btn($($(this.parentObj).getElements('.poll-line')[this.elements[this.elements.length-1]]).getElements('.poll-add')[0].parentNode);
		}
	},

	add: function() {
		var s  = $(this.parentObj).getElements('.poll-line').length - 1;
		var sr = $(this.parentObj).getElements('.poll-line')[s];
		if (s + 1 >= this.max) return;
		var clone = sr.cloneNode(true);
		sr.parentNode.insertBefore(clone, (sr.nextSibling.tagName != 'undefined')? sr.nextSibling: sr.nextSibling.nextSibling);
		var d = s + 1;
		var dr = $(this.parentObj).getElements('.poll-line')[d];
		$(sr).getElements('.poll-add')[0].parentNode.innerHTML = '<span class="poll-add">&nbsp;</span>';
		if (d + 1 >= this.max) {
			$(dr).getElements('.poll-add')[0].parentNode.innerHTML = '<span class="poll-add">&nbsp;</span>';
		} else {
			this.btn($(dr).getElements('.poll-add')[0].parentNode);
		}
		$(dr).getElements('.poll-del')[0].onclick = function(c) { 
			return function() {
				poll.del(c); 
				return false;
			}
		}(this.elements.length);
		$(dr).getElements('.poll-answer')[0].value = '';
		$(dr).getElements('.poll-answer')[0].disabled = false;
		$(dr).getElements('.poll-answer')[0].name = 'answers[]';
		$(dr).getElements('.poll-answer')[0].tabindex = '20'+d;
		if ($(dr).getElements('.poll-answer-exists')[0]) $(dr).getElements('.poll-answer-exists')[0].parentNode.removeChild($(dr).getElements('.poll-answer-exists')[0]);
		$(dr).getElements('.poll-num')[0].innerHTML = d + 1;
		this.elements[this.elements.length] = d;
	},
	
	del: function(index) {
		var addbtn = false;
		var o = $(this.parentObj).getElements('.poll-line');
		var n = this.elements[index];
		if (o.length == 1) {
			$(o[n]).getElements('.poll-answer')[0].value = '';
			$(o[n]).getElements('.poll-answer')[0].disabled = false;
			$(o[n]).getElements('.poll-answer')[0].name = 'answers[]';
			if ($(o[n]).getElements('.poll-answer-exists')[0]) {
				$(o[n]).getElements('.poll-answer-exists')[0].parentNode.removeChild($(o[n]).getElements('.poll-answer-exists')[0]);
			}
			return;
		}
		o[n].parentNode.removeChild(o[n]);
		for (var i=0,c=this.elements.length; i<c; i++) {
			if (this.elements[i] > n) --this.elements[i];
		}
		delete this.elements[index];
		for (var i=n+1; i<o.length; i++) {
			$(o[i]).getElements('.poll-num')[0].innerHTML = i;
		}
		if (n == o.length-1) {
			this.btn($(o[o.length-2]).getElements('.poll-add')[0].parentNode);
		} else if (o.length+1 >= this.max) {
			this.btn($(o[o.length-1]).getElements('.poll-add')[0].parentNode);
		}
	},
	
	btn: function(obj) {
		var a = document.createElement('a');
		a.href = 'javascript: return false';
		a.className = 'poll-add';
		a.innerHTML = '<img id="pollimg" src="/images/addpoll.png" width="15" height="15" border="0" alt="Добавить ответ" title="Добавить ответ">';
		a.onclick = function() {
			poll.add(); 
			return false;
		}
		obj.innerHTML = '';
		obj.appendChild(a);
	},

	vote: function(id) {
		var vote = 0;
		var radio = $$('#poll-'+id+' input[name=poll_vote]');
		for (var i=0; i<radio.length; i++) {
			if (radio[i].checked) vote = radio[i].value;
		}
		if (vote) {
			for (var i=0; i<radio.length; i++) radio[i].disabled = true;
			$('poll-btn-vote-'+id).innerHTML = '';
			$('poll-btn-result-'+id).innerHTML = '';
			eval('xajax_'+this.namespace+'Poll_Vote(id, vote, this.sess)');
		} else {
			alert('Выберите вариант ответа');
			return false;
		}
	},
	
	showResult: function(id) {
		var radio = $$('#poll-'+id+' input[name=poll_vote]');
		for (var i=0; i<radio.length; i++) radio[i].disabled = true;
		$('poll-btn-vote-'+id).innerHTML = '';
		$('poll-btn-result-'+id).innerHTML = '';
		eval('xajax_'+this.namespace+'Poll_Vote(id, 0, "", 1)');
	},
	
	showPoll: function(id) {
		$('poll-btn-vote-'+id).innerHTML = '';
		$('poll-btn-result-'+id).innerHTML = '';
		eval('xajax_'+this.namespace+'Poll_Show(id,1)');
	},
	
	close: function(id) {
		var radio = $$('#poll-'+id+' input[name=poll_vote]');
		for (var i=0; i<radio.length; i++) radio[i].disabled = true;
		$('poll-btn-vote-'+id).innerHTML = '';
		$('poll-btn-result-'+id).innerHTML = '';
		$('poll-btn-close-'+id).innerHTML = '';
		eval('xajax_'+this.namespace+'Poll_Close(id)');
	},
	
	remove: function(id) {
		if (confirm('Уверены, что хотите удалить опрос?')) {
			var radio = $$('#poll-'+id+' input[name=poll_vote]');
			for (var i=0; i<radio.length; i++) radio[i].disabled = true;
			$('poll-btn-vote-'+id).innerHTML = '';
			$('poll-btn-result-'+id).innerHTML = '';
			$('poll-btn-close-'+id).innerHTML = '';
			$('poll-btn-remove-'+id).innerHTML = '';
			eval('xajax_'+this.namespace+'Poll_Remove(id)');
		}
	}
	
}
