var x;
x=$(document);
x.ready(inicializarEventos);

function inicializarEventos(){
  var x=$("#btsend");
  x.click(validar); 
  var y=$("#btrecovery"); 
  y.click(recovery_pass); 
}                

function validar(){
  frm=document.Compose;  
  if (frm.offices.value="" || frm.name.value=="" || frm.company.value=="" || frm.mail.value=="" || frm.phone.value=="" || frm.comments.value=="" ){
  var x=$("p.llenar");  
  x.text("Disculpe, hace falta su información en los siguientes campos:");
  x.css("font-weight","bold");
    
      
   if (frm.offices.value=="") {           
      var x=$("p.offices");      
      x.text("- Sucursal.");           
    }
    else {    
      var x=$("p.offices");                      
      x.text("");            
    }    
    
   if (jQuery.trim(frm.name.value)=="") {           
      var x=$("p.nom");      
      x.text("- Nombre.");           
    }
    else {    
      var x=$("p.nom");                      
      x.text("");            
    }    
    
   if (jQuery.trim(frm.name.value)=="") {           
      var x=$("p.company");      
      x.text("- Compañia.");           
    }
    else {    
      var x=$("p.company");                      
      x.text("");            
    }    

    if(frm.mail.value=="") {
      var x=$("p.mail");
      x.text("- Dirección de Correo Electrónico.");      
      var txtMail=$("#mailValido");
      txtMail.html("Ingrese una dirección de correo electrónico válido.<br> Ejemplo: info@lapiedrera.com.mx");             
    }  
    else if (!CheckEmail(frm.mail)) {    		
		frm.mail.focus()
		return false;
		}  		     	
    else {
      var x=$("p.mail");
      x.text("");
      var txtMail=$("#mailValido");
      txtMail.text("");      
    }     
    
    if(frm.phone.value=="") {
      var x=$("p.phone");
      x.text("- Teléfono.");            
    }
    else {
      var x=$("p.phone");
      x.text("");            
    }   

    if(frm.city.value=="") {
      var x=$("p.city");
      x.text("- Ciudad.");            
    }
    else {
      var x=$("p.city");
      x.text("");            
    }

/*    if(frm.comments.value=="") {
      var x=$("p.promo");
      x.text("- Comentarios.");            
    }
    else {
      var x=$("p.promo");
      x.text("");            
    } */   

    if(frm.comments.value=="") {
      var x=$("p.comments");
      x.text("- Comentarios.");            
    }
    else {
      var x=$("p.comments");
      x.text("");            
    }   
      
    var bg=$("#validar");
    bg.addClass("validar");
    bg.parent().attr('height','125px');        
    
    var space=$("#moveForm");
    space.addClass("addSpaceForm");               
  }  
  
  function CheckEmail(formelem) {
	arrInvalidCharacters = new Array("?","#","$","%","^","&","*","(",")","!","~","[","]","{","}","\\","'","`",":",";","'","<",">",",","/","\\",")","+","=","|")
	var bValid = true;
	for (i = 0; i < arrInvalidCharacters.length; i++) {
		if (formelem.value.indexOf(arrInvalidCharacters[i]) != -1) {
			bValid = false;
			break;
			}
		}
	if (formelem.value == "" || formelem.value.indexOf("@") == -1 || formelem.value.indexOf(".") == -1) {
		bValid = false;
		}		      		    		
	return bValid;
	}	
		
}

function recovery_pass(){
   frm=document.Compose; 
   if (frm.curp.value=="") {  
   	showDialog('Alerta','Debe de capturar su CURP', 'alert');   
	frm.curp.focus;
	return false;         
    }	
}

function onlyNumbers(evt)
{
	evt = (evt) ? evt : window.event
	var charCode = (evt.which) ? evt.which : evt.keyCode

	if (charCode > 31 && (charCode < 48 || charCode > 57))
		return false;
	
	return true;
}

//-- function initialize_forms
function initialize_forms( _skip_focus ) {
	if ( $("form[class=]").get(0) ) {
		$("form[class=]").each( 
			function() {
				//-- If js_ui_restricted input exists, and has a value
				if ( this.js_ui_restricted != undefined ) {
					if ( this.js_ui_restricted.value !='' ) {
						var _js_ui_restricted = 'var _restricted = '+ this.js_ui_restricted.value;
						eval(_js_ui_restricted);
						//-- Sets input mask defined on restricted object
						if (_restricted != undefined) {
							var _fvo = _restricted;
							
							for (var _obj in _fvo) {
								if (typeof(_fvo[_obj].field) != 'undefined') {
									var _input = _fvo[_obj];

									if ( $(this).find("[name="+ _input.field +"]").get(0) ) {
										var _input_fmt = $(this).find("[name="+ _input.field +"]").get(0);

										if ( ! ( $(_input_fmt).is('.__ide_masked') ) ) {
											$(_input_fmt).addClass('__ide_masked');
										
											//-- Add Class defined to the input
											//-- if (typeof(_input.class) != 'undefined') {
											if (_input.setclass != undefined) {
												if ( _input.setclass != '' ) {
													$(_input_fmt).addClass( _input.setclass );
													}
												}
	
											//-- Set mask if numeric or string type
											if (_input.type != undefined) {
												if (_input.type == 'numeric') {
													$(_input_fmt).attr('alt', _input.mask).autoNumeric();
													}
												else {
													if (_input.mask != undefined) {
														var _set_mask = true;
														if (_input.placeholder == '') {
																if ($.browser.msie) {
																	_set_mask = false;
//																	_input.placeholder = '*';
																	}															
																}
														if (_set_mask) { 
															if (_input.placeholder != undefined) {
																
																$(_input_fmt).mask(_input.mask, { placeholder: _input.placeholder });
																}
															else {
																$(_input_fmt).mask(_input.mask);
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				
				}
			);
			//agrega calendario a los input
			$(".date").each(function(){
				/** establecemos los settings base */
				var _settings = { "dateFormat": "dd/mm/yy" };
			
				/** buscamos el atributo mindate */		
				if (!(($(this).attr("mindate")) == "" || ($(this).attr("mindate") == undefined))) {
					var _date = $(this).attr("mindate").split("-");
					_settings["minDate"] = new Date(_date[0], _date[1] - 1, _date[2]);
					}
			
				/** buscamos el atributo maxdate */		
				if (!(($(this).attr("maxdate")) == "" || ($(this).attr("maxdate") == undefined))) {
					var _date = $(this).attr("maxdate").split("-");
					_settings["maxDate"] = new Date(_date[0], _date[1] - 1, _date[2]);
					}
			
			
				/** buscamos el predecesor */		
				if ((!(($(this).attr("predate")) == "" || ($(this).attr("predate") == undefined))) || (!(($(this).attr("posdate")) == "" || ($(this).attr("posdate") == undefined)))) {
			
					_settings['beforeShow'] = function(input, inst) {
						/** establecemos los valores por defecto para minDate y maxDate */
						var _mindate = $(input).datepicker('option', 'minDate');
						var _maxdate = $(input).datepicker('option', 'maxDate');
						
						/** buscamos al predecesor */
						if ( $(input).parents('form').find('input[name='+ $(input).attr('predate') +']').get(0) ) {
							var _input = $(input).parents('form').find('input[name='+ $(input).attr('predate') +']').get(0);
							_mindate = $(_input).datepicker('getDate');				
							}
							
						/** buscamos al sucesor */
						if ( $(input).parents('form').find('input[name='+ $(input).attr('posdate') +']').get(0) ) {
							var _input = $(input).parents('form').find('input[name='+ $(input).attr('posdate') +']').get(0);
							_maxdate = $(_input).datepicker('getDate');				
							}
							
						/** regresamos los nuevos settins */
						return { minDate : _mindate, maxDate : _maxdate }
						}; 
					}
			
				/** contruimos el objeto */
				$(this).datepicker( _settings );
			
				});
				
	
			//funcion borrado
			$('.Delete').click(
				function() {
					hideLoading();
					$(this).addClass('__CLICKED');
					//construimos los botones y sus funciones
					var btns = {
						"Cancelar": function() { 	
							$(this).dialog("close");
			                        $('.__CLICKED').removeClass('__CLICKED'); 
			                        return false; 
						} ,						 
						"Aceptar": function() { 
						       
							$(this).dialog("close");
							window.location = $('.__CLICKED').attr('href');
							return true;
						}							
					}
					//llamamos la función
					//question, alert, info						
					showDialog('Confirmación','¿Seguro que desea borrar el registro?', 'question',btns);
			            return false;
					}
				);				
		}
	}
//-- function valid_form 
function valid_form(_form) {
	if (_form.js_ui_restricted == undefined) return true;

	var _js_ui_restricted = 'var _fvo = '+ _form.js_ui_restricted.value;
	eval(_js_ui_restricted);
	for (var _obj in _fvo) {
		if (typeof(_fvo[_obj].field) != 'undefined') {
			var _input = _fvo[_obj];
			if ( $(_form).find('[name='+ _input.field +']').get(0)  ) {
				_frmobj = $(_form).find('[name='+ _input.field +']').get(0) ;
				if ( $(_frmobj).is('.restricted') ) {
					if ( ! ( $(_frmobj).attr('readonly') || $(_frmobj).attr('disabled') ) ) {
						if ( $(_frmobj).is(':visible') ) {
							if ( $(_frmobj).val() == '') {				  
								//showDialog('Mensaje',_input.message, 'alert', undefined, function() { $(_frmobj).focus() } );
								alert(_input.message);
								$(_frmobj).focus()
								return false;
								}
							}					
						} 
					} 
				}
			}
		}


	if (typeof(_xtra_valid_form) == "function" ) {
		if ( ! ( _xtra_valid_form(_form) ) ) {
			return false;
			}
		} 

	//-- UpperCase input PATCH
	$(_form).find('.uppercase').each(
		function() {
			this.value = this.value.toUpperCase();
			}
		);

	return true;
	}


