brName = navigator.appName; brVer = navigator.appVersion; brAgent = navigator.userAgent;

isDOM = document.getElementById ? true:false;
isOpera = (window.opera && isDOM) ? true:false;
isOpera6 = (isOpera && window.print)? true:false;
isOpera7= (isOpera && document.readyState)? true:false;
isOpera8= /Opera[^\d]*8/.test(brAgent);
isOpera9= /Opera[^\d]*9/.test(brAgent);
isIE = (document.all && document.all.item && !isOpera)? true:false
isSafari=/\WSafari\W/.test(brAgent);
isNN= (brName=="Netscape")? true:false;
isMozilla= (isNN && isDOM)? true:false;

function AddBookMark() {
	if (document.all) window.external.AddFavorite("http://www.tour-barost.ru/","Агентство V.I.P.-путешествий Тур-БАРОСТ");
	else alert("Ваш браузер не поддерживает функцию добавления закладок.");
}

// Opacity change
var opacityTo = new Array();
var filterStep = 5;
var filterTimeOut = 20;

function setElementOpacity(sElemId, nOpacity){
	var opacityProp = getOpacityProperty(), elem = document.getElementById(sElemId);
	if (!elem || !opacityProp) return;
	if (opacityProp=="filter"){
		nOpacity *= 100;
		var oAlpha = elem.filters['DXImageTransform.Microsoft.alpha'] || elem.filters.alpha;
		if (oAlpha) oAlpha.opacity = nOpacity;
		}
	else elem.style[opacityProp] = nOpacity;
}

function getElementOpacity(sElemId){
	var opacityProp = getOpacityProperty(), elem = document.getElementById(sElemId);
	if (!elem || !opacityProp) return;
	if (opacityProp=="filter"){
		var oAlpha = elem.filters['DXImageTransform.Microsoft.alpha'] || elem.filters.alpha;
		if (oAlpha) _opacity = oAlpha.opacity/100;
		}
  	else _opacity = elem.style[opacityProp];
	return _opacity;
}

function getOpacityProperty() {
	if (typeof document.body.style.opacity == 'string') return 'opacity';
	else if (typeof document.body.style.MozOpacity == 'string') return 'MozOpacity';
	else if (typeof document.body.style.KhtmlOpacity == 'string') return 'KhtmlOpacity';
	else if (document.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1]>=5.5) return 'filter';
	return false; //нет прозрачности
}

function viewPage(page,allpages){
	for(i=1;i<allpages+1;i++){
		document.getElementById('project'+i).style.display = "none";
		document.getElementById('projectLink'+i).className = "pPage";
		}
	document.getElementById('project'+page).style.display = "block";
	document.getElementById('projectLink'+page).className = "aPage";
}

function filterColor(layer,dir){
	_opacity = getElementOpacity(layer);
	_opacity = parseFloat(0+_opacity);
		
	if((isIE || isMozilla || isSafari) && ((_opacity < 1 && dir>0) || (_opacity > 0 && dir<0))) {
		clearTimeout(opacityTo[layer]);
		_opacity += (dir*filterStep/100);
		setElementOpacity(layer,_opacity);
		opacityTo[layer]=setTimeout("filterColor('"+ layer + "','"+dir+"')",  filterTimeOut);
	}
	else clearTimeout(opacityTo[layer]);
}

function MakeImageArray(n){
	this.length=n; for (var i=0; i<=n; i++) this[i] = new Image(); return this
	}

function setImage(num){
	document.images['gBigPic'].src = galleryArray[num][2].src;
	document.getElementById('galleryLink').href = galleryArray[num][0];
}
	
function setPics(numPics){
	randArray.shuffle();
	for(i=1;i<numPics+1;i++){
		document.images['pic'+i].src = picsArray[randArray[i]].src;
		setElementOpacity('pic'+i,0);
		filterColor('pic'+i,1);
	}
}

function randNum(m,n){
	m = parseInt(m); n = parseInt(n);
	return Math.floor(Math.random()*(n-m+1))+m;
}

Array.prototype.shuffle = function( b ){
	var i = this.length, j, t;
	while( i ){
		j = Math.floor( ( i-- ) * Math.random() );
		t = b && typeof this[i].shuffle!=='undefined' ? this[i].shuffle() : this[i];
		this[i] = this[j];
		this[j] = t;
	}
	return this;
};

contWidth = 259;
timSpeed =  100;
speed = 2;
var scrollTO;

function b_left(){
    var gleft=document.getElementById('scrollBlock').offsetLeft;
    return gleft;
}


function makeScrollObj(obj,nest){
	nest=(!nest)? '':'document.'+nest+'.';
	this.css=eval("document.getElementById('"+obj+"').style");
	this.scrollWidth=eval("document.getElementById('"+obj+"').offsetWidth");
	this.left=b_left;
	return this;
}

function scrollText(obj,direction){
	clearTimeout(scrollTO);
	if (oScroll.scrollWidth >= contWidth) {
		if	((direction<0 && oScroll.left() > -oScroll.scrollWidth + contWidth) || (oScroll.left()<0 && direction>0))
		{
			oScroll.css.left=oScroll.left()+(speed*direction);
			scrollTO=setTimeout("scrollText('"+ obj + "', " +direction+")",  timSpeed);
   		} 
	}
}

function initScroller(){
	dc = eval("document.getElementById('scrollCont').style");
	dc.visibility='visible';
	oScroll = new makeScrollObj('scrollBlock','scrollCont');   
	oScroll.css.left=0;
}

// TourBarost

function createPopup(num){
	windowName = 'galleryWindow';
	WinFeatures = "top=50,left=50,width=850,height=700,Status=no,toolbar=no,menubar=no,location=no,directories=no,scrollbars=yes";
	w = window.open(num,windowName,WinFeatures);
}

function viewPage(page,allpages){
	for(i=1;i<allpages+1;i++){
		document.getElementById('prices'+i).style.display = "none";
		document.getElementById('linkprices'+i).className = "";
	}
	document.getElementById('prices'+page).style.display = "block";
	document.getElementById('linkprices'+page).className = "orange";
}

function switchLayer(layer){
	var layers_array = new Array('request','feedback');
	for(i=0;i<layers_array.length;i++){
		document.getElementById('block_'+layers_array[i]).style.display = 'none';
		document.getElementById('link_'+layers_array[i]).className = 'hs';
		}
	document.getElementById('block_'+layers_array[layer]).style.display = 'block';
	document.getElementById('link_'+layers_array[layer]).className = 'ahs';
}

function showLayer(layer){
	document.getElementById(layer).style.display = (document.getElementById(layer).style.display=='block')? 'none' : 'block';
}

function checkRequestForm(form) {
	f1 = document.forms[form].elements['field[text]'].value;
	f2 = document.forms[form].elements['field[name]'].value;
	f3 = document.forms[form].elements['field[phone]'].value;
	f4 = document.forms[form].elements['field[email]'].value;
	
	if (f1 == "") {
		alert("Введите, пожалуйста, Ваш запрос");
		return false;
	}
 	else if (f2 == "") {
		alert("Введите, пожалуйста, Ваше имя");
		return false;
	}
	else if (((f4 == "") || (f4.indexOf('@')<0) || (f4.indexOf('.')<0)) && f3 == "") {
		alert("Введите, пожалуйста, номер телефона или корректный e-Mail");
		return false;
	}
	else {
		return true;
	}
}

function checkFeedbackForm(form) {
	f1 = document.forms[form].elements['field[text]'].value;
	f2 = document.forms[form].elements['field[name]'].value;
	f4 = document.forms[form].elements['field[email]'].value;
	
	if (f1 == "") {
		alert("Введите, пожалуйста, Ваш запрос");
		return false;
	}
 	else if (f2 == "") {
		alert("Введите, пожалуйста, Ваше имя");
		return false;
	}
	else if (((f4 == "") || (f4.indexOf('@')<0) || (f4.indexOf('.')<0))) {
		alert("Введите, пожалуйста, корректный e-Mail");
		return false;
	}
	else {
		return true;
	}
}

function ajaxSelect(id) {
    var element = document.getElementById(id)
 
    var onLoaded = function(data) {
        var i=0;
        element.options[i++] = new Option("Любой", "")
		for(var key in data) {
            var label = data[key]
            element.options[i++] = new Option(label, key)
        }
    }
 
    var onLoadError = function(error) {
        var msg = "Ошибка "+error.errcode
        if (error.message) msg = msg + ' :'+error.message
        alert(msg)
    }
 
    var showLoading = function(on) {
        element.disabled = on
    }
 
    var onSuccess = function(data) {
        if (!data.errcode) {
            onLoaded(data)
            showLoading(false)        
        } else {
            showLoading(false)
            //onLoadError(data)            
        }
    }
 
 
    var onAjaxError = function(xhr, status){
        showLoading(false)
        var errinfo = { errcode: status }
        if (xhr.status != 200) {
            // может быть статус 200, а ошибка
            // из-за некорректного JSON
            errinfo.message = xhr.statusText
        } else {
            //errinfo.message = 'Некорректные данные с сервера'
        }
        //onLoadError(errinfo)
    }
 
 
    return {
        load: function(url) {
            showLoading(true)
 
            while (element.firstChild) {
                element.removeChild(element.firstChild)
            }
 
            $.ajax({ // для краткости - jQuery
                url: url,
                dataType: "json",
                success: onSuccess,
                error: onAjaxError,
                cache: false
            })
        }
    }
}

var videoArray = new Array();
var videoCurrent = 0;
function setVideo(num){
	if(num>=0 && num<videoArray.length){
		document.getElementById('block_video_subcontent').innerHTML = videoArray[num][0];
		document.getElementById('block_video_preview').style.backgroundImage = 'URL(/vthumb/'+videoArray[num][3]+'.jpg)';
		//document.getElementById('link_video').className = videoArray[num][2];
		document.getElementById('link_video').href = videoArray[num][1];
		document.getElementById('link_video').title = videoArray[num][0];
		document.getElementById('pic_video_bw').style.visibility = (num>0 && videoArray.length>1)? 'visible' : 'hidden';
		document.getElementById('pic_video_fw').style.visibility = (num<videoArray.length-1 && videoArray.length>1)? 'visible' : 'hidden';
		videoCurrent = num;
	}
}
