var FAMFAM_URL = 'http://www.pomagalo.com:8080/index3/img/base/famfamfam_silk/';

//new  
//ajax functions
var ct = null; //current target to be filled later by distributeAsdistributeAsOptions
var t = null; //holds the timeouts

function GetXmlHttpObject() {
  var xmlHttp=null;
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    // Internet Explorer
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
  return xmlHttp;
}

var output = new Array();
var last_output = 0;
var xmlHttp = null;
function execute_ajax(method, url, params, onSuccess, onFailure)
{
	output[last_output] = null;

	xmlHttp=GetXmlHttpObject();
	
	xmlHttp.onreadystatechange = function() 
	{
		if(xmlHttp.readyState == 4 && xmlHttp.status == 200) 
		{
			output[last_output] = xmlHttp.responseText;
			if(onSuccess instanceof Function)
			{
				onSuccess(xmlHttp);
			}
		}
		else if(xmlHttp.readyState == 4 && xmlHttp.status != 200)
		{
			if(onFailure instanceof Function)
			{
				onFailure(xmlHttp);
			}
		}
	}

	switch(method)
	{
		case "GET":
			xmlHttp.open(method, url + "?" + params, true);
			xmlHttp.send(null);
			break;
		case "POST":
			xmlHttp.open(method, url, true);

			//Send the proper header information along with the request
			xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			xmlHttp.setRequestHeader("Content-length", params.length);
			xmlHttp.setRequestHeader("Connection", "close");

			xmlHttp.send(params);
			break;
	}
}

function fill_ajax_target(target, onum)
{
	if(output[onum] != null)
	{
		document.getElementById(target).innerHTML = output[onum];
		output[onum] = null;
	}
	else
	{
		setTimeout("fill_ajax_target('" + target + "', " + onum + ")", 100);
	}
}

var avo = false;  //already viewd online
function online_extras(tid, stopLog) {
	stopLog = stopLog || false;
	showPopup(MooTools.lang.get('js', 'viewOnline'));
	placeAjaxLoading('popup_content', 'big', MooTools.lang.get('js', 'pleaseWait'));
	new Request.HTML ({
		'url': '/ajax/materialGallery.php',
		'method': 'POST',
		'update': 'popup_content',
		'onSuccess': centerPopup,
		'data': {
			'tid': tid
		}
	}).send();
	
    if(execute_ajax && tid && (! avo) && ! stopLog) {
        avo = true;
        
        url = '/ajax/global.php';
        method = 'GET';
        params = 'act=svo&tid='+tid;
        
        execute_ajax(method, url, params);
    }
}

function distributeAsOptions(xmlHttp) {
	//if the global variable ct (current target) is set fill it
	
	var result = (xmlHttp.responseXML ? xmlHttp.responseXML.documentElement : null);
	var output = '';
	var tt = ct;
	ct = null;
	
	if(result && xmlHttp.responseText != "") {
		if(result.childNodes.length) {
			//check if schools are current
			if(!force_list && tt.id == "_sSchool" && document.getElementById('_sSchoolType') && document.getElementById('_sSchoolType').value == "1") {
				if(result.childNodes.length > 10) { 
					showSchoolsSuggester(); 
					tt=null;
					hideAjaxProgress();
					return; 
				}
				else { hideSchoolsSuggester(); }
			}
			else {
				force_list = false;
				hideSchoolsSuggester(); 
			}
			if(tt) {
					tt.innerHTML = "";
					var opt = document.createElement("option");
					opt.appendChild(document.createTextNode("- " + MooTools.lang.get('js', 'choose') + " -"));
					opt.setAttribute("value", 0);
					tt.appendChild(opt);
				}
			for(var i = 0; i < result.childNodes.length; i++) {
				output += '<option value="' + result.childNodes[i].childNodes[0].firstChild.data + '">' + 
				result.childNodes[i].childNodes[1].firstChild.data + '</option>'
				if(tt) {
					var opt = document.createElement("option");
					opt.appendChild(document.createTextNode(result.childNodes[i].childNodes[1].firstChild.data));
					opt.setAttribute("value", result.childNodes[i].childNodes[0].firstChild.data);
					tt.appendChild(opt);
				}
			}
			tt=null;
			hideAjaxProgress();
		}
	}
	hideAjaxProgress();
}

function showAjaxProgress(timeout) {
	if(document.getElementById("ajaxProgress")) {
		document.getElementById("ajaxProgress").style.display = "block";
	}
}

function hideAjaxProgress(timeout) {
	t = setTimeout(actualHideAjaxProgress, (timeout || 100));
}

function actualHideAjaxProgress() {
	if(document.getElementById("ajaxProgress")) {
		document.getElementById("ajaxProgress").style.display = "none";
	}
}

//input functions

var allowed_chars = Array();
var allowed_keys = Array();

allowed_chars["year"] = ",48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105,";
allowed_keys["year"] = ",8,9,37,39,";

allowed_chars["double"] = ",44,46,48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105,";
allowed_keys["double"] = ",8,9,37,39,";

allowed_chars["int"] = ",48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105,";
allowed_keys["int"] = ",8,9,37,39,";

function check_input(container, event, type)
{
	var all_chars = allowed_chars[type];
	var all_keys = allowed_keys[type];
	var key;

	if(event.keyCode)
	{
		key = event.keyCode;
	}
	else
	{
		key = event.charCode;
	}

	if(all_chars.indexOf("," + key + ",") == -1 && all_keys.indexOf("," + event.keyCode + ",") == -1 )
	{
		if(event.preventDefault)
		{
			event.preventDefault();
		}
		else
		{
			event.keyCode = 0;
		}
	}
}
//end of input functions

function checkInput(event) {
    var target = $(event.target);
    
    
    if  (! target) {
        return ;
    }
    
    var checkType = target.getAttribute('checkType');
    if (! checkType) {
        return ;
    }
    
    var all_chars = allowed_chars[checkType];
	var all_keys = allowed_keys[checkType];
    var key = event.code;


	if(all_chars.indexOf("," + key + ",") == -1 && all_keys.indexOf("," + key + ",") == -1 ) {
		event.stop();
	}
}

function isKeyCodeGoodForRequest (keyCode) {
    //non latin layouts
    if (keyCode == 0) {
        return true;
    }
    
    //numbers
    if (keyCode >= 48 && keyCode <= 57) {
        return true;
    }
    
    //letters
    if (keyCode >= 65 && keyCode <= 90) {
        return true;
    }
    
    if ($A([219, 220, 221, 222, 110, 186, 188, 190, 192, 8, 46]).contains(keyCode)) {
        return true;
    }
}

//string function

String.prototype.trim = function() 
{
	return this.replace(/^\s+|\s+$/g,"");
}

//end of string functions


//array functions
Array.prototype.in_array = function ( obj ) {
	var len = this.length;
	for ( var x = 0 ; x <= len ; x++ ) {
		if ( this[x] == obj ) return true;
	}
	return false;
}
//end of array functions

function getDocumentScroll() {
	var browser = navigator.userAgent;
	var scroll = 0;
	/*if(browser.indexOf("MSIE 6") !== -1) { scroll = document.documentElement.scrollTop; }
	else if(browser.indexOf("MSIE 7") !== -1) { scroll = document.getElementsByTagName('body').item(0).scrollTop; }
	else { scroll = document.getElementsByTagName('body').item(0).scrollTop; }*/
	scroll = document.documentElement.scrollTop || document.body.scrollTop; // body for Safari

	return {top: scroll};
}

/* Download page - report bug with text */
function reportTextProblem(text_id, problem_id) {
	if (problem_id == 0) {
    	var bugForm = '<div style="margin-left:10px; font-weight:bold;">' + MooTools.lang.get('js', 'specifyProblem') + ':</div>'+
    	'<ul style="margin: 0px 0px 10px 10px; list-style-type: none;">'+
    	'<li style="margin-top:5px;"><a class="blue hover_u" href="javascript:;" onclick="reportTextProblem('+text_id+', 1);">' + MooTools.lang.get('js', 'unableToDownloadDocument') + '</a></li>'+
    	'<li style="margin-top:5px;"><a class="blue hover_u" href="javascript:;" onclick="reportTextProblem('+text_id+', 2);">' + MooTools.lang.get('js', 'unableToOpenDocument') + '</a></li>'+
    	'<li style="margin-top:5px;"><a class="blue hover_u" href="javascript:;" onclick="reportTextProblem('+text_id+', 3);">' + MooTools.lang.get('js', 'wrongDocumentTitle') + '</a></li>'+
    	'<li style="margin-top:5px;"><a class="blue hover_u" href="javascript:;" onclick="reportTextProblem('+text_id+', 4);">' + MooTools.lang.get('js', 'corruptedDocumentContents') + '</a></li>'+
    	'</ul>';
		showPopup(MooTools.lang.get('js', 'reportDocumentProblem'), bugForm);
	}
	else {
		//hide flybox and send ajax request

		var req = new Request({  
			method: 'get',  
			url: '/ajax/textsReportProblem.php',
			data: { 
				'id' : problem_id,
				'text_id' : text_id
			},  
			onRequest: function() { $('popup_content').set('html', '<b>' + MooTools.lang.get('js', 'problemReportThanks') + '</b>') },  
			onComplete: function(response) { 
				$('reportBugLink').setStyle('display', 'none')
			}  
		 }).send(); 		

		 setTimeout('popupClose()', 2000);
	}
}

var VER_IMG_ID = null;
function activateReloadVerImg(imgContainerId, triggerContainerId) {
    if (! document.getElementById(imgContainerId) || ! document.getElementById(triggerContainerId)) {
        return false;
    }
    
    VER_IMG_ID = imgContainerId;
    var imgCont = document.getElementById(imgContainerId);
    var trigCont = document.getElementById(triggerContainerId);
    
    trigCont.onclick = function () {
        var method = 'GET';
    	var url = '/ajax/genVerImg.php'; 
    	var param = 'i=1';
    	
    	execute_ajax(method, url, param, updateVerImg);
    }
}

function updateVerImg(xmlHttp) {
    if  (xmlHttp && xmlHttp.responseText != '') {
        document.getElementById(VER_IMG_ID).src = xmlHttp.responseText;
    }
}

function isGsm(value) {
    if  (! value) {
        return false;
    }
    
    var re = new RegExp('^(0|359)[0-9]{9}$');
	if(! re.test(value)) {
		return false;
	}
	
	return true;
}

var dtElements = [];
var dtTextColor = '#979797';
var dtFontSize = '12px';
var dtDefColor = '#000';
var dtDegFontSize = '12px';

function dtOnBlur() {
    if (this.el.value.trim() == '') {
        this.el.setStyles({ 
//            'font-size': dtFontSize,
            'color': dtTextColor
        });
        
        this.el.value = this.text;
    }
}

function dtOnFocus() {
    if (this.el.value.trim() == this.text) {
        this.el.value = '';
        
        this.el.setStyles({ 
//            'font-size': this.fontSize,
            'color': this.color
        });
    }
}

function addDefaultText(elementId, dText) {
    dText = dText.toString().trim();
    var element = $(elementId);
    if  (element && $defined(element.value)) {
        dtElements[elementId] = new Hash ({
           el: element, 
           color: element.getStyle('color') || dtDefColor, 
           text: dText
        });
        
        element.addEvent('focus', dtOnFocus.create({ bind: dtElements[elementId] }));
        element.addEvent('blur', dtOnBlur.create({ bind: dtElements[elementId] }));
        element.addEvent('keydown', dtOnFocus.create({ bind: dtElements[elementId] }));
        
        if (element.value.trim() == '' && ! element.getAttribute('dtDontAutoStyle')) {
            element.value = dText;
            element.setStyles({ 
                'font-size': dtFontSize,
                'color': dtTextColor
            });
        }
    }
}

function getDefaultText(elementId) {
    return dtElements[elementId] ? dtElements[elementId].get('text') : null;
}

function changeDefaultText(elementId, newText) {
    if (! dtElements[elementId]) {
        return;
    }
    var el = $(elementId);
    var ot = dtElements[elementId].get('text');
    
    dtElements[elementId].set('text', newText);
    if (el.value == ot) {
        el.value = newText;
    }
}


function placeAjaxLoading(el, size, text) {
	var target = $(el);
	if (! target) {
	    return;
	}
	
    var tc = target.getCoordinates();
    
    if (tc.height < 40) {
    	var loadingBar = '<div class="ajaxL"><center><img style="margin:10px; display:block;" src="http://www.pomagalo.com:8080/index3/img/blueSkin/loading_'+size+'.gif">'+text+'</center></div>';
    	target.set('html', loadingBar);	
    	
    	return;
    }
    
    var cover = new Element('div', {
        'class': 'ajaxL',
        'styles': {
            'opacity': 0.8,
            'background-color': '#ffffff',
            'height': tc.height - 40 + 'px',
            'width': tc.width + 'px',
            'text-align': 'center',
			'padding-top': '40px'
        }
    });

    var li = new Element('img', {
        'src': 'http://www.pomagalo.com:8080/index3/img/blueSkin/loading_'+size+'.gif'
    });
    var te = new Element('div', {
       'text': text
    });
    cover.adopt(li, te);
    
	target.empty();
    target.grab(cover);
}
function hideAjaxLoading(el) {
    var target = $(el);
    var al = target.getElement('.ajaxL');
    
    if (al) {
        al.destroy();
    }
}

function newPopupAddEvent(modName,name,additional) {
	if(additional) {
		showPopup('','','setDlndClose');
	} else {
		showPopup();
	}
	loadPlugin({
		'target' : {
			'rData': {
				'rpn': modName, 
				'rut': 'popup_content', 
				'rpcp': {
					'name': 'popup_' + name, 
					'templateFilename': 'html/base/common/popup/' + name, 
					'mode': 2,
					'additional' : additional
				}
			},
			'qs': 'message='
		}
	});
	
	return;
}

function newPoll() {
	showPopup();
	loadPlugin({
		'target' : {
			'rData': {
				'rpn': 'pluginsSystemAddpoll', 
				'rut': 'popup_content', 
				'rpcp': {
					'name': 'popup_addpoll', 
					'templateFilename': 'html/base/common/popup/addpoll', 
					'mode': 2
				}
			},
			'qs': 'message='
		}
	});
	
	return;
}

function placeEmo(el, cont) {
	$(el).value += cont+' ';
	
	if ($('wallEmos')) {
		$('wallEmos').setStyle('display', 'none');
		$(el).focus();
	}
	
}

function rateUniversity(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/universitiesHomepage.php',
		data: { 
			'rateNew' : id
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
			 centerPopup();
		 }  
	 }).send();
	 
	showPopup(MooTools.lang.get('js', 'rateUniversity'), '');
}

function rateSchool(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/schoolsHomepage.php',
		data: { 
			'rateNew' : id
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
			 centerPopup();
		 }  
	 }).send();
	 
	showPopup(MooTools.lang.get('js', 'rateSchool'), '');
}

function rateTeacher(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/teachers.php',
		data: { 
			'rateNew' : id
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
			 centerPopup();
		 }  
	 }).send();
	 
	showPopup(MooTools.lang.get('js', 'rateTeacher'), '');
}

function rateProfessor(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/professors.php',
		data: { 
			'rateNew' : id
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
			 centerPopup();
		 }  
	 }).send();
	 
	showPopup(MooTools.lang.get('js', 'rateProfessor'), '');
}

function askLogin(text, action, additional, container) {
	showPopup();
	
	var rData = $H({
		'rpn': 'pluginsSystemLoginTabs', 
		'rut': 'popup_content',
		'rpcp': {
			'name': 'popup_login',
			'action': action || null,
			'templateFilename': 'html/base/common/popup/login', 
			'mode': 2
		}
	});
	
	if (additional) {
		var at = $type(additional);
		if ('string' == at) {
			var el = $(additional);
			
			if ('form' == el.get('tag')) {
				additional = el.toQueryString().parseQueryString();
			}
		}

		if ('object' == $type(additional)) {
			rData.set('toPost', JSON.encode(additional));
		}
	}
	
	loadPlugin({
		'target' : {
			'rData': rData,
			'qs': 'message=' + text + '&'
		}
	});
	
	return;
}

function askRegister (text, action, additional) {
	showPopup();
	
	var rData = $H({
		'rpn': 'pluginsSystemLoginTabs', 
		'rut': 'popup_content',
		'rpcp': {
			'name': 'popup_login',
			'action': action || null,
			'templateFilename': 'html/base/common/popup/login', 
			'mode': 2,
			'curplg': 1
		}
	});
	
	if (additional) {
		var at = $type(additional);
		if ('string' == at) {
			var el = $(additional);
			
			if ('form' == el.get('tag')) {
				additional = el.toQueryString().parseQueryString();
			}
		}

		if ('object' == $type(additional)) {
			rData.set('toPost', JSON.encode(additional));
		}
	}
	
	loadPlugin({
		'target' : {
			'rData': rData,
			'qs': 'message=' + text + '&'
		}
	});
	
	return;
}

function askLoginMaterialView () {
	askLogin('materialViewOnline');
}

function askRegisterMaterialView () {
	askRegister('materialViewOnline');
}

function askLoginMaterialDownload () {
	askLogin('downloadMaterial');
}

function newPaymentMaterialView () {
	newPayment('download', 'popup_content');
}

function newPaymentMaterialDownload () {
	newPayment('download', 'popup_content');
}

function showQuickRegistration () {
	showPopup();
	
	var rData = $H({
		'rpn': 'pluginsSystemRegistration', 
		'rut': 'popup_content', 
		'rpcp': {
			'tplFilename': 'html/base/common/popup/fastreg',
			'fldSeg': 4 | 8 | 16 | 64
		}
	});
	
	loadPlugin({
		'target' : {
			'rData': rData
		}
	});
	
	return;
}

function reportTeacherProblem(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/teachers.php',
		data: { 
			'reportProblem' : id
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
		 }  
	 }).send();
	 
	showPopup(MooTools.lang.get('js', 'teacherProblem'), '');
}


function reportProfessorProblem(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/professors.php',
		data: { 
			'reportProblem' : id
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
		 }  
	 }).send();
	 
	showPopup(MooTools.lang.get('js', 'teacherProblem'), '');
}


function schoolsCreateAlbum(school) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/schoolsHomepage.php',
		data: { 
			'newAlbum' : school
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
		 }  
	 }).send();
	 
	showPopup(MooTools.lang.get('js', 'createNewAlbum'), '');
	
}

function schoolsAddAlbumPicture(album) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/schoolsHomepage.php',
		data: { 
			'newPicture' : album
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
		 }  
	 }).send();
	 
	showPopup('', '');
	
}

function universitiesAddAlbumPicture(album) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/universitiesHomepage.php',
		data: { 
			'newPicture' : album
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
			 centerPopup();
		 }  
	 }).send();
	 
	showPopup('', '');
	
}


function boardQuote(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/schoolsHomepage.php',
		data: { 
			'boardQuote' : id
		},  
		onComplete: function(response) {  
			$('commentArea').value += response+"\n\r\n\r";
			$('commentArea').focus();
		 }  
	 }).send();
}


function bonerQuote(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/schoolsHomepage.php',
		data: { 
			'bonerQuote' : id
		},  
		onComplete: function(response) {  
			$('commentArea').value += response+"\n\r\n\r";
			$('commentArea').focus();
		 }  
	 }).send();
}

function bonerUniversityQuote(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/universitiesHomepage.php',
		data: { 
			'bonerQuote' : id
		},  
		onComplete: function(response) {  
			$('commentArea').value += response+"\n\r\n\r";
			$('commentArea').focus();
		 }  
	 }).send();
}

function universityBoardQuote(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/universitiesHomepage.php',
		data: { 
			'boardQuote' : id
		},  
		onComplete: function(response) {  
			$('commentArea').value += response+"\n\r\n\r";
			$('commentArea').focus();
		 }  
	 }).send();
}

function schoolsNewThread(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/schoolsHomepage.php',
		data: { 
			'schoolsNewThread' : id
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
		 }  
	 }).send();
	 
	showPopup('', '');
}

function universitiesNewThread(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/universitiesHomepage.php',
		data: { 
			'universitiesNewThread' : id
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
			 centerPopup();
		 }  
	 }).send();
	 
	showPopup('', '');
}

function newBoner(city_id,id,school_type) {

	var req = new Request.HTML({
		method: 'post',  
		url: '/ajax/newBoner.php',
		data: { 
			'newBoner' : id,
			'cityId' : city_id,
			'schoolType' : school_type
		},  
		update: 'popup_content',
		onSuccess: function() { centerPopup();}
	 }).send();
	 
	showPopup('', '');
}

function changeBonerSchoolType() {
	var schoolType = $('textSchoolTypeBoner').value;
	if(schoolType==1){
		$('_bonerName_teacher').setStyle('display', 'none');
		$('_bonerType_teacher').setStyle('display', 'none');
		$('_bonerName_pupil').setStyle('display', 'table-row');
		$('_bonerType_pupil').setStyle('display', 'table-row');
		$('_bonerText').setStyle('display', 'table-row');
		//$('_bonerTitle').setStyle('display', 'table-row');
	}
	else if(schoolType==2) {
		$('_bonerName_teacher').setStyle('display', 'table-row');
		$('_bonerType_teacher').setStyle('display', 'table-row');
		$('_bonerName_pupil').setStyle('display', 'none');
		$('_bonerType_pupil').setStyle('display', 'none');
		$('_bonerText').setStyle('display', 'table-row');
		//$('_bonerTitle').setStyle('display', 'table-row');
	}	
	else{
		$('_bonerName_teacher').setStyle('display', 'none');
		$('_bonerType_teacher').setStyle('display', 'none');
		$('_bonerName_pupil').setStyle('display', 'none');
		$('_bonerType_pupil').setStyle('display', 'none');
		$('_bonerText').setStyle('display', 'none');
		//$('_bonerTitle').setStyle('display', 'none');
	}
	centerPopup();
}

function schoolsNewTeacher(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/schoolsHomepage.php',
		data: { 
			'schoolsNewTeacher' : id
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
			 centerPopup();
		 }  
	 }).send();
	 
	showPopup(MooTools.lang.get('js', 'addNewTeacher'), '');
}

function universityNewProfessor(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/universitiesHomepage.php',
		data: { 
			'universityNewProfessor' : id
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
		 }  
	 }).send();
	 
	showPopup(MooTools.lang.get('js', 'addNewTeacher'), '');
}

function favoriteTeacher(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/teachers.php',
		data: { 
			'favoriteTeacher' : id
		},  
		onComplete: function(response) {  
			var tmp = response.split('###');
			 $('favoriteTeacherBtn').set('html', tmp[0]);
			 $('teacherAlert').set('html', tmp[1]);

			 $('teacherAlert').style.display = '';
			 setTimeout('doDisplay($(\'teacherAlert\'), \'none\')', 3000)
			 
		 }  
	 }).send();
}

function favoriteTeacherDel(id) {
	if (confirm(MooTools.lang.get('js', 'confirm'))) {
		var req = new Request({
			method: 'post',  
			url: '/ajax/teachers.php',
			data: { 
				'favoriteTeacher' : id
			},  
			onComplete: function(response) {  
				$('favoriteRow'+id).destroy();
							 
				$$('table.school_search tr').each(function(el,i) {	
							var _class = i % 2 ? '' : 'gray';
							el.addClass(_class);
						})			 
			 }  
		 }).send();
	}
}

function favoriteProfessor(id) {

	var req = new Request({
		method: 'post',  
		url: '/ajax/professors.php',
		data: { 
			'favoriteProfessor' : id
		},  
		onComplete: function(response) {  
			var tmp = response.split('###');
			 $('favoriteProfessorBtn').set('html', tmp[0]);
			 $('professorAlert').set('html', tmp[1]);

			 $('professorAlert').style.display = '';
			 setTimeout('doDisplay($(\'professorAlert\'), \'none\')', 3000)
			 
		 }  
	 }).send();
}

function favoriteProfessorDel(id) {

	if (confirm(MooTools.lang.get('js', 'confirm'))) {
		var req = new Request({
			method: 'post',  
			url: '/ajax/professors.php',
			data: { 
				'favoriteProfessor' : id
			},  
			onComplete: function(response) {  
				$('favoriteRow'+id).destroy();
							 
				$$('table.school_search tr').each(function(el,i) {	
							var _class = i % 2 ? '' : 'gray';
							el.addClass(_class);
						})			 
			 }  
		 }).send();
	}
}

function friend(act, id, username, hide, side) {
	if (side == '') {
		var side = 0;
	}
	if (act == 'remove') {
		 new PopupConfirm({
            'message': MooTools.lang.get('js', 'confirmFriendRemove').substitute({'username': (username ? username : MooTools.lang.get('js', 'selectedUser'))}),
            'events': {
                'ok': function () {
    					var req = new Request({
    						method: 'post',  
    						url: '/ajax/profile.php',
    						data: { 
    							'act' : act,
    							'id' : id,
    							'hide' : hide
    						},  
    						onComplete: function(response) {  
    								if (side == 0) {
    									$(hide).destroy();
    								}
    								else {
    									placeAjaxLoading(hide, 'small', MooTools.lang.get('js', 'pleaseWait'));
    									loadSidePanelRecommendedFriends();
    								}
    						 }  
    					 }).send();
                }
            }
           }).show();	
	} else if (act == 'never') {
	    new PopupConfirm({
            'message': MooTools.lang.get('js', 'removeFriendRecommendWarn').substitute({'username': username}),
            'okText': MooTools.lang.get('js', 'removeRecommend'),
            'cancelText': MooTools.lang.get('js', 'close'),
            'events': {
                'ok': function () {
    					var req = new Request({
    						method: 'post',  
    						url: '/ajax/profile.php',
    						data: { 
    							'act' : act,
    							'id' : id,
    							'hide' : hide
    						},  
    						onComplete: function(response) {  
    						    var rfb = $(hide);
    						    var hideFn = rfb.getParent('#recommendSidePanelContainer').getChildren().length == 2 
    					              ? function () { var b = top.$(rfb.getParent('#recommendedFriendContainer')); rfb.getParent('div').destroy(); b.slide('out'); b.getParent('div').getNext().fade('out'); } 
    					              : function () {rfb.getParent('div').destroy()} ;
    					   
    					       new Fx.Slide(rfb).slideOut().chain(hideFn);
    						 }  
    					 }).send();
                }
            }
           }).show();
	}
	else {
    	var req = new Request({
    		method: 'post',  
    		url: '/ajax/profile.php',
    		data: { 
    			'act' : act,
    			'id' : id
    		},  
    		onComplete: function(response) {  
    			if (hide != '') {
    				if (side == 0) {
    					$(hide).destroy();
    				}
    			}
    		 }  
    	 }).send();
	}		
}


function reportCommentProblem(type, id) {

 new PopupConfirm({
            'message': MooTools.lang.get('js', 'reportComentProblemConfirm'),
            'events': {
                'ok': function () {
							var req = new Request({
								method: 'post',  
								url: '/ajax/reportComment.php',
								data: { 
									'type' : type,
									'id' : id
								},  
								onComplete: function(response) {  
									 $('comment'+id).set('html', response);
								 }  
							 }).send();
                }
            }
           }).show();	
}


function loadSidePanelRecommendedFriends() {
	if ($('recommendSidePanelContainer')) {
		
		var req = new Request.HTML({
			method: 'post',  
			url: '/ajax/profile.php',
			update: 'recommendSidePanelContainer',
			data: { 
				'act' : 'loadSidePanelRecommendedFriends' 
			},  
			onComplete: function(response) {
				 $('recommendSidePanelContainer').slide('in');
	
				if (response == '') {
					$('recommendedFriendContainer').destroy();
					$('recommendedFriendContainerFoot').destroy();
				}
			}
		 }).send();
	}
	else {
		$('addFriendLink').destroy();
	}
}


function bugReportNew() {

	var req = new Request({
		method: 'post',  
		url: '/ajax/system.php',
		data: { 
			'bugReport' : 1
		},  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
			 centerPopup();
		 }  
	 }).send();
	 
	showPopup(MooTools.lang.get('js', 'reportProblem'), '');
}


/* PM start */
function checkPmUsername() {

	var req = new Request({
		method: 'post',  
		url: '/ajax/pm.php',
		data: { 
			'checkUsername' : $('receiver').value
		},  
		onComplete: function(response) {  
			$('receiverInfo').set('html', response);	
		 }  
	 }).send();
}
/* PM end */

/* teachers */
function check_warn_admin() {
	if( document.teacher_error.problem.value == "0" ) {
		alert(MooTools.lang.get('js', 'specifyProblem'));
		return false;
	}
	if (!document.teacher_error.note.value) {
		alert(MooTools.lang.get('js', 'specifyCritique'));
		return false;
	}
	return true;
}
function choice_word(what) {
	if (what == 1) { msg = "<small style='color:red;'>" + MooTools.lang.get('js', 'specifyTeacherSchool') + "</small>"; }
	else if (what == 2) { msg = "<small style='color:red;'>" + MooTools.lang.get('js', 'specifyTeacherSubject') + "</small>"; }
	else if (what == 3) { msg = "<small style='color:red;'>" + MooTools.lang.get('js', 'specifyTeacherName') + "</small>"; }
	else { msg = ""; }
	document.getElementById('choice_description').innerHTML = msg;
}

function choice_word_p(what) {
	choice_word(what);
}


function doDisplay(el, make) {
	el.style.display = make;
}

var zSigns = null;
function initZSigns () {
	zSigns = [
	    [21, 3, 20, 4, MooTools.lang.get('zodiac', 'Aries')],
	    [21, 4, 20, 5, MooTools.lang.get('zodiac', 'Taurus')],
	    [21, 5, 21, 6, MooTools.lang.get('zodiac', 'Gemini')],
	    [22, 6, 22, 7, MooTools.lang.get('zodiac', 'Cancer')],
	    [23, 7, 22, 8, MooTools.lang.get('zodiac', 'Leo')],
	    [23, 8, 22, 9, MooTools.lang.get('zodiac', 'Virgo')],
	    [23, 9, 22, 10, MooTools.lang.get('zodiac', 'Libra')],
	    [23, 10, 22, 11, MooTools.lang.get('zodiac', 'Scorpio')],
	    [23, 11, 21, 12, MooTools.lang.get('zodiac', 'Sagittarius')],
	    [22, 12, 20, 1, MooTools.lang.get('zodiac', 'Capricorn')],
	    [21, 1, 19, 2, MooTools.lang.get('zodiac', 'Aquarius')],
	    [20, 2, 20, 3, MooTools.lang.get('zodiac', 'Pisces')]
	];
}

function interpretBirthDate(d, m, y, t) {
    var date = new Date();
    date.setTime(t * 1000);
    var age = date.getFullYear() - y;
    var sign = '';
    
    if ((m - 1) > date.getMonth() || (m - 1 == date.getMonth() && d > date.getDate())) {
        age --;
    }
    
    if ((m == 12 && d >= 22) || (m == 1 && d <= 20)) {
        sign = MooTools.lang.get('zodiac', 'Capricorn');
    } else {
        $A(zSigns).each(function (item, index) {
            if((item[0] <= d && item[1] == m) || (item[2] >= d && item[3] == m)) {
                sign = item[4];
            }
        });
    }
    
    
    return {'age': age, 'sign': sign};
}

var IAB_Elements = null;
function IAB_setInputActiveBorder() {
    IAB_Elements = $A([]);
    
    //get inputs
    $$('input.iab').each(function(item) {
        item = $(item);
        item.addEvents({
            'focus': IAB_toggle,
            'blur': IAB_toggle
        });
        item.removeClass('iab');
        IAB_Elements[item.id] = '#45a1df';
    });
}
function IAB_toggle(event) {
    var t = $(event.target);
    var bb = IAB_Elements[t.id];
    
    IAB_Elements[t.id] = t.getStyle('borderColor');
    t.setStyle('borderColor', bb);
}

function popAddSchoolStatus(page) {
    showPopup(MooTools.lang.get('js', 'setSchoolStatus'), '<iframe id="ssif" frameborder="0" width="658" scrolling="no" marginheight="0" marginwidth="0" src="/index3/setSchoolStatus.php?p=' + page + '"></iframe>');
}

function fixTipWidth(tip) {
	var w = 0;
    if (Browser.Engine.trident) {
        if(! $('debugger')) {
            document.getElement('body').grab(new Element('div', {
                'id': 'debugger',
                'styles': {
                    'visibility': 'hidden',
                    'width': 'auto',
                    'position': 'absolute'
                }
            }));
        }
        var dbgr = $('debugger');
        dbgr.empty();
        var tipClone = null;
        var tipText = tip.getElement('.tip-text');
        var tipTitle = tip.getElement('.tip-title');
        
        if(tipText && tipTitle) {
            tipTextClone = tipText.clone(true, false);
            tipTitleClone = tipTitle.clone(true, false);
            
            dbgr.grab(tipTextClone);
            var ttxw = tipTextClone.getCoordinates().width;
            
            dbgr.empty();
            dbgr.grab(tipTitleClone);
            var tttw = tipTitleClone.getCoordinates().width + 20;
            
            w = Math.max(ttxw, tttw);
        } else if (tipText) {
            tipClone = tipText.clone(true, false);
            dbgr.grab(tipClone);
            
            w = tipClone.getCoordinates().width;
        } else {
            tipClone = tipTitle.clone(true, false);
            dbgr.grab(tipClone);
            
            w = tipClone.getCoordinates().width + 2;
        }
        
        if(parseInt(Browser.Engine.version) > 4) {
            w -= 14;
        }
    } else {
        w = tip.getElement('.tip').getStyle('width');
    }
	 
	 var tipText = tip.getElement('.tip-text');
	 var tipTitle = tip.getElement('.tip-title');
	 if(tipText) {
         tipText.setStyle('width', (w)+'px');
     } 
     if (tipTitle) {
         tipTitle.setStyle('width', (w)+'px');
     }
	 tip.getElement('.tip-top').setStyle('width', (w)+'px');
	 tip.getElement('.tip-bottom').setStyle('width', (w + 6)+'px');
}

var defFxHovCol = '#efefef';
function fxOver(event) {
    var target = $(event.target);
    if (! target.hasClass('fxHover')) {
        target = $(target.getParent('.fxHover'));
    }
    var fxTo = target.getAttribute('fxcolor') || defFxHovCol;
    var fxFrom = target.getStyle('backgroundColor');
    if (fxFrom == 'transparent') {
        fxFrom = '#ffffff';
    }
    if (fxTo == fxFrom) {
        return;
    }
    
    new Fx.Tween(target, {
        'duration': 'short',
        'property': 'backgroundColor'
    }).start(fxFrom, fxTo);
    
    target.setAttribute('fxcolor', fxFrom);
}
function fxOut(event) {
    var target = $(event.target);
    if (! target.hasClass('fxHover')) {
        target = $(target.getParent('.fxHover'));
    }
    var fxTo = target.getAttribute('fxcolor') || '';
    var fxFrom = target.getStyle('backgroundColor');
    if (fxTo == fxFrom) {
        return;
    }
    
    new Fx.Tween(target, {
        'duration': 'short',
        'property': 'backgroundColor'
    }).start(fxFrom, fxTo);
    
    target.setAttribute('fxcolor', fxFrom);
}

function popSS(page, onSuccess, queryString) {
    showPopup('', '<iframe id="ssif" frameborder="0" width="658" scrolling="no" marginheight="0" marginwidth="0" src="/index3/setSchoolStatus.php?p=' + page + '&os=' + onSuccess + queryString + '"></iframe>');
}
function popSSStrict(page, onSuccess, queryString, context) {
    showPopup(MooTools.lang.get('js', 'setSchoolStatus'),'',context);

    requestSS('popup_content', page, onSuccess, queryString);
}
function requestSS(target, page, onSuccess, queryString) {
	var _ssb = $('_ssBlock');
	if (_ssb) {
		_ssb.destroy();
	}
    placeAjaxLoading(target, 'big', MooTools.lang.get('js', 'pleaseWait'));
    
    new Request.HTML({
        'url': '/ajax/test.php?p=' + page + '&os=' + onSuccess + '&qs=' + queryString, 
        'method': 'get', 
        'evalScripts': false,
        'onSuccess': function (rt, re, rh, rj) { 
        	$(target).set('html', rh); 

            if (window.location.href.toString().indexOf('upload') != -1) {
                unfixSSTableOffset();
            }
            
			if (target == 'popup_content') {
				centerPopup();
			}
			eval(rj);
        }
    }).send();
}

function reloadFromIframe() {
    top.document.location.reload();
}

function reloadPage() {
	if (browserHash && browserHash.getHash()) {
		window.location.assign(browserHash.getHash().toString().replace(/%3D/g, "=").replace(/%26/g, '&')); 
	} else {
		window.location.assign(window.location.href);
	}
}

function requestDownloadURL() {
	var req = new Request({
		method: 'post',  
		url: '/ajax/get.php',
		data: { 
			'act' : 'do'
		},  
		onComplete: function(response) {  
			if (response == 'false') {
				setTimeout ( 'requestDownloadURL()', 5000 );
			}
			else {
				$('moreDownloadLinks').set('html', response);
			}
		 }  
	 }).send();
	
}

function loadProfileWallContent(userId) {
	
	var req = new Request.HTML({
		method: 'post',  
		url: '/ajax/profile.php',
		update: 'wallContent',
		data: { 
			'act' : 'wall',
			'do' : 'load',
			'userId' : userId
		},  
		onComplete: function(response) {
			if ($('wallContent').getCoordinates().height > 200) {
				$('wallContent').tween('height', 200);
				$('wallContent').setStyle('overflow', 'auto');
			}
		}
	 }).send();
}

function deleteComment(uData, rUrl, container) {
	if  (confirm(MooTools.lang.get('js', 'confirm'))) {
	    var d = $H({'act' : 'delComment'});
	    d.combine(uData);
	    
	    placeAjaxLoading(container, 'big', MooTools.lang.get('js', 'pleaseWait'));
		var req = new Request.HTML({
			method: 'post',  
			url: rUrl,
			data: d,
			update: container
		 }).send();
	}
}

function addComment (uData, rUrl, container, textField) {
    var comment = $(textField).value.toString().trim();
    if (comment == "") {
        alert(MooTools.lang.get('js', 'pleaseEnterText'));
        $(textField).focus();
        return false;
    }
    
    $(textField).value = '';
    
    var d = $H({'act' : 'addComment', 'comment': comment});
    d.combine(uData);
	    
    placeAjaxLoading(container, 'big', MooTools.lang.get('js', 'pleaseWait'));
    var req = new Request.HTML({
		method: 'post',  
		url: rUrl,
		data: d,
		update: container
	 }).send();
}

function wallEmos(e) {
	$('wallEmos').setStyle('display', '');
	e.stop();
}

function wallEmosHide(e) {
	if ($('wallEmos').style.display == '') {
		
		var t = $(e.target).getParent('#wallEmos');
		if(t) {
			return;
		}
		
		$('wallEmos').setStyle('display', 'none');
	}
}

function changeAvatar(cur, max, id) {	
	var req = new Request.HTML({
		method: 'post',  
		url: '/ajax/profile.php',
		update: 'changeAvatarLog',
		data: { 
			'act' : 'editAvatar',
			'newAvatar' : id
		},  
		onComplete: function(response) {  
			for (i=1; i<=max; i++) {
			    var el = $('changeAvatar'+i);
				if (el) {
				    el.className = 'avatarGallery';
				    el.addEvent('mouseenter', showAvatarDel);
				    el.addEvent('mouseleave', hideAvatarDel);
				    el.store('tip:title', MooTools.lang.get('js', 'clickToChangeAvatar'));
				}
			}
			
			var el = $('changeAvatar'+cur);
			if (el) {
			    el.className = 'avatarGalleryActive';
				$('avatarDel'+cur).setStyle('display', 'none');
				el.removeEvent('mouseenter', showAvatarDel);
				el.removeEvent('mouseleave', hideAvatarDel);
                el.store('tip:title', MooTools.lang.get('js', 'avatarIsCurrent'));
			}
			
			$$('img[src*=mya]').each(function (item, index) {
			    var segments = item.src.split('?');
			    item.src = segments[0].replace(/\.[0-9]+_/, '.' + id + '_') + '?' + segments[1] + parseInt(Math.random() * 100000);
			});
		 }
	 }).send();
}

function showAvatarDel (event) {
    var target = event.target.tagName.toLowerCase() == 'div' ? event.target : $(event.target).getParent('div');
    
    $('avatarDel' + target.id.replace('changeAvatar', '')).setStyle('display', '');
}
function hideAvatarDel (event) {
    var target = event.target.tagName.toLowerCase() == 'div' ? event.target : $(event.target).getParent('div');
    
    $('avatarDel' + target.id.replace('changeAvatar', '')).setStyle('display', 'none');
}


/* Friendship START */

function sendFriendInvitaion(user, additional) {
    var data = $H({'invite': user});
    if  (additional) {
        data.combine(additional);
    }
    
	var req = new Request({
		method: 'post',  
		url: '/ajax/friends.php',
		'data': data,  
		onComplete: function(response) {  
			 $('popup_content').set('html', response);
			 IAB_setInputActiveBorder();
			 
			 
			 showPopup(MooTools.lang.get('js', 'newFriendship'), '');
		 }  
	 }).send();
}

function friendInviteCheckReason() {
	if ( $('reason').value == 4 ) {
		var req = new Request({
			method: 'post',  
			url: '/ajax/friends.php',
			data: { 
				'listFriends' : 4
			},  
			onComplete: function(response) {  
				 $('friendList').set('html', response);
			 }  
		 }).send();
	}
	else {
		$('friendList').set('html', '');
	}
}

function showInviteComment() {
	$('comment').style.display = '';
	$('doComment').destroy();
}

function inviteFriendDecline(friend) {
    declineFriend = friend;
	new PopupConfirm ({
        'message': MooTools.lang.get('js', 'removeFriendRequestWarn'),
        'okText': MooTools.lang.get('js', 'removeRequest'),
        'cancelText': MooTools.lang.get('js', 'close'),
        'onOkArguments': [friend],
        'events': {
            'ok': _actualInviteFriendDecline
        }
	}).show();
}
function _actualInviteFriendDecline (friend) {
    placeAjaxLoading('inviteFriend'+friend, 'small', MooTools.lang.get('js', 'pleaseWait'));
	var req = new Request({
		method: 'post',  
		url: '/ajax/friends.php',
		data: { 
			'inviteDecline' : friend
		},  
		onComplete: function(response) {  
		    if (! $('inviteFriend'+friend)) {
		        reloadPage();
		    }
			 $('inviteFriend'+friend).set('html', response);
		 } 
	 }).send();
	 
	 declineFriend = 0;
}

function inviteFriendDeclineOwner(friend) {
    declineFriendOwner = friend;
	new PopupConfirm ({
        'message': MooTools.lang.get('js', 'confirmFriendRequestRemove'),
        'okText': MooTools.lang.get('js', 'removeRequest'),
        'cancelText': MooTools.lang.get('js', 'close'),
        'onOkArguments': [friend],
        'events': {
            'ok': _actualInviteFriendDeclineOwner
        }
	}).show();
}
function _actualInviteFriendDeclineOwner (friend) {
    placeAjaxLoading('inviteFriend'+friend, 'small', MooTools.lang.get('js', 'pleaseWait'));
	var req = new Request({
		method: 'post',  
		url: '/ajax/friends.php',
		data: { 
			'inviteDeclineOwner' : friend
		},  
		onComplete: function(response) {  
		    if (! $('inviteFriend'+friend)) {
		        reloadPage();
		    }
			 $('inviteFriend'+friend).set('html', response);
		 } 
	 }).send();
	 
	 declineFriendOwner = 0;
}

function inviteFriendAccept(friend, reason, origin) {
		
		var req = new Request({
			method: 'post',  
			url: '/ajax/friends.php',
			data: { 
				'inviteAccept' : friend,
				'inviteReason' : reason,
				'origin' : origin
			},  
			onComplete: function(response) {  
			    if (! document.getElementById('inviteContent'+friend)) {
			        reloadPage();
			    }
				 $('inviteContent'+friend).set('html', response);
				 $('inviteLinks'+friend).destroy();
				 $('inviteOkAlert'+friend).style.display = '';
				 setTimeout("$('inviteOkAlert"+friend+"').fade('out')",3000);
				 setTimeout("$('inviteOkAlert"+friend+"').destroy()",4000);
			 }  
		 }).send();
}


/* Friendship END */


/* Email confirmation START */

function confirmEmail() {
	showPopup();
	hideAjaxLoading('popup_content');
	loadPlugin({
		'target' : {
			'rData': {
				'rpn': 'pluginsSystemEmailConfirm', 
				'rut': 'popup_content', 
				'rpcp': {
					'templateFilename': 'html/base/common/popup/confirm_email'
				}
			},
			'qs': 'message='
		}
	});
	
	return;
}


function confirmEmailDoPop() {
	var req = new Request({
		method: 'post',  
		url: '/ajax/system.php',
		data: { 
			'confirmEmail' : $('emailConfirmValuePop').value
		},  
		onComplete: function(response) {  
			if (response != 1) {
				$('mailConfirmError').set('html', response);
			}
			else {
				var Email = $('emailConfirmValuePop').value;
				var atsign = Email.substring(0,Email.lastIndexOf('@')+1);
				var domain = Email.substring(atsign.length,Email.length+1);
				
				loadPlugin({
					'target' : {
						'rData': {
							'rpn': 'pluginsSystemEmailReceived', 
							'rut': 'popup_content', 
							'rpcp': {
								'templateFilename': 'html/base/common/popup/received_email',
								'email' : Email,
								'domain': '<a href="http://'+domain+'" target="_blank" class="blue hover_u">'+domain+'</a>'
							}
						},
						'qs': 'message='
					}
				});
			}
		 }  
	 }).send();
}

//function confirmEmailDo() {
//	var req = new Request({
//		method: 'post',  
//		url: '/ajax/system.php',
//		data: { 
//			'confirmEmail' : $('emailConfirmValue').value
//		},  
//		onComplete: function(response) {  
//			if (response != 1) {
//				$('mailConfirmError').set('html', response);
//			}
//			else {
//				
//				var Email = $('emailConfirmValue').value;
//				var atsign = Email.substring(0,Email.lastIndexOf('@')+1);
//				var domain = Email.substring(atsign.length,Email.length+1);
//				
//				
//				$('doConfirmLink').set('html', MooTools.lang.get('js', 'pleaseCheckEmail').substitute({'domain': '<a href="http://'+domain+'" target="_blank" class="blue hover_u">'+domain+'</a>'}));
//				
//				$('emailConfirmOk').style.display = '';
//				$('emailConfirmation').destroy();
//			}
//		 }  
//	 }).send();
//}
//
//function confirmEmailShow(el) {
//	$('emailInput').style.display = '';
//	$('mail_confirm').style.display = 'none';
//}

/* Email confirmation END */

/* Email Popup confirmation START */

//function confirmEmailShowPop(el) {
//	$('emailInputPop').style.display = '';
//	$('mail_confirm_pop').style.display = 'none';
//}
//
//function confirmEmailDoPop() {
//	
//	var req = new Request({
//		method: 'post',  
//		url: '/ajax/system.php',
//		data: { 
//			'confirmEmail' : $('emailConfirmValuePop').value
//		},  
//		onComplete: function(response) {  
//			if (response != 1) {
//				$('mailConfirmErrorPop').set('html', response);
//			}
//			else {
//				
//				var Email = $('emailConfirmValuePop').value;
//				var atsign = Email.substring(0,Email.lastIndexOf('@')+1);
//				var domain = Email.substring(atsign.length,Email.length+1);
//				
//				
//				$('doConfirmLinkPop').set('html', MooTools.lang.get('js', 'pleaseCheckEmail').substitute({'domain': '<a href="http://'+domain+'" target="_blank" class="blue hover_u">'+domain+'</a>'}));
//				
//				$('emailConfirmOkPop').style.display = '';
//				$('emailConfirmationPop').destroy();
//			}
//		 }  
//	 }).send();
//}

/* Email Popup confirmation END */

function doSubmitNotificationForm() {
	var req = new Request({
		method: 'post',  
		url: '/ajax/profile.php',
		onComplete: function(response) {  
			$('profileContent').set('html', response);
		 }  
	 }).send($('notif').toQueryString());
}


function avatarGalleryDel(id, i) {
	placeAjaxLoading('changeAvatar'+i, 'small', '')
    new Fx.Slide($('changeAvatar'+i), {'mode': 'horizontal'}).slideOut().chain(
       function () { $('changeAvatar'+i).destroy(); }
    );
    
	var req = new Request({
		method: 'post',  
		url: '/ajax/editProfile.php',
		data: { 
			'avatarGalleryDel' : id
		} 
	 }).send();
}


var subscriptionContainer = '';
/**
 * If issuing newPayment for the first time use clearPaymentSubscriptionContainer();
 * 
 * @param page
 * @param container
 * @param additional
 * @return
 */
function newPayment(page, container, additional) {
    if (subscriptionContainer == '') {
	    subscriptionContainer = container || 'popup_content';
	}
    
    var rData = $H({ 
		'doPayment' : page,
		'step' : 1
	});
    
    if (additional && 'object' == $type(additional)) {
    	rData.combine(additional);
    }
	
	placeAjaxLoading(subscriptionContainer, 'big', MooTools.lang.get('js', 'pleaseWait'));
	var req = new Request.HTML({
		method: 'post',  
		url: '/ajax/newPayment.php',
		update: subscriptionContainer,
		data: rData,  
		onComplete: function() {
			centerPopup();
			centerAttachPopup();
		} 
	 }).send();
	
	 if (subscriptionContainer == 'popup_content') {
	   showPopup(MooTools.lang.get('js', 'subscription').substitute({'sitename': 'Pomagalo.com'}), '');
	 }
}

function clearPaymentSubscriptionContainer () {
	subscriptionContainer = '';
}

function newDoPay(step, myvar, container, forcePayType) {
    if (subscriptionContainer == '') {
	    subscriptionContainer = container || 'popup_content';
	}
	if (! forcePayType) {
	    forcePayType = 0;
	}
	
	placeAjaxLoading(subscriptionContainer, 'big', MooTools.lang.get('js', 'pleaseWait'));
	var req = new Request.HTML({
		method: 'post',  
		url: '/ajax/newPayment.php',
		update: subscriptionContainer,
		data: { 
			'step' : step,
			'myvar' : myvar,
			'forcePayType': forcePayType
		},  
		onComplete: function(){
			centerPopup();
			centerAttachPopup();
		} 
	 }).send();
}

function newPaymentCheckSMSCode() {
	$('vipSubscriptionSubmit').onclick = $empty;
	
	var req = new Request.HTML({
		method: 'post',  
		update: 'warn',
		url: '/ajax/newPayment.php',
		data: { 
			'check' : $('newSmsPayment').value,
			'reason' : $('paymentReason').value
		}
	 }).send();
}

function savePayment(amt, formName) {
	var req = new Request({
		method: 'post',  
		url: '/ajax/viewPageSmsPlans.php',
		data: { 
			'paypal' : amt
		},  
		onComplete: function(response) {
			document.getElementById(formName).submit();
		 }  
	 }).send(); 								
}

function newPaymentSetAutoRenewGsm () {
    var uid     = $('autoRenewUser');
    var gsm     = $('autoRenewGsmInput');
    var suffix  = $('autoRenewSuffix');
    var arid    = $('autoRenewId');
    
    if (gsm.value.trim() == '' || ! isGsm(gsm.value.trim())) {
        gsm.value = '';
        gsm.highlight();
        
        return;
    }
    
    new Request.HTML({
        'url':    '/ajax/autoRenewSubscription.php',
        'method': 'post',
        'data':   {
            'act':    'cg',
            'uid':    uid.value,
            'gsm':    gsm.value,
            'suffix': suffix.value,
            'arid':   arid.value
        },
        'update': 'warn'
    }).send();
}

var autoRenewCheckInProgress = false;
var autoRenewChecks = 0;
var autoRenewContainer = '';
var autoRenewTimeout = null;
function newPaymentCheckForAutoRenew (delay, container, forceContainer) {
    if (autoRenewCheckInProgress || autoRenewChecks >= 100) {
        return;
    }
    if (autoRenewContainer == '' || forceContainer) {
        autoRenewContainer = container;
        clearTimeout(autoRenewTimeout);
    }
    
    if (! $(autoRenewContainer) && $('autoRenewSuccessBlock')) {
        autoRenewContainer = 'autoRenewSuccessBlock';
    }
    
    autoRenewTimeout = setTimeout('\_actualCheckForAutoRenew();', delay);
}

function _actualCheckForAutoRenew () {
    var uid     = $('autoRenewUser') || $('autoRenewUserSet');
    var gsm     = $('autoRenewGsm') || $('autoRenewGsmSet');
    var suffix  = $('autoRenewSuffix') || $('autoRenewSuffixSet');
    var arid    = $('autoRenewId') || $('autoRenewIdSet');
    
    if (! gsm || ! gsm.value || gsm.value.trim() == '' || ! isGsm(gsm.value.trim())) {
        if (gsm && gsm.highlight) { 
            gsm.highlight();
            gsm.value = '';
        }
        
        return;
    }
    
    new Request.HTML({
        'url':    '/ajax/autoRenewSubscription.php',
        'method': 'post',
        'data':   {
            'act':    'chk',
            'uid':    uid.value,
            'gsm':    gsm.value,
            'suffix': suffix.value,
            'sarid':  arid.value
        },
        'update': autoRenewContainer
    }).send();
        
    autoRenewCheckInProgress = true;
    autoRenewChecks ++;
}

function getReadableGsm (gsm) {
    if  (gsm.indexOf('0') != 0) {
        gsm = gsm.substr(3);
    } else {
        gsm = gsm.substr(1);
    }
    
    var readable = '0';
    
    for (var i = 0; i < 3; i++) {
        readable += gsm.substr(3 * i, 3) + '-';
    }
    
    return readable.substr(0, readable.length - 1);
}


function newTooltip(el, what) {
	
	if (what == 'show') {
		var top = el.getCoordinates().top;
		var left = el.getCoordinates().left;
		var width = el.getCoordinates().width;
		
		$('contextMenu').setStyle('display', 'block');
		$('contextMenu').setStyle('top', top);
		$('contextMenu').setStyle('left', (left+width));
	}
	else {
		$('contextMenu').setStyle('display', 'none');
	}
}


function textToFav(text) {
	
	var req = new Request.HTML({
		method: 'post',  
		url: '/ajax/profile.php',
		update: 'favoritesAlert',
		data: { 
			'act' : 'addFav',
			'id' : text
		},  
		onComplete: function() {
			setTimeout("$('favoritesAlert').fade('out')",3000);
			setTimeout("$('favoritesAlert').destroy()",3500);
			$('addToFavBtn').destroy();
		}
	 }).send();
	 
}

function removeFav(text) {
	
	var req = new Request.HTML({
		method: 'post',  
		url: '/ajax/profile.php',
		data: { 
			'act' : 'removeFav',
			'id' : text
		},  
		onComplete: function() {
			$('favIt'+text).fade('out');
			setTimeout("$('favIt"+text+"').destroy()",1000);
		}
	 }).send();
	 
}

function quickPM(username, e) {
	showPopup(MooTools.lang.get('js', 'popupMessage'), '&nbsp;');
	//var el = e.target;
	var data = {'target':{'rData':{'rut':'popup_content', 'rpcp':{'toUser':username}, 'rpn':'pluginsPmComposePopup'}}};
	//$(el).store('rData', {'rut':'popup_content', 'rpcp':{'toUser':username}, 'rpn':'pluginsPmComposePopup'});
	//e.stop = null;
	loadPlugin(data);
}

function checkQuickPm () {
    if ($('popupPmText').value.trim() == '') {
        alert(MooTools.lang.get('js', 'pleaseEnterText'));
        
        return false;
    }
    
    return true;
}

var expandedTabs     = null;
var initialTabsClasses = null;
var htmTimeout = null;
function toggleHeaderTabsMenu (event) {
	var target = $(event.target);
	target = target.tagName.toString().toLowerCase() ? target : target.getParent('a');
	
	if (! target.id) {
		return;
	}
	
	if (! expandedTabs.get(target.id)) {
		htmTimeout = setTimeout('showHeaderTabMenu(\'' + target.id + '\');', 300);
	} else {
		clearTimeout(htmTimeout);
	}
}

function showHeaderTabMenu (id) {
	clearTimeout(htmTimeout);
	
	var target  = $(id);
    var tab 	= 'a' == target.tagName.toString().toLowerCase() ? target : target.getParent('a');
    var menu    = $(tab.id + 'Menu');
    var tabc    = tab.getCoordinates();
    
    if (! initialTabsClasses.has(tab.id)) {
        initialTabsClasses.set(tab.id, tab.get('class'));
        menu.setStyles({'opacity': 0, 'display': 'block'});
    }
    
    if (menu.getStyle('opacity') == 1) {
        //hide the menu
        if (initialTabsClasses.get(tab.id).toString().indexOf('button') != -1) {
            var sp = tab.getElement('span');
            if (sp) {
                sp.destroy();
            }
        }
        
        var dummy = tab.getNext('.nav_dummy');
        if (dummy) {
        	dummy.setStyle('visibility', 'hidden');
        }
        
        new Fx.Tween(menu, {'duration': 'short'}).start('opacity', 1, 0);
        expandedTabs.erase(tab.id);
    } else if (menu.getStyle('opacity') == 0) {
        if (initialTabsClasses.get(tab.id).toString().indexOf('button') != -1) {
            new Element('span').inject(tab.getElement('.text'), 'after');
        }
        
        if (tab.hasClass('active')) {
	        var dummy = tab.getNext('.nav_dummy');
	        if (dummy) {
	        	dummy.setStyle('visibility', 'visible');
	        }
        }
        
        //show the menu
        menu.setStyles({
            'top':      tabc.y + tabc.height,
            'left':     tabc.x
        });
        new Fx.Tween(menu, {'duration': 'short'}).start('opacity', 0, 1);
        expandedTabs.set(tab.id, true);
    }
    
    tab.blur();
    if (! tab.hasClass('ddown_active')) {
    	tab.addClass('ddown_active');
    }
    
    return false;
}

function outHeaderTabMenu (event) {
	var target = $(event.target);
	target = target.tagName.toString().toLowerCase() ? target : target.getParent('a');
	
	if (! target.id) {
		return;
	}
	
	clearTimeout(htmTimeout);
	if (expandedTabs.get(target.id)) {
		htmTimeout = setTimeout("hideHeaderTabsMenu('" + event.target.id + "');", 300);
	}
}

function overHeaderTabRealMenu (event) {
	clearTimeout(htmTimeout);
}

function outHeaderTabRealMenu (event) {
	var target = $(event.target);
	if (! target.hasClass('dropdown')) {
		target = target.getParent('.dropdown');
	}
	htmTimeout = setTimeout("hideHeaderTabsMenu('" + target.id.toString().replace('Menu', '') + "');", 300);
}

function hideHeaderTabsMenu (id) {
    var tab     = $(id);
    var menu    = $(tab.id + 'Menu');
    var tabc    = tab.getCoordinates();
    
    if (initialTabsClasses.get(tab.id) && initialTabsClasses.get(tab.id).toString().indexOf('button') != -1) {
        var sp = tab.getElement('span');
        if (sp) {
            sp.destroy();
        }
    }
    
    var dummy = tab.getNext('.nav_dummy');
    if (dummy) {
    	dummy.setStyle('visibility', 'hidden');
    }
    
    if (tab.hasClass('active')) {
	    var dummy = tab.getNext('.nav_dummy');
	    if (dummy) {
	    	dummy.setStyle('visibility', 'hidden');
	    }
    }
        
    new Fx.Tween(menu, {'duration': 'short'}).start('opacity', 1, 0);
    expandedTabs.erase(tab.id);
    
    tab.blur();
    tab.toggleClass(initialTabsClasses.get(tab.id));
    if (tab.hasClass('ddown_active')) {
    	tab.removeClass('ddown_active');
    }
}

var inHidingHeaderTabsMenues = false;
function hideHeaderTabsMenues (event) {
    if (inHidingHeaderTabsMenues) {
        return;
    }
    
    inHidingHeaderTabsMenues = true;
    
    if (expandedTabs.length == 0) {
        inHidingHeaderTabsMenues = false;
        return;
    }
    
    var target = $(event.target);
    if (target.get('class')) {
        if (target.hasClass('drop_btn') || target.hasClass('dropdown')) {
            inHidingHeaderTabsMenues = false;
            return;
        }
    }
    if (target.getParent('.dropdown')) {
        inHidingHeaderTabsMenues = false;
        return;
    }
    
    expandedTabs.each(function (item, index) {
        hideHeaderTabsMenu(index);
    });
    
    inHidingHeaderTabsMenues = false;
}

function swapBlocksDisplay (b1, b2) {
    $(b1).setStyle('display', 'none');
    $(b2).setStyle('display', 'block');
}

function getBaseScrollableElement() {
    return $($('ieFixedPossFix') || window);
}

function showDownloadOptions (container) {
	target = $(container);
	if (! target) {
		return;
	}
	
	var fx = new Fx.Slide(target);
	
	if ('none' == target.getStyle('display')) {
		fx.hide();
		target.setStyle('display', '');
	}
	
	var lockBlock = $('lock_material');
	if (lockBlock) {
		target = lockBlock;
	}
	
	new Fx.Scroll(getBaseScrollableElement()).start(0, target.getCoordinates().top - 90);
	fx.slideIn();
}

var openedDropdowns = false;
function hideDefaultDropdowns (event) {
	if ((event && $(event.target).hasClass('arrow')) || false == openedDropdowns) {
		return;
	}
	
	openedDropdowns = false;
	
	$$('.ddd_active').each(function (item, index) {item.removeClass('ddd_active')});
	$$('.custom_dd_active').each(function (item, index) {item.removeClass('custom_dd_active')});
}

function strtr (str, from, to) {
    var fr = '', i = 0, j = 0, lenStr = 0, lenFrom = 0;
    var tmpFrom = [];
    var tmpTo   = [];
    var ret = '';
    var match = false;

    // Received replace_pairs?
    // Convert to normal from->to chars
    if (typeof from === 'object') {
//        this.krsort(from);
        for (fr in from) {
            tmpFrom.push(fr);
            tmpTo.push(from[fr]);
        }

        from = tmpFrom;
        to   = tmpTo;
    }
    
    // Walk through subject and replace chars when needed
    lenStr  = str.length;
    lenFrom = from.length;
    for (i = 0; i < lenStr; i++) {
        match = false;
        for (j = 0; j < lenFrom; j++) {
            if (str.substr(i, from[j].length) == from[j]) {
                match = true;

                // Fast forward
                i = (i + from[j].length)-1;
                
                break;
            }
        }
        
        if (false !== match) {
            ret += to[j];
        } else {
            ret += str[i];
        }
    }

    return ret;
}

function latcyr(str){ //prevejda ot latinica na kirilica
	 bukvi = TRANSLIT_TO_LOCAL;
	 
	 rename=strtr(str.toString().toLowerCase(),bukvi);
	 
	 return rename;
}

function initOspAlert () {
	setTimeout("$('ospBlock').setStyles({'opacity': 0, 'display': 'block'}); " + 
			   "new Fx.Tween('ospBlock').start('opacity', 0, 1); ", 1500);
}
function hideOspAlert () {
	new Fx.Tween('ospBlock').start('opacity', 1, 0).chain(function () { $('ospBlock').destroy(); }); 
}
function actOsp (act, ospUrl) {
	if (1 == act) {
		window.external.AddSearchProvider(ospUrl);
	}
	
	new Request({'url': '/ajax/osp.php?act=' + act, 'method': 'GET'}).send(); 
	
	hideOspAlert();
	
	return false;
}

var mgdsi = null;
function changeBaseSearchBoxParam (title, defautlText, action, name, module) {
	var form = $('searchFormD');
	var input = $('defaultSearchInput');
	var hdr = $('defaultSearchHeader');
	
	if (hdr) {
		hdr.set('html', title);
	}
	
	form.action = action;
	
	if (module == 'materials') {
		mgdsi.enable();
	} else {
		mgdsi.disable();
	}
	input.name = name;
	changeDefaultText('defaultSearchInput', defautlText);
}

function mopLimitAlert(mopLR) {
    switch (mopLR) {
        case 1: 
            if ($('ieFixedPossFix')) {
                showPopup('', '');
                placeAjaxLoading('big', MooTools.lang.get('js', 'pleaseWait'), 'popup_content');
                askLogin('materialViewOnline');
            } else {
            	if (isPopupDisplayed()) {
            		showAttachPopup('', '', 'popup_content');
                    placeAjaxLoading('big', MooTools.lang.get('js', 'pleaseWait'), 'attachPopup_content');
                    askLogin('materialViewOnline', null, null, 'attachPopup_content');
                    centerAttachPopup();
            	} else {
            		askLogin('materialViewOnline', null, null);
            		centerPopup();
            	}
            }
            break;
            
        case 2:
            if ($('ieFixedPossFix')) {
                showPopup(MooTools.lang.get('js', 'subscriptionRequired'), '');
                placeAjaxLoading('big', MooTools.lang.get('js', 'pleaseWait'), 'popup_content');
                newPayment('download', 'popup_content');
            } else {
            	if (isPopupDisplayed()) {
	                showAttachPopup(MooTools.lang.get('js', 'subscriptionRequired'), '', 'popup_content');
	                placeAjaxLoading('big', MooTools.lang.get('js', 'pleaseWait'), 'attachPopup_content');
	                newPayment('download', 'attachPopup_content');
	                centerAttachPopup();
            	} else {
            		newPayment('download');
	                centerPopup();
            	}
            }
            break;
    }
}

function mopLoadImage (event) {
    var source = $(event.target); 
    var imgToShow = ''; 
    var pn = $('mopPageNum');
    
    if (! pn) {
	    $('imgPreviewNext').removeClass('gray_anchor');
	    $('imgPreviewNext').addClass('blue_anchor');
	    $('imgPreviewPrev').removeClass('gray_anchor');
	    $('imgPreviewPrev').addClass('blue_anchor');
    }
 
     var pn = $('mopPageNum');
     if ('imgPreviewPrev' == source.id) {
        if (0 < cImgIndex) {
            cImgIndex --;
        }
     } else if ('imgPreviewFirst' == source.id) {
       cImgIndex = 0;
     } else if ('imgPreviewLast' == source.id) {
       cImgIndex = imgCnt - 1;
     }else {
        if (imgCnt - 1 > cImgIndex) {
            cImgIndex ++;
        } else if (imgCnt - 1 == cImgIndex) {
            mopLimitAlert(mopLR);
        }
     }
 
     pn.set('html', cImgIndex + 1);
     if (0 == cImgIndex) {
        if (pn) {
        	pn.set('html', 1);
        } else {
        	$('imgPreviewPrev').removeClass('blue_anchor');
            $('imgPreviewPrev').addClass('gray_anchor');
        }
     } else if (imgCnt - 1 == cImgIndex && !mopLR) {
        if (pn) {
        	pn.set('html', imgCnt);
        } else {
        	$('imgPreviewNext').removeClass('blue_anchor');
            $('imgPreviewNext').addClass('gray_anchor');
        }
     }
 
     var mopIp = $('imgPreviewBlock');
     if (preloaded.has(imgList.get(cImgIndex.toString()))) {
    	 if ('img' == mopIp.tagName.toString().toLowerCase()) {
    		 $('imgPreviewBlock').set('src', bUrl + imgList.get(cImgIndex));
    	 } else {
    		 $('imgPreviewBlock').set('html', '<img src="' + bUrl + imgList.get(cImgIndex) + '">');
             preloaded.set(imgList.get(cImgIndex.toString()), imgList.get(cImgIndex.toString()));
    	 }
     } else {
    	 if ('img' == mopIp.tagName.toString().toLowerCase()) {
    		 $('imgPreviewBlock').set('src', 'http://www.pomagalo.com:8080/index3/img/blueSkin/loading_big.gif');
    	 } else {
    		 placeAjaxLoading('imgPreviewBlockWait', 'big', MooTools.lang.get('js', 'pleaseWait'));
    	 }
        
         new Asset.image(bUrl + imgList.get(cImgIndex.toString()), {
            'onload': function () {
	        	 var mopIp = $('imgPreviewBlock');
	        	 if ('img' == mopIp.tagName.toString().toLowerCase()) {
	        		 $('imgPreviewBlock').set('src', bUrl + imgList.get(cImgIndex));
	        	 } else {
	        		 $('imgPreviewBlock').set('html', '<img src="' + bUrl + imgList.get(cImgIndex) + '">');
	                 preloaded.set(imgList.get(cImgIndex.toString()), imgList.get(cImgIndex.toString()));
	        	 }
            }
         });
     }
 }

function isInputEmpty (target) {
	target = $(target);
	if (! target) {
		return true;
	}
	
	var val = target.value.toString().trim();

	if ((! val) || (val && dtElements[target.id] && val == dtElements[target.id].text)) {
		return true;
	}
	
	return false;
}