/**
*	MAIN JAVASCRIPT FOR SITE
*/

/////////////////////////////////////////

var BrowserDetect = {
        init: function () {
                this.id = '';
		this.browser = this.searchString(this.dataBrowser, true) || "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";
		this.DHTML = this.testActions();
        },
        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){
					if(arguments[1]){
						this.id = data[i].id || '';
					}
                                        return data[i].identity;
				}
                        }
                        else if (dataProp){
				if(arguments[1]){
					this.id = data[i].id || '';
				}
                                return data[i].identity;
			}
                }
		return null;//prideta eilute
        },
        searchVersion: function (dataString) {
                var index = dataString.indexOf(this.versionSearchString);
                if (index == -1) return null;// prideta null
                return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
        },
	testActions: function(){
		var actions=new Array('document.getElementById', 'document.getElementsByTagName');
		for(var i=0; i<actions.length; i++){
			if(!eval(actions[i])){
				return false;
			}
		}
		return true;
	},
        dataBrowser: [
                {       string: navigator.userAgent,
                        subString: "OmniWeb",
                        versionSearch: "OmniWeb/",
                        identity: "OmniWeb",
			id: 'ow'
                },
                {
                        string: navigator.vendor,
                        subString: "Apple",
                        identity: "Safari",
			id: 'sf'
                },
                {
                        prop: window.opera,
                        identity: "Opera",
			id: 'op'
                },
                {
                        string: navigator.vendor,
                        subString: "iCab",
                        identity: "iCab",
			id: 'ic'
                },
                {
                        string: navigator.vendor,
                        subString: "KDE",
                        identity: "Konqueror",
			id: 'kq'
                },
                {
                        string: navigator.userAgent,
                        subString: "Firefox",
                        identity: "Firefox",
			id: 'fx'
                },
                {
                        string: navigator.vendor,
                        subString: "Camino",
                        identity: "Camino",
			id: 'ca'
                },
                {               // for newer Netscapes (6+)
                        string: navigator.userAgent,
                        subString: "Netscape",
                        identity: "Netscape",
			id: 'ns'
                },
                {
                        string: navigator.userAgent,
                        subString: "MSIE",
                        identity: "Explorer",
                        versionSearch: "MSIE",
			id: 'ie'
                },
                {
                        string: navigator.userAgent,
                        subString: "Gecko",
                        identity: "Mozilla",
                        versionSearch: "rv",
			id: 'gc'
                },
                {               // for older Netscapes (4-)
                        string: navigator.userAgent,
                        subString: "Mozilla",
                        identity: "Netscape",
                        versionSearch: "Mozilla",
			id: 'mz'
                }
        ],
        dataOS : [
                {
                        string: navigator.platform,
                        subString: "Win",
                        identity: "Windows"
                },
                {
                        string: navigator.platform,
                        subString: "Mac",
                        identity: "Mac"
                },
                {
                        string: navigator.platform,
                        subString: "Linux",
                        identity: "Linux"
                }
        ]

};
BrowserDetect.init();

/////////////////////////////////////////

function print_v(){
	var ww=618;
	var hh=600;
	var tops=(screen.height-hh)/2;
	var lefts=(screen.width-ww)/2;
	var settings='top='+tops+', left='+lefts+', width='+ww+', height='+hh+',';
	settings+="scrollbars=1, resizable=1, status=0, toolbar=0, menubar=0, location=0";
	var mypage = '';
	var myname='print_v';
	var ptt = document.title;
	if(window['print_title']){
		ptt = print_title;
	}
	var path_str='';
	/*if(window['printv_path']){
		path_str='<h5>'+printv_path+'</h5>';
	}*/
	var url = location.href.split("").join("&#8203;");
	var myturinys="<"+"!"+"DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\
	<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\
	<head>\
	<title>"+document.title+"</title>\
	<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\
	<script type=\"text/javascript\" src=\""+root_url+"application/site/themes/default/js/print.js\"></script>\
	"+getUsedStyleSheets()+"\
	<LINK href=\""+root_url+"application/site/themes/default/css/print_style.css\" type=text/css rel=STYLESHEET>\
	</head>\
	<body style=\"margin:20pt 20pt 20pt 20pt;\" onload=\"get_content();\">\
	<div class=\"bb2\">\
	<h1>"+ptt+"</h1>"+path_str+"\
	<h2>"+page_tit+"</h2></div>\
	<center>\
	<div id=\"print_content\" align=\"left\"></div>\
	</center>\
	<div class=\"bt2 print_url\">URL: "+url+"</div>\
	</body>\
	</html>";
	var pavas=window.open(mypage,myname,settings);//
	pavas.document.open();
	pavas.document.write(myturinys);
	pavas.document.close();
}

function getUsedStyleSheets(){
	/*return '';*/
	var output='';
	var allLinks = document.getElementsByTagName("link");
	for(var i=0; i<allLinks.length; i++){
		if(allLinks[i].type=='text/css'){
			output+='<LINK href="'+allLinks[i].href+'" type=text/css rel="'+allLinks[i].rel+'">';
		}
	}
	return output;
}

function calcOffset(){
	if(document.getElementById('page') && document.getElementById('menu')){
		var left=document.getElementById('page').offsetLeft;
		var w = document.getElementById('page').offsetWidth
		for(var i=0; i<document.getElementById('menu').childNodes.length; i++){
			var obj=document.getElementById('menu').childNodes[i];
			if(obj.tagName && obj.tagName == 'LI'){
				var divs=document.getElementById('menu').childNodes[i].getElementsByTagName('div')[0];
				if(divs.className == '' || divs.className == 'inactive'){
					divs.style.left=left+'px';
					divs.style.width=w+'px';
					divs.className = '';
					if(BrowserDetect.id == 'ie' && BrowserDetect.version < 7){
						divs.style.top='199px';
					}
				}
			}
		}
	}
}

/////////////////////////////////////
var hObjectName='contentContainer';
var pageObject='allpage';
var btb='page';
var bmenu='footLine';
var gminus=243;
function set_pos_new(){
	//setTimeout("do_bott()",300);
	}
function do_bott(){
	if(BrowserDetect.DHTML && document.getElementById(hObjectName) && document.getElementById(pageObject) && document.getElementById(btb)){
		var hb, hp, hi;
		var minusas=gminus;
		var rez=50;
		if(BrowserDetect.id == 'ie'){
			hb=document.documentElement.offsetHeight;
			if(BrowserDetect.version < 7){minusas+=11;}
		}
		else{
			hb=document.documentElement.scrollHeight;
			if(BrowserDetect.id == 'fx'){minusas+=6;}
		}
		
		hp=document.getElementById(pageObject).offsetHeight;
		hi=document.getElementById(btb).offsetHeight;
		var hm=-10;
		
		if(document.getElementById(bmenu)){
			hm=document.getElementById(bmenu).offsetHeight;
		}
		if(hp>hb){
			hb=hp;
		}
		rez=hb-((hp-hi)+hm+minusas);
		if(rez<50){
			rez=50;
		}
		if(hb>hp){
			if(BrowserDetect.id == 'ie' && BrowserDetect.version < 7){
				document.getElementById(hObjectName).style.height=rez+"px";
			}
			else{
				document.getElementById(hObjectName).style.minHeight=rez+"px";
			}
		}
	}
}

function findPos(obj) {
	var curleft = 0;
	var curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj.offsetParent) {
			obj = obj.offsetParent
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

//////////////////////////////////////////////////////////

function showSubmenu(th)
{
        elems = th.getElementsByTagName('div');
        for(var i = 0; i < elems.length;i++)
        {
                if(elems[i].className == 'submenu')
                {
                        elems[i].style.display = 'block';
                        elems[i].style.width = th.offsetWidth+"px";
                        th.style.borderColor = "#414141";
                        elems[i].onmouseover = function()
                        {
                                showSubmenu(th);
                        }
                        elems[i].onmouseout = function()
                        {
                                hideSubmenu(th);
                        }
                }
        }
}

function hideSubmenu(th)
{
        elems = th.getElementsByTagName('div');
        for(var i = 0; i < elems.length;i++)
        {
                if(elems[i].className == 'submenu')
                {
                        th.style.borderColor = "#2d2d2d";
                        elems[i].style.display = 'none';
                }
        }
}


function absPosToLeft(th)
{
        var elems = th.getElementsByTagName('div');
        for(var i = 0; i < elems.length;i++)
        {
                if(elems[i].className == 'absolute_menu')
                {
                        var size = alertSize(th);
                        if(BrowserDetect.id == 'ie')
                                elems[i].style.left = -299+size[0]+'px';
                        else
                                elems[i].style.left = -300+size[0]+'px';
                }
        }
}

function showThis(obj, op)
{
       if(op < 1)
       {
               if(BrowserDetect.id == 'ie')
               {
                       obj.style.filter = "alpha(opacity=0)";
               }
               else
               {
                       obj.style.opacity = 0;
               }
               obj.style.visibility = 'visible';
       }
       op = op+10;
       if(BrowserDetect.id == 'ie')
       {
               obj.style.filter = "alpha(opacity="+op+")";
       }
       else
       {
               obj.style.opacity = (op/100);
       }
       if(op < 100)
       {
               setTimeout(function(){showThis(obj,op)}, 20);
       }
       else
       {
               obj.settimeout = false;
       }
}

function hideThis(obj, op)
{
       op = op-10;
       if(BrowserDetect.id == 'ie')
       {
               obj.style.filter = "alpha(opacity="+op+")";
       }
       else
       {
               obj.style.opacity = (op/100);
       }
       if(op <= 0)
       {
               obj.style.visibility = 'hidden';
               obj.settimeout = false;
       }
       else
       {
               setTimeout(function(){hideThis(obj,op)}, 20);
       }
}

function setOpacity(obj, op)
{
       if(BrowserDetect.id == 'ie')
       {
               obj.style.filter = "alpha(opacity="+op+")";
       }
       else
       {
               obj.style.opacity = (op/100);
       }
       if(op <= 0)
       {
               obj.style.visibility = 'hidden';
       }
       if(op > 0)
       {
               obj.style.visibility = 'visible';
       }
}

function disableSelection(target)
{
        if(target)
        {
        if (typeof target.onselectstart!="undefined") //IE route
                target.onselectstart=function(){return false}
        else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
                target.style.MozUserSelect="none"
        else //All other route (ie: Opera)
                target.onmousedown=function(){return false}
        target.style.cursor = "default";
        }
}

function alertSize(obj)
{
        var myWidth = 0, myHeight = 0;
          myWidth = obj.scrollWidth;
          myHeight = obj.scrollHeight;
        return Array(myWidth, myHeight);
}

function addFancyGroup(id)
{
	 $("a[rel=group_"+id+"]").fancybox({
                'width'                        : '80%',
                'height'                : '80%',
                'autoScale'             : false
        });

}

function showDesc(th, id)
{
	if(th.timeout1)
	{
		clearTimeout(th.timeout1);
	}
	if(th.timeout2)
	{
		clearTimeout(th.timeout2);
	}
	th.timeout1 = new Object;
	th.timeout1 = setTimeout(function(){$('#'+id).css('visibility', 'hidden');}, 3000);
	$('#'+id).css('visibility', 'visible');
	$(th).mouseout(function(){
			if(th.timeout2)
			{
				clearTimeout(th.timeout2);
			}
			th.timeout2 = new Object;
			th.timeout2 = setTimeout(function(){$('#'+id).css('visibility', 'hidden');}, 200);
	});
}

function showThis2(obj)
{
	obj.style.visibility = "visible";
	obj.style.display = "block";
}

function hideThis2(obj)
{
	obj.style.visibility = "hidden";
	obj.style.display = "none";
}

function calcCenter(w,h)
{
        var top = 0;
        var left = 0;
        top = (((screen.availHeight-168) - h) / 2);
        left = ((screen.availWidth - w) / 2);
        return [left, top];
}

function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}

function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}

function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function moveToCenter(obj)
{
	ds = calcCenter($(obj).outerWidth(), $(obj).outerHeight());
	obj.style.left = ds[0]+'px';
	obj.style.top = ds[1]+'px';
}

