﻿function _g_fkey_call(e, f) {
	if (!e) e = window.event;
    if (e.keyCode==13) f();
}

function _g_fsubmitk(form_name, e) {
	if (!e) e = window.event;
    if (e.keyCode==13) _g_fsubmit(form_name);
}

function _g_fsubmit_replaced(form_name, gact, rq_type, rq_callback, rq_customvalidate) {
    var f = $(form_name);
		f.gact.value = gact;
		f.rq_type.value = rq_type;
		f.rq_customvalidate.value = rq_customvalidate;
		f.rq_callback.value = rq_callback;
	_g_fsubmit(form_name)
}

function _g_fsubmit(form_name) {
    var f = $(form_name);
	if(!_g_form_required_validate(f)) return false;
	if (f.rq_customvalidate.value!='') {
		var custom_result = eval(f.rq_customvalidate.value + '(\'' + form_name + '\');');
		if (custom_result==false) return false;
	}
    var rq_type;
    if(f.rq_type) 
		rq_type = f.rq_type.value; 
	else
		rq_type = RQ_FORM;
    switch (parseInt(rq_type)) 
    {
		case RQ_AJAX_JSON	: 
		case RQ_AJAX_XML	:
        case RQ_AJAX_TEXT	: 
            var opt = {onComplete : eval(f.rq_callback.value)}
            f.request(opt);      
            return false;
        case RQ_FORM : 
			var opt = {onComplete : eval(f.rq_callback.value)}
            f.submit();
            return true;
    }
}

function _event_delete(event_id) {
		var opt =	{	
					method:'post',
					parameters: {rq_type:RQ_AJAX_JSON, gact:ACT_CAL_DELETE, content_id:event_id},
					onComplete : function() {alertc();reload();}
					}
		new Ajax.Request('/',opt);
}

function frm_onObjectDeleteValidate(form_name) {
	var cnt = 0;
	$(form_name).getInputs('checkbox').each(function (el){if (el.checked) cnt++;});
	if (cnt==0) {
		alert(jlang('Не выборано ни одной записи для удаления'));
		return false;
	}
	if (cnt==1) {return true;}
	if (cnt>1) {return confirm(jlang('Вы действительно хотите удалить %1% записей?').replace('%1%',cnt));}	
}


function frm_onObjectDelete(or){
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK :
			reload();
            break;
    }		
}

function frm_onObjectRestoreValidate(form_name) {
	var cnt = 0;
	$(form_name).getInputs('checkbox').each(function (el){if (el.checked) cnt++;});
	if (cnt==0) {
		alert(jlang('Не выборано ни одной записи для восстановления'));
		return false;
	}
	if (cnt>0) {return true;}
}

function frm_onObjectRestore(or){
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK :
			reload();
            break;
    }		
}

function frm_onFaqSave(or){
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK :
			alertw(json.actionStatusMessage);
            break;
    }		
}



function frm_onNoteSave(or) {
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK :
			if (!_g_b_group_edit) {
				goback('/notes');
				alertc();
			}
            break;
    }
   }


function frm_onBkmSave(or) {
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK :
			if (!_g_b_group_edit) {
				goback('/wap-links');
				alertc();
			}
            break;
    }
   }


function frm_onBackupCreate(or){
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK : go('/backups');alertc();break;
    }
}

function frm_onConSave(or) {
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK : goback('/contacts');break;
    }
}



function frm_onConValidate(form_name){
	var el = null;
	var frm = $(form_name);
		frm.getInputs('hidden').each(function (els){if (els.getAttribute('format')) els.value='';});	
	var inps = frm.getInputs();
	for (var i=0; i<inps.length; i++)
		if (inps[i].getAttribute('dst_field')) {
			el = frm[inps[i].getAttribute('dst_field')];
			if (el.value=='') el.value = el.getAttribute('format');
			el.value = el.value.replace('{'+inps[i].getAttribute('dst_poz')+'}', inps[i].value);
		}
	frm.getInputs('hidden').each(
		function (els){
			if (els.getAttribute('format') && els.getAttribute('empty_val') && els.value == els.getAttribute('empty_val')) 
				els.value='';
		}
	);	
	return true;
}

function frm_onTaskSave(or) {
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK :
			if (!_g_b_group_edit) {        
				goback('/tasks');
				alertc();
			}
            break;
    }
}

function frm_onTaskValidate(form_name){
	var frm = $(form_name);
	if (frm.PROP117.value=='COMPLETED') 
	    frm.PROP118.value=frm.PROP123.value;	//COMPLETED->Now() todo:update date only if COMPLETED is new value
	if (frm.PROP119.value!='')
	    frm.PROP120.value=frm.PROP119.value;	//DUE ->DTSTART
	return true;
}

function frm_onCalValidate(form_name){
	var frm = $(form_name);
	return true;
}
function frm_onCalSave(or) {
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK :
			if (!_g_b_group_edit) {        
				reload();
				alertc();
			}
            break;
    }
}


function frm_onLangValidate(form_name) {
	var frm = $(form_name);
	if (frm.need_translation.checked)
		frm.nt.value='1';
	else
		frm.nt.value='0';
	return true;
}
function frm_onLangSave(or) {
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK :
			if (!_g_b_group_edit) {        
				reload();
				alertc();
			}
            break;
    }
}


function frm_onRemind(or){
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK :
			alertw(json.actionStatusMessage,null,null,reload);
            break;
        case ERR_COMMON_FAIL :
			alertw(json.actionStatusMessage,null,null,_g_al_remind);
            break;            
        case ERR_CAPTCHA_FAILED : 
			alertw(json.actionStatusMessage,null,null,_g_al_remind);
            break;
    }
}

function _g_al_send_settings(){
	alertw(null,'send_settings',null,function(){_g_fsubmit('frm_send_settings');});
}

function _g_al_manual_settings(){
	alertw(null,'manual_settings',null,null);
}

function frm_onSendSettings(or) {
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK :
			alertw(json.actionStatusMessage,null,null,alertc);
            break;
        case ERR_CAPTCHA_FAILED : 
			alertw(json.actionStatusMessage,null,null,_g_al_send_settings);
            break;
    }
}

function frm_onDeleteAccount(or){
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK :
			alertw(json.actionStatusMessage,null,null,reload);
            break;
        case ERR_CAPTCHA_FAILED : 
			alertw(json.actionStatusMessage,null,null,_g_al_delete_account);
            break;
    }
}



function frm_onLogin(or){
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK :
			reload();
            break;
        case ERR_LOGIN_NEED_CODE : 
			createCookie(C_CAPTURE_AT_LOGIN, 1, 365);
			alertw(json.actionStatusMessage,null,null,function(){reload();});            
			break;
        case ERR_LOGIN_FAILED : 
			createCookie(C_CAPTURE_AT_LOGIN, 1, 365);
			alertw(json.actionStatusMessage,null,null,function(){reload();});
            break;
    }
}

function frm_onRegister(or) {
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
    	case ERR_NOT_AUTH: alert(json.actionStatusMessage); gohome(); break;
    	case ERR_LOGIN_USED:
    		alert(json.actionStatusMessage);
    		$('frm_register').login.focus();
    		new Effect.Highlight($('frm_register').login);
    		break;
    	case ERR_EMAIL_USED:
    		alert(json.actionStatusMessage);
    		$('frm_register').email.focus();
    		new Effect.Highlight($('frm_register').email);
    		break;
    	case ERR_PHONE_USED:
    		alert(json.actionStatusMessage);
    		$('frm_register').phone_number.focus();
    		new Effect.Highlight($('frm_register').phone_number);
    		break;
    	case ERR_OK:
    		window.location.href = '/?sp=login&tip=after-reg'
            break;
    }
}

function frm_onRegisterUpdate(or) {
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
    	case ERR_NOT_AUTH: alert(json.actionStatusMessage); gohome(); break;
    	case ERR_EMAIL_USED:
    		alert(json.actionStatusMessage);
    		$('frm_profile').email.focus();
    		new Effect.Highlight($('frm_profile').email);
    		break;
    	case ERR_PHONE_USED:
    		alert(json.actionStatusMessage);
    		$('frm_profile').phone_number.focus();
    		new Effect.Highlight($('frm_profile').phone_number);
    		break;    	
        case ERR_OK :
        	reload_content('tpl_profile_' + C_PROFILE_TPL_TYPE, function() { alertw(jlang('Изменения профиля успешно сохранены.')) });
            break;
    }
}


function frm_validateRegister(form_name){
	var frm = $(form_name);
	if (frm.bd_day!=null && !isValidDate(frm.bd_day.value, frm.bd_month.value, frm.bd_year.value)) {
		alert(jlang('Неправильная дата рождения'));
		return false;
	} else {
		return true;
	}
}

function _g_al_export(data_type){
	alertw(null,'export&data_type='+data_type);
}

function _g_al_restore()
{
	alertw(null, 'restore_' + C_RESTORE_AC2_TPL_TYPE, null, function() { _g_fsubmit('frm_restore'); });
}
function frm_onRestoreValidate(form_name) {
	var frm = $(form_name);
	if (!$('restore_copy').checked && !$('restore_move').checked) {
		alert(jlang('Выберите режим восстановления данных'));
		return false;
	} else
		return true;
	

}
function frm_onRestore(or) {
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK :
			alertw(json.actionStatusMessage,null,null,alertc);
            break;
        case ERR_LOGIN_NEED_CODE : 
			alertw(json.actionStatusMessage,null,null,_g_al_restore);
			break;
        case ERR_LOGIN_FAILED : 
			alertw(json.actionStatusMessage,null,null,_g_al_restore);
            break;
    }
}


function _g_al_last_sync(){alertw(null,'last_sync');}
function _g_al_new_backup(){alertw(null,'new_backup', null, function(){_g_fsubmit('frm_backup_create');});}
function _g_al_backup_act(act, id) {
	var bContinue = false;
	switch (act){
		case ACT_BK_RESTORE : bContinue = confirm(jlang('Текущие контакты, задачи, заметки и события будут заменены данными из резервной копии. Продолжить?'));break;
		case ACT_BK_DELETE : bContinue = true;
	}
	if (bContinue) {
		var opt =	{	
					method:'post',
					parameters: {rq_type:RQ_AJAX_JSON, gact:act, backup_id:id},
					onComplete : _g_al_backup_onAct
					}
		new Ajax.Request('/',opt);
	}
}

function _g_al_backup_onAct(or){
	var json = or.responseText.evalJSON();
    switch (parseInt(json.actionStatusCode)) {
		case ERR_NOT_AUTH : alert(json.actionStatusMessage);gohome();break;
        case ERR_OK : go('/backups');break;
    }
}

function _g_al_remind(){
	alertw(null, 'password_remind_' + C_REMINDPASS_TPL_TYPE, null, function() { _g_fsubmit('frm_password_remind'); });
}

function _g_al_delete_account(){
	alertw(null, 'delete_account_' + C_DELETE_AC_TPL_TYPE, null, function() { _g_fsubmit('frm_delete_account'); });
}

function _g_al_note_new(content_id){
	alertw(null,'note_new' +((arguments.length==1)?'&id='+content_id:''),null,function(){_g_fsubmit('frm_note_save');if (_g_b_group_edit) _g_al_edit_group(_g_al_note_new, 'note');});
}

function _g_al_sms_new(content_id) {
	alertw(null, 'sms_new' + ((arguments.length == 1) ? '&id=' + content_id : ''), null, function() { _g_fsubmit('frm_sms_save'); if (_g_b_group_edit) _g_al_edit_group(_g_al_sms_new, 'sms'); });
}

function _g_al_link_new(content_id) {
	alertw(null, 'link_new' + ((arguments.length == 1) ? '&id=' + content_id : ''), null, function() { _g_fsubmit('frm_link_save'); if (_g_b_group_edit) _g_al_edit_group(_g_al_link_new, 'link'); });
}

function _g_al_con_new(content_id){
	var bk = ((g_back_link!='') ? '?bk='+g_back_link : '')
	if (content_id)
		go('/contacts/edit/'+content_id + bk);
	else
		go('/contacts/new' + bk);
}
function _g_faq_new(){
	alertw(null,'faq_new',null,function(){_g_fsubmit('frm_faq_save');});
}

function _g_al_cal_new(content_id, dt){
	alertw(null,'event_new' +((arguments.length==1)?'&id='+content_id:'') +((arguments.length==2)?'&dt='+dt:''),null,function(){_g_fsubmit('frm_cal_save');});
}

function _g_al_task_new(content_id){
	alertw(null,'task_new' +((arguments.length==1)?'&id='+content_id:''),null,function(){_g_fsubmit('frm_task_save');if (_g_b_group_edit) _g_al_edit_group(_g_al_task_new, 'task');});
}

function _g_al_lang_edit(content_id) {
	alertw(null,'lang_edit' +((arguments.length==1)?'&id='+content_id:''),null,function(){_g_fsubmit('frm_lang_edit');if (_g_b_group_edit) _g_al_edit_group(_g_al_lang_edit, 'lang');});
}

var _g_b_group_edit=false;
function _g_al_edit_group(f_edit_content, s_type){
	var cnt = 0;
	var first_guid=null;
	$('frm_list').getInputs('checkbox').each(function (el){if (el.checked) cnt++;});	
	if (cnt==0) {
		if (!_g_b_group_edit) {
			if (s_type!='con')
				alert(jlang('Выберите одну или несколько записей для редактирования'));
			else
				alert(jlang('Выберите запись для редактирования'));
			
		}	
		_g_b_group_edit = false;
		$('frm_list').setAttribute('check_boxes', false);
		
	} else {
		$('frm_list').getInputs('checkbox').each(
			function (el){
				if (!first_guid && el.checked) {
					first_guid = el.value;
					el.checked = false;
				}
			}
		);	
		_g_b_group_edit = true;
		f_edit_content(first_guid);
	}
}


function _g_form_required_validate(oForm)
{
	var isValid = true;
	var isAlerted = false;
	$A(oForm.getElementsByClassName("required")).each(function (el)
		{
			if(el.value.strip()=='' && !isAlerted)
			{
				if (el.getAttribute('rq_text')) {
					alert(el.getAttribute('rq_text'));
					el.focus();
					new Effect.Highlight(el);					
					isAlerted = true;
				} else {
					el.focus();
					new Effect.Highlight(el);									
				}
				isValid = false;
			}
			if (el.type=='checkbox' && !el.checked && !isAlerted) {
					alert(el.getAttribute('rq_text'));
					el.focus();
					new Effect.Highlight(el);					
					isAlerted = true;
					isValid = false;
			}
			if(el.value.strip()!='' && !isAlerted && el.getAttribute('rq_format')) {
				var r = new RegExp(el.getAttribute('rq_format'));
				if (!r.test(el.value)) {
					alert(el.getAttribute('rq_format_err'));
					el.focus();
					new Effect.Highlight(el);					
					isAlerted = true;
					isValid = false;	
				}
			}
		});
	return isValid;
}

function frm_populateSelect(object_id, server_action, f_key, f_val){
	new Ajax.Updater(object_id,'/',
		{
			method:'get',
			parameters: 
					 {rq_type:RQ_AJAX_TEXT,
					  gact:server_action,
					  f_key:f_key
					 },
			onComplete:function(){
				setTimeout(function(){
				if (f_val && frm_ExistsInSelect(object_id, f_val)) $(object_id).value=f_val;
				if ($(object_id).onchange) $(object_id).onchange();
				}, 0);
			}
		});	
}

function frm_ExistsInSelect(select_id, value) {
	var o = $(select_id);
	for (i=0; i<o.options.length; i++)
		if (o.options[i].value == value) return true;
	return false;
}

function reload_content(sTemplateName, fAfterUpdate) {
	new Ajax.Updater('main_content', '/',
		{
			method:'get',
			parameters: 
					 {rq_type:RQ_AJAX_TEXT,
					  gact:ACT_RENDER_BLOCK,
					  template_name:sTemplateName
					 },
			evalScripts:true,
			onComplete : function(){if (fAfterUpdate) fAfterUpdate();}
		});	
}


function _g_data_search(){
	var s = $('srch');
	window.location.href = s.getAttribute('page') + '&srch=' + s.value;
}

function _g_lang_search() {
	var s = $('srch');
	var section = $('lang_section').value;
	window.location.href = s.getAttribute('page') + '&srch=' + s.value + '&lang_section=' + section;
}

function _g_dublicate_search(){
	var s = $('srch');
	window.location.href = s.getAttribute('page') + '&srch=' + C_DUB_MARK;
}

function _g_deleted_search(){
	var s = $('srch');
	window.location.href = s.getAttribute('page') + '&srch=' + C_DELETED_MARK;
}

function _g_check_checkboxes(frm_id)
{
	if($(frm_id)) {
		var cval=true;
		if ($(frm_id).getAttribute('check_boxes')==true || $(frm_id).getAttribute('check_boxes')=='true') cval=false;
		$(frm_id).getInputs('checkbox').each(
			function (el){
				el.checked=cval;
			}
		)
		$(frm_id).setAttribute('check_boxes', cval);
	}
}

function expand_con(e, obj){
	
	if (obj.nextSibling.style.display!='block') {
		obj.nextSibling.style.display='block';
	} else {
		obj.nextSibling.style.display='none';
	}
	g_cancelEvent(e);
}



/* dynamic contacts */

		function _con_add(tbl_name, select_object, obj, oStyle) {
			var inParam;
			if (obj.tagName=='SELECT') {
				inParam = {
					label:obj.options[obj.selectedIndex].innerHTML,
					name:obj.options[obj.selectedIndex].value,
					value:''
					}
			} else {
				inParam = obj;
			}
			_select_remove_option(select_object, inParam.name);
			
			var tbl = $(tbl_name);var tr = crap("tr", tbl);
			var td, e;
			
				td = crap("td", tr);
				td.className=oStyle.lclass;
				e = crap('span', td)
				e.innerHTML=inParam.label+':';
				
				td = crap("td", tr);
				td.className=oStyle.iclass;
				e = crap('input', td)
				e.type = 'text';e.name = inParam.name;
				e.value = inParam.value;
		}
		
		function _con_add_adr(tbl_name, select_object, obj, oStyle) {
			var inParam;
			if (obj.tagName=='SELECT') {
				inParam = {
					label:obj.options[obj.selectedIndex].innerHTML,
					name:obj.options[obj.selectedIndex].value,
					value:''
					}
			} else {
				inParam = obj;
			}
			_select_remove_option(select_object, inParam.name);
			
			var tbl = $(tbl_name);
			var tr, td, e;			
			tr = crap("tr", tbl);
				td = crap("td", tr);td.style.fontStyle='italic';td.style.height='20px';td.style.fontSize='10px';td.colSpan=5;td.innerHTML=inParam.label+':';
			tr = crap("tr", tbl);
				td = crap("td", tr);td.className='new_adress';td.colSpan=4;
					e = crap('span', td);e.innerHTML=jlang('Улица, дом, квартира')+':';
					e = crap('input', td);e.type = 'text';e.name = inParam.name+'_3';if (inParam.value_3) e.value = inParam.value_3;
					e.setAttribute('dst_field', inParam.name);e.setAttribute('dst_poz', 3);
			tr = crap("tr", tbl);
				td = crap("td", tr);td.className=oStyle.lclass;
					e = crap('span', td);e.innerHTML=jlang('Страна')+':';
				td = crap("td", tr);td.className=oStyle.iclass;
					e = crap('input', td);e.type = 'text';e.name = inParam.name+'_7';if (inParam.value_7) e.value = inParam.value_7;
					e.setAttribute('dst_field', inParam.name);e.setAttribute('dst_poz', 7);
				td = crap("td", tr);td.className=oStyle.lclass;
					e = crap('span', td);e.innerHTML=jlang('А/Я')+':';
				td = crap("td", tr);td.className=oStyle.iclass;
					e = crap('input', td);e.type = 'text';e.name = inParam.name+'_1';if (inParam.value_1) e.value = inParam.value_1;
					e.setAttribute('dst_field', inParam.name);e.setAttribute('dst_poz', 1);
			tr = crap("tr", tbl);
				td = crap("td", tr);td.className=oStyle.lclass;
					e = crap('span', td);e.innerHTML=jlang('Город')+':';
				td = crap("td", tr);td.className=oStyle.iclass;
					e = crap('input', td);e.type = 'text';e.name = inParam.name+'_4';if (inParam.value_4) e.value = inParam.value_4;
					e.setAttribute('dst_field', inParam.name);e.setAttribute('dst_poz', 4);
				td = crap("td", tr);td.className=oStyle.lclass;
					e = crap('span', td);e.innerHTML=jlang('Индекс')+':';
				td = crap("td", tr);td.className=oStyle.iclass;
					e = crap('input', td);e.type = 'text';e.name = inParam.name+'_6';if (inParam.value_6) e.value = inParam.value_6;
					e.setAttribute('dst_field', inParam.name);e.setAttribute('dst_poz', 6);
			tr = crap("tr", tbl);
				td = crap("td", tr);td.className=oStyle.lclass;
					e = crap('span', td);e.innerHTML=jlang('Область')+':';
				td = crap("td", tr);td.className=oStyle.iclass;
					e = crap('input', td);e.type = 'text';e.name = inParam.name+'_5';if (inParam.value_5) e.value = inParam.value_5;
					e.setAttribute('dst_field', inParam.name);e.setAttribute('dst_poz', 5);
				td = crap("td", tr);td.className=oStyle.lclass;
					e = crap('span', td);e.innerHTML=jlang('Инфо')+':';
				td = crap("td", tr);td.className=oStyle.iclass;
					e = crap('input', td);e.type = 'text';e.name = inParam.name+'_2';if (inParam.value_2) e.value = inParam.value_2;
					e.setAttribute('dst_field', inParam.name);e.setAttribute('dst_poz', 2);
		}		
		
		function _select_remove_option(obj, option_value) {
			for (var i=0; i<obj.options.length;i++) {
				if (obj.options[i].value==option_value) rm(obj.options[i]);
			}
		}


function frm_onStdPost(or) {
	var json = or.responseText.evalJSON();
	if (json.actionStatusMessage != '')
		alertw(json.actionStatusMessage, null, null, function() { alertc(); });
	else
		alertc();
}


function frm_onPasswordChange(or) {
	var json = or.responseText.evalJSON();
	if (json.actionStatusMessage != '')
		alertw(json.actionStatusMessage, null, null, function() { go('/?gact=' + ACT_LOGOFF); alertc(); });
	else
		alertc();
}		