//
//	common.js for mann-ivanov-ferber.ru
//	lm 28/06/2007 aem@teletype.ru
//

function makeFaq(){

	var f = document.getElementById('faq');
	var fel = f.getElementsByTagName('span');
	var fell = fel.length;

	for (var i = 0; i < fell; i++){
		if (fel[i].className == 'answer'){
			fel[i].className = 'none';
		}
		if (fel[i].className.substr(0, 8) == 'question'){
			fel[i].className = 'question pre-link';
			fel[i].onclick = function() {
				var d = this.id.substr(1);
				if (document.getElementById('a' + d).className == 'none'){
					document.getElementById('a' + d).className = 'block';
					this.className = 'question af-link';
				} else {
					document.getElementById('a' + d).className = 'none';
					this.className = 'question pre-link';
				}
			}
		}
	}
}

function booksFilter(){
	if(document.getElementById('ft')){
		var t = document.getElementById('ft');
		var fh1 = document.getElementById('fh1');
		var fh2 = document.getElementById('fh2');
		var fh3 = document.getElementById('fh3');
		var filter = document.getElementById('filter');
		t.className = 'link-p';
		fh1.style.display = fh2.style.display = fh3.style.display = 'none'; 
		filter.style.backgroundColor = '';
		t.onmousedown = function(){
			if('link-p' == this.className){
				this.className = 'link-a';
				fh1.style.display = fh2.style.display = fh3.style.display = ''; 
				filter.style.backgroundColor = '#f5f6ea';
				filter.style.position = 'relative';

			}else{
				this.className = 'link-p';
				fh1.style.display = fh2.style.display = fh3.style.display = 'none';
				filter.style.backgroundColor = '';
				filter.style.position = 'relative';

			}
		}
	}
}

function booksFilterCollapse(){ /* если пришел post */
	if(document.getElementById('ft')){
		var t = document.getElementById('ft');
		var fh1 = document.getElementById('fh1');
		var fh2 = document.getElementById('fh2');
		var fh3 = document.getElementById('fh3');
		var filter = document.getElementById('filter');
		t.className = 'link-a';
		t.onclick = function(){
			if('link-p' == this.className){
				this.className = 'link-a';
				fh1.style.display = fh2.style.display = fh3.style.display = '';
				filter.style.backgroundColor = '#f5f6ea';
				filter.style.position = 'relative';
			}else{
				this.className = 'link-p';
				fh1.style.display = fh2.style.display = fh3.style.display = 'none';
				filter.style.backgroundColor = '';
				filter.style.position = 'relative';
			}
		}	
	}
}

function hfFocus(){
	var hf = document.forms['hf'];
	if(hf.elements['login'].value != ''){
		hf.elements['password'].focus();
	}else{
		hf.elements['login'].focus();
	}
}



/* 	проверка корректности заполения формы	*/

var globalRequiredFields;
function CheckFields(requiredFields) {
	if(globalRequiredFields == null) globalRequiredFields = requiredFields;
	else requiredFields = globalRequiredFields;
				
	function ChangeFieldState(element, hasError){
		if(hasError) {
			element.style.backgroundColor = '#ffff90';
			errors += 1
		}else{
			element.style.backgroundColor = '#fff';
		}
	}

	var requiredFieldsDOM = new Array();
	var errors = 0;
	for(var i = 0; i < requiredFields.length; i++) {
		requiredFieldsDOM[i] = document.getElementById(requiredFields[i]);
		
		if(requiredFieldsDOM[i].value == '') ChangeFieldState(requiredFieldsDOM[i], 1);
		else ChangeFieldState(requiredFieldsDOM[i], 0);

//		if( (requiredFields[i] == 'email' || requiredFields[i] == 'reply')
//			&& !requiredFieldsDOM[i].value.match(
//				/^[a-zA-Z0-9][a-zA-Z0-9_.\-+]*@(([a-zA-Z0-9-]){2,}\.+([a-zA-Z0-9]{2,4})+|([a-zA-Z0-9-]\.?){3,})[^\.]$/
//				/^[a-zA-Z]([a-zA-Z0-9-_.])*([a-zA-Z0-9-_])*@[a-zA-Z0-9](([a-zA-Z0-9\-\_\.])*)+\.[a-zA-Z]{2,6}$/
//			) ) ChangeFieldState(requiredFieldsDOM[i], 1);



		if(requiredFieldsDOM[i].onkeydown == null){
			requiredFieldsDOM[i].onkeydown = CheckFields;
			requiredFieldsDOM[i].onkeyup = CheckFields;
		}

	}
	if((CheckFields.caller != null || window.opera) && errors) return false;
	if(!errors) return true;
}
