$(document).ready(Init);

var hoverlink = null;
var hovertime = null;

// Init page
function Init(){
    
    $("#department-list a").mouseover( function() {
	if (hoverlink == this)
	    return null;
	hoverlink = this;
	hovertime = new Date().getTime();
	var title = '';
	var el = $(this).find('img').get(0);
	if (el != null)
	    title = $(el).attr('title');
	else
	    title = $(this).text();

	if (title) {
	    $('#department-description').clearQueue();
	    $('#department-description').hide();
	    $('#department-description').css('opacity', 1);
	    $('#'+current_title).clearQueue();
	    $("#department-description").html(title);
	    $('#'+current_title).fadeOut(100);
	    $('#department-description').fadeIn(300);
	}
	return null;
    }).mouseout( function() {
	newhovertime = new Date().getTime();
	if (newhovertime < hovertime + 10)
	    return null;
	$('#'+current_title).delay(200).fadeIn(200, function(){ $('#'+current_title).css('opacity', 1); });
	$('#department-description').delay(200).fadeOut(100);
	hoverlink = null;
	return null;
    });


}


function settitle(title, add){
    if (add)
	document.title += title;
    else
	document.title = title;
}

function objectout(i){
    for(property in i) $("body").append(property +" - " + i[property]+ "<br/>" );
}

// Авозаполнение пустого поля на фокусе и потере фокуса
function focustextdefault(th, text, act) {
    if (act) {
	if (th.value == text)
	    th.value = '';
    } else {
	if (th.value == '')
	    th.value = text;
    }
}

//составление емайла из частей
function startmessage(e1, el, e2){
    if (!el)
	return;
    var m = e2+'@'+e1;
    el.href = 'mai'+'lto:'+m;
}


// Инициализируем скроллер работ в портфолио
function InitSmallScroller(item, start_ajax_loader){
    $(document).ready( function(){
	InitSmallScrollerStart(item);
	
	if (start_ajax_loader)
	    AjaxPortfolioLoaderInit();
    });
}
// Инициализируем скроллер работ в портфолио - начало
function InitSmallScrollerStart(item){

    var scroll_small = $("#works-gallery-preview").data("scrollable");
    var iconw = 78;
    var border_w = 234;
    var icons_cnt = scroll_small.getSize();
    var icons_cnt_screen = 8;
    var cur_icons_cnt_screen = icons_cnt;
    if (cur_icons_cnt_screen > icons_cnt_screen)
	cur_icons_cnt_screen = icons_cnt_screen;
    var show_cnt = 3;
    
    //var icons_right_point = icons_cnt*iconw;
    var icons_right_point = cur_icons_cnt_screen*iconw;
    $('#works-gallery-scroll-block').attr({'icons_rwm':icons_right_point, 'border_w':border_w, 'icons_cnt':icons_cnt, 'iconw':iconw, 'show_cnt':show_cnt,'cur_icons_cnt_screen':cur_icons_cnt_screen});

    var toitem = item;
    //toitem -= 2;
    if (toitem < 0)
	toitem = 0;
    SmallScrollGoto(toitem, "fast");

    //if (item < icons_cnt_screen) {
    if (item < 1) {
	$("#works-gallery-preview .left").addClass('disabled');
    }
    else if (item > icons_cnt - icons_cnt_screen)
	$("#works-gallery-preview .right").addClass('disabled');
    

    $('#works-gallery-scroll-block').click( function(i){
	
	// Берем все записанные данные
	var icons_right_point = $(this).attr('icons_rwm');
	var border_w = $(this).attr('border_w');
	var icons_cnt = $(this).attr('icons_cnt');
	var iconw = $(this).attr('iconw');
	var show_cnt = $(this).attr('show_cnt');
	
	var scroll_big = $("#works-gallery-block").data("scrollable");
	var scroll_small = $("#works-gallery-preview").data("scrollable");
	
	// Какой номер у первого показываемого итема в маленькой полосе
	var first_showed_icon_number = scroll_small.getIndex();
	
	// Текущая позиция ползунка
	var cur_left = parseInt($('#works-gallery-scroll-block .scroller').css('marginLeft'));

	// Номер самой левой иконки, которую нужно показать, на которую кликали
	var screen_item_click = 0;

	// расчитываем новую позицию ползунка
	var new_left = 0;
	var click_x = i.layerX;
	var click_y = i.layerY;
	if (!click_x)
	    click_x = i.offsetX;
	if (!click_y)
	    click_y = i.offsetY;

	var max_left_point = icons_right_point - border_w;

	// Если кликнули правее иконок 
	if (click_x >= max_left_point) {
	    icons_right_point = max_left_point;
	    new_left = max_left_point;
	} else {
	    screen_item_click = Math.ceil(click_x/iconw);
	    screen_item_click--;
	    new_left = screen_item_click * iconw;
	}
	
	if (new_left < 0)
	    new_left = 0;
	else if (new_left > max_left_point)
	    new_left = max_left_point;

	// Если позиция изменилась - двигаем ползунок
	if (new_left != cur_left)
	    SmallScrollerMove(new_left);
	
	// На основе позиции ползунка расчитываем какие элементы нужно показать вверху
	if (!screen_item_click)
	    screen_item_click = Math.ceil(new_left/iconw);
	
	// Уменьшаем на 1 позици - чтобы в место клика стала не левая часть трехтлеточного ползунка, а его центр
//	screen_item_click--;
	
	var gotonumber = first_showed_icon_number + screen_item_click;
	if (gotonumber < 0)
	    gotonumber = 0;
	if (gotonumber >= icons_cnt-show_cnt)
	    gotonumber = icons_cnt - show_cnt;
	scroll_big.seekTo(gotonumber, "slow");
	
    });
    
    $("#works-gallery-preview .prevsmall").click( function(){
	SmallIconsNewPage(this, -2);
	return false;
    });
    $("#works-gallery-preview .nextsmall").click( function(){
	SmallIconsNewPage(this, 2);
	return false;
    });
}

// Перемещаем ползунок к новой точке
function SmallScrollerMove(newleft) {
    $('#works-gallery-scroll-block .scroller').css('marginLeft', newleft+'px');
}

// Смещение маленькой ленты на len
function SmallIconsNewPage(th, len){
    var icons_cnt_screen = 8;
    var scroll_small = $("#works-gallery-preview").data("scrollable");
    var scroll_big = $("#works-gallery-block").data("scrollable");
    if (!scroll_small)
	return;
    //var first_showed_icon_number = scroll_small.getIndex();
    var first_showed_icon_number = scroll_big.getIndex();
    
    var newfirst = first_showed_icon_number;
    newfirst += len;
    
    var icons_cnt = scroll_small.getSize();
    
    if (newfirst < 0)
	newfirst = 0;
    
    SmallGalleryGoto(newfirst, "fast", scroll_small, icons_cnt);
    
    SmallScrollerMove(0);
    
    var maxiconpos = icons_cnt - icons_cnt_screen;
    
    
    scroll_big.seekTo(newfirst, "fast");
    
    
    
    // если нажали вправо
    if (len > 0) {
	if (newfirst >= maxiconpos)
	    $(th).addClass('disabled');
	if (newfirst > 0)
	    $("#works-gallery-preview .left").removeClass('disabled');
    } else {
	// Нажали влево
	if (newfirst < 1)
	    $(th).addClass('disabled');
	if (newfirst < maxiconpos)
	    $("#works-gallery-preview .right").removeClass('disabled');
    }
}

// просто прокручиваем нижнюю галлерею к нужному номеру
function SmallGalleryGoto(item, speed, api, icons_cnt){
    var icons_cnt_screen = 8;
    
    if (!icons_cnt) {
	if (!api)
	    api = $("#works-gallery-preview").data("scrollable");
	if (!api)
	    return;
    
	icons_cnt = api.getSize();
    }

    var maxiconpos = icons_cnt - icons_cnt_screen;
    
    //var first_showed_icon_number = api.getIndex();
    //var newfirst = first_showed_icon_number;
    //newfirst += len;
    newfirst = item;
    if (newfirst < 0)
	newfirst = 0;
    else
    if (newfirst >= maxiconpos)
	newfirst = maxiconpos;

    api.seekTo(newfirst, "fast");
    
    return newfirst;
}

// Прокручиваем нижнюю галлерею портфолио к нужному Номеру и двигаем ползунок
function SmallScrollGoto(item, speed){
    var newfirst = SmallGalleryGoto(item, speed, 0, 0);
    if (item < 1)
	return false;
    // Если дополнительно нужно сдвинуть ползунок вправо
    if (item > newfirst) {
	
	var iconw = 78;
	var icons_cnt_screen = 8;
	var show_cnt = 3;
	
	var scroller_first_item = item - newfirst;
	var max_scroller_first_item = icons_cnt_screen - show_cnt;
	if (scroller_first_item > max_scroller_first_item)
	    scroller_first_item = max_scroller_first_item;
	//scroller_first_item--;
	
	var scroller_pos = iconw * scroller_first_item;
	SmallScrollerMove(scroller_pos);
    }
    
}

// Инициализируем, чтобы по клику по картинке не грузилась новая страница, а подгружался только контент по Ajax
function AjaxPortfolioLoaderInit(){
    
    $("#works-gallery-block .gallery-small-img-box").click(function (){
	var click_id = $(this).attr('rel');
	if (!click_id)
	    return false;

	AjaxLoadNewPortfolioItem(click_id, this);

	return false;
    
    });
    
    $("#works-gallery-block .gallery-small-img-box").history(function(event, hash) {
	hash = hash.substring(1, hash.length);
	var el = $("#works-gallery-block .gallery-small-img-box[href='"+hash+"']");
	if (!el)
	    return false;
	var click_id = el.attr('rel');
	AjaxLoadNewPortfolioItem(click_id, el);
	return false;
    });

}

function AjaxLoadNewPortfolioItem(click_id, el){
    if (!click_id)
	return false;

    if (!el)
	el = $("#works-gallery-block .gallery-small-img-box[rel='"+click_id+"']");

    $.fancybox.showActivity();

    // Выделение тавим на текущий элемент
    $("#works-gallery-block .gallery-small-img-box").removeClass('active');
    $(el).addClass('active');

    $.getJSON("/ajaxdocs/portfolioitems.php?item="+click_id, function(data){
	var content_selector = 'div.portfolio-item-wide-block';
	
	inner = $(content_selector);
	
	inner.css('height', inner.innerHeight()+'px');
	inner.fadeOut("slow", function() {

	    inner.html( data.text ).fadeIn('fast', function(){
		$(el).css('height', 'auto');
		settitle(data.title);
		inner.css('height', 'auto');
	    });

	});

	$.fancybox.hideActivity();
    });
}

//  Показываем форму отправки вакансии
function VacancyFormShow(th){
    $("#vacancy-send-form-box").slideDown('fast');
    $(th).hide();
    return false;
}
