
$(document).ready(function() {

  $("#tabeditar a").click(function() {
    $('#tabcrear').css('background-position', 'bottom');
    $('#tabeditar').css('background-position', 'top');
    
    
    if($.browser.msie) {
      $('#crear').hide();
      $('#editar').show();
    } else {
      $("#crear").slideUp('normal',function() {
        $("#editar").slideDown();
      });
    }
    
    return false;
  });

  $("#tabcrear a").click(function() {
    $('#tabcrear').css('background-position', 'top');
    $('#tabeditar').css('background-position', 'bottom');
    
    if($.browser.msie) {
      $('#crear').show();
      $('#editar').hide();
    } else {
    $("#editar").slideUp("normal",function() {
      $("#crear").slideDown();
      });
    }
    return false;
  });
    
  
  if($.browser.msie) {
    $('#tabcrear').css('left', 5);
    $('#tabeditar').css({'right': 5, 'background-position': 'bottom'});
  }

  showErrors();
  
  $('#select_all').click(function() {
    $('.form.sites td input').attr('checked', $(this).attr('checked'));
  });
    
  $('#UserPasswordConfirm').change(function() {
    if($(this).val() != $('#UserPassword').val()) {
      var error = $('<strong class="error">Las contraseñas ingresadas no coinciden</strong>');
      $(this).after(error);
      showErrors();
    
    } else {
      $(this).nextAll('.error').remove();
    }
    
  });
 
  $('#submit_btn').click(function() {
		$('#UserPhonePrefix').attr('disabled', false);
  });

 var EntelPCS = {

	hide  : function(element) 
	{
 		 $('#passwd_to_collapse').hide();
		 $('#waiting_mobile').hide();
		 $('#waiting_pass').hide();
	},		
	
	get_cookie : function(phone_number) 
	{
		return ( parseInt(readCookie(phone_number)) );
	},
	
	set_login_cookie   : function(phone_number) 
	{
		( this.get_cookie(phone_number) ) ? createCookie(phone_number, 1, 1) : createCookie(phone_number, this.get_cookie()+1, 1);
		return true;
	},	

	validate_number : function(phone_prefix, phone_number) 
	{
		$('#waiting_mobile').show();
	
		if(parseInt(readCookie(phone_number)) >= 2) {
			return;
		}

		$.get('/entelpcs/check_number/soap/'+phone_prefix+''+phone_number+'', function(data) {
			readed_data = $.trim(data);
			if(readed_data == "True") {
			$('#passwd_to_collapse').show();
				$('#passwd_to_collapse').removeClass('on_error');			
				$('#error_login').hide();
			}
		});

		$('#waiting_mobile').hide();
	},

	validate_login : function(phone_number, password) 
	{
		if(parseInt(readCookie(phone_number)) >= 2) {
			this.hide_password();
		}

		$('#waiting_pass').show();

	 	$.get('/entelpcs/check_client/soap/'+phone_number+'/'+password+'', function(data) {
			readed_data = $.trim(data);
			if(readed_data == "True") {
				$('#passwd_to_collapse').fadeOut('slow');
        	    		$('#UserPhonePrefix').attr('disabled', true);
	            		$('#UserPhonePrefix').css('background-color', '#ccc');
				$('#UserPhone').attr('readonly', true);
            			$('#UserPhone').css('background-color', '#ccc');
            			$('#waiting_mobile').html('<img src="/i/ico_check.gif" alt="" />');
				$('#waiting_mobile').show();
			} else {
				$('#passwd_to_collapse').addClass('on_error');			
				$('#error_login').show();
            			$('#clavepcs').val("");
				(!readCookie(phone_number)) ? createCookie(phone_number, 1, 1) : createCookie(phone_number, parseInt(readCookie(phone_number))+1, 1);
				$('#error_login').html('<strong class="error">Intento '+parseInt(readCookie(phone_number))+' de 3 invalidos </strong>');
			}
		});
		$('#waiting_pass').hide();
	},

	hide_password : function() {
		$('#passwd_to_collapse').removeClass('on_error');
		$('#passwd_to_collapse').fadeOut('slow');
		$('#error_login').hide();
		$('#clavepcs').val("");
		return;
	}
  };
   
  EntelPCS.hide();

  $('#UserPhone').blur(function() { EntelPCS.validate_number($('#UserPhonePrefix').val(), $(this).val()); });
  $('#clavepcs').blur(function()  { EntelPCS.validate_login($('#UserPhonePrefix').val()+''+$('#UserPhone').val(), $(this).val());  });

  $('#UserInfoCountry').change(function() {
    var code = $(this).val();
    $('#UserInfoCity').attr('disabled', 'disabled');
  
    $.post('/utils/getCities', {code: code}, function(cities) {
      var citySelect = $('#UserInfoCity');
      citySelect.removeAttr('disabled');
      
      var select = citySelect.get(0);
      
      select.options.length = 0;
      select.options[0] = new Option('---');
      
      for(var i in cities) {
        select.options[select.options.length] = new Option(cities[i], cities[i]);
      }
      
    }, 'json');
   
  });
  
  $('input.caption').focus(function() {
    $(this).parent().removeClass('foco');
    $("label[for='" + this.id + "'] > small").css('display', 'block');
  });

  $('input.caption').blur(function() {
    $("label[for='" + this.id + "'] > small").css('display', 'none');
  });
  
  $('#UserUsername').keyup(function() {
    clearTimeout(this.timer);
    var value = $.trim($(this).val());
    
    if(value.length > 0) {
      $('#availability').animate({opacity: 1}, 500).slideDown();
    } else {
      $('#availability').slideUp();
      return;
    }
  
    $('#name-result').text($(this).val());
    
    $('#domain-result')
      .removeClass('domain-result-good')
      .removeClass('domain-result-bad')
      .addClass('domain-result-load')
      .html('consultando');
    
    this.timer = setTimeout(checkUserAvail, 1000);
  });
});

function checkUserAvail() {
  $('#domain-result')
    .removeClass('domain-result-good')
    .removeClass('domain-result-bad');

  $.post('/utils/checkUserAvail', {username: $('#UserUsername').val()}, function(data) {
    
    if($.trim(data) == 'YES') {
      $('#domain-result').html('disponible');
      $('#domain-result').addClass('domain-result-good');
    } else {
      $('#domain-result').html('no disponible');
      $('#domain-result').addClass('domain-result-bad');
    }
    
    $('#domain-result').removeClass('domain-result-load');
    
  });
}

function showErrors() {
  if($.browser.msie) return;
  
  $('input + .error')
    .css({'display': 'block', 'opacity': 100})
    .animate({top: "0px", opacity: 1}, 750);

}
// Functions to Call

function error(input) {
	$(input +" + .error")
    .css({'display': 'block', 'opacity': 0})
		.animate({top: "0px", opacity: 1}, 1000);
    
	$(input +" + input, "+ input).css({borderColor: "#cc0000"});
	$(input).parent().addClass("warn");
		
}


function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}


var Sites = {
  toggle: function(id) {
    $.post('/admin/favorite', {'id': id}, function() {
      $('#site-'+id+' td.favorite a').toggleClass('fav');
    });
  }
}

