crir = {
	init: function() {
		arrLabels = document.getElementsByTagName('label');

		searchLabels:
		for (var i=0; i<arrLabels.length; i++) {
			// get the input element based on the for attribute of the label tag
			if (arrLabels[i].getAttributeNode('for') && arrLabels[i].getAttributeNode('for').value != '') {
				labelElementFor = arrLabels[i].getAttributeNode('for').value;
				inputElement = document.getElementById(labelElementFor);
			}
			else {
				continue searchLabels;
			}

			if (!inputElement)
				continue;

			inputElementClass = inputElement.className;

			// if the input is specified to be hidden intiate it
			if (inputElementClass == 'crirHiddenJS') {
				inputElement.className = 'crirHidden';

				inputElementType = inputElement.getAttributeNode('type').value;

				// add the appropriate event listener to the input element
				if (inputElementType == "checkbox") {
					inputElement.onclick = crir.toggleCheckboxLabel;
				}
				else {
					inputElement.onclick = crir.toggleRadioLabel;
				}

				// set the initial label state
				if (inputElement.checked) {
					if (inputElementType == 'checkbox') { arrLabels[i].className = 'checkbox_checked'}
					else { arrLabels[i].className = 'radio_checked' }
				}
				else {
					if (inputElementType == 'checkbox') { arrLabels[i].className = 'checkbox_unchecked'}
					else { arrLabels[i].className = 'radio_unchecked' }
				}
			}
			//else if (inputElement.nodeName != 'SELECT' && inputElement.getAttributeNode('type').value == 'radio') { // this so even if a radio is not hidden but belongs to a group of hidden radios it will still work.
			//	arrLabels[i].onclick = crir.toggleRadioLabel;
			//	inputElement.onclick = crir.toggleRadioLabel;
			//}
		}
	},

	findLabel: function (inputElementID) {
		arrLabels = document.getElementsByTagName('label');

		searchLoop:
		for (var i=0; i<arrLabels.length; i++) {
			if (arrLabels[i].getAttributeNode('for') && arrLabels[i].getAttributeNode('for').value == inputElementID) {
				return arrLabels[i];
				break searchLoop;
			}
		}
	},

	toggleCheckboxLabel: function () {
		labelElement = crir.findLabel(this.getAttributeNode('id').value);

		if(labelElement.className == 'checkbox_checked') {
			labelElement.className = "checkbox_unchecked";
		}
		else {
			labelElement.className = "checkbox_checked";
		}
	},

	toggleRadioLabel: function () {
		clickedLabelElement = crir.findLabel(this.getAttributeNode('id').value);

		clickedInputElement = this;
		clickedInputElementName = clickedInputElement.getAttributeNode('name').value;

		arrInputs = document.getElementsByTagName('input');

		// uncheck (label class) all radios in the same group
		for (var i=0; i<arrInputs.length; i++) {
			inputElementType = arrInputs[i].getAttributeNode('type').value;
			if (inputElementType == 'radio') {
				inputElementName = arrInputs[i].getAttributeNode('name').value;
				inputElementClass = arrInputs[i].className;
				// find radio buttons with the same 'name' as the one we've changed and have a class of chkHidden
				// and then set them to unchecked
				if (inputElementName == clickedInputElementName && inputElementClass == 'crirHidden') {
					inputElementID = arrInputs[i].getAttributeNode('id').value;
					labelElement = crir.findLabel(inputElementID);
					labelElement.className = 'radio_unchecked';
				}
			}
		}

		// if the radio clicked is hidden set the label to checked
		if (clickedInputElement.className == 'crirHidden') {
			clickedLabelElement.className = 'radio_checked';
		}
	},

	addEvent: function(element, eventType, doFunction, useCapture){
		if (element.addEventListener)
		{
			element.addEventListener(eventType, doFunction, useCapture);
			return true;
		} else if (element.attachEvent) {
			var r = element.attachEvent('on' + eventType, doFunction);
			return r;
		} else {
			element['on' + eventType] = doFunction;
		}
	}
}

crir.addEvent(window, 'load', crir.init, false);

$(document).ready(function() {

	var validator_register = $('#contact_form').validate({
			rules: {
				produkt_gramatura_inna: {
					required: '#paper_substance[value=INNY]'
				},
				produkt_rodzaj_papieru_inny: {
					required: "#paper_kind[value=INNY]"
				},
				okladka_gramatura_inna: {
					required: '#paper_substance_plate[value=INNY]'
				},
				okladka_rodzaj_papieru_inny: {
					required: "#paper_kind_plate[value=INNY]"
				}
			},
			invalidHandler: function() {
				var errors_reg = validator_register.numberOfInvalids();
				if(errors_reg == 1){
					alert(errors_reg+" wymagane pole nie zostało wypełnione.\nProsimy wypełnić pole zaznaczone na czerwono");
				}else{
					alert(errors_reg+" wymaganych pól nie zostało wypełnionych.\nProsimy wypełnić pola zaznaczone na czerwono");
				}
			}
		});
});
$(document).ready( function() {
	initListGroup('product_options', document.forms[0].paper_kind, document.forms[0].paper_substance );
	initListGroup('plate_options', document.forms[0].paper_kind_plate, document.forms[0].paper_substance_plate );

	$("select").change(function () {
         var text = $(":selected").value;
		 if (text == "INNY"){
			 alert('inny');
		 }
       })

})



