/*
 * Poll
 * (c) 2010 Anketer.ru
 */

addEvent(window, 'load', initForm);

var ticks = new Array(), sels = new Array();

function initForm(){	
	pollFocus();
}

function fsubmit() {
	var b=document.getElementById("bsubmit");
	b.disabled=true;
	return true;
}

function uncheck(qid) {
	var ops=document.getElementsByName("data[Question]["+qid+"][Answer][id]");
	if(ops[0].type=="radio") {
		for(var i=0; i<ops.length; i++) { ops[i].checked=false; }
	} else if(ops[0].type=="select-one") {
		ops[0].selectedIndex=0;
	}
}

function pollFocus() {
	var f = document.getElementById('fpoll').elements;
	for(i = 0; i < f.length; i++) {
		if (f[i].type == 'radio' || f[i].type == 'checkbox') {
			addEvent(f[i], 'click', function(){ clearTicks(); this.parentNode.parentNode.parentNode.parentNode.parentNode.className = "focused"; });
			addEvent(f[i], 'focus', function(){ clearTicks(); this.parentNode.parentNode.parentNode.parentNode.parentNode.className = "focused"; });
			ticks.splice(ticks.length,0,f[i]);
		}
		else if (f[i].type == 'select-one')	{
			addEvent(f[i], 'focus', function(){ clearTicks(); this.parentNode.className = "focused"; });
			addEvent(f[i], 'blur', function(){ this.parentNode.className = ""; });
			sels.splice(sels.length,0,f[i]);
		}
		else if (f[i].className.match('tother'))	{
			addEvent(f[i], 'focus', function(){ clearTicks(); this.parentNode.className = "focused"; });
		}
		else if (f[i].type == 'textarea')	{
			addEvent(f[i], 'focus', function(){ clearTicks(); this.parentNode.className = "focused"; });
			addEvent(f[i], 'blur', function(){ this.parentNode.className = ""; });
		}
	}
}

function clearTicks() {
	for(var i = 0; i < ticks.length; i++) {
		if(ticks[i].parentNode) {
			ticks[i].parentNode.parentNode.parentNode.parentNode.parentNode.className = "";
		}
	}

	for(var i = 0; i < sels.length; i++) {
		if(sels[i].parentNode) {
			sels[i].parentNode.className = "";
		}
	}
}

function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    obj["e"+type+fn] = fn;
    obj[type+fn] = function() { obj["e"+type+fn]( window.event ) };
    obj.attachEvent( "on"+type, obj[type+fn] );
  }
  else{
    obj.addEventListener( type, fn, false );
  }
}

