﻿function add_css_class(selector, class_name) {
	var elements = cssQuery(selector);
	for(var e = 0; e < elements.length; e++) {
		elements[e].className += " " + class_name;
	}
}

function languages() {
	if(document.getElementById("trigger-languages")) {
		add_css_class("ul.languages", "offset");
		var languages = document.getElementById("trigger-languages");
		var tempHTML = languages.innerHTML;
		languages.innerHTML = "";
		var tempA = document.createElement("a");
		tempA.innerHTML = tempHTML;
		tempA.setAttribute("href", "#languages");
		tempA.setAttribute("onclick", "toggle(this); return false;");
		tempA.onclick = function() { toggle(this); return false;}
		languages.appendChild(tempA);
	}
}
function toggle(o) {
	var ref = o.href.substring(o.href.lastIndexOf("#")+1, o.href.length);
	var el = document.getElementById(ref);
	if(/offset/.test(el.className)) {
		el.className = el.className.replace("offset", "");
	} else {
		el.className += " offset";
	}
}

/*
function navigation() {
	if(document.getElementById("navigation")) {
		var nav = document.getElementById("navigation");
		
		var lis = nav.getElementsByTagName("li");
		for(var i=0; i<lis.length; i++) {
			if(lis[i].firstChild.nodeType == 3) {
				var a_link = document.createElement("a");
				a_link.appendChild(lis[i].firstChild);
				a_link.href = "#";
				a_link.setAttribute("onclick", "navigate(this); return false;");
				a_link.onclick = function() {navigate(this); return false;};
				lis[i].insertBefore(a_link,lis[i].firstChild);
			}
		}
		
		var as = nav.getElementsByTagName("a");
		for(var i=0; i<as.length; i++) {
			if(/selected/.test(as[i].className)) {
				as[i].parentNode.className += " selected";
				if(as[i].parentNode.parentNode.parentNode.nodeName == "LI") {
					as[i].parentNode.parentNode.parentNode.className += " selected";
					selected_li = as[i].parentNode.parentNode.parentNode;
					if(as[i].parentNode.parentNode.parentNode.firstChild.nodeName == "A") {
						as[i].parentNode.parentNode.parentNode.firstChild.className += " selected";
						selected_a = as[i].parentNode.parentNode.parentNode.firstChild;
					}
				}
			}
		}
		
	}
}
function navigate(o) {
	if(selected_li != null) {
		//alert(selected_li.nodeName);
		if(/selected/.test(selected_li.className)) {
			selected_li.className = selected_li.className.replace("selected", "");
		}
	}
	if(selected_a != null) {
		if(/selected/.test(selected_a.className)) {
			selected_a.className = selected_a.className.replace("selected", "");
		}
	}
	o.parentNode.className += " selected";
	selected_li = o.parentNode;
}

*/
var x = 50;
var y = 0;
	
function moveBg(direction) {
	var panorama = document.getElementById("panorama");
	var left_btn = document.getElementById("left_btn");
	var right_btn = document.getElementById("right_btn");
	/*
	if(direction == "left") {
		if(x >= 5) {
			x -= 5;
			panorama.style.backgroundPosition = x+"% " + y;
			right_btn.style.display = "block";
		} else {
			x = 0;
			panorama.style.backgroundPosition = x+"% " + y;
			left_btn.style.display = "none";
			right_btn.style.display = "block";
		}
	} else if(direction == "right") {
		if(x <= 95) {
			x += 5;
			panorama.style.backgroundPosition = x+"% " + y;
			left_btn.style.display = "block";
		} else {
			x = 100;
			panorama.style.backgroundPosition = x+"% " + y;
			left_btn.style.display = "block";
			right_btn.style.display = "none";
		}
	}
	*/
}

var done = false;
var selected_li = null;
var selected_a = null;

function init_page(init_x) {
	if (init_x == 0) $("#left_btn").css("display","none");
	if (init_x == 100) $("#right_btn").css("display","none");
	if(!done) {
		//languages();
		navigation();
		done = true;
		x = init_x;
		$("#left_btn").click(function(){
		$("#right_btn").css("display","block");
		 if(x >= 20) {
			x -= 20;
			$("#panorama").animate({ 
			backgroundPosition: x+"% 0"
		  }, 500 );
		 } else {
			x = 0;
			$("#panorama").animate({ 
			backgroundPosition: x+"% 0"
		  }, 500 );
		 }
		 if (x == 0) $("#left_btn").css("display","none");
		 return false;
		});
		$("#right_btn").click(function(){
		$("#left_btn").css("display","block");
		  if(x <= 80) {
			x += 20;
			$("#panorama").animate({ 
			backgroundPosition: x+"% 0"
			
		  }, 500 );
		 } else {
			x = 100;
			
			$("#panorama").animate({ 
			backgroundPosition: x+"% 0"
		  }, 500 );
		 }
		 if (x == 100) $("#right_btn").css("display","none");
		 return false;
		});
		
		$("#panorama").animate({ backgroundPosition: init_x+"% 0"}, 500 );
		
		add_css_class("ul.downloads li:first-child", "first-child");
		add_css_class("ul.downloads li:nth-child(4)", "first-child");
		add_css_class("ul.downloads li:nth-child(7)", "first-child");
		add_css_class("ul.downloads li:nth-child(10)", "first-child");
		add_css_class("ul.downloads li:nth-child(13)", "first-child");
		add_css_class("ul.downloads li:nth-child(16)", "first-child");
		add_css_class("ul.downloads li:nth-child(19)", "first-child");
		
		add_css_class("ul.gallery li:first-child", "first-child");
		add_css_class("ul.gallery li:nth-child(4)", "first-child");
		add_css_class("ul.gallery li:nth-child(7)", "first-child");
		add_css_class("ul.gallery li:nth-child(10)", "first-child");
		add_css_class("ul.gallery li:nth-child(13)", "first-child");
		add_css_class("ul.gallery li:nth-child(16)", "first-child");
		add_css_class("ul.gallery li:nth-child(19)", "first-child");
	}
	$("#show_hide_panorama").click( function() {											 
		toggle_sub_menu ();		
		return false;							 
	});
	if ($("#navigation li.sfhover ul").length==0) {
		$("ul.panorama li.show_hide_panorama").css("display","none");
	}
}

function ie_support() {
	/* for all IE */
	add_css_class("ul.utilities li:first-child", "first-child");
	add_css_class("ul.more li:first-child", "first-child");
	add_css_class("ul.membership li:first-child", "first-child");
	add_css_class("input[type='text']", "type-text");
	add_css_class("input[type='submit']", "type-submit");
	/* for IE6 */
	add_css_class("div.contact dl dd", "ie");
	add_css_class("form.search", "ie");
	add_css_class("div.search", "ie");
	add_css_class("div.intro", "intro-ie");
	add_css_class("div.cite", "cite-ie");
	
	add_css_class("ul#img_controls li:first-child", "first-child");
	add_css_class("ul#thumbs_controls li:first-child", "first-child");
	
	window.onload = window.onresize = function() {
		ie_support();
	}
}


var level0 = null;
var level1 = null;

var link_level0 = null;
var link_level1 = null;

function navigation() {
	
	var navigation = document.getElementById("navigation");
	var navigationLIs = navigation.getElementsByTagName("LI");
	/*
	for(var i=0; i<navigationLIs.length; i++) {
		
		if (navigationLIs[i].firstChild.nodeType == 3) {
			var aLink = document.createElement("a");
			aLink.appendChild(navigationLIs[i].firstChild);
			aLink.href="#";
			
			aLink.setAttribute("onclick", "navigate(this); return false;");
			aLink.onclick = function() {navigate(this); return false;};
			navigationLIs[i].insertBefore(aLink,navigationLIs[i].firstChild);
		}
	}
	*/
	var as = navigation.getElementsByTagName("SPAN");
	for(var i=0; i<as.length; i++) {
		if(/selected/.test(as[i].className)) {
			
			if(as[i].parentNode.parentNode.parentNode.parentNode.parentNode.nodeName == "LI") {
				as[i].parentNode.parentNode.parentNode.parentNode.parentNode.className = "sfhover";
				as[i].parentNode.parentNode.parentNode.parentNode.parentNode.firstChild.className = "selected";
				level0 = as[i].parentNode.parentNode.parentNode.parentNode.parentNode;
				link_level0 = as[i].parentNode.parentNode.parentNode.parentNode.parentNode.firstChild;
			}
			if(as[i].parentNode.parentNode.parentNode.nodeName == "LI") {
				as[i].parentNode.parentNode.parentNode.className = "sfhover";
				as[i].parentNode.parentNode.parentNode.firstChild.className = "selected";
				
				level0 = as[i].parentNode.parentNode.parentNode.parentNode.parentNode;
				link_level0 = as[i].parentNode.parentNode.parentNode.parentNode.parentNode.firstChild;
				
				level1 = as[i].parentNode.parentNode.parentNode;
				link_level1 = as[i].parentNode.parentNode.parentNode.firstChild;
				
			}
			if(as[i].parentNode.nodeName == "LI") {
				as[i].parentNode.className = "sfhover";
			}
			
			
			if(as[i].parentNode.parentNode.className == "level0") {
				if(as[i].parentNode.nodeName == "LI") {
					as[i].parentNode.className = "sfhover";
					as[i].parentNode.firstChild.className = "selected";
					
					level0 = as[i].parentNode;
					link_level0 = as[i];
				}
			}
			
			if(as[i].parentNode.parentNode.className == "level1") {
				if(as[i].parentNode.nodeName == "LI") {
					as[i].parentNode.className = "sfhover";
					as[i].parentNode.firstChild.className = "selected";
					
					level1 = as[i].parentNode;
					link_level1 = as[i];
					
					level0 = as[i].parentNode.parentNode.parentNode;
					link_level0 = as[i].parentNode.parentNode.parentNode.firstChild;
				}
			}
			
			if(as[i].parentNode.parentNode.className == "level2") {
				//alert(2);
			}
		}
	}
	$("#navigation li").attr("class", function() {
		if (this.getElementsByTagName("ul").length==0) {
			return $(this).attr("class")+" selected-no-arow";
		} else {
			return $(this).attr("class");
			}
											  
											  
	});
}
function navigate(o) {
	
	if(o.parentNode.parentNode.nodeName == "UL") {	
		
		if(o.parentNode.parentNode.className == "level0") {
			if(level0 != null) {
				
				level0.className = "";
				link_level0.className = "";
			}
			if(level1 != null) {
				
				level1.className = "";
				link_level1.className = "";
			}
			
			level0 = o.parentNode;
			level0.className = "sfhover";
			link_level0 = o;
			link_level0.className = "selected";
			
		}
		
		if(o.parentNode.parentNode.className == "level1") {
			if(level1 != null) {
				level1.className = "";
				link_level1.className = "";
			}
			
			level1 = o.parentNode;
			level1.className = "sfhover";
			link_level1 = o;
			link_level1.className = "selected";
		}
	}
}
var view_width = 684;
function close_send() {
	$("#gallery").css("display", "none");
	$("#cover").css("display", "none");
	//$("#stylesheet").attr("href", "c/layout.css");
	//$(".page").css("display", "block");
}
function sendTo() {
	//delta = 0;
	//view_width = 684;
	//container_array = new Array();
	//container_array = THUMBS.getElementsByTagName("LI");
	//total_images = container_array.length
	//thumbs_width = 114 * total_images;
	//selected_img = 0;
	
	//$("#stylesheet").attr("href", "c/gallery.css"); 
	//$(".page").css("display", "none");
	window.scroll(0, 0);
	$("#cover").css("height", $(".page").height());
	$("#gallery").css("height", $(".page").height());
	$("#cover").css("display", "block");
	$("#gallery").css("display", "block");
	$("#close_gallery").click(function() {close_send(); return false})
	
	//$("#thumbs").css("left", 0);
	//$("#thumbs").css("width", thumbs_width + "px");
	
	
	//$("#placeholder_flash").css("display", "none");
	
	//view_image(container_array[Number(selected_img)].childNodes[0]);
}
detectOpera();
function detectOpera() {
	if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
		//alert("It's opera");
		loadjscssfile("/c/opera.css", "css");
	}
}

function loadjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}
function toggle_sub_menu () {
	
	var hide_txt, show_txt;
    if($("ul.panorama")[0].className == "panorama") {
                    hide_txt = "Скрий менюто";
                    show_txt = "Покажи менюто";
    }
    else if($("ul.panorama")[0].className == "panorama en") {
                    hide_txt = "Hide menu";
                    show_txt = "Show menu";
    }
    
    if ($("#show_hide_panorama").attr("class")=="opened") {
                    $("#navigation li.sfhover ul").css("display","none");
                    $("#show_hide_panorama").attr("class","closed");
                    $("#show_hide_panorama").text(show_txt);
    } else if ($("#show_hide_panorama").attr("class")=="closed") {
                    $("#navigation li.sfhover ul").css("display","block");
                    $("#show_hide_panorama").attr("class","opened");
                    $("#show_hide_panorama").text(hide_txt);
    }
}
function hideBookmark() {
	var d, dom, ie, ie4, ie5x, moz, mac, win, lin, old, ie5mac, ie5xwin, op;
	
	d = document;
	n = navigator;
	na = n.appVersion;
	nua = n.userAgent;
	win = ( na.indexOf( 'Win' ) != -1 );
	mac = ( na.indexOf( 'Mac' ) != -1 );
	lin = ( nua.indexOf( 'Linux' ) != -1 );
	
	if ( !d.layers ){
		dom = ( d.getElementById );
		op = ( nua.indexOf( 'Opera' ) != -1 );
		konq = ( nua.indexOf( 'Konqueror' ) != -1 );
		saf = ( nua.indexOf( 'Safari' ) != -1 );
		moz = ( nua.indexOf( 'Gecko' ) != -1 && !saf && !konq);
		ie = ( d.all && !op );
		ie4 = ( ie && !dom );
	
		/*
		ie5x tests only for functionality. ( dom||ie5x ) would be default settings. 
		Opera will register true in this test if set to identify as IE 5
		*/
	
		ie5x = ( d.all && dom );
		ie5mac = ( mac && ie5x );
		ie5xwin = ( win && ie5x );
	}
	if(!ie && !moz) {
		$("li.bookmark").css("display", "none");
	}
}
$("ul#navigation a").click(function () { 
 $(this).blur(); 
});
function safari3fix() {
                var nua = navigator.userAgent;
                if(nua.indexOf( 'Safari' ) != -1 && nua.indexOf( '3' ) != -1) {
                                var b_version = navigator.appVersion;
                                var version=parseInt(b_version);
                                //alert(b_version);
                                loadjscssfile("/c/safari3.css", "css");
                }
}
