/**
 * @author GLOBOsapiens GmbH
 * @copyright 2009
 * 中文 - do not remove. Ensuring UTF-8 recognition without BOM
 */

// Ajax Formchecker
//-------------------------------------------------------------------------------------------------------
$(document).ready(function() {
	$('#extra').hide();
	// why should we show a loader anyway?
	//var $loader = '<img src="/g/p/2/ajax_waiting2.gif" alt="Ajax Indicator" width=14 height=14 style="position:relative;top:4px;"  />';
	var $loader = '';

	$('#email_loading').html($loader).hide();	
	$('#u_name_loading').html($loader).hide();
	$('#pw1_loading').html($loader).hide();
	$('#pw2_loading').html($loader).hide();
			
	checkValue(2, 'email');	
	checkValue(3, 'u_name');
	checkValue(4, 'pw1', 'u_name');
	checkValue(5, 'pw2', 'pw1');		
		
function checkValue(fa, id, id2){

	$('#'+id).blur(function(){
	  if ($('#'+id).val() !== ""){
		  $('#'+id+'_info').hide();	  
		  $('#'+id+'_loading').show();
		  $.post("subapp_members/act_check_signup.php", {
		    fa: fa,
		    id:  $('#'+id).val(),
		    id2: $('#'+id2).val()
		  }, function(response){
		    $('#'+id+'_info').fadeOut();
		    setTimeout("finishAjax('"+id+"', '"+escape(response)+"')", 0);
		  });
			return false;
		 		} // end if

		});	

	} // end blur
});

function finishAjax(id, response) {
  $('#'+id+'_loading').hide();
  $('#'+id+'_info').html(unescape(response));
  $('#'+id+'_info').fadeIn();
} //finishAjax
//-------------------------------------------------------------------------------------------------------

// validate email
//-------------------------------------------------------------------------------------------------------
function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}
//-------------------------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------------------------
// validate password change form
function validate_passw(form){

 // passw empty?
 if (form.old_passw.value == "") {
 	switch(form.i18n.value){
		case "gm_GM": 
			 alert ("Please enter your current password!");
			break;
		case "en_US": 
			 alert ("Please enter your current password!");
			break;
		case "es_ES": 
			 alert ("Por favor introduce tu contrase&#241;a actual");
			break;	
		case "cn_TR": 
			 alert ("请输入您目前的密码！");
			break;			
	}
  form.old_passw.focus();
  return false;
 } 

  if (form.new_passw.value == "") {
  	switch(form.i18n.value){
		case "gm_GM": 
			 alert ("Please enter your new password!");
			break;
		case "en_US": 
			 alert ("Please enter your new password!");
			break;
		case "es_ES": 
			 alert ("Por favor introduce tu nueva contrase&#241;a.");
			break;	
		case "cn_TR": 
			 alert ("请输入您的新密码！");
			break;			
	}
  form.new_passw.focus();
  return false;
 }   

  if (form.new_passw_confirm.value == "") {
  	switch(form.i18n.value){
		case "gm_GM": 
			 alert ("Please confirm your new password!");
			break;
		case "en_US": 
			 alert ("Please confirm your new password!");
			break;
		case "es_ES": 
			 alert ("Por favor confirma tu nueva contrase&#241;a");
			break;	
		case "cn_TR": 
			 alert ("请确认您的新密码！");
	        break;
	}
  form.new_passw_confirm.focus();
  return false;
 } 

 // passw to short?
 if (form.old_passw.value.length < 6) {
 	switch(form.i18n.value){
		case "gm_GM": 
			 alert ("Your old password is at least 6 characters long!");
			break;
		case "en_US": 
			 alert ("Your old password is at least 6 characters long!");
			break;
		case "es_ES": 
			alert ("Tu antigua contrase&#241;a tiene al menos 6 carácteres");
			break;	
		case "cn_TR": 
			 alert ("您的旧的密码至少达到6个字！");
	        break;
	}
  form.old_passw.focus();
  return false;
 } 
 if (form.new_passw.value.length < 6) {
 	switch(form.i18n.value){
		case "gm_GM": 
			 alert ("Your new password has to be at least 6 characters!");
			break;
		case "en_US": 
			 alert ("Your new password has to be at least 6 characters!");
			break;
		case "es_ES": 
			alert ("Tu nueva contrase&#241;a tiene que tener al menos 6 carácteres");
			break;
		case "cn_TR": 
			 alert ("您的新的密码至少要达到6个字符!");
			break;	
	}
  form.new_passw.focus();
  return false;
 } 

  if (form.new_passw.value != form.new_passw_confirm.value ) {
  	switch(form.i18n.value){
		case "gm_GM": 
			 alert ("You did not enter two equal new passwords!");
			break;
		case "en_US": 
			 alert ("You did not enter two equal new passwords!");
			break;
		case "es_ES": 
			alert ("No has escrito dos contrase&#241;as iguales");
			break;	
		case "cn_TR": 
			 alert ("您不能输入两个相同的新密码!");
	        break;
	}
  form.new_passw.focus();
  return false;
 } 
}
//-------------------------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------------------------
// validate email (send password form)
function validate_send_passw(form){

 // email empty?
 if (form.email.value == "") {
  	switch(form.i18n.value){
		case "gm_GM": 
			alert ("Bitte geben Sie Ihre e-mail Adresse an!");
			break;
		case "en_US": 
			alert ("Please enter your e-mail adress!");
			break;
		case "es_ES": 
			alert ("Por favor danos tu direccion de e-mail!");
			break;
		case "cn_TR": 
			alert ("请输入您的电子邮件地址!");
			break;	
	}
  form.email.focus();
  return false;
 } 
// email valid?
 if (!isEmail(form.email.value)) {
 	switch(form.i18n.value){
  		case "en_US":
		  	alert ("Please enter a valid e-mail address");
  			break;
  		case "gm_GM": 
	 		alert ("Bitte geben Sie eine gültige E-Mail-Adresse an!");
			break;
		case "es_ES": 
	 		alert ("Por favor introduce un e-mail válido!");
			break;
		case "cn_TR": 
	 		alert ("请您输入有效的电子邮件地址!");
	 		break;
	}
  form.email.focus();
  return false;
 }   
}
//-------------------------------------------------------------------------------------------------------


//-------------------------------------------------------------------------------------------------------
// check register form step 1
function isvalidform(form) {
 if (form.email && !isEmail(form.email.value)) {
 	switch(form.i18n.value){
		case "en_US": 
			alert ("Please enter a valid e-mail address");
			break;
		case "gm_GM": 
	 		alert ("Bitte geben Sie eine gültige E-Mail-Adresse an!");
			break;
		case "es_ES": 
	 		alert ("Por favor introduce un e-mail válido!");
			break;	
		case "cn_TR": 
	 		alert ("请输入您的有效的电子邮件地址！");
	 		break;
	}  
  form.email.focus();
  return false;
 }
 if (form.u_name.value == "") {
 	switch(form.i18n.value){
		case "en_US": 
			alert ("Please enter a user name!");
			break;
		case "gm_GM": 
	 		alert ("Bitte geben Sie einen Benutzernamen an!");
			break;
		case "es_ES": 
	 		alert ("Por favor introduce tu nombre de usuario!");
			break;	
		case "cn_TR": 
	 		alert ("请输入您的用户名");
	 		break;
	}   
  form.u_name.focus();
  return false;
 }
 if (form.u_name.value.length < 4) {
 	switch(form.i18n.value){
		case "en_US": 
			  alert ("Your user name has to be at least 4 characters!");
			break;
		case "gm_GM": 
			  alert ("Dein Benutzername muß mindestens 4 Zeichen lang sein!");
			break;
		case "es_ES": 
			  alert ("¡Tu nombre de usuario debe tener al menos 4 carácteres!");
			break;	
		case "cn_TR": 
			  alert ("您的用户名至少要达到4个字！");
            break;
	}   
  form.u_name.focus();
  return false;
 } 
 if (form.pw1.value == "") {
 	switch(form.i18n.value){
		case "en_US": 
			  alert ("Please enter a password!");
			break;
		case "gm_GM": 
			  alert ("Bitte geben Sie ein Passwort an!");
			break;
		case "es_ES": 
			  alert ("¡Por favor introduce una contrase&#241;a!");
			break;	
		case "cn_TR": 
			  alert ("输入您的密码！");
            break;
	}   
  form.pw1.focus();
  return false;
 }  
 if (form.pw2.value == "") {
 	switch(form.i18n.value){
		case "en_US": 
			  alert ("Please confirm your password!");
			break;
		case "gm_GM": 
			  alert ("Bitte bestätigen Sie Ihr Passwort mit einer zweiten Angabe!");
			break;
		case "es_ES": 
			  alert ("¡Por favor confirma la contrase&#241;a!");
			break;	
		case "cn_TR": 
			  alert ("请您再输入一遍密码!");
            break;
	}   
  form.pw2.focus();
  return false;
 } 
 if (form.pw1.value == form.u_name.value){
	switch(form.i18n.value){
		case "en_US": 
			alert ("Security warning:\nYour user name and password should not be the same!");
			break;
		case "gm_GM": 
  	 		alert ("Sicherheitshinweis: Ihr Mitgliedsname und das Passwort sollten nicht gleich sein!");
			break;
		case "es_ES": 
  	 		alert ("Alerta de seguridad: El nombre de usuario y la contrase&#241;a no pueden ser iguales!");
			break;	
		case "cn_TR": 
  	 		alert ("安全建议: 您的用户名最好同您的密码区别开！");
  	 		break;
	}  
  form.u_name.focus();
  return false;  
}
 if (form.pw1.value != "" || form.password2.value != ""){ 
	 if (form.pw1.value.length < 6) {
	 	switch(form.i18n.value){
			case "en_US": 
				  alert ("Your password has to be at least 6 characters!");
				break;
			case "gm_GM": 
				  alert ("Ihr Passwort muß mindestens 6 Zeichen lang sein!");
				break;
			case "es_ES": 
				  alert ("Tu contrase&#241;a debe tener al menos 6 carácteres!");
				break;	
			case "cn_TR": 
				  alert ("您的密码至少要达到六个字符！");
	            break;
		}   
	  form.pw1.focus();
	  return false;
	 } 
	
	  if (form.pw2.value != form.pw1.value ) {
	 	switch(form.i18n.value){
			case "en_US": 
				  alert ("You did not enter two equal passwords!");
				break;
			case "gm_GM": 
				  alert ("Sie haben zwei unterschiedliche Passwörter angegeben!");
				break;
			case "es_ES": 
				  alert ("No has introducido dos contrase&#241;as iguales");
				break;
			case "cn_TR": 
				  alert ("您输入的密码前后不一致!");
				break;	
		}   
	  form.pw2.focus();
	  return false;
	 } 
 }
 if (form.residence && form.residence.value == "") {
 	switch(form.i18n.value){
		case "en_US": 
			  alert ("Please indicate the reason why you want to post classifieds in a another country than you live in.");
			break;
		case "gm_GM": 
			  alert ("Bitte geben Sie den Grund an warum Sie in einem anderen Land inserieren möchten.");
			break;
		case "es_ES": 
			  alert ("Por favor, indique la razón por la cual usted está en otro país le gustaría anunciarse.");
			break;	
		case "cn_TR": 
			  alert ("请说明为什么你是在另一个国家要宣传。");
            break;
	}   
  form.residence.focus();
  return false;
 } 
 if (form.reason && form.reason.value == "") {
 	switch(form.i18n.value){
		case "en_US": 
			  alert ("What exactly do you want to advertise?");
			break;
		case "gm_GM": 
			  alert ("Was genau möchten Sie inserieren?");
			break;
		case "es_ES": 
			  alert ("¿Qué es exactamente lo que desea anunciar?");
			break;	
		case "cn_TR": 
			  alert ("请说明为什么你是在另一个国家要宣传。");
            break;
	}   
  form.reason.focus();
  return false;
 }  
 if (form.agbs && !form.agbs.checked){
 	switch(form.i18n.value){
		case "en_US": 
			 alert ("If you want to use our aditional services you have to accept our Terms of Conditions and the Privacy Policy!");
			break;
		case "gm_GM": 
			 alert ("Um aktiv an unserer Community teilnehmen zu können müssen Sie den AGB's zustimmen!");
			break;
		case "es_ES": 
			 alert ("Si quieres usar nuestros servicios adicionales, tienes que aceptar los términos y condiciones y la política de privacidad!");
			break;
		case "cn_TR": 
			 alert ("为了能加入我们的社区请您遵守我们的基本商务条款！");
			break;	
	}   
  form.agbs.focus();
  return false;
 }
 // everything ok. Proceed form
 defaultStatus = "Registering...";
  /* this should work, but does not. It also creates trouble if someone wants to update an account
   document.getElementsByName("submit")[0].disabled=true;
  */
 return true;
}

//-------------------------------------------------------------------------------------------------------

