/*--------------------------------------------*/

//Определяем броузер, его версию и ОС
//read more about this function at http://www.quirksmode.org/js/detect.html
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
//---How to use it:
//----variables:
//	BrowserDetect.browser  
//	BrowserDetect.version
//	BrowserDetect.OS 

//переменная для EI < 7
var IE_Comp = (BrowserDetect.browser == 'Explorer' && BrowserDetect.version < 7)? true : false;

/*--------------------------------------------*/

function changecss(theClass,element,value) {
	var cssRules;
	if (document.all) {
		cssRules = 'rules';
	}
	else {
		cssRules = 'cssRules';
	}
	for (var S = 0; S < document.styleSheets.length; S++){
		for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) {
			if (document.styleSheets[S][cssRules][R].selectorText == theClass) {
				document.styleSheets[S][cssRules][R].style[element] = value;
			}
		}
	}
}

/*--------------------------------------------*/

function show(id){ document.getElementById(id).style.display = 'block';}
function hide(id){ document.getElementById(id).style.display = 'none';}

function showorhide(obj) {
	var el = document.getElementById(obj);
	if ( el.style.display != 'none' ) {
		el.style.display = 'none';
	}
	else {
		el.style.display = '';
	}
}
/*-------------*/
	var check = 0;
	var n = 0;
	var End = 0;
	var Begin = 0;	
	function open_close()	
	{
		var el = document.getElementById('g_nav');
		var h = document.getElementById('snavH4');
		if(check != 1){			
			el.className = 'show';
			el.style.height = n+'px';		
			if(n < End){
				setTimeout("open_close();",40);
				n +=20;
			}else{
				el.style.height = End + 'px';				
				h.innerHTML = 'site navigation &uarr;';
				check = 1;
			}
		}else{	
			el.style.height = n+'px';			
			if(n > Begin){
				setTimeout("open_close();",39);
				n -=20;
			}else{
				el.className = '';
				h.innerHTML = 'site navigation &darr;';
				check = 0;
			}
		}
	}
/*----------*/
var l_ship = 0;
var l_n = 0;
function launch_ship(){
	var kif = document.getElementById('kif');
	var kif_span = document.getElementById('kif_span');
	var End = 171;
	var Begin = 0;
	if(l_ship != 2 ){
		l_ship = 1;
		/*-function body-*/			
		kif.style.height = l_n+'px';		
		if(l_n < End){
			setTimeout("launch_ship();",40);
			l_n +=10;
		}else{
			kif.style.height = End + 'px';
			l_n = End;
			kif_span.className+=" show";
			l_ship = 2;
			setTimeout("launch_ship();",3000);
		}		
	}else if(l_ship == 2){		
		kif_span.className = '';
		if(l_n < Begin){l_n = 0;}
		kif.style.height = l_n+'px';			
		if(l_n > Begin){
			setTimeout("launch_ship();",40);
			l_n -=10;
		}else{
			kif.style.height = Begin+'px';			
			l_ship = 0;
		}
	}
}

function go_ship_go(){ if(l_ship == 0){launch_ship();} }

function get_gnav(idfrom, idto){
	var from = document.getElementById(idfrom);
	var to = document.getElementById(idto);
	to.innerHTML = from.innerHTML;
	var h = document.getElementById('snavH4');
	h.innerHTML = 'site navigation &darr;';
	End = to.clientHeight;
}

function get_lnav(){
	var h3Arr = document.getElementById('page').getElementsByTagName('h3');
	var nav='<a href="#page">TOP</a>\n';
	for(var i = 0; i < h3Arr.length; i++){
		if(h3Arr[i].id == ''){continue;}
		link = '<a href="#'+h3Arr[i].id+'">'+h3Arr[i].innerHTML+'</a>\n';
		nav+=link;	
	}
	nav+='<a href="#bottom">BOTTOM</a>\n';
	document.getElementById('loc_nav').innerHTML = nav;
}

function load_gnav(){
	get_gnav('nav', 'g_nav');		
}

function contact(txt,clss,tag){
	add = ('x.html.files@' + 'gmail.com');
	if( txt == null ){ txt = add; }
	clss = ( clss != null )? ' class="'+clss+'"' : '';
	ot = (tag != null )? '<'+tag+'>' : '';
	ct = (tag != null )? '</'+tag+'>' : '';
	document.write('<a href="mailto:' + add + '" '+clss+'>'+ ot + txt + ct +'</a>');
}


function change_thumbs(thumbs){
	var el = getElementsByClass('pre_cont',document,'ul');
	for(var i = 0; i< el.length; i++){
		if('compact' == thumbs){			
			el[i].className = el[i].className.replace(new RegExp(" extend\\b"), "");			
			setCookie( 'thumbs', 'compact', 365);
		}else{
			if(!el[i].className.match(new RegExp("(extend)$\\b"))){
				el[i].className+=" extend";
			}
			setCookie( 'thumbs', 'extend', 365);
		}
	}
}
