/* ===== 'scripts.js' ===== */

// Добавляем событие с помощью 'addEventListener', т.к. 'onload' уже может быть объявлен -->
if (window.addEventListener) { // Для нормальных броузеров -->
	window.addEventListener('load', function(){
										FooterHeight(); // "Подвал", динамическое изменение высоты -->
										StylisedFormFile(); // Стилизация 'input type="file"' -->
										SubmitForm(); // Стилизация кнопок для отправки форм -->
									}, false) // Документ полностью загружен -->
}
else{	// Для IE -->
	window.attachEvent('onload', function(){
									FooterHeight(); // "Подвал", динамическое изменение высоты -->
									StylisedFormFile(); // Стилизация 'input type="file"' -->
									SubmitForm(); // Стилизация кнопок для отправки форм -->
								}) // Документ полностью загружен -->
}
// -->


// Слайдер, принудительный сброс таймаута -->
function jCActive(){
	clearInterval(jCTimer);
	jCInterval();
}
// -->


// "Подвал", динамическое изменение высоты -->
function FooterHeight(){
	var content = document.getElementById('ContentHeight'); // блок-обертка для "подвала" -->
	var footer = document.getElementById('DynamicFooter'); // центральная часть -->
	
	if (content && footer) { // если оба элемента существуют -->
		height = footer.clientHeight; // оригинальная высота "подвала" (для нормальных броузеров) -->
		
		if (height) {
			footer.style.height = height+'px'; // устанавливаем высоту (с учётом границ)... -->
			footer.style.marginTop = -(height+2)+'px';
			content.style.paddingBottom = (height+2)+'px'; // резервируем место для "подвала" -->
		}
		else{
			height = footer.offsetHeight; // оригинальная высота "подвала" (для ie) -->
			
			footer.style.height = (height-2)+'px'; // устанавливаем высоту (с учётом границ)... -->
			footer.style.marginTop = -height+'px';
			content.style.paddingBottom = height+'px'; // резервируем место для "подвала" -->
		}
		
	}
	
}
// -->


// Стилизация 'input type="file"' -->
function StylisedFormFile(){
	var forms = ['ContactsForm','RequestForm']; // Массив форм для работы скрипта -->
	
	for (var i=0; i<forms.length; i++) { // Пробегаем по массиву форм -->
		var obj = document.getElementById(forms[i]); // Выбираем конкретную форму -->
		
		if(obj) { // Если форма присутствует в документе -->
			var array = obj.elements; // Массив всех элементов конкретной формы -->
			for (var j=array.length; j--;) { // Пробегаем по всем элементам формы (ВАЖНО! В обратном порядке) -->
				(function(j) { // Замыкаем на 'j' -->
					
					var el = array[j]; // Выбираем конкретный элемент -->
					
					if (el.type == 'file'){ // Только "input type='file'" -->
						var elWrap = el.parentNode; // Находим родителя -->
						
						// Сохраняем в переменных оригинальные данный элемента, потому что сам элемент будет удалён из DOM -->
						var elName = el.name;
						var elId = el.id;
						var elTitle = el.title;
						
						elWrap.removeChild(el); // Удаляем оригинальный 'input type="file"' из DOM -->
						
						// Создаём элемент 'input type="text"' (поле, в которое будем передавать путь к выбранному файлу) и задаём атрибуты/свойства -->
						var extraInput = document.createElement('input');
						extraInput.type = 'text';
						extraInput.name = '#';
						extraInput.value = elTitle;
						extraInput.readOnly = true;
						extraInput.id = elId;
						extraInput.className = 'extra-input';
						
						elWrap.appendChild(extraInput); // Добавляем 'input' к родителю -->
						
						// Создаём элемент 'div' (обёртка для элемента-клона, для стилизации) и задаём атрибуты/свойства, расставляем события -->
						var extraBlock = document.createElement('div');
						extraBlock.className = 'extra-block';
						extraBlock.onmouseover = function(){ // При попадании мышки на элемент... -->
							this.className += ' extra-block-over'; // ...меняем класс -->
						}
						extraBlock.onmouseout = function(){ // Если убрать мышку с элемента... -->
							this.className = 'extra-block'; // ...меняем класс -->
						}
						
						elWrap.appendChild(extraBlock); // Добавляем 'div' к родителю -->
						
						// Создаём элемент-клон 'input type="file"' (поле, из которого берем путь к выбранному файлу) и задаём атрибуты/свойства, расставляем события -->
						var originalInput = document.createElement('input');
						originalInput.type = 'file';
						originalInput.name = elName;
						originalInput.value = '';
						originalInput.title = elTitle;
						originalInput.onfocus = function(){ // Если элемент получил фокус... -->
							extraBlock.className += ' extra-block-over'; // ...меняем класс -->
						}
						originalInput.onblur = function(){ // Если элемент потерял фокус... -->
							extraBlock.className = 'extra-block'; // ...меняем класс -->
						}
						originalInput.onchange = function(){ // Если произошло изменение содержимого... -->
							var path = this.value; // ..полученный путь... -->
							
							// ...приводим к кроссбраузерному виду -->
							var position = path.lastIndexOf("\\");
							if (position>0) {
								var result = path.slice(position+1);
							}
							else{
								var result = path;
							}
							
							document.getElementById(elId).value = result; // Откорректированный путь вставляем в элемент-клон -->
						}
						
						extraBlock.appendChild(originalInput); // Добавляем 'input' к родителю -->
						
					}
					
				})(j);
			}
			
		}
		
	}
	
}
// -->


// Стилизация кнопок для отправки форм -->
function SubmitForm() {
	var array = ['ContactsFormSubmit','RequestFormSubmit']; // Массив кнопок для стилизации -->
	
	for (var i=0; i<array.length; i++) { // Пробегаем по массиву с id -->
		var obj = document.getElementById(array[i]); // Конкретная кнопка -->
		
		if (obj) { // Если элемент существует -->
			
			obj.onmouseover = function(){ // При наведении меняем класс -->
				this.className = 'hover';
			}
			obj.onmouseout = function(){ // Когда убираем мышь с элемента - меняем класс -->
				this.className = '';
			}
			
		}
		
	}
	
}
// -->


/* --- © Tarik, 2011 --- */

/* ===== // 'scripts.js' // ===== */
