var date_el="";
var edit_nick=0;
var edit_alias=0;
var wait=0;
var rem_i=-1;
function show_message(){
    if(message!=""){
        message_area.innerHTML=message;
        message_div.style.display='block';
    }else{
        message_area.innerHTML='';
        message_div.style.display='none';
    }
    
    message="";
    
}
function go_to(url){
	window.location.href=url;
}
function passwordCheck(password){
	if(password.value!='' && password.value.length<5)
		return false;
	else
		return true;
}
function switch_el(element,display){

	if(typeof(element)=='string')
		element=get_el(element);
	if(!display)
		display='';

	if(element.style.display=='none')
		element.style.display=display;
	else
		element.style.display='none';
}

function get_el(id){
	return document.getElementById(id);
}
function isUnicEmail(email){

	if(email.value.length==0)
		return false;
		
	else if( isValidEmail(email))
		return unic_field(email,'check_email');
	else
		return false;
	
}
function isUnicLogin(field){
	
	if(field.value.length<2 || field.value.length>10)
		return false;
	else
		return unic_field(field,'check_login');
	
}
function unic_field(field,func){
    var reg_key=get_el('edit[reg_key]').value; 
    wait=1;
    load_file('http://master.pimentos.com.ua/includes/php/unic_fields.php','unic_field_ok','field='+field.value+'&func='+func+'&reg_key='+reg_key);
    return false;
}

function unic_field_ok(result){
	wait = 0
	result=result.split('|status|');
	field=get_el(result[0]);
	field.disabled=false;
	
	if(result[1]=='ok'){
		
		checked_fields[field.id]=field.value;
		check_fail[field.id]=false;
		check_edit(check_form);
		
	}else{
		check_fail[field.id]=true;
		check_fail_v[field.id]=field.value
		check_edit(check_form);
	}
}
function isValidEmail (email, strict){
	if(email.value=="")
		return true;
	if ( !strict ) 
		email.value = email.value.replace(/^\s+|\s+$/g, '');
 	return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email.value);
}
function isValidPhone(phone){
	test_phone=phone.value+'';
	test_phone=test_phone.replace(/([0-9\-\+\(\)\ ])/g, '');
	if(test_phone.length>0)
		return false;
	else
		return true;
}
function view_calendar(result){
	
	message=result;
	
	show_message();
	
}
function insert_date(date){
	date_el.value=date;
	show_message();
}
function isValidPasswordConfirm(password_c){
	if(password_c.value!=get_el('edit_password').value)
		return false;
	else
		return true;
}
function ifChecked(element){
	if(element.checked)
		return true;
	else
		return false;
}
function check_nickname(field){
	
	field.value=field.value.replace(/([^0-9\_A-Za-z])/g, '_');
	field.value=field.value.replace(/(_)+/g, '_');
	field.value=field.value.replace(/(^[_]+)/, '');
	field.value=field.value.replace(/([_]+$)/, '');

}
function check_pass_complexity(pass){
	lowercaseletter = /[a-z]/.test(pass);
	uppercaseletter = /[A-Z]/.test(pass);
	digit 			= /\d/.test(pass);
					
	low_security    = lowercaseletter || uppercaseletter || digit;
	med_security    = (lowercaseletter && uppercaseletter) || (lowercaseletter && digit) || (digit && uppercaseletter);
	high_security   = lowercaseletter && uppercaseletter && digit;
	higher_security = high_security && pass.length >= 6;
					
	if ( low_security ){
		get_el('password_complexity').style.backgroundColor = 'red';
		get_el('password_text').innerHTML='Low complexity';
	}
	if ( med_security ){
		get_el('password_complexity').style.backgroundColor = 'yellow';
		get_el('password_text').innerHTML='Medium complexity';
	}
	if ( high_security ){
		get_el('password_complexity').style.backgroundColor = '#C1DFF0';
		get_el('password_text').innerHTML='Good complexity';
	}
	if ( higher_security ){
		get_el('password_complexity').style.backgroundColor = 'green';
		get_el('password_text').innerHTML='High complexity';
	}
}
function isFloat(field){
	field.value=field.value.replace(',','.');
	return isFloatValue(field.value);
}
function isFloatValue(value){

	value=value+'';
	value=value.replace(/^\-/, '');
	value=value.replace(/^\+/, '');
	value=value.replace(',','.');
	value=value.replace(/([0-9\.])/g, '');

	if(value.length!=0)
		return false;
	else
		return true;

}
function isInt(field){
	return isIntValue(field.value);
}
function isIntValue(value){
	value=value+''
	value=value.replace(/^\-/, '');
	value=value.replace(/^\+/, '');
	value=value.replace(/([0-9])/g, '');
	
	if(value.length!=0)
		return false;
	else
		return true;

}
function check_file(field){
	
	if(!get_el(field.id+'_delete')){
		if(field.value=='')
			return false;
	}else if(get_el(field.id+'_delete').checked && field.value=='')
		return false;

	return true;
	
}

function call_user_func(cb, parameters) {
    // http://kevin.vanzonneveld.net
    // +   original by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: call_user_func('isNaN', 'a');
    // *     returns 1: true
 
    var func;
 
    if (typeof cb == 'string') {
        if (typeof this[cb] == 'function') {
            func = this[cb];
        } else {
            func = (new Function(null, 'return ' + cb))();
        }
    } else if (cb instanceof Array) {
        func = eval(cb[0]+"['"+cb[1]+"']");
    }
    
    if (typeof func != 'function') {
        throw new Error(func + ' is not a valid function');
    }
 
    return func.apply(null, Array.prototype.slice.call(arguments, 1));
}
function show_search(){
	
	switch_el('search_form','block');
	if(get_el('search_form').style.display=='none'){
		document.body.className=document.body.className.replace("search_","");
		get_el('min_t').className='';
	}else{
		get_el('min_t').className='min_t';
		document.body.className="search_"+document.body.className;
	}
}
function select_all(elements,status){
	for(i=0;i<elements.length;i++)
		elements[i].checked=status;
}


var fields_messages=new Array();
var check_fail=new Array();
var check_fail_v=new Array();
var checked_fields=new Array();
var check_form='';
function check_edit(form){
	
	check_form=form;
	
	elements=form.elements;
	error=false;
	
	for(i=0;i<elements.length;i++){
		
		element=elements[i];
		id=element.id;

		if(id.length==0 || !get_el(id+'_message'))
			continue;

		message=get_el(id+'_message').innerHTML;
		
		if(fields_messages[id] && element.style.display!='none' && !element.disabled && ( !get_el(element.id+'_row') || get_el(element.id+'_row').style.display!='none' )){
		
			if(checked_fields[id] && element.value==checked_fields[id]){
				message="";
				check_fail[id]=false;
			}else if(check_fail[id] && check_fail_v[id]==element.value){
				
				message=fields_messages[id]['check_fail'];
				check_fail_v[id]=element.value;
				
			}else if(fields_messages[id]['empty'] && element.value==''){
				
				message=fields_messages[id]['empty'];
				
			}else if(fields_messages[id]['check_script'] && !call_user_func(fields_messages[id]['check_script'],element)){
				
				if(element.disabled){
					message=fields_messages[id]['check_script_m'];
				}else{
					message=fields_messages[id]['check_fail'];
				}
				
			}else{
				checked_fields[id]=element.value;
				message="";
				check_fail[id]=false;
			}
			
		}

		if(message!='')
			error=true;
			
		get_el(id+'_message').innerHTML=message;
		
		if(message!='' && fields_messages[id]['method'] && fields_messages[id]['method']=='global'){
			get_el('global_message').innerHTML=message;
			view_message('global_message');
		}else
			view_message(id+'_message');
		
	}
	
	if(!error)
		form.submit();
	
}

function view_message(id){
	
	if(get_el(id).innerHTML!='')
		$('#'+id).slideDown();
	else
		$('#'+id).slideUp();
	
}
function load_file(file,call){
	
	if(file!='')
		$.ajax({url: file,success: function(result,stat){call_user_func(call,result)} });
		
}
var date_el=false;
function view_calendar(result){
	$("#"+date_el.id+'_calendar .calendar_result').html(result);
	$("#"+date_el.id+'_calendar').slideDown();
}
function insert_date(date){
	date_el.value=date;
	$('#'+date_el.id+'_calendar').slideUp();
}
function click_date(id){
	if(date_el)
		$('#'+date_el.id+'_calendar').slideUp();
	date_el=get_el(id); 
	load_file(php_url+'calendar.php?cur_date='+date_el.value,'view_calendar');
}
function change_teacher_type(form){
	
	form.action=form.action.replace('/register_save.html','/register.html')
	form.submit();
	
}
function answer(id){
	if(get_el('answer_'+id).style.display=='none')
		$('#answer_'+id).slideDown();
	else
		$('#answer_'+id).slideUp();
		
}
function editLanguages (save_value){
	
	form=save_value.form;
	
	checked=false;
	
	value="";
	
	for(j=0;j<form.elements.length;j++){
		if(form.elements[j].name.indexOf(save_value.name)!=-1 && form.elements[j].name!=save_value.name){
			if(value.length>0)
				value+="|";
			form.elements[j].name='temp_'+form.elements[j].name;
			if(form.elements[j].checked){
				checked=true;
				value+=form.elements[j].value+"|1";
			}else
				value+=form.elements[j].value+"|0";
		}
		
	}
	
	save_value.value=value;
	
	return checked;
	
}
jQuery(document).ready(function($){
    var width  = 330;
    var height = 330;
    var canCool = navigator.appVersion.charAt(0);
    var top;
    var left;

    $("div#auth_form a.close_me").click(function(){
        jQuery("div#auth_form").hide("slow");
        return false;
    });
    $("div.login a#ln").click(function(){
        $("div#forgot_pass").hide(); 
        jQuery("div#auth_form").show();
        if (canCool >= 4) {
            var r = 100;                                                                                                            
            left = (screen.width - width)/2;
            top = (screen.height - height)/2 - r;
            $("div#auth_form").attr({ style: "position:fixed;top:"+top+"px;left:"+left+"px;z-index:1000;padding:10px 10px 15px; border:3px solid #CEE9F9; background:url(images/bg_set.gif) repeat-x bottom; background-color:#FFFFFF;" });
        }        
            return false;
    });
});

function validate_reg(){              
    if($("input#edit_name").val()==''){
        alert('Введите ФИО');
        return false;
    } 
    if($("input#edit_email").val()==''){
        alert('Введите email');
        return false;        
    } 
    if($("input#edit_company").val()==''){
        alert('Введите название компании');
        return false;        
    } 
    if($("input#edit_city").val()==''){
        alert('Введите город');
        return false;        
    } 
    if($("input#edit_adress").val()==''){
        alert('Введите адрес');
        return false;        
    } 
    if($("input#edit_phone").val()==''){
        alert('Введите телефон');
        return false;        
    } 
    if($("input#edit_login").val()==''){
        alert('Введите логин');
        return false;        
    } 
    if($("input#edit_password").val()=='' || $("input#edit_password2").val()=='' || $("input#edit_password").val()!=$("input#edit_password2").val()){
        alert('Пароль не указан либо не совпадает');
        return false;        
    }
    if($("input#edit_captcha").val()==''){
        alert('Введите число с картинки');
        return false;        
    } 
    $("form#reg_form").submit(); 

}
