/**
* Project js Library
*/ 
function parseHash(event){

	var result = portal.hash.parse();
	if (result['id'] || result['url']){
		
		// additional parameters for the popup
		var popupParams = {
			'invite-friend' : {'width' : 690, 'callback': function(){$('.b-lightbox-inner').append('<div class="ico-invite-friends"></div>')}},
			'clock' : {'width' : 920},
			'about' : {'width' : 750, 'title_class' : 'about'},
			'login' : {'width' : 395, 'title_class' : 'login', 'close_text' : portal.mess.login_close},
			'all-tours' : {'title_class' : 'h', 'callback': function(){$('.tours-list-up').click(function(){popup.destroy(popup)})}}
		};
		
		// try to find params for current page
		var params = null;
		if (result['url']){
			for (var i in popupParams){
				if (result['url'].indexOf(i) != -1){
					params = popupParams[i];
					break;
				}
			}
		}		
				
		if (typeof popup != 'undefined') 	
			popup.destroy(popup);

		popup = new oPopupLayer({'insert_callback' : function (popup){
			$(popup.getContent()).find('form').addClass('frmAjx');
			portal.ajax.attach_forms(popup);
			$('#l-content .close').click(function(){popup.destroy(popup)}); 
			//$('#l-content form').jNice();
			//reinitScrollPane();
			if (params && typeof params.callback == 'function'){
				params.callback();
			}
			}, 
			'window' : params,
			'doch' : getClientHeight()});
		popup.create();
		portal.ajax.load(null, result, popup.insert);
			
	} else if ('print' in result){
		// adding new element to footer
		$(document.body).append('<a class="b-print-link" href='+document.location.href.replace(/#.+/, '')+'">'+document.location.href.replace(/#.+/, '')+'</a>');
		$(document.body).append($('.copy'));
		portal.print();
	} else if ('comments' in result){	
		// parsing comments page - add some timeout
		setTimeout("window['comments'][0].updPage('"+result['comments']+"')", 500);
	} else {
		var fmid = null;
		for (var i in result){
			if ((fmid = /^oFMailer_(.*)/i.exec(i)) && typeof(oFMailer[fmid[1]]) == 'object'){
				addMailerClick($('.b-send-friend')[0], fmid[1]);
				break;
			} else if (/^faq-(.*)/i.test(i)){
				showFAQ(i);
			}
		}
	}

}



// we need global namespace
oFMailer = {};

function addMailerClick(object, index){

	/*$('.b-fmailer-popup').remove();

	$('body').append('<div class="b-popup b-fmailer-popup top_reg_new sh_eml" id="oFMailer_'+index+'"><div class="bp-top top_reg_top"><a id="close" class="close" href="javascript:void(0);"></a><h5 class="b-mailer-ttl"></h5></div><div class="bp-cen top_reg_cen" id="b-fmailer-inner"></div><div class="bp-bot top_reg_bot"></div></div>');
	
//	$('.bg-dark').css('height', dh + 'px').css('width', dw+'px');	
	var abs = portal.dom.getAbsPosition(object);
	$('.b-fmailer-popup').css('left', $(object)[0].offsetLeft+'px').css('top', (abs.y+abs.h)+'px').css('display', 'block');
	$('.b-fmailer-popup .close').bind('click', function (){
		//$('.bg-dark').remove();
		//$('.b-fmailer-popup').remove();
		//portal.hash.clear();
		oFMailer[index].Close();
	});
	
	var ticket = portal.loader.create('b-fmailer-inner', {'mode' : 'float'});
	var container = {'insert' : function(e, data, callback){
		portal.loader.destroy(ticket);
		$('.b-mailer-ttl').html(data.title);
		$('#b-fmailer-inner').html(data.content).find('form').addClass('frmAjx');
		portal.ajax.attach_forms(container);
		//post_loading(container);
		// reinit jnice for forms
		//$('form.jNice').jNice();
	
	},
	'clear' : function(){
		$('#b-fmailer-inner').html('');
	},
	'destroy': function(){
		$('#b-fmailer-inner').html('');	
	}};
	
	//portal.ajax.load(event, result, container.insert, true);
	// checking for personal link exists
	var params = {'callback' : container.insert, 'container' : container};
	if (object.getAttribute('sendhref')){
		params['sendhref'] = object.getAttribute('sendhref');
	}
	
	oFMailer[index].addParams(params);
	oFMailer[index].Load();

	*/
	// additional parameters for the popup
	var params = {'width' : 440};

	if (typeof popup != 'undefined') 	
		popup.destroy(popup);

	popup = new oPopupLayer({
		'insert_callback' : function (popup){
			$(popup.getContent()).find('form').addClass('frmAjx');
			//portal.ajax.attach_forms(popup);

			$('#l-content .close').click(function(){popup.destroy(popup)}); 
			/*if (params && typeof params.callback == 'function'){
				params.callback();
			}*/
		}, 
		'window' : params,
		'doch' : getClientHeight()});
	popup.create();

	params = {'callback' : popup.insert, 'container' : popup};
	if (object.getAttribute('sendhref')){
		params['sendhref'] = object.getAttribute('sendhref');
	}
	
	oFMailer[index].addParams(params);
	oFMailer[index].Load();

}


/**
* reminde user login and password
*/
function remindLogin(){

	// check fields
	if ($_('fldControlWord').value == '' || $_('fldControlWord').value == 'control_word'){

		showError('logError2', 'cword_error'+'<br/>'+'<a href="">write_to_support</a>');		

	} else {
		var req = new JsHttpRequest();
		var ticket = portal.loader.create('logLoader');
			
		req.onreadystatechange = function (){
				
			if (req.readyState == 4){
				if (typeof ticket != "undefined")
					portal.loader.destroy(ticket);
				showHide('login_f');				

				if (req.responseJS.status == 1){					
					showError('logError2', 'email_from_support', true);
				} else {					
					showError('logError2', 'cword_error'+'<br/>'+'<a href="">write_to_support</a>');
				}
			}
		
		}
		// show uploader
		showHide('logLoader');
		showHide('login_f');
		
		req.open(null, '/ajax.php', true);
		req.send({'resource' : 'chckword',
			'cword' : $_('fldControlWord').value
			});
	}

}


/** time boxes and news collapse **/
var tb_state = portal.storage.get('project_tb_state');
function openAll(state){
	
	if (typeof state == 'undefined' || state === null)
		state = tb_state;
		
	if (!state){
		//$('#b-collapse-all span').addClass('active');
		$('.time_items .news_a').each(function(){
			if ($(this).next().css('display') != 'block'){
				openNews(this);
			}
		});
			
		tb_state = true;
		$('#b-collapse-all i').html(portal.mess.collapse.collapse);
	} else {
		$('#b-collapse-all span').removeClass('active');
		$('.time_items .news_a').each(function(){
			if ($(this).next().css('display') == 'block'){
				openNews(this);
			}
		});

		tb_state = false;
		$('#b-collapse-all i').html(portal.mess.collapse.uncollapse);
	}
	
	portal.storage.set('project_tb_state', tb_state);

}


function tabs(mask, ind, cls)
{
  $('.'+cls).each(function(){
    if($(this).attr('id').indexOf(mask+'_') != -1) $(this).removeClass(cls);
  });
  $('#'+mask+'_'+ind).addClass(cls);
  $('.'+mask).each(function(){
    if($(this).attr('id').indexOf(mask+'_cont_') != -1) $(this).css('display','none');
  });
  $('#'+mask+'_cont_'+ind).css('display','block');
}



/** open close comments 
* @param string $state 
*/
function comments_open_close(state){

	// determine state
	if (typeof state == 'undefined'){
		if (!window['comments'][0].getOpenState())
			state = 'open'
		else
			state = 'close';			
	}
	
	switch (state){	
	case 'close':
		$('#close_comm').addClass('up');
		$('.art_com_block').slideUp('fast');
		portal.storage.set('project_comm_close', 1);
		//window['comments'][0].setOpenState(false);
		break;
		
	case 'open':	
	    $('.art_com_block').slideDown('fast');    
	    $('#close_comm').removeClass('up');    
	    portal.storage.set('project_comm_close', 0);
		//window['comments'][0].setOpenState(true);
		break;
	}

}


/** dropdown **/
function showDrop(obj, selector, params) {
	if ($(selector).css('display') == 'none'){
		$(selector).show();
		// position drop after this object
		if (typeof params != 'undefined' && typeof params['reposition'] != 'undefined' && params['reposition']){
			obj = $(obj);
			var pa = obj.offset();
			$(selector).css('top', (pa.top + parseInt(obj.attr('offsetHeight')))+'px').css('left', pa.left+'px');
			$(selector).css('min-width', obj.attr('offsetWidth'));
		}
		if (typeof params != 'undefined' && typeof params.callback != 'undefined' && typeof params.callback.show == 'function'){
			params.callback.show();
		}			
		$('body').append('<div class="bg-clickable"></div>');
		$('.bg-clickable').click(function(){showDrop(obj, selector, params)});
	} else {
		$(selector).hide();
		$('.bg-clickable').remove();
		if (typeof params != 'undefined' && typeof params.callback != 'undefined' && typeof params.callback.hide == 'function'){
			params.callback.hide();
		}			
	}
}


function searchDrop(obj){
	showDrop(obj, '#search-mode-list', {'reposition':1, 'callback' : 
		{'show' : function(){$('.s-field').addClass('s-field-act')}, 
		'hide' : function(){$('.s-field').removeClass('s-field-act')}}});
	var off = $(obj).offset();	
	$('#search-mode-list').css('left', off.left-17);

}

function topDrop(obj, selector){
	showDrop(obj, selector);
	if (typeof $(selector+' strong').attr('binded') == 'undefined'){
		$(selector+' strong').attr('binded', 1);
		$(selector+' strong').click(function(e){showDrop(obj, selector); e.stopPropagation()});
	}
	// checking for width
	if ($(selector+' ul').length > 1){
		var w = 0;
		$(selector+' ul').each(function(){
			w += $(this).attr('offsetWidth');
		});
		$(selector+' div').css('width', w+$(selector+' ul').length*10+'px');
	}
	
}

webt_store = {};
webt_store.buy = function(){

	services-check

}


project = {};

project.oncheck = function(caller, state){

	if ($_('lbl-'+caller+'-ico')){
		$_('lbl-'+caller+'-ico').src = state ? skin_img_dir+'project/ico_done.png' : skin_img_dir+'project/ico_error_done.png';
	}
	if ($_('lbl-'+caller)){
		$('#lbl-'+caller+' .small-red').remove();
		if (!state) $('#lbl-'+caller).append('<p class="small-red">'+portal.mess.forms.fieldfailed+'</p>');
	}
}


/** setup list page **/
project.setupListPage = function() {
	// show/hide
	$('.b-minimize a').bind('click', function() {
		var title = $(this).attr('title');
		$(this).attr('title', $(this).html());
		$(this).html(title);

		var flag = $('.b-filter').css('display') != 'none';
		if(flag) {
			$(this).parent().addClass('b-maximize');
			$('.b-filter').slideUp();
			
			setCookie('b-filter-hide', 1);
		}else{
			$(this).parent().removeClass('b-maximize');
			$('.b-filter').slideDown();

			setCookie('b-filter-hide', 0);
		}
	});
	if(getCookie('b-filter-hide') > 0) {
		$('.b-minimize a').click();
	}

	
	$('.b-cats li').bind('click', function() {
		if($(this).attr('href')) {
			location.href = $(this).attr('href');
			return false;
		}

		var id = $(this).attr('id').replace('filter_cats_','');

		if($(this).hasClass('active')) {
			$(this).removeClass('active');	
			$('input[name="filter[cats]['+id+']"]').val(0);
		}else{
			$(this).addClass('active');
			$('input[name="filter[cats]['+id+']"]').val(1);
		}

		return false;
	});
	
	$('.modes .view a').unbind('click');
	$('.modes .view a').bind('click', function() {
		if($(this).hasClass('list')) {
			$('input[name="filter[view]"]').val(0);
		}else{
			$('input[name="filter[view]"]').val(1);
		}
		
		$('#f-filter').submit();
		return false;
	});

	$('.modes .sorts a').unbind('click');
	$('.modes .sorts a').bind('click', function() {
		var e = $(this);
		if(e.attr('id') == 'sort-price') {
			if(e.hasClass('asc')) {
				$('input[name="filter[sort]"]').val(-2);
			}else{
				$('input[name="filter[sort]"]').val(-1);
			}
		}else{
			if(e.hasClass('asc')) {
				$('input[name="filter[sort]"]').val(1);
			}else{
				$('input[name="filter[sort]"]').val(0);
			}
		}
		
		$('#f-filter').submit();
		return false;
	});	
}

/** setup add page **/
project.step = 1;
project.setupAddPage = function(){
	$('.shower').bind('click', function () {
		var step = $(this).attr('href').replace('#step','');
		if(step <= project.step+1 && $('#step'+step).css('display') == 'none') {
			$('.step').css('display', 'none');

			$('#step'+step).slideDown(400, function() {
				// scroll
				$.scrollTo($('#step'+step+'_h'), 400);
			});

			$('.b-variant').addClass('b-variant-grey');
			$('#step'+step+'_h').removeClass('b-variant-grey');
			
			if(step > project.step) {
				project.step++;
				$('#step'+step+'_h a').show();
			}
		}else if(step <= project.step+1 && $('#step'+step).css('display') != 'none') {
			// scroll
			$.scrollTo($('#step'+step+'_h'), 400);
		}
		
		location.hash = '';
		return false;
	});

	$('.hidder').bind('click', function () {
		var step = $(this).attr('href').replace('#step','');

		if($('#step'+step).css('display') == 'none') {
			$('#step'+(step-1)).slideUp(0, function() {
				$('*[class~="shower"][href="#step'+step+'"]').click();
			});
		}else{
			$('*[class~="shower"][href="#step'+step+'"]').click();
		}

		location.hash = '';
		return false;
	});
	
	$('.editer').bind('click', function () {
		$('#is_preview').val(0);
		$('*[class~="shower"][href="#step2"]').click();

		$('*[class~="shower"][href="#step3"]').show();
		$('#step3').show();
		$('*[class~="shower"][href="#step4"]').show();
		$('#step4').show();

		FieldsController.checkForm();
		location.hash = '';
		return false;
	});
	
	// cats
	//this.bindCats();
	
	// region
	$('*[name="ch_elem[region_pr]"]').bind('change', function() {
		var region_id = $(this).val();
		var city_id = $('*[name="ch_elem[region_id]"]').val();
		
		$.get(
			'/ajax.php?resource=regions',
			{
				parent: region_id,
				level: 2
			},
			function(json) {
				var html = '';
				var data = eval('('+json+')');
				var j = 0;
				
				project.cities = data;

				for(var i in data) {
					if(data[i].title) {
						html += '<option value="'+data[i].real_id+'"'+(data[i].real_id == city_id ? ' selected' : '')+'>'+data[i].title+'</option>';
						
						if(j == 0 || data[i].real_id == city_id) {
							$('#city_id_ttl').html(data[i].title);
						}

						j++;
					}
				}

				$('*[name="ch_elem[region_id]"]').html(html);
			}
		);
		
		$('#region_id_ttl').html(project.regions[region_id].title);
	});
	
	// city
	$('*[name="ch_elem[region_id]"]').bind('change', function() {
		var city_id = $(this).val();

		$('#city_id_ttl').html(project.cities[city_id].title);
	});
	
	// submit
	$('a.submit').bind('click', function() {	
		//$('.editer').click();

		$('#is_preview').val(1);
		$('#f-add-ads input[type="submit"]').click();
		return false;
	});
	
	// buttons
	$('.btn-next').bind('click', function() {
		$(this).children('a').click();
	});

	// del image link
	this.bindDelImages();	
}

project.chCats = {};
project.bindCats = function() {
	$('.b-cat li').unbind('click');
	$('.b-cat li').bind('click', function() {
		$(this).parent().children('li').removeClass('s');
		$(this).addClass('s');
		
		var lvl = parseInt($(this).parent().attr('id').replace('l-cat-',''));
		var id = parseInt($(this).children('a').attr('id').replace('cat-',''));
		if($('#l-cat-'+(lvl+1)).length > 0 && !isNaN(id) && typeof project.cats != 'undefined') {
			childs = project.cats[id].childs;
			types = project.cats[id].types;

			$('.b-cat img').attr('src', '/skin/img/project/ico_not_done.png');				
			$('#cat_id').val(0);
			$('#type_id').val('');
			$('#step2 .b-next').hide();

			for(var i=lvl+1; i<=4; i++) {
				$('#l-cat-'+i+' li').remove();
			}
			
			// add to ch cats, remove lvls
			for(var i in project.chCats) {
				if(i > lvl) {
					project.chCats[i] = '';
				}
			}
			
			project.chCats[lvl] = id;
			project.drawCatsPath();
			
			if(childs.length > 0) {				
				html = '';
				for(var i in childs) {
					var cat = project.cats[childs[i]];
					
					html += '<li'+(i==0 ? ' class="first"' : '')+'>';
					html += '<a href="javascript:void(0)" id="cat-'+cat.real_id+'">'+cat.title+'</a>';
					html += '</li>';
				}
				
				$('#l-cat-'+(lvl+1)).html(html);				
			}else{
				$('#cat_id').val(id);
				
				if(types.length > 0) {
				
					html = '';
					for(var i in types) {
						var type = project.types[types[i]];
						
						html += '<li'+(i==0 ? ' class="first"' : '')+'>';
						html += '<a href="javascript:void(0)" id="type-'+type.real_id+'">'+type.title+'</a>';
						html += '</li>';
					}
										
					$('#l-cat-4').html(html);
				}
			}
		}else if(isNaN(id)) {
			var id = parseInt($(this).children('a').attr('id').replace('type-',''));
			$('.b-cat img').attr('src', '/skin/img/project/ico_done.png');

			$('#type_id').val(id);
			$('#type_id_ttl').html(project.types[id].title);
			$('#step2 .b-next').show();
		}

		project.bindCats();		

		// click if type is 1
		if($('#l-cat-4 li').length == 1 && $('#l-cat-'+(lvl+1)).length > 0 && !isNaN(id) && typeof project.cats != 'undefined') {
			$('#l-cat-4 li:first').click();
		}

		return false;
	});
	
	$('.b-cat li a').unbind('click');
	$('.b-cat li a').bind('click', function() {
		return $(this).parent().click();
	});
};

project.drawCatsPath = function() {
	var html = '<ul class="b-navi">';

	var j = 0;
	for(var i in this.chCats) {
		if(this.chCats[i]) {
			if(j != 0) {
				html += '<li>&raquo;</li>';
			}
			
			html += '<li><a class="navi-'+(j==0 ? 'parent' : 'child')+'" href="'+project.cats[this.chCats[i]].href+'" target="_blank">'+project.cats[this.chCats[i]].title+'</a></li>';
			j++;
		}
	}
	
	html += '</ul>';
	
	$('#cat_id_ttl').html(html);
};

project.addFormImage = function(id, file, resp) {
	if(resp.picture) {
		html =  '<div class="b-photo">';
		html += '	<div class="b-prev-upload">';
		html += '		<div class="b-prev">';
		html += '			<img class="new-prev" src="'+resp.picture[4]+'" />';
		html += '		</div>';
		html += '	</div>';
		html += '	<div class="clr"></div>';
		html += '	<a class="delete" href="javascript:void(0);" id="pic'+resp.real_id+'">'+portal.mess.forms.remove+'</a>'
		html += '</div>';
		
		$('#b-uploaded').append(html);
		project.bindDelImages();
		
		if($('.b-photo').length > 12) {
			$('.b-new-photo').hide();
		}else{
			$('.b-new-photo').show();
		}
	}else if(resp.error) {
		alert(resp.error);
	}
}

project.bindDelImages = function() {
	$('#b-uploaded .delete').unbind('click');
	$('#b-uploaded .delete').bind('click', function() {
		var _c = this;
		$.post(
			'/ajax.php?resource=upload&rem='+$(this).attr('id').replace('pic',''),
			{},
			function() {
				$(_c).parent().remove();

				if($('.b-photo').length > 12) {
					$('.b-new-photo').hide();
				}else{
					$('.b-new-photo').show();
				}
			}
		);
	});
}

project.reposServiceRow = function(){

	// initialize row
	if (!project._init_repos){
		project._init_repos = {'stop' : $('.b-service-row').offset().top, 'pos' : 'abs'};
	}

	if (project._init_repos.pos == 'abs' && $(window).scrollTop() >= project._init_repos.stop){
		// redefine position
		$('.b-service-row').css('position', 'fixed').css('top', 0);
		project._init_repos.pos = 'fix';
	} else if (project._init_repos.pos == 'fix' && $(window).scrollTop() < project._init_repos.stop){
		$('.b-service-row').css('position', 'absolute').css('top', project._init_repos.stop);
		project._init_repos.pos = 'abs';
	}

}

project.gallery = {};

project.setupGallery = function(){
	$('.b-book-prev img:eq(0)').attr('src', '/skin/img/project/pdf.png');
	$('.b-book-prev img:eq(1)').attr('src', '/skin/img/project/pdf.png');

	if(!project.gallery.all) {
		project.u = $('#share_book').attr('share_url');
		project.h = $('#share_book').attr('href');
		
		project.gallery.pos = pg ? pg+1 : 1;
		project.gallery.all = 0;
		for(var i in this.images) {
			project.gallery.all++;
		}
	}
		
	$('.url-prev').unbind('click');
	$('.url-prev').bind('click', function() {
		project.gallery.pos -= 2;
		if(project.gallery.pos < 1) {
			project.gallery.pos = project.gallery.all;
		}

		project.setupGallery();
	});

	$('.url-next').unbind('click');
	$('.url-next').bind('click', function() {
		project.gallery.pos += 2;
		if(project.gallery.pos > project.gallery.all) {
			project.gallery.pos = 1;
		}

		project.setupGallery();
	});
	
	// set photo
	var j = 0;
	for(var i in project.images) {
		j++;
		//portal.debug.dump(project.gallery.pos);
		if(j == project.gallery.pos) {
			i = parseInt(i);
			
			$('.b-book-prev img:eq(0)').attr('src', this.images[i].picture[0]);
			if (typeof this.images[i+1] != 'undefined')
				$('.b-book-prev img:eq(1)').attr('src', this.images[i+1].picture[0]);
			

			var u;
			u = project.u.replace('_n_', i);
			$('#share_book').attr('share_url', u);

			var h;
			h = project.h.replace('_n_', i);
			$('#share_book').attr('href', h);
		}
	}
};

/**
* timer for sale
*/
project.setTimer = function(o) {
	Today = new Date();
	Todays_Year = Today.getFullYear() - 2000;
	Todays_Month = Today.getMonth();                  
	
	//Convert both today's date and the target date into miliseconds.                           
	Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(), 
	                     Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime();                                 
	Target_Date = (new Date(o.year, o.month - 1, o.day, o.hour, o.minute, 00)).getTime();                  
	
	//Find their difference, and convert that into seconds.                  
	Time_Left = Math.round((Target_Date - Todays_Date) / 1000);
	
	if(Time_Left < 0)
	Time_Left = 0;
	
    days = Math.floor(Time_Left / (60 * 60 * 24));
    Time_Left %= (60 * 60 * 24);
    hours = Math.floor(Time_Left / (60 * 60));
    Time_Left %= (60 * 60);
    minutes = Math.floor(Time_Left / 60);
    Time_Left %= 60;
    seconds = Time_Left;

    $('#'+o.id+' .t-days').html(days);
    $('#'+o.id+' .t-hours').html(hours);
    $('#'+o.id+' .t-minutes').html(minutes);
    $('#'+o.id+' .t-seconds').html(seconds);

	setTimeout(function() {
		project.setTimer(o);
	}, 1000);
}

/**
* on DOM ready
*/
project.pseudoArr = {};
project.pseudoReady = function(){

	// execute pseudo functions
	if (typeof pseudoArr != 'undefined' && pseudoArr != null)
		for(var i in pseudoArr) {
			pseudoArr[i]();
		}

	// main manage lists
	if($('.manage').length > 0) {
		$('.manage .l').bind('click', function() {
			var el = $('.b-next-tours .manage-list-act').prev();
			if(!el[0]) {
				el = $('.b-next-tours .manage-list:last');
			}
			
			$('.b-next-tours .manage-list').removeClass('manage-list-act');
			$(el).addClass('manage-list-act');
		});
		$('.manage .r').bind('click', function() {
			var el = $('.b-next-tours .manage-list-act').next();
			if(!el[0]) {
				el = $('.b-next-tours .manage-list:first');
			}
			
			$('.b-next-tours .manage-list').removeClass('manage-list-act');
			$(el).addClass('manage-list-act');
		});
	}
	
	// langs block
	if ($('.b-langs').length > 0){
		$('.b-langs span').click(function(e){
			if ($('#langs-popup').css('display') == 'block')
				$('#langs-popup').css('display', 'none');
			else
				$('#langs-popup').appendTo(document.body).css('left', $(this).offset().left+$(this).css('offsetWidth')-$('#langs-popup').css('offsetWidth')+'px').css('top', $(this).offset().top+$(this).css('offsetHeight')+13+'px').css('display', 'block');
		});
	}

	// tabs block
	if($('.manage-tabs').length > 0) {
		$('.manage-tabs li').bind('click', function() {
			if($(this).attr('href')) {
				location.href = $(this).attr('href');
			} else {
		
				var id = $(this).attr('id').replace('tab-','');
	
				$('.manage-tabs li').removeClass('act');
				$(this).addClass('act');
	
				$('.manage-cnts div.container').removeClass('container-act');
				$('#cnt-'+id).addClass('container-act');
			}
		});
	}

	// reports
	if($(".b-rep-all").length > 0 && $(".b-rep-all .items li").length > 3){	
		$(".b-rep-all .items").jCarouselLite({
			btnNext: ".b-rep-navi a:last",
			btnPrev: ".b-rep-navi a:first",
			visible: 3,
			pls: 40,
			circular: true
		});
	}

	// connecting to the input fields events
	var fields_defaults = {'#search_q' : '',
		'#full_search_q' : '',
		'#subscribe_email' : '',
		'#qa_fio' : '',
		'#qa_email' : '',
		'#s-keys' : '',
		'#s-keys2' : '',
		'.b-faq-form #title': '',
		'.b-faq-form #email': '',
		'.b-faq-form #post': '',		
		'.b-faq-form #descr': ''
		};
	
	for (var i in fields_defaults){
		fields_defaults[i] = $(i).attr('value');
		$(i).attr('reg', i);
		$(i).bind('focus', function(){
			if ($(this).attr('value') == fields_defaults[$(this).attr('reg')])
				$(this).attr('value', '');
			});
		$(i).bind('blur', function(){
			if ($(this).attr('value') == '')
				$(this).attr('value', fields_defaults[$(this).attr('reg')]);
			});
	}
	
	var popup;
	
	
	/** move text to the bottom fields **/
	if ($('#b-promo-text').length > 0 && $('#b-promo-src').length > 0){
		$('#b-promo-text').html($('#b-promo-src').html());
		$('#b-promo-src').remove();
	}
	
	
	/** work with categories lists **/
	if ($('.b-cat-container .more').length > 0){
	
		// hide all unnecessary
		$('.b-cat-container .more').each(function(){
			var id = $(this).attr('id').replace('more-', '');
			var comp_height = 0;
			$('#sub-'+id).children().each(function(){
				comp_height += parseInt($(this).attr('offsetHeight'));
			})
			if (comp_height < parseInt($('#sub-'+id).css('height'))){
				$(this).css('display', 'none');
			}
		});
	
		var cat_opened = {};
		$('.b-cat-container .more').click(function(){
			var id = $(this).attr('id').replace('more-', '');
			if (typeof cat_opened[id] && cat_opened[id]){
				// if opened  - close
				$('#sub-'+id).css('height', '');
				cat_opened[id] = false;
				$(this).removeClass('more-act');
			} else {
				$('#sub-'+id).css('height', 'auto');
				cat_opened[id] = true;
				$(this).addClass('more-act');
			}
		});
	}
	
	$('#search-mode-list li').each(function(){
		$(this).click(function(){
			$('#search-mode ins').html($(this).html());
			$('#b-search-mode').val($(this).attr('class'));
			showDrop(null, '#search-mode-list');
			$('.s-field').removeClass('s-field-act');
		});
	});

	$('.search-ex').click(function(){
		$('#search-q').val($(this).html());
	});
	
	

	/** comments **/
	/*$('#close_comm, #close_title').click(function(){
		comments_open_close();
	});
	
	// getting initial comments state 
	if (portal.storage.get('project_comm_close') && portal.storage.get('project_comm_close') == 1){
		comments_open_close('close');
	}*/
	if ($('.b-comm-add').length > 0){
		$('.b-comm-add').click(function(e){
			$.scrollTo('#add_comment_anchor', 300);
		});
	}
	

			
	// connect standart gallery
    if ($_('galleria')){
		Galleria.loadTheme('/js/jquery/galleria/src/themes/classic/galleria.classic.js');   
		$('#galleria').galleria({
			image_crop: 'height',
			height:547
		});
	}   

	
	/** auth **/
	$('.ajx, #more_enter, #more_reg, .b-login-link, .b-lost-password, .ic6').live('click', function (event){

		event.returnValue = false;
		event.preventDefault ? event.preventDefault() : '';
		
		if (typeof $(this).attr('p-href') == 'undefined')
			$(this).attr('p-href', $(this).attr('href')).attr('href', 'javascript:void(0);');
		
		portal.hash.set('#url='+$(this).attr('p-href'));
		parseHash(event);
	});


	$('.buy').live('click', function (event){

		event.returnValue = false;
		event.preventDefault ? event.preventDefault() : '';
		
		if (typeof $(this).attr('p-href') == 'undefined')
			$(this).attr('p-href', $(this).attr('href')).attr('href', 'javascript:void(0);');
		
		// collect all checkboxes
		var checks = [], check_str = '';
		if ($('.services-check').length > 0){
			$('.services-check').each(function(){
				if (this.checked){
					checks[checks.length] = $(this).attr('id').replace('id-', '');
				}
			});
			
			check_str = 'ids/'+(checks.length > 0 ? checks.join(',') : 'none') +'/';
			//portal.debug.dump(check_str);
		}
				
		portal.hash.set('#url='+$(this).attr('p-href')+check_str);
		parseHash(event);
		
	});
	
	$('#date_off').live('change', function (event){
		$_('total-sum').innerHTML = parseInt(this.options[this.selectedIndex].value)*parseFloat($_('goods_price').value);
	});


	
	
	

	// adding listener to the search form
	if ($('#b-search-form').length > 0){
		$('#b-search-form').bind('submit', function(e){
			e.returnValue = true;
			//e.preventDefault ? e.preventDefault() : '';
			$('#b-search-form').attr('action', '/lang/'+lang_nick+'/search/q/'+$(this).find("input[name='ch_elem[q]']").val());
			return e.returnValue;
		})
	}
	
	if ($('#b-mini-search-form').length > 0){
		
		// connect autocompleter
		var ac_apply_callback = function(ac, params) {
			document.location.href = '/lang/'+lang_nick+'/adverts/query/'+$('#search-q').val()+'/cat/'+($('#b-search-mode').val() != '' ? $('#b-search-mode').val() : 'all')+'/type/fast/';
		}
		
		var autocomplete = new objAutocompleter({
			"objid" : "search-q", 
			"loader_show" : false,
			'checkTout' : 200,
			'minchars' : 3,
			'nowait' : true,
			"ajxhref" : "/ajax.php?resource=ac", "callbacks" : {"apply" : ac_apply_callback}
			});

		$('#b-mini-search-form').bind('submit', function(e){
			e.returnValue = false;
			e.preventDefault ? e.preventDefault() : '';
			ac_apply_callback(null, null);
			return e.returnValue;
		})
	}
	
	

	// connect banner hider
		// connect maps api
	if ($('#b-map').length > 0 && $('#b-contact-image').length == 0){
		/*$('#b-map').css('width', '563px');
		$('#b-map').css('height', '330px');
		var map = new YMaps.Map(YMaps.jQuery("#b-map")[0]);
		map.setCenter(new YMaps.GeoPoint(30.501137, 50.448933), 21);
		//map.setType(YMaps.MapType.HYBRID);
		
		// create maps placement
		var placemark = new YMaps.Placemark(new YMaps.GeoPoint(30.501137, 50.448933), {style: "default#whitePoint"});
		placemark.name = '';
		placemark.description = $('#b-map .b-map-title').html();
		placemark.setIconContent($('#b-map .b-map-title').html());
		
		map.addOverlay(placemark); 
		
		map.enableRuler();
		map.addControl(new YMaps.Zoom());
        map.addControl(new YMaps.ToolBar());
        map.addControl(new YMaps.TypeControl());

		map.update();*/
	}
	
	
	/** append social services widget **/
	if ($('.b-social-services').length > 0){
	
		$(document.body).append($('.b-social-popup'));
		
		$('.b-social-services').click(function(){
			//$('.bg-dark').remove();
			$('.b-social-popup').css('left', $(this).offset()['left']+'px').css('top', $(this).offset()['top']+$(this).height()+'px').css('display', 'block');
			//return false;
		});
		
		$('.b-social-popup .close').click(function(){
			$('.b-social-popup').css('display', 'none');
			portal.hash.clear();
		});
	
	}
	
	// connect send to friend links
	if ($('.b-send-friend').length > 0){
		function f_click(el, index){
			$(el).click(function(e){addMailerClick(el, index)});
		}
		
		$('.b-send-friend').each(function (index, el){
			var i = index + 1;
			oFMailer[i] = new FMailer({'elem' : 'oFMailer'+i, 'add_id' : i, 'ajx_href' : document.location.pathname+'smphr/1/fmailer/yes'});
			f_click(el, i);
		});			
	}
		
	// update current date 
	if ($('.g-current-time').length > 0){
		var dt = new Date();
	    var d = (dt.getDate()).toString();
	    if (d.length < 2) d = "0"+d;

		$('.g-current-time')[0].innerHTML = d +' '+ portal.mess.monthes[dt.getMonth()] +' '+ dt.getFullYear();
	}
		
	// connect print links
	if ($('.b-ico-print').length > 0){
		$('.b-ico-print').click(function (){portal.print()});
	}
		
	// checking for input hash
	if (document.location.hash){
		parseHash();	
	} 
		
};


/** document ready function **/
portal.ready(function(){

	if ($('.b-service-row').length > 0){
		window.onscroll = project.reposServiceRow;
	}

	portal.banners.setup();	

	// connect gallery
	if(typeof pictures == 'object') {
		project.images = pictures;
		project.setupGallery();
	}
});
