// тип и версия броузера
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: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			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.userAgent,
			subString: "iPhone",
			identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();


function init(cLang,cLocalTime){
    $(".btn-slide1").click(function(){
        $("#panel1").slideToggle("slow");
        $(this).toggleClass("active"); return false;
    });
    $(".btn-slide2").click(function(){
        $("#panel2").slideToggle("slow");
        $(this).toggleClass("active"); return false;
    });

    $( '#langButton' ).click( function() {
        $( '#unitsMenu' ).css('display','none');
        $( '#appMenu' ).css('display','none');
        $('.ddList2').css('border', 'none').css('margin', '2px');
        if ($('#langMenu').css('display')=='none') {
            $('#langMenu').slideDown(250);
            $('.ddList1').css('margin', '0px').css('border', '2px solid #000');
        } else {
            $( '#langMenu' ).slideUp(150);
            $('.ddList1').css('border', 'none').css('margin', '2px');
            $('.ddList2').css('border', 'none').css('margin', '2px');
            $('#informerC').css('border', 'none').css('margin', '2px 2px 0px 4px');
        }
    });
    $( '#unitsButton' ).click( function() {
        $( '#langMenu' ).css('display','none');
        $( '#appMenu' ).css('display','none');
        $('.ddList1').css('border', 'none').css('margin', '2px');
        if ($('#unitsMenu').css('display')=='none') {
            $('#unitsMenu').slideDown(250);
            $('.ddList2').css('margin', '0px').css('border', '2px solid #000');
        } else {
            $( '#unitsMenu' ).slideUp(150);
            $('.ddList1').css('border', 'none').css('margin', '2px');
            $('.ddList2').css('border', 'none').css('margin', '2px');
            $('#informerC').css('border', 'none').css('margin', '2px 2px 0px 4px');
        }
    });
    $( '#appButton' ).click( function() {
        $('#unitsMenu').css('display','none');
        $('#langMenu').css('display','none');
        $('.ddList1').css('border', 'none').css('margin', '2px');
        $('.ddList2').css('border', 'none').css('margin', '2px');
        if ($('#appMenu').css('display')=='none') {
            $('#appMenu').slideDown(250);
            $('#informerC').css('margin', '0px 0px 0px 2px').css('border-top', '2px solid #000').css('border-left', '2px solid #000').css('border-right', '2px solid #000');
        } else {
            $( '#appMenu' ).slideUp(150);
            $('.ddList1').css('border', 'none').css('margin', '2px');
            $('.ddList2').css('border', 'none').css('margin', '2px');
            $('#informerC').css('border', 'none').css('margin', '2px 2px 0px 4px');
        }
    });
    
    $( '#showNewsButton' ).click( function() {
        if ($('#fullNews').css('display')=='none') {
            $( '#fullNews' ).slideDown();
        } else {
            $( '#fullNews' ).slideUp();
        }
    });
    $( '#wrapper' ).click( function() {
        $( '#unitsMenu' ).css('display','none');
        $( '#langMenu' ).css('display','none');
        $( '#appMenu' ).css('display','none');
        $('.ddList1').css('border', 'none').css('margin', '2px');
        $('.ddList2').css('border', 'none').css('margin', '2px');
        $('#informerC').css('border', 'none').css('margin', '2px 2px 0px 4px');
    });


    //$( 'body' ).css( 'height' , $( 'body' ).height() - 123 );
    var footerHeight = $( "#footer" ).height();
    //work with GoogleMaps
    $( '#blackOut, #closeMap' ).click( function() {
        $( '#map_canvas' ).html( '' );
        $( '#map_canvas' ).css( { 'height' : '0' } );
        $( '#mapa' ).fadeOut();
        $( '#blackOut' ).fadeOut();
    });
    setInterval("setClock(cLang,cLocalTime)",999);setClock(cLang,cLocalTime);
}

// функции для отображения локального времени для нас.пункта
function setClock(cLang,cLocalTime) {
  var dLoc=Math.round((D=new Date()).getTime()/1000);
  // приводим к времени на сервере
  dLoc=(dLoc+tDelta+gmtMsk)*1000;
  showTime('tPoint',new Date(dLoc+gmtAdd),cLang,cLocalTime);
}
function showTime(cId,tTime,cLang,cLocalTime) {
  var min,sec;
  $('#'+cId).empty();
  if (cLang != '')
	  $('#'+cId).append(cLocalTime+' &nbsp;'+tTime.getHours()+':'+((min=tTime.getMinutes())<10?'0':'')+min);
}

// работа с динамическим содержимым
function chValue(cUnit, n, lforce) {
	// убираем ссылку "скачать" на странице f_archive
	if ($("span").is('#f_result')) 
		$("#f_result").empty();
	// убираем код информера
	if ($("div").is('#informer')) 
		$('#informer').css('display', 'none');
	if ($("div").is('#informercode')) 
		$('#informercode').css('display', 'none');
	
	var cCookie = 'value_' + cUnit;
	for (var i = 0; i < 20; i++) {
		var cDiv = '.' + cUnit + '_' + i;
		if (i == n) {
			// пишем в Cookie
			addCookie(cCookie, n, 365);
			if ((BrowserDetect.browser == 'Explorer' && cUnit != 'cc' && cUnit != 'pr') || lforce == 1)
				$(cDiv).css('display', 'inline');
			else	
				$(cDiv).css('opacity', '0.2').css('display', 'inline').animate({opacity: '1'}, 500);
			//alert (BrowserDetect.browser + ' ' + BrowserDetect.version + ' on ' + BrowserDetect.OS);
		}
		else $(cDiv).css('display', 'none');
	}

	// переопределяем значения из Cookie
	var value_cc = findCookie('value_cc'); if (value_cc.length > 1) value_cc = value_cc.substr(value_cc.length-1,1);
	var value_pr = findCookie('value_pr'); if (value_pr.length > 1) value_pr = value_pr.substr(value_pr.length-1,1);
	var value_t = findCookie('value_t'); if (value_t.length > 1) value_t = value_t.substr(value_t.length-1,1);
	var value_p = findCookie('value_p'); if (value_p.length > 1) value_p = value_p.substr(value_p.length-1,1);
	var value_wv = findCookie('value_wv'); if (value_wv.length > 1) value_wv = value_wv.substr(value_wv.length-1,1);
	var value_vv = findCookie('value_vv'); if (value_vv.length > 1) value_vv = value_vv.substr(value_vv.length-1,1);
	var value_sss = findCookie('value_sss'); if (value_sss.length > 1) value_sss = value_sss.substr(value_sss.length-1,1);
	var value_h = findCookie('value_h'); if (value_h.length > 1) value_h = value_h.substr(value_h.length-1,1);
	// формируем строку единиц изм. для информеров
	var units_msr = value_cc + value_pr + value_t + value_p + value_wv;
		
	// проверка наличия информеров
	for (var i = 0; i <= 30; i++) {
		if ($("div").is('#i100x100x2x'+i)) 
			$('#i100x100x2x'+i).empty().append('<a href=http://docs/100x100x2/'+lang+'?id='+id+'&amp;informer='+i+' onClick="return change('+i+','+"'"+units_msr+"'"+');"><img width=100 height=100 src="http://'+cServer+'/informer/100x100x2.php?f='+i+'&id='+id+'&lang='+lang+'&um='+units_msr+'"></a>');
		if ($("div").is('#i100x60x2x'+i)) 
			$('#i100x60x2x'+i).empty().append('<a href=http://docs/100x60x2/'+lang+'?id='+id+'&informer='+i+' onClick="return change('+i+','+"'"+units_msr+"'"+');"><img width=100 height=60 src="http://'+cServer+'/informer/100x60x2.php?f='+i+'&id='+id+'&lang='+lang+'&um='+units_msr+'"></a>');
		if ($("div").is('#i120x60x2x'+i)) 
			$('#i120x60x2x'+i).empty().append('<a href=http://docs/120x60x2/'+lang+'?id='+id+'&informer='+i+' onClick="return change('+i+','+"'"+units_msr+"'"+');"><img width=120 height=60 src="http://'+cServer+'/informer/120x60x2.php?f='+i+'&id='+id+'&lang='+lang+'&um='+units_msr+'"></a>');
		if ($("div").is('#i88x31x2x'+i)) 
			$('#i88x31x2x'+i).empty().append('<a href=http://docs/88x31x2/'+lang+'?id='+id+'&informer='+i+' onClick="return change('+i+','+"'"+units_msr+"'"+');"><img width=88 height=31 src="http://'+cServer+'/informer/88x31x2.php?f='+i+'&id='+id+'&lang='+lang+'&um='+units_msr+'"></a>');
		if ($("div").is('#g120x100x1x'+i)) 
			$('#g120x100x1x'+i).empty().append('<a href=http://docs/g120x100x1/'+lang+'?id='+id+'&informer='+i+' onClick="return change('+i+','+id+','+"'"+units_msr+"'"+');"><img width=120 height=100 src="http://'+cServer+'/informer/g120x100x1.php?f='+i+'&id='+id+'&lang='+lang+'&um='+units_msr+'"></a>');
		if ($("div").is('#g120x60x1x'+i)) 
			$('#g120x60x1x'+i).empty().append('<a href=http://docs/g120x60x1/'+lang+'?id='+id+'&informer='+i+' onClick="return change('+i+','+id+','+"'"+units_msr+"'"+');"><img width=120 height=60 src="http://'+cServer+'/informer/g120x60x1.php?f='+i+'&id='+id+'&lang='+lang+'&um='+units_msr+'"></a>');
		if ($("div").is('#i100x100x1x'+i)) 
			$('#i100x100x1x'+i).empty().append('<a href=http://docs/100x100x1/'+lang+'?id='+id+'&informer='+i+' onClick="return change('+i+','+"'"+units_msr+"'"+');"><img width=100 height=100 src="http://'+cServer+'/informer/100x100x2.php?f='+i+'&id='+id+'&lang='+lang+'&um='+units_msr+'"></a>');
		if ($("div").is('#i100x60x1x'+i)) 
			$('#i100x60x1x'+i).empty().append('<a href=http://docs/100x60x1/'+lang+'?id='+id+'&informer='+i+' onClick="return change('+i+','+"'"+units_msr+"'"+');"><img width=100 height=60 src="http://'+cServer+'/informer/100x60x2.php?f='+i+'&id='+id+'&lang='+lang+'&um='+units_msr+'"></a>');
		if ($("div").is('#i120x60x1x'+i)) 
			$('#i120x60x1x'+i).empty().append('<a href=http://docs/120x60x1/'+lang+'?id='+id+'&informer='+i+' onClick="return change('+i+','+"'"+units_msr+"'"+');"><img width=120 height=60 src="http://'+cServer+'/informer/120x60x2.php?f='+i+'&id='+id+'&lang='+lang+'&um='+units_msr+'"></a>');
		if ($("div").is('#i88x31x1x'+i)) 
			$('#i88x31x1x'+i).empty().append('<a href=http://docs/88x31x1/'+lang+'?id='+id+'&informer='+i+' onClick="return change('+i+','+"'"+units_msr+"'"+');"><img width=88 height=31 src="http://'+cServer+'/informer/88x31x2.php?f='+i+'&id='+id+'&lang='+lang+'&um='+units_msr+'"></a>');
		if ($("div").is('#i160x1x'+i)) 
			$('#i160x1x'+i).empty().append('<a href=http://docs/160x1/'+lang+'?points='+points+'&informer='+i+' onClick="return change('+i+','+"'"+units_msr+"'"+');"><img width=160 height=78 src="http://'+cServer+'/informer/group/1/'+i+'.png"></a>');
	}
	// корректировка кода для HTML-информера
	if ($("textarea").is('#informercode')) {
		var code = $("#informercode").attr("value");
	    var result = code.replace(/um=[0-9]+/g, "um="+units_msr);
	    $("#informercode").attr("value", result);
	}
	// корректировка значения um_def для флеш-инф 160x1
	um_def = units_msr;
	// изменение ссылки на странице XML
	if ($("span").is('#xmlcode')) {
		var code = $("#xmlcode").html();
	    var result = code.replace(/\/[0-9][0-9][0-9][0-9][0-9]/g, "/"+units_msr);
	    $("#xmlcode").html(result);
	}
	// изменение титлов таблиц прогноза и архива
	chTitle(cUnit, n);
}

//работа с титлами строк таблиц прогноза и архива
function chTitle(cUnit, n) {
	if (cUnit == 'cc') {
		if (n > 0)	var t_cc = eval('t_cc' + n);
		else var t_cc = eval('t_cc0');
		$('#t_cloud_cover').attr('title', t_cc);
		$('#t_cloud_cover_a').attr('title', t_cc);
	}
	if (cUnit == 'pr') {
		if (n > 0)	var t_pr = eval('t_pr' + n);
		else var t_pr = eval('t_pr0');
		$('#t_precipitation').attr('title', t_pr);
		$('#t_precipitation_a').attr('title', t_pr);
		$('#t_archive_pr').attr('title', t_pr);
	}
	if (cUnit == 't') {
		if (n > 0)	{
			var t_t = eval('t_t' + n), t_tn = eval('t_tn' + n), t_tx = eval('t_tx' + n), t_td = eval('t_td' + n);
		} else {
			var t_t = eval('t_t0'), t_tn = eval('t_tn0'), t_tx = eval('t_tx0'), t_td = eval('t_td0');
		}
		$('#t_temperature').attr('title', t_t);
		$('#t_temperature_a').attr('title', t_t);
		$('#t_archive_t').attr('title', t_t);
		$('#t_archive_tn').attr('title', t_tn);
		$('#t_archive_tx').attr('title', t_tx);
		$('#t_archive_td').attr('title', t_td);
	}
	if (cUnit == 'p') {
		if (n > 0)	{
			var t_p = eval('t_p' + n), t_po = eval('t_po' + n);
		} else {
			var t_p = eval('t_p0'), t_po = eval('t_po0');
		}
		$('#t_pressure').attr('title', t_p);
		$('#t_pressure_a').attr('title', t_p);
		$('#t_archive_p').attr('title', t_p);
		$('#t_archive_po').attr('title', t_po);
	}
	if (cUnit == 'wv') {
		if (n > 0) {
			var t_wv = eval('t_wv' + n), t_wv_3 = eval('t_wv_3_' + n), t_wv_10 = eval('t_wv_10_' + n);
		} else {
			var t_wv = eval('t_wv0'), t_wv_3 = eval('t_wv_3_0'), t_wv_10 = eval('t_wv_10_0');
		}
		$('#t_wind_velocity').attr('title', t_wv);
		$('#t_wind_velocity_a').attr('title', t_wv);
		$('#t_archive_wv').attr('title', t_wv);
		$('#t_archive_wv_3').attr('title', t_wv_3);
		$('#t_archive_wv_10').attr('title', t_wv_10);
	}
	if (cUnit == 'vv') {
		if (n > 0)	var t_vv = eval('t_vv' + n);
		else var t_vv = eval('t_vv0');
		$('#t_archive_vv').attr('title', t_vv);
	}
	if (cUnit == 'sss') {
		if (n > 0)	var t_sss = eval('t_sss' + n);
		else var t_sss = eval('t_sss0');
		$('#t_archive_sss').attr('title', t_sss);
	}
	if (cUnit == 'h') {
		if (n > 0)	var t_h = eval('t_h' + n);
		else var t_h = eval('t_h0');
		$('#t_archive_h').attr('title', t_h);
	}
}

//работа с Cookie
function addCookie(sName, sValue, dtDays) {
	var dtExpires = new Date(), dtExpiryDate = '';
	
	dtExpires.setTime(dtExpires.getTime() + dtDays*24*3600*1000);
	dtExpiryDate = dtExpires.toGMTString();
	
	document.cookie = sName + '=' + sValue + '; expires=' + dtExpiryDate + '; path=' + '/'; 
}

function findCookie(sName) {
	var i = 0, nStartPosition = 0, nEndPosition = 0, sCookieString = document.cookie;
	
	while (i <= sCookieString.length) {
		nStartPosition = i;
		nEndPosition = nStartPosition + sName.length;
		
		if (sCookieString.substring(nStartPosition, nEndPosition) == sName && sCookieString.substr(nEndPosition + 1, 1) != '=') {
			nStartPosition = nEndPosition + 1;
			nEndPosition = document.cookie.indexOf(";",nStartPosition);
			
			if (nEndPosition < nStartPosition)
				nEndPosition = document.cookie.length;
			
			return document.cookie.substring(nStartPosition, nEndPosition);
			break;
		}
		i++;
	}
	return "";
}

function getUrl(url) {
	window.location.href=url;
}

