var submitable = 1;


function big_query()
 {
  document.getElementById('div_find').innerHTML = "";
  document.getElementById('div_find').innerHTML = "<iframe name='big_query' id='big_query' src='big_query.php' width='440' height='158' frameborder='0'></iframe>";
 }


function getStyleObject(objectId)
 {
  if(document.getElementById && document.getElementById(objectId)) return document.getElementById(objectId).style;
    else if (document.all && document.all(objectId)) return document.all(objectId).style;
     else if (document.layers && document.layers[objectId]) return document.layers[objectId];
      else return false;
 }


function LimitText(theTextArea)
 {
  if (theTextArea.value.length > 255) theTextArea.value = theTextArea.value.substr(0,255);
 }


function check_for_errors()
 {
  //username
  var username_js = document.getElementById('username').value;
  error = error_username(username_js);
  if (error!="") document.getElementById('span_username').innerHTML = "<font color=red> " + error + "</font>";
			else document.getElementById('span_username').innerHTML = "";
  //////////

  //password
  var password_js = document.getElementById('password').value;
  error = error_password(password_js);
  if (error!="") document.getElementById('span_pass').innerHTML = "<font color=red> " + error + "</font>";
			else document.getElementById('span_pass').innerHTML = "";
  //////////

  //password confirmation
  var cpassword_js = document.getElementById('conf_password').value;
  if (cpassword_js != password_js) document.getElementById('span_conf_pass').innerHTML = "<font color=red> The two passwords must match.</font>";
							  else document.getElementById('span_conf_pass').innerHTML = "";
  ///////////////////////

  //e-mail
  var email_js = document.getElementById('user_email').value;
  error = error_email(email_js);
  if (error!="") document.getElementById('span_email').innerHTML = "<font color=red> " + error + "</font>";
			else document.getElementById('span_email').innerHTML = "";
  ////////


 
 
  answer = new Array();
  answer[0] = username_js;
  answer[1] = email_js
  return answer;
 }


function no_error()
 {
  answer = check_for_errors();
  var spans = document.getElementsByTagName("span");
  var len = spans.length;
  for (var i=0; i<len; i++)
	if (spans[i].innerHTML.length>1) return false;
  document.getElementById('hidden_submitable').value = 0;
  makeRequest('profile_details_checker.php?user='+answer[0]+'&email='+answer[1]+'&username=no', 0);
 }


function error_username(username_js)
 {
  var error = "";
  var illegalChars = /\W/; // allow letters, numbers, and underscores

  if (username_js == "") error = "You didn't enter a username.";
    else if (username_js.length < 4) error = "The username must be minimum 4 characters long.";
     else if (illegalChars.test(username_js)) error = "The username contains illegal characters.";

  return error;
 }


function error_password(password_js)
 {
  var error = "";
  var illegalChars = /[\W_]/; // allow letters, numbers

  if (password_js == "") error = "You didn't enter a password.";
    else if (password_js.length < 4) error = "The password must be minimum 4 characters long.";
     else if (illegalChars.test(password_js)) error = "The password contains illegal characters.";

  return error;
 }


function error_email(email_js)
 {
  var error = "";
  var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
  var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;

  if (email_js == "") error = "You didn't enter an email address.";
    else if (!emailFilter.test(email_js)) error = "Please enter a valid email address.";
     else if (email_js.match(illegalChars) || email_js.indexOf(" ")!=-1) error = "The email address contains illegal characters.";

  return error;
 }
 

var _type = 1;

function makeRequest(url, ftype) {
        var http_request = false;
		_type = ftype;
        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
	
        http_request.onreadystatechange = function (  ) {
            if (http_request.readyState == 4) {
		/*if (type==1) document.getElementById('span_username').innerHTML = http_request.responseText;
		if (type==2) document.getElementById('span_email').innerHTML = http_request.responseText;*/

		if (_type==0)
		   {
			answer = http_request.responseText.split("+");
			document.getElementById('span_username').innerHTML = answer[0];
			document.getElementById('span_email').innerHTML = answer[1];
			if (document.getElementById('hidden_submitable'))
				 document.getElementById('hidden_submitable').value = 1;

			if (answer[0].indexOf("username")==-1 && answer[1].indexOf("email")==-1)
			 {
			  create_opacity_div();
			  makeRequest("../answers/cities_all.php?param="+document.getElementById('place').value, 4);
			  return false;
			 }
			else alert('Please check your fields first!');
		   }

		if (_type==1)
		   {
			answer = http_request.responseText.split("+");
			document.getElementById('span_username').innerHTML = answer[0];
			document.getElementById('span_email').innerHTML = answer[1];
			document.getElementById('span_old_pass').innerHTML = answer[2];
			if (answer[0].indexOf("username")==-1 && answer[1].indexOf("email")==-1 && answer[2].indexOf("password")==-1)
			 {
			  create_opacity_div();
			  makeRequest("../answers/cities_all.php?param="+document.getElementById('place').value, 4);
			  return false;
			 }
			else alert('Please check your fields first!');
		   }

		if (_type==3) document.getElementById('span_old_pass').innerHTML = http_request.responseText;

		/*for google-map*/
		if (_type==4)
		 {
		  if (document.getElementById('hidden_submitable'))
				 document.getElementById('hidden_submitable').value = 1;
		   if (document.forms[0].hid_save) document.forms[0].hid_save.value=1;
				   document.forms[0].submit();

////////////////////////

		 }
	   }
      }
     http_request.open('GET', url, true);
     http_request.send(null);
    }
