function theRotator() {
	// Устанавливаем прозрачность всех картинок в 0
	$('div#rotator ul li').css({opacity: 0.0});
	// Берем первую картинку и показываем ее (по пути включаем полную видимость)
	$('div#rotator ul li:first').css({opacity: 1.0});
	// Вызываем функцию rotate для запуска слайдшоу, 5000 = смена картинок происходит раз в 5 секунд
	setInterval('rotate()',5000);
}
 
function rotate() {	
	// Берем первую картинку
	var current = ($('div#rotator ul li.show')?  $('div#rotator ul li.show') : $('div#rotator ul li:first'));
	// Берем следующую картинку, когда дойдем до последней начинаем с начала
	var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div#rotator ul li:first') :current.next()) : $('div#rotator ul li:first'));	
	// Расскомментируйте, чтобы показвать картинки в случайном порядке
	// var sibs = current.siblings();
	// var rndNum = Math.floor(Math.random() * sibs.length );
	// var next = $( sibs[ rndNum ] );
	// Подключаем эффект растворения/затухания для показа картинок, css-класс show имеет больший z-index
	next.css({opacity: 0.0})
	.addClass('show')
	.animate({opacity: 1.0}, 1000);
	// Прячем текущую картинку
	current.animate({opacity: 0.0}, 1000)
	.removeClass('show');
};
 $(document).ready(function() {		
	// Запускаем слайдшоу
	theRotator();
});

function onChangeRoot(){
	var sel = document.getElementById("SelectCatRoot");
	window.location = "/catalog/"+sel.value+"/parameters";
}

function onFilterClick(id, alias){
	var table = document.getElementById("FilterTable");
	var sel_arr = table.getElementsByTagName("SELECT");
	var inp_arr = table.getElementsByTagName("INPUT");
	var str = "";
	var str_inp = "";
	var inpval_arr = "";
	for(var i=1; i<sel_arr.length; i++){
		str = str+sel_arr[i].value+";";
	}
	for(var i=0; i<inp_arr.length; i++){
		inpval_arr = inp_arr[i].id.split("_");
		if(inpval_arr[1] == 1){
			str_inp = str_inp+inpval_arr[0]+":"+inp_arr[i].value;
		}
		else if(inpval_arr[1] == 2){
			str_inp = str_inp+"@"+inp_arr[i].value+";";		
		}
	}
	var pageRequest = '/js/ajax.php?filter_id='+id+'&str='+str+'&inp='+str_inp;
	//alert(pageRequest)
	var xmlhttp;
	try {
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e) {
	  	try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	 	} 
	  	catch (E) {
	  		xmlhttp = false;
		}
	}		
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		xmlhttp = new XMLHttpRequest();
	}
    xmlhttp.open('POST', pageRequest, true);  // задать адрес подключения

    // в нем будем отображать ход выполнения	
	
    xmlhttp.onreadystatechange = function() {  // onreadystatechange активируется при получении ответа сервера 
		
        if (xmlhttp.readyState == 4) { // если запрос закончил выполняться 
             // показать статус (Not Found, ОК..)
 			
            if(xmlhttp.status == 200) { // если статус 200 (ОК) - выдать ответ пользователю	
				var temp = xmlhttp.responseText;
				//alert(temp);
				if(temp != 0){
					window.location = "/catalog/"+alias;
				}
				else 
					alert("Ошибка.");
            }
            // тут можно добавить else с обработкой ошибок запроса
        } 
    }
    // объект запроса подготовлен: указан адрес и создана функция onreadystatechange
    // для обработки ответа сервера 
    xmlhttp.send(null);  // отослать запрос
}

function FAQValidation(){
	var name = document.getElementById("Name");
	var email = document.getElementById("Email");
	var question = document.getElementById("Question");
	var result = true;
	var varning = "Необходимо заполнить:\n";
	
	if(name.value == ''){
		result = false;
		varning = varning+"Ваше имя\n";
	}
	if(email.value == ''){
		result = false;
		varning = varning+"Email\n";
	}
	if(question.value == ''){
		result = false;
		varning = varning+"Вопрос\n";
	}
	if(!result){
		alert(varning);	
	}
	return result;	
}

function RequestValidation(){
	var name = document.getElementById("NameReq");
	var email = document.getElementById("ContactReq");
	var service = document.getElementById("ServiceTypeReq");
	var result = true;
	var varning = "Необходимо заполнить:\n";
	
	if(name.value == '' || name.value == 'Введите Ваше ФИО'){
		result = false;
		varning = varning+"Ваше ФИО\n";
	}
	if(email.value == '' || email.value == 'Контактные данные'){
		result = false;
		varning = varning+"Контактные данные\n";
	}
	if(service.value == 'Выберите тип услуги'){
		result = false;
		varning = varning+"Тип услуги\n";
	}
	if(!result){
		alert(varning);	
	}
	return result;	
}

function onOrderClick(id, name, photo, alias, price){
	price = price || 0;
	var href = document.getElementById("shoping-cart-order-list");
	//var count = document.getElementById("basket_count");
	var summa = document.getElementById("basket_sum");
	var order = document.getElementById("shoping_order");
	//photo = photo.replace(/\+/g, "-");
	var pageRequest = '/js/ajax.php?cat_id='+id+'&name='+name+'&photo='+photo+'&alias='+alias+'&price='+price;	
	var xmlhttp;
	try {
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e) {
	  	try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	 	} 
	  	catch (E) {
	  		xmlhttp = false;
		}
	}		
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		xmlhttp = new XMLHttpRequest();
	}
    xmlhttp.open('POST', pageRequest, true);  // задать адрес подключения

    // в нем будем отображать ход выполнения	
	
    xmlhttp.onreadystatechange = function() {  // onreadystatechange активируется при получении ответа сервера 
		
        if (xmlhttp.readyState == 4) { // если запрос закончил выполняться 
             // показать статус (Not Found, ОК..)
 			
            if(xmlhttp.status == 200) { // если статус 200 (ОК) - выдать ответ пользователю	
				var temp = xmlhttp.responseText;
				if(temp != 0){
					temp = temp.split('#');
					href.innerHTML = temp[0];
					summa.innerHTML = temp[1];
					//count.innerHTML = temp[2];
					order.setAttribute("href", temp[3]);
					alert("Товар добавлен в корзину.");
				}
				else if(temp == 0)
					alert("Данный товар уже добавлен в корзину.");
				else 
					alert("Ошибка при добавлении товара.");
            }
            // тут можно добавить else с обработкой ошибок запроса
        } 
    }
    // объект запроса подготовлен: указан адрес и создана функция onreadystatechange
    // для обработки ответа сервера 
    xmlhttp.send(null);  // отослать запрос
}

function onDeleteClick(id){
	var href = document.getElementById("shoping-cart-order-list");
	var count = document.getElementById("basket_count");
	var summa = document.getElementById("basket_sum");
	var order = document.getElementById("shoping_order");
	var tr = document.getElementById("tr"+id);
	var table = document.getElementById("order_body");
	var pageRequest = '/js/ajax.php?cat_del='+id;
	var xmlhttp;
	try {
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e) {
	  	try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	 	} 
	  	catch (E) {
	  		xmlhttp = false;
		}
	}		
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		xmlhttp = new XMLHttpRequest();
	}
    xmlhttp.open('POST', pageRequest, true);  // задать адрес подключения

    // в нем будем отображать ход выполнения	
	
    xmlhttp.onreadystatechange = function() {  // onreadystatechange активируется при получении ответа сервера 
		
        if (xmlhttp.readyState == 4) { // если запрос закончил выполняться 
             // показать статус (Not Found, ОК..)
 			
            if(xmlhttp.status == 200) { // если статус 200 (ОК) - выдать ответ пользователю	
				var temp = xmlhttp.responseText;
				if(temp != 0){
					temp = temp.split('#');
					href.innerHTML = temp[0];
					summa.innerHTML = temp[1];
					count.innerHTML = temp[2];
					order.setAttribute("href", temp[3]);
					table.removeChild(tr);					
					alert("Товар удален из корзины.");
				}
				else 
					alert("Ошибка при удалении товара.");
            }
            // тут можно добавить else с обработкой ошибок запроса
        } 
    }
    // объект запроса подготовлен: указан адрес и создана функция onreadystatechange
    // для обработки ответа сервера 
    xmlhttp.send(null);  // отослать запрос
}

function ajax(pageRequest){
	var xmlhttp;
	try {
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e) {
	  	try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	 	} 
	  	catch (E) {
	  		xmlhttp = false;
		}
	}		
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		xmlhttp = new XMLHttpRequest();
	}
    xmlhttp.open('POST', pageRequest, true);  // задать адрес подключения
	
    // в нем будем отображать ход выполнения	
	
    xmlhttp.onreadystatechange = function() {  // onreadystatechange активируется при получении ответа сервера 
		
        if (xmlhttp.readyState == 4) { // если запрос закончил выполняться 
             // показать статус (Not Found, ОК..)
 			
            if(xmlhttp.status == 200) { // если статус 200 (ОК) - выдать ответ пользователю              
				if(xmlhttp.responseText == 1)
					window.location.reload(true);
            }
			else{
				return "error";
			}
            // тут можно добавить else с обработкой ошибок запроса
        } 
    }
    // объект запроса подготовлен: указан адрес и создана функция onreadystatechange
    // для обработки ответа сервера 
    xmlhttp.send(null);  // отослать запрос
}

function ajaxNoReload(pageRequest){
	var xmlhttp;
	try {
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e) {
	  	try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	 	} 
	  	catch (E) {
	  		xmlhttp = false;
		}
	}		
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		xmlhttp = new XMLHttpRequest();
	}
    xmlhttp.open('POST', pageRequest, true);  // задать адрес подключения
	
    // в нем будем отображать ход выполнения	
	
    xmlhttp.onreadystatechange = function() {  // onreadystatechange активируется при получении ответа сервера 
		
        if (xmlhttp.readyState == 4) { // если запрос закончил выполняться 
             // показать статус (Not Found, ОК..)
 			
            if(xmlhttp.status == 200) { // если статус 200 (ОК) - выдать ответ пользователю              
				if(xmlhttp.responseText == 1)
					return "ok";
            }
			else{
				return "error";
			}
            // тут можно добавить else с обработкой ошибок запроса
        } 
    }
    // объект запроса подготовлен: указан адрес и создана функция onreadystatechange
    // для обработки ответа сервера 
    xmlhttp.send(null);  // отослать запрос
}


function onBasketClearClick(){		
	var pageRequest = '/js/ajax.php?basket_clear=1';
	ajax(pageRequest)
}

function onBasketRecountClick(){	
	var input = document.getElementsByName("input_count");
	var hid = document.getElementById("basket_recount");
	
	for(var i=0; i<input.length; i++){
		hid.value += input[i].id.replace('input_count_', '') + '-' + input[i].value + ';';
	}
	
	var pageRequest = '/js/ajax.php?basket_recount='+hid.value;
	hid.value = "";
	ajax(pageRequest)
}

function onDeleteOrderClick(id){
	var pageRequest = '/js/ajax.php?order_del='+id;
	ajax(pageRequest);	
}

function onCompareClick(id){
	var chbx = document.getElementById(id);
	var pageRequest = "";
	if(chbx.checked){
		pageRequest = '/js/ajax.php?compare_id='+id;	
	}
	else{
		pageRequest = '/js/ajax.php?compare_del='+id;
	}
	ajaxNoReload(pageRequest);	
}

function OrderValidation(){
	var name = document.getElementById("OrderName");
	var phone = document.getElementById("OrderPhone");
	var address = document.getElementById("OrderAddress");
	var email = document.getElementById("OrderEmail");
	var result = true;
	var varning = "Необходимо заполнить:\n";
	
	if(name.value == ''){
		result = false;
		varning = varning+"ФИО\n";
	}
	if(address.value == ''){
		result = false;
		varning = varning+"Адрес\n";
	}
	if(phone.value == ''){
		result = false;
		varning = varning+"Телефон\n";
	}
	if(email.value == ''){
		result = false;
		varning = varning+"Email\n";
	}
	if(!result){
		alert(varning);	
	}
	return result;	
}



