// Used functions - layers, objects, etc
// Copyright (C) 2009 Cyber Stream Technology s.r.o.

// Univerzal method for add event

function addEvent(obj, event, funct)
{
	if (obj.attachEvent) { //IE
		obj['e' + event + funct] = funct;
		obj['x' + event + funct] = function() {
			obj['e' + event + funct](window.event);
		}
		obj.attachEvent('on' + event, obj['x' + event + funct]);
	} else // other browser
		obj.addEventListener(event, funct, false);
}

function genAllSelectors()
{
	var inputs = document.getElementsByTagName('input');
	for(var i = 0; i < inputs.length; i++){
		if(inputs[i].className.indexOf('allSelector') >= 0)
		{
			inputs[i].obj = inputs[i];
			var objInputs = inputs[i].parentNode.parentNode.getElementsByTagName('input');

			inputs[i].inputs = new Array();

			for(var oi = 0; oi < objInputs.length; oi++) if(objInputs[oi].type == "checkbox" && objInputs[oi] != inputs[i]) inputs[i].inputs.push(new Array(objInputs[oi], objInputs[oi].checked));

			inputs[i].onclick = function()
			{
				if(!this.checked)
				{
					for(var ch = 0; ch < this.inputs.length; ch++)
					{
						this.inputs[ch][0].checked = this.inputs[ch][1];
					}
				}
				else
				{
					for(var ch = 0; ch < this.inputs.length; ch++)
					{
						this.inputs[ch][1] = this.inputs[ch][0].checked;
						this.inputs[ch][0].checked = this.checked;
					}					
				}
			}
		}
	}
}

addEvent(window, 'load', genAllSelectors);
