﻿if ("object" == typeof(hs)) {

    hs.outlineType = null;
    hs.wrapperClassName = 'colored-border';

	hs.dimmingOpacity = 0.75;

	if ((navigator.userAgent.indexOf("Opera") !=-1) && (navigator.appName == "Opera")) {
		hs.dimmingOpacity = false;
	}

	hs.allowSizeReduction = false;
	hs.align = 'center';

	if (IE) {
		hs.transitionDuration = 0;
		hs.restoreDuration = 0;
		hs.expandDuration = 0;
	}

	//hs.headingEval = 'this.thumb.title';

	hs.captionEval = 'this.thumb.title';

	hs.graphicsDir 			= '/design/images/';
	hs.expandCursor         = 'zoomin.cur';
	hs.restoreCursor        = 'zoomout.cur';

	hs.showCredits 			= false;
	hs.blockRightClick		= true;
	hs.lang.closeText 		= 'Закрыть';
	hs.lang.closeTitle 		= 'Закрыть (клавиша esc)';
	hs.lang.loadingText 	= 'загрузка';
	hs.lang.moveText 		= 'Переместить';
	hs.lang.moveTitle 		= 'Переместить окно по экрану';
	hs.lang.restoreTitle 	= 'Нажмите, чтобы закрыть';
	hs.lang.nextText 		= 'Следующая';
	hs.lang.previousText 	= "Предыдущая";

	hs.lang.playText = 'Слайд-шоу';
	hs.lang.playTitle = 'Запустить слайд-шоу (Пробел)';
	hs.lang.pauseText = 'Пауза';
	hs.lang.previousTitle = 'Предыдущая (клавиша влево)';
	hs.lang.nextTitle = 'Следующая (клавиша вправо)';

	if (page_name
		&&
		"default" == page_name)
	{
		if (hs.addSlideshow) hs.addSlideshow({
				interval: 4000,
				repeat: false,
				useControls: true,
				fixedControls: 'fit',
				overlayOptions: {
					opacity: 1,
					position: 'bottom right'
				}
		});
	}

	if (page_name
		&&
		"map" == page_name)
	{
		hs.registerOverlay({
			overlayId: 'closebutton',
			position: 'top right',
			fade: 5
		});
	}

}

/*
   • Функции работы с Cookies
*/
function getExpDate(days, hours, minutes) {
    var expDate = new Date();
    if (typeof days == "number"
         &&
         typeof hours == "number"
         &&
         typeof hours == "number") {
        expDate.setDate(expDate.getDate() + parseInt(days));
        expDate.setHours(expDate.getHours() + parseInt(hours));
        expDate.setMinutes(expDate.getMinutes() + parseInt(minutes));
        return expDate.toGMTString();
    }
}

function getCookieVal(offset) {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1) {
        endstr = document.cookie.length;
    }
    return unescape(document.cookie.substring(offset, endstr));
}

function getCookie(name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (arg == document.cookie.substring(i, j)) {
            return getCookieVal(j);
        }
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    }
    return "";
}

function setCookie(name, value, expires, path, domain, secure) {
    document.cookie = name + "=" + escape (value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function deleteCookie(name,path,domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function addListener(element, type, expression, bubbling) {
	bubbling = bubbling || false;
	if (window.addEventListener) {
		element.addEventListener(type, expression, bubbling);
		return true;
	} else if(window.attachEvent) {
		element.attachEvent('on' + type, expression);
		return true;
	} else return false;
}

function updateLinks() {
	if (document.getElementsByTagName) {
		var i = 0;
		var links_list = document.getElementsByTagName('a');
		for(i=0; i<links_list.length; i++) {
			if (0 == links_list[i].rel.indexOf('ext:')) {
				links_list[i].target = links_list[i].rel.substring(4, links_list[i].rel.length);
			}
		}
	}
}

var iterationsTime = new Number(4 * 100);

function iterationLoop(collection) {
	if (1 <= iterationsTime) {
		for (collectionItem in collection) {
			collection[collectionItem].value += collection[collectionItem].step;
			collection[collectionItem].htmlRef.innerHTML = Math.round(collection[collectionItem].value);
		}
		
		iterationsTime--;
		setTimeout(function() {
			iterationLoop(collection);
		}, 10);
	}
}

function numItemObject(htmlRef, maxValue) {
	this.htmlRef  = htmlRef;
	this.maxValue = maxValue;
	this.value    = 0;
	this.step     = this.maxValue / iterationsTime;
}

function increateNumbers() {
	var i = 0;
	var numItemCollection = new Array();
	var numContainer = document.getElementById("numbers");
	
	if (numContainer) {
		numList = numContainer.getElementsByTagName("dd");
		if (numList.length) {
			for (numItem in numList) {
				if ("DD" == numList[numItem].tagName) {
					if (intval = parseInt(numList[numItem].innerHTML)) {
						numItemCollection[i++] = new numItemObject(numList[numItem], intval);
					}
				}
			}
		}
		iterationLoop(numItemCollection);
	}
}

function stripeTable() {
	table = document.getElementsByTagName("table");
	if (table.length) {
		for (table_item in table) {
			if ("TABLE" == table[table_item].tagName) {
				eachtable = table[table_item];
				trows = eachtable.getElementsByTagName("tr");
				for (var i = 1; i < trows.length; i++) {
					trows[i++].className = "OddRow";
				}
			}
		}
	}
}

function switchScreeen(screen_id, dd_node) {
	var photos_gallery = document.getElementById("photos_gallery");
	var photo_inwork = document.getElementById("photo_inwork");
	var numbers = document.getElementById("numbers");
	var refresh_gallery = document.getElementById("refresh_gallery");
	var refresh_inwork  = document.getElementById("refresh_inwork");

	numbers.style.display = "none";
	photos_gallery.style.display = "none";
	// photo_inwork.style.display = "none";

	refresh_gallery.style.display = "none";
	// refresh_inwork.style.display = "none";

	switch (screen_id) {		
		case "item_numbers":
			numbers.style.display = "block";
			break;

		case "item_photos_gallery":
			photos_gallery.style.display = "block";
			refresh_gallery.style.display = "block";
			break;
		/*
		case "item_inwork_gallery":
			photo_inwork.style.display = "block";
			refresh_inwork.style.display = "block";
			break;
        */
	}
	
	build_navigation(screen_id);
}

function build_navigation(active) {
	var contaner = document.getElementById("switch");
	if (contaner) {

		contaner.innerHTML = "";
		var htmlHeader = document.createElement('dt');
		htmlHeader.innerHTML = "Маригражданстрой:";
		contaner.appendChild(htmlHeader);

		for (link_item in links) {
			var htmlItem     = document.createElement('dd');
			var htmlItemLink = document.createElement('a');
			var htmlItemSpan = document.createElement('span');

			if (active == link_item) {
				htmlItem.className = "active";
				htmlItemSpan.innerHTML = links[link_item].label;
				htmlItem.appendChild(htmlItemSpan);
			} else {
				htmlItemLink.ref = link_item;
				htmlItemLink.href = "#" + link_item;
				htmlItemLink.innerHTML = links[link_item].label;

				htmlItemLink.onclick = function() {
					switchScreeen(this.ref, this.parentNode);
				}
				htmlItem.appendChild(htmlItemLink);
			}
			contaner.appendChild(htmlItem);
		}
	}
}

function navigation() {
	var active = "item_numbers";
	if (anchor = document.location.hash.substr(1)) active = anchor
	switchScreeen(active);
}

function searchFirstTag(container, tag) {
	collection = container.getElementsByTagName(tag);
	if (collection.length) {
		for (col_item in collection) {
			if (tag == collection[col_item].tagName) {
				return collection[col_item];
			}
		}
	}
	return false;
}

function vacancy(container_id, header_tag) {
	itemsCollection = container_id.getElementsByTagName("DIV");
	if (itemsCollection.length) {
		for (block_item in itemsCollection) {
			if ("vacancy_item" == itemsCollection[block_item].className) {
				block = itemsCollection[block_item];
				if (div_content = searchFirstTag(block, "DIV")) {
					var content_ref = div_content;
					div_content.style.display = "none";
				}
				if (div_header = searchFirstTag(block, header_tag)) {
					div_header.ref = content_ref;
					div_header.className = "as_link";
					div_header.onclick = function() {
						this.ref.style.display = ("block" == this.ref.style.display) ? "none" : "block";
					}
				}
			}
		}
	}
}

function feedback_labels(container_id) {
	labelsCollection = container_id.getElementsByTagName("LABEL");
	if (labelsCollection.length) {
		for (labelItem in labelsCollection) {
			if ("object" == typeof(labelsCollection[labelItem])) {
				if (labelItemInput = document.getElementById(labelsCollection[labelItem].htmlFor)) {
					labelItemRef = labelsCollection[labelItem];
					if (
						"text" == labelItemInput.type
						||
						"textarea" == labelItemInput.type
					) {
						labelItemRef.style.visibility = "visible";
						labelItemInput.ref = labelItemRef;
						labelItemInput.onfocus = function() {
							this.ref.style.visibility = "hidden";
						}
						labelItemInput.onblur = function() {
							if (!this.value) {
								this.ref.style.visibility = "visible";
							}
						}
					}
				}
			}
		}
	}
}

function page_init() {
	/* раскраска таблицы в зебру */
	stripeTable();

	if (var_vacancy_wrap = document.getElementById("vacancy_wrap")) vacancy(var_vacancy_wrap, "H2");
	if (var_reports_wrap = document.getElementById("reports_wrap")) vacancy(var_reports_wrap, "P");

	if (form_feedback = document.getElementById("feedback")) feedback_labels(form_feedback);

	/* вывод сплэш-экрана на главную страницу */
	if (template
		&&
		"main" == template) {
		/* счетчик цифр на главной */
		increateNumbers();

		/* построение локальных ссылок */
		navigation();
	}
}

var links = {
	item_numbers: {
		label: "в цифрах"
	},
	item_photos_gallery: {
		label: "в кадре"
	}/*,
	item_inwork_gallery: {
		label: "в деле"
	}*/
};

addListener(window, "load", page_init);

