function trim(str) {
    var newstr = str.replace(/^\s*(.+?)\s*$/, "$1");
    if (newstr == " ") {
        return "";
    }
    return newstr;
}


function prepare_string(str) {
    var newstr = trim(str); //функцию trim() см. выше
    return newstr.replace(/(\s)+/g, "$1");
}

function drop_spaces(str) {
    var newstr = trim(str); //функцию trim() см. выше
    return newstr.replace(/(\s)+/g, ""); 
}



function get_http(){
	var xmlhttp;
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	return xmlhttp;
}

function _checkLogin_(str)
{
 
  var login = str;
  this.http = get_http();
  this.working = false;

   if (login.length = 0) 
                {
			document.getElementById('status_signup_login').innerHTML = '';
		} 
   else if (login.length > 0 && login.length < 3) 
                {
			document.getElementById('status_signup_login').innerHTML = '<img src=images/icon_no_ok.png> <font color="red">Мало символов!</font>';
		} 
		
   else if (login.length >=3) 
    {   
       if (!this.working && this.http) 
          {
		var http = this.http;
                url = "ajax/check_new_login.php?CheckLogin=" + login;
		this.http.open("GET", url, true);
		this.http.onreadystatechange = function() 
                {
			if (http.readyState == 4) 
                        {
				//label.innerHTML = http.responseText;
				if(http.responseText==0)
				{
				 document.getElementById('status_signup_login').innerHTML = '<img src=images/icon_ok.png> <font color="green">Логин <b>'+login+'</b> свободен</font>';
				}
				else if(http.responseText==1)
				{
                                 document.getElementById('status_signup_login').innerHTML = '<img src=images/icon_no_ok.png> <font color="red">Логин <b>'+login+'</b> занят</font>';
				}
                                else 
				{
                                 document.getElementById('status_signup_login').innerHTML = '<img src=images/icon_no_ok.png> <font color="red">При проверке логина <b>'+login+'</b> произошла ошибка.<br> Пожалуйста сообщите администраторам</font>';
				}
                                this.working = false;
			}
                        else
                        {
				document.getElementById('status_signup_login').innerHTML = '<img src="images/ajax_load_16.gif" alt="Подождите пожалуйста...">';
			}
		}
		this.http.send(null);
	} else {
		alert('Ошибка. Объект используется!')
	}
	if(!this.http){
		alert('Ошибка при создании XMLHTTP объекта!')
	}
    } 
     else
   {
             document.getElementById('status_signup_login').innerHTML = '';		
   }           

}
  
  
  function _checkPassword(str)
{
//	var password = document.getElementById('checkPassword').value;
	var password = str;

   if (password.length > 0)  
   {
         if (password.length > 0 && password.length < 3) 
                {
			document.getElementById('status_signup_password').innerHTML = '<img src=images/icon_no_ok.png> <font color="red">Мало символов!</font>';
		} 
	 else if (password.length < 6) 
                {
 		 document.getElementById('status_signup_password').innerHTML = '<img src=images/icon_no_ok.png> <font color="red">Пароль слишком короткий!</font>';		
		} 	
           else if (/[А-Яа-я]+/.test(password)) 
                {
		document.getElementById('status_signup_password').innerHTML = '<img src=images/icon_no_ok.png> <font color="red">В пароле не должно быть кириллицы!</font>';	
		} 
            
                else if (!/[a-zA-Z]+/.test(password)) 
                {
		 document.getElementById('status_signup_password').innerHTML = '<img src=images/icon_no_ok.png> <font color="#f76557">Недостаточно букв!</font>';
		} 
                else if (!/[0-9]+/.test(password)) 
                {
		document.getElementById('status_signup_password').innerHTML = '<img src=images/icon_no_ok.png> <font color="#f76557">Недостаточно цифр!</font>';		
		}
		else 
                {
		document.getElementById('status_signup_password').innerHTML = '<img src=images/icon_ok.png> <font color="green"><b>Надежный пароль!</b></font>';		
		}
    }
     else
   {
             document.getElementById('status_signup_password').innerHTML = '';		
   }           

} 

function _checkEmail(str)
{
  var email = str;
 if (email.length > 0)  
   {

          var reg = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z])+$/;
          if (!reg.test(email)) 
          {
            document.getElementById('status_signup_email').innerHTML = '<img src=images/icon_no_ok.png> <font color="red">Не корректно введен адрес e-mail!</font>';		
          }
          else
          {
             document.getElementById('status_signup_email').innerHTML = '';		
          } 
   }
 else
   {
             document.getElementById('status_signup_email').innerHTML = '';		
   }           
//  else $('email_error_text').style.display="none"; 
 // return true;
}

function _checkEmail_(str) {
    //var email = document.getElementById('checkEmail').value;
    var email = str;
    
    var template = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z])+$/;
    email = drop_spaces(email); //функцию drop_spaces() см. выше
    if (template.test(email)) {
        return true;
    }
    else
    {
     document.getElementById('status_signup_email').innerHTML = '<font color="red">Не корректно введен адрес e-mail!</font> <img src=images/icon_no_ok.png>';		
    }
    return false; 
}


 function _checkLogin(str)
{
  var ChekLogin = str;
  $("#status_signup_login").html('');  
   if (ChekLogin.length == 0) 
    {
	$("#status_signup_login").html('');  
	return;
    } 
   else if (ChekLogin.length > 0 && ChekLogin.length < 3) 
    {
        $("#status_signup_login").html('<img src=images/icon_no_ok.png> <font color="red">Мало символов!</font>');
      	return;
    } 

        $.ajax({
            async: true,  
            type: 'post',
             url: "./ajax/check_new_login.php",
             dataType: "json",
              data: { "ChekLogin": ChekLogin},
              dataType: "json",
              success: function(data)
              {   
                   $("#status_signup_login").html('<img src="images/ajax_load_16.gif" alt="Подождите пожалуйста...">');
                  /* jQuery("#status_signup_login").text("Saved").fadeOut(3000);  */
               
                    if (!data.error)
                    { 
                       if (data[0].status==0)
                       { 
                         $("#status_signup_login").html('<img src=images/icon_ok.png> <font color="green">Логин <b>'+ChekLogin+'</b> свободен</font>');
                       }
                       else if (data[0].status==1)
                       {  
                         $("#status_signup_login").html('<img src=images/icon_no_ok.png> <font color="red">Логин <b>'+ChekLogin+'</b> занят</font>');
                       }
                       else
                       {
                         $("#status_signup_login").html('<img src=images/icon_no_ok.png> <font color="red">'+data[0].status+'</b></font>');
                       }
                    }
                    else
                    {
                       $("#status_signup_login").html('При получении данных произошла ошибка. Пожалуйста сообщите разработчикам. ('+e+')');
                    }
                    
                    
                   
              }
              ,
              error: function(x,e) 
              {
                  $("#status_signup_login").html('Ой! При проверке логина произошла ошибка. Пожалуйста сообщите разработчикам. ('+e+')');
             }  
          }); 
 
}  

/*
  var viewer_id = flashVars['viewer_id'];
           var auth_key = flashVars['auth_key'];
 
           $.ajax({
            async: false,
            type: 'post',
            url: "./get_who_are_near.php",
             dataType: "json",
              data: { "viewer_id": viewer_id, "auth_key": auth_key, "latitude":MyLatitude , "longitude": MyLongitude, "distance": distance},
              dataType: "json",
               success: function(data)
              {
                  showLoading(0);
                  //showLoading(0);
                   if (data)
                   {
                    for(var i = 0; i < data.length; i++)              
                     {
                       Uids =  Uids + data[i].uid+', ';
                     //  alert(data);
                     }
                   }
                   else
                   {
                     alert('Здесь ни кого нет!')
                    // show_invite();
                   }
                  if(Uids) { Uids.substring(0,  Uids.length - 2); }
               //   alert(Uids);

                 VK.api("getProfiles", {"uids":Uids, fields:"uid, first_name, last_name, nickname, sex, birthdate, city, country, timezone, photo, photo_medium, photo_big, photo_rec"}, function(friend_data) 
                     {
                     // alert(friend_data);
                       if (!friend_data.error) 
                         {
                           for(i=0; i<friend_data.response.length; i++)
                            {                                              
                              FriendByFriendData[friend_data.response[i].uid] = {'uid':friend_data.response[i].uid, 'photo':friend_data.response[i].photo, 'first_name':friend_data.response[i].first_name, 'last_name':friend_data.response[i].last_name, 'nickname':friend_data.response[i].nickname, 'birthdate':friend_data.response[i].birthdate, 'sex':friend_data.response[i].sex};
                            }
                       
                         users_pics = 'Пользователи рядом с Вам. Кликни и аватар отобразится на карте:<br><br>';
                         for(var i = 0; i < data.length; i++)              
                          {
                            var u = data[i].uid;                                                                                                                                          
                             var dist = calculate_distance(new google.maps.LatLng(MyLatitude, MyLongitude), new google.maps.LatLng(data[i].lat, data[i].lng));
                         
                            var infohtml = '<a href="http://vkontakte.ru/id'+data[i].uid+'" target="_blank"><img src="'+FriendByFriendData[u].photo+'" style="float:left;"></a>'+FriendByFriendData[u].first_name + ' '+FriendByFriendData[u].last_name;
                            if(FriendByFriendData[u].sex==1)
                              {
                                //var icourl = 'http://www.iconsearch.ru/uploads/icons/humano2/24x24/start-here-gnome-pink.png';
                                var icourl = 'http://www.iconsearch.ru/uploads/icons/crystalclear/32x32/user_female.png';
                              }
                              else if(FriendByFriendData[u].sex==2)
                              {
//                                var icourl = 'http://www.iconsearch.ru/uploads/icons/humano2/24x24/start-here-gnome-skyblue.png';
                                var icourl = 'http://www.iconsearch.ru/uploads/icons/musthave/24x24/user.png';
                              }
                              else
                              {
//                                var icourl = 'http://www.iconsearch.ru/uploads/icons/humano2/16x16/start-here-gnome-skyblue.png'; 
                                var icourl = 'http://www.iconsearch.ru/uploads/icons/humano2/24x24/emblem-people.png';
                              }

                              users_pics = users_pics +' '+'<img src="'+FriendByFriendData[u].photo+'" onClick="ShowUserInMap('+data[i].lat+', '+data[i].lng+', \''+FriendByFriendData[u].photo+'\', \''+FriendByFriendData[u].first_name + ' '+FriendByFriendData[u].last_name+'<br>('+dist+' км)'+'\')" style="cursor: pointer;" title="'+FriendByFriendData[u].first_name + ' ' +FriendByFriendData[u].last_name+ ' (расстояние от меня '+dist+' км)'+'">';
                              accuracy_array = [{"0":"Маркер установлен вручную" , "1":"Точное определение",  "2":"Не точное определение..", "3":"Не точное определение..."}];
                               
                                 
                             
                            // centerAt(data[i].lat, data[i].lng);

                              set_marker(data[i].lat, data[i].lng, 10, 10, icourl, FriendByFriendData[u].first_name + ' '+FriendByFriendData[u].last_name+' ('+data[i].date + ' / ' + data[i].time +') \n ('+dist+' км  /  '+accuracy_array[0][data[i].accuracy]+')'  , infohtml, 0);
                           }   
                            if (data.length >0) 
                             {
                               document.getElementById('users_in_app').innerHTML = data.length + ' пользователя находятся от Вас не далее '+distance+' км.';
                               document.getElementById('users_in_app').style.display = "block";
                               document.getElementById('users_pic').style.visibility = "visible";
                               if (i<45) {
                               document.getElementById('users_pic').innerHTML = users_pics; 
                               }
                               
                             }
                             else
                             {
                               document.getElementById('users_in_app').innerHTML = data.length + ' У Вас еще нет друзей установивших приложение - "Где я и моя друзья?".<br>Приглашайте друзей, и они появятся на карте.'; 
                               document.getElementById('users_in_app').style.display = "block";
                             }
                       showLoading(0);
                       }
                    });    
              }
              ,
              error: function(x,e) 
              {
                  showLoading(0);
                  alert('Ой! ошибка  getWhoAreNear. Сообщите разработчикам. '+x+' '+e);
             }  
          }); 
          
*/          

