var $jq = jQuery.noConflict();
$jq(document).ready(function() {

	// FORM VALIDATION	
	function validation(formID, checkPHP) {
		var form = $jq(formID);
		var lang = form.attr('class');		
		var submit_button = $jq('#FormSubmit_' + lang, form);
		var submit_buttonA = $jq('#FormSubmitActive_' + lang, form);
		var submitHTML = '<input name="Submit" type="Submit" value="">';
		var formError = $jq('#FormSubmitErrorMsg', form);
		
		// check fields function
		function check_field(t, value, action) {	
			var name = t.attr('name');
			/*
			if (name == 'MessageCategory[]') {
				name = 'MessageCategory';
			}
			*/
			
			var result_msg = $jq('#' + name + 'ErrorMsg', form);

			$jq.ajax({
				url: checkPHP,
				data: 'action=' + action + '&field=' + name + '&data=' + value + '&lang=' + lang,
				dataType: 'json',
				type: 'post',
				success: function (j) {
					// field msg
					if (j.ok) {
						result_msg.removeClass();
						result_msg.addClass('FormGreen');
					}
					else {
						result_msg.removeClass();
						result_msg.addClass('FormRed');
					}
					result_msg.html(j.msg);
					
					// send button
					if (j.formok) {
						submit_buttonA.html(submitHTML);
						submit_buttonA.show();
						submit_button.hide();
						formError.html('');
					}
					else { 
						submit_button.show();
						submit_buttonA.hide();
						submit_buttonA.html('');
					}
				}
			});
		}
		
		$jq('.KeyUpCheck', form).keyup(function () {
			var t = $jq(this);
			var value = this.value;
			if (this.value != this.lastValue) {
				if (this.timer) { clearTimeout (this.timer) };			
				this.timer = setTimeout(function () { check_field(t, value, 'FieldCheck') }, 200);			
				this.lastValue = this.value;
			}	
		});
		
		/*
		function checkboxcount() {
			return $jq("input[name='MessageCategory[]']:checked", form).length;
		}
		*/
		
		$jq('.ChangeCheck', form).change(function () {		
				check_field($jq(this), this.value, 'FieldCheck');		
		});
		
		$jq('.RadioboxCheck', form).change(function () {
				check_field($jq(this), this.value, 'FieldCheck');
		});		
		
		$jq('.RadioboxCheck', form).click(function () {
				check_field($jq(this), this.value, 'FieldCheck');
		});
		

		submit_button.click(function () {
			$jq('.KeyUpCheck, .ChangeCheck', form).each(function () {
				check_field($jq(this), this.value, 'FieldCheck');
			});			

			// check_field($jq("input[name='MessageCategory[]']:first", form), checkboxcount(), 'FieldCheck');
			check_field($jq("input[name='MessageCategory']:first", form), $jq("input[name='MessageCategory']:checked", form).val(), 'FieldCheck');
			
			
			
			$jq.ajax({
				url: checkPHP,
				data: 'action=InactiveSubmitClick&lang=' + lang,
				dataType: 'json',
				type: 'post',
				success: function (j) {
					formError.html(j.msg);
				}
			});			
		});		
	}

	validation('#ContactForm', 'form_validate.php');
});
