	
	// LANGUAGE DEFINITIONS
	
	var cmsForm_lang = {
		"en" : "Obligatory fields aren't filled...",
		"ru" : "Заполнены не все обязательные поля..."
	}
	
	// FUNCTIONS
	
	function cmsForm_check(id) {
		
		var obj = document.getElementById(id);
		
		if (obj.type == 'radio') {
			obj.checked = true;
		} else {
			if (obj.checked == true) obj.checked = false; else obj.checked = true;
		}
		
		obj.focus();
		
	}
	
	var cTime = new Array();
	var cClasses = new Array();
	
	function cmsForm_checkField(id, type) {
		
		clearTimeout(cTime[id]);
		
		cTime[id] = setTimeout(function() {
			
			var obj = document.getElementById(id);
			
			if (type == 'numeric')	obj.value = obj.value.replace(/[^\d]/g, "");
			if (type == 'login')		obj.value = obj.value.replace(/[^_\da-zA-Z]/g, "");
			if (type == 'code')			obj.value = obj.value.replace(/[^\da-zA-Z]/g, "").toUpperCase();
			if (type == 'phone')		obj.value = obj.value.replace(/[^-() \d]/g, "");
			if (type == 'mail')			obj.value = obj.value.replace(/[^-_@.\da-zA-Z]/g, "");
			if (type == 'url')			obj.value = obj.value.replace(/[^-\\_.:\/\da-zA-Z]/g, "");
			
		}, 1000);
		
	}
	
	function cmsForm_submit(formID) {
		
		var obligatory = eval("window.obligatory_" + formID);
		
		if (!obligatory) {
			
			return true;
			
		} else {
			
			var errors = 0;
			
			for(var i=0, length = obligatory.length; i<length; i++) {
				
				var id	= obligatory[i];
				var obj	= document.getElementById(id);
				var val = false;
				
				if (obj.options) for(var j=0, optLength = obj.options.length; j<optLength; j++) { if (obj.options[j].selected == true) val = obj.options[j].innerHTML.substr(0, 6); }
				
				if (!cClasses[id]) cClasses[id] = obj.className;
				
				if (!obj.value || (!obj.checked && obj.type=='checkbox') || val == '------' || val == 'Выбери' || val == 'Select') {
					
					errors++;
					obj.className = cClasses[id] + ' formError';
					
				} else {
					
					obj.className = cClasses[id];
					
				}
				
			}
			
			if (errors == 0) {
				
				return true;
				
			} else {
				
				alert(cmsForm_lang[lang]);
				return false;
				
			}
			
		}
		
	}
