var msgNotify		= null;
var chkTimer		= null;
var act_mlt_lang	= null;
var tips			= null;

window.addEvent('domready', function() {
	if (window['mode'] != 'admin') {
	msgNotify 	= new NotificationsManager({
		'id':				'message-notify',
		'styles': {
			'width':		'250px',
			'left':			'180px'
		},
		'headerHTML':		window.translatedLabels['youHaveNewMessages'] + ':',
		'closeButtonHTML':	window.translatedLabels['markAllAsRead'],
		'onMouseOver': function() {
			chkTimer = $clear(chkTimer);
		},
		'onMouseOut': function() {
			chkTimer = checkMessages.periodical(10000);
		},
		'onHide': function() {
			new Request.JSON({
				'url': base_url + 'profile/markall.json'
			}).post();
		}
	});
	tips			= new Tips($$('.tip'));
	}

	if (document.getElementById('email')) {
		setInputAutoRemove('email', window.translatedLabels['email']);
	}
	if (document.getElementById('password-1')) {
		setInputAutoRemove('password-1', 'password');
	}
	if (document.getElementById('button-login')) {
		$('button-login').addEvent('click', function() {
			submitForm('frmLogin');
		});
	}
	if (document.getElementById('button-registration')) {
		$('button-registration').addEvent('click', function() {
			redirect('registration.html');
		});
	}
	if (document.getElementById('restore-email')) {
		setInputAutoRemove('restore-email', window.translatedLabels['email']);
	}
	if (document.getElementById('button-remind-password')) {
		$('button-remind-password').addEvent('click', function() {
			submitForm('frmRemind2');
		});
	}
});

window.addEvent('load', function() {
	if (window['mode'] != 'admin') {
		chkTimer = checkMessages.periodical(10000);

		Select.attach({
			'select':	'select-site-language',
			'cssClass':	'select_site_language'
		});
		$('select-site-language').addEvent('itemSelect', function(options) {
			changeSiteLanguage(options.value);
		});
	
		if (document.getElementById('select-rating-language')) {
			Select.attach({
				'select':	'select-rating-language',
				'cssClass':	'select_rating_language'
			});
			$('select-rating-language').addEvent('itemSelect', function(options) {
				changeRatingLanguage(options.value);
			});
		}
	}
});

function redirect(where) {
	if (where != undefined) {
		window.location.href = base_url + where;
	}
}

function checkMessages() {
	new Request.JSON({
		'url':			base_url + 'profile/checkNewInfo.json',
		'onComplete':	function(res) {
			if (!res) return 0;
			if (!res.info) {
				msgNotify.hide();
			}
			if (res.mes) {
				for	(var i=0; i<res.mes.length; i++) {
					msgNotify.addMessage({
						'id':			res.mes[i].message_id,
						'title':		res.mes[i].first_name,
						'description':	res.mes[i].content.substring(0, 15) + '...',
						'onTitleClick':	message.view.pass(res.mes[i])
					});
				}
			}
		}
	}).post();
}

function changeSiteLanguage(alias) {
	var path					= window.location.pathname;
	var i						= 0;

	while (!path.contains(siteLanguages[i], '/') && (++i < siteLanguages.length));

	window.location.pathname	= (i < siteLanguages.length) ? path.replace('/' + siteLanguages[i] + '/', '/' + alias + '/') : '/' + alias + path;
}

function changeRatingLanguage(alias) {
	window.location.search += ((window.location.search.length > 0) ? '&' : '?') + 'langRating=' + alias;
}

function setInputAutoRemove(input, value) {
	$(input).addEvents({
		'focus': function() {
			if (this.get('value') == value) {
				this.set('value', '');
			}
		},
		'blur': function() {
			if (this.get('value') == '') {
				this.set('value', value);
			}
		}
	}).set('value', value);
}

function submitForm(frmID) {
	$(frmID).submit();
}

function resetForm(frmID) {
	$(frmID).reset();
}

function mnu(t) {
	if (t=='p') {
		if ($('p1').getStyle('display') != 'none') {
			$('p1').setStyle('display', 'none');
			$('p2').setStyle('display', 'none');
			$('p3').setStyle('display', 'none');
			$('p4').setStyle('display', 'none');
			//$('p5').setStyle('display', 'none');
		} else {
			$('p1').setStyle('display', 'block');
			$('p2').setStyle('display', 'block');
			$('p3').setStyle('display', 'block');
			$('p4').setStyle('display', 'block');
			//$('p5').setStyle('display', 'block');
		}
	} else if (t=='c') {
		if ($('c1').getStyle('display') != 'none') {
			$('c1').setStyle('display', 'none');
			$('c2').setStyle('display', 'none');
			$('c3').setStyle('display', 'none');
		} else {
			$('c1').setStyle('display', 'block');
			$('c2').setStyle('display', 'block');
			$('c3').setStyle('display', 'block');
		}

	} else if (t=='s') {
		if ($('s1').getStyle('display') != 'none') {
			$('s1').setStyle('display', 'none');
			$('s2').setStyle('display', 'none');
		} else {
			$('s1').setStyle('display', 'block');
			$('s2').setStyle('display', 'block');
		}
	}
}

function user_add(uid, first_name, pos_id) {
	var cont = new Element('div', { 'id':'add_content', style: 'line-height:100%;'});
	new Element('div', {'class':'mb10'}).setHTML(translatedLabels['titleAdd']+'&nbsp;<b>'+first_name+'</b>&nbsp;'+translatedLabels['intoMyList']).inject(cont);

	var btnT = new Element('b', {'class':'but o_142 fleft mr10',	'id':'btnT'}).setHTML(translatedLabels['myTeachers']);
	var btnS = new Element('b', {'class':'but b_140 fleft',	'id':'btnS'}).setHTML(translatedLabels['myStudents']);

	btnT.inject(cont);
	btnS.inject(cont);
	new Element('div', {'class':'clear'}).inject(cont);

	Modal.show({
		'content':	cont,
		'title':	translatedLabels['addingUser']
	});

	$('btnT').addEvent('click', function(e) {
		Modal.showLoadingIcon();
		new Event(e).stop();
		new Request.JSON({
			'url':'profile/add_user.json',
			onComplete: function(res) {
				Modal.hide();
			}
		}).post({'second_id':uid, 'type':1});
	});
	$('btnS').addEvent('click', function(e) {
		Modal.showLoadingIcon();
		new Event(e).stop();
		new Request.JSON({
			'url':'profile/add_user.json',
			onComplete: function(res) {
				Modal.hide();
			}
		}).post({'second_id':uid, 'type':0});
	});
}

function user_remove(uid) {
	new Request.JSON({
		'url':'profile/remove_user.json',
		onComplete: function(res) {
			$('add'+uid).setStyle('display', 'block');
			$('remove'+uid).setStyle('display', 'none');
		}
	}).post({'second_id':uid, 'type':1});
}

function submitOnEnter(ev, el) {
	if (ev.keyCode == 13 && $(el)) {
		$(el).submit();
	}
}
/**
 *
 * @access public
 * @return void
 **/
function switch_elements(class_name, event){
	//console.log(event.target);
	$$('.'+class_name).each(function(item){
		if ($(event.target).get('checked')) {
			item.set('disabled', 'disabled');
		} else {
			item.erase('disabled');
		}
	});
}
/**
 * Switch tabs on page
 * @param {Object} elem
 * @param {Object} id
 */
function Slide(elem,id){
	$$('.buttons').getElements('span').each(function(el){el.removeClass('active');});
	elem.addClass('active');
	$$('.pages').each(function (el){
			el.removeClass('block');
			el.addClass('none');
	});
	$(id).removeClass('none');
	$(id).addClass('block');
}

function switchMltFieldLang(field_id_mask, lang_alias) {
	$$('span[id^='+field_id_mask+'lang-]').each(function(el) {
		var id = el.getProperty('id').match(field_id_mask+'lang-(.*)')[1];
		if(id == lang_alias) {
			$(field_id_mask + id).setStyle('display', 'inline');
			$(field_id_mask + 'lang-' + id).removeClass('tdu').addClass('tdn b');
			document.getElementById(field_id_mask + id).focus();
		} else {
			$(field_id_mask + 'lang-' + id).removeClass('tdn b').addClass('tdu');
			$(field_id_mask + id).setStyle('display', 'none');
		}
	});
}

function switchMltCounter(field_mask, lang_alias) {
	$$('span[id^='+field_mask+']').each(function(el) {
		el.setStyle('display', 'none');
	});
	if ($(field_mask+lang_alias)) {
		$(field_mask+lang_alias).setStyle('display', 'inline');
	}
}

function checkCounter(event, counter_mask, limit, mlt) {
	var element = event.currentTarget;
	var counter_id = counter_mask + ( mlt == undefined ? '' : mlt);
	
	var cont = $(element).get('value');
	if (cont.length > limit) {
		cont = cont.substring(0, 799);
		$(element).set('value', cont);
	}
	$(counter_id).setText(limit - cont.length);
}
