/*************************************************************************/
/*                                                                       */
/*    project:  Okna ASTRE web 2009                                      */
/*    code:     form_check.js                                            */
/*    author:   Radovan Čapek                                            */
/*    date:     4.7.2009                                                 */
/*                                                                       */
/*************************************************************************/

/********************************************************************/
/*     HomePage scripts                                             */
/*     requirements : jQuery.js                                     */
/********************************************************************/
$(document).ready(
/********************************************************************/
/*     HomePage scripts                                             */
/*     requirements : jQuery.js                                     */
/********************************************************************/
    function () {

    /********************************************************************/
    /*     script name: password input script                           */
    /*     describe: remove input text on focus                         */
    /********************************************************************/
    $('#form_submit')
			.bind(
				'click',                    // on focus
				function()
				{
  					$(".report_bubble").remove();                                       // remove all old report
            var is_valid = true;                                                // I am expecting valid input
            
            
            /********************************************************************/
            /*     REQUIRED class: ordinary text input                          */
            /********************************************************************/
            var n = $(".required").length;
            for(i=0;i<n;i++) {
                
                if(!(/\S/.test($(".required:eq("+i+")").attr("value")))) {
                    
                    var text = "Required&nbsp;item";
                    
                    var position = $(".required:eq("+i+")").position();
                    var top      = position.top -25;
                    var left     = position.left + 120;
                    if($(".required:eq("+i+")").attr("id") == "captcha" )
                          var left     = position.left + 30;

                    $(".required:eq("+i+")").after("<div class='report_bubble' style='top:"+top+"px;left:"+left+"px;'><div class='rb_content'>"+text+"</div><div class='rb_bottom'></div></div>");   
                    is_valid = false;
                }
            
            }
            /********************************************************************/
            /*     EMAIL_REQUIRED class: email text input                       */
            /********************************************************************/       
            var n = $(".email_required").length;
            for(i=0;i<n;i++) {
                
                // regualar expresion of e-mail address
                re = new RegExp("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,3}$");
                if (!re.test($(".email_required:eq("+i+")").attr("value"))) {
                
                    // is input empty?
                    if(!(/\S/.test($(".email_required:eq("+i+")").attr("value"))))
                        var text = "Required&nbsp;item";
                    else
                        var text = "Wrong&nbsp;e-mail&nbsp;format";
                    
                    var position = $(".email_required:eq("+i+")").position();
                    var top      = position.top -25;
                    var left     = position.left + 120;

                    $(".email_required:eq("+i+")").after("<div class='report_bubble' style='top:"+top+"px;left:"+left+"px;'><div class='rb_content'>"+text+"</div><div class='rb_bottom'></div></div>");   
                    is_valid = false;
                }
            
            }
            /********************************************************************/
            /*     EMAIL_REQUIRED class: email text input                       */
            /********************************************************************/       
            var n = $(".login_required").length;
            for(i=0;i<n;i++) {
                
                if(!(/\S/.test($(".login_required:eq("+i+")").attr("value")))) {
                    
                    var text = "Required&nbsp;item";
                    
                    var position = $(".login_required:eq("+i+")").position();
                    var top      = position.top -25;
                    var left     = position.left + 120;

                    $(".login_required:eq("+i+")").after("<div class='report_bubble' style='top:"+top+"px;left:"+left+"px;'><div class='rb_content'>"+text+"</div><div class='rb_bottom'></div></div>");   
                    is_valid = false;
                }
            }
            /********************************************************************/
            /*     PWD_REQUIRED class: password input                           */
            /********************************************************************/
            var n = $(".pwd_required").length;
            if(n > 0) {
                var pwd = $(".pwd_required:eq(0)").attr("value")
                var is_pwd_same = true;
                
                // we except more than one password input, all password have to be same
                for(i=0;i<n;i++) {
                    
                    if($(".pwd_required:eq("+i+")").attr("value") != pwd) {
                        
                        var text = "Passwords&nbsp;must&nbsp;be&nbsp;same";
                            
                        var position = $(".pwd_required:eq(0)").position();
                        var top      = position.top -25;
                        var left     = position.left + 120;
        
                        $(".pwd_required:eq(0)").after("<div class='report_bubble' style='top:"+top+"px;left:"+left+"px;'><div class='rb_content'>"+text+"</div><div class='rb_bottom'></div></div>");
                        is_pwd_same = false;
                        is_valid = false;
                        break;
                    }
                }
            
                if(is_pwd_same) {
                    
                    for(i=0;i<n;i++) {
                        
                        if(!(/\S/.test($(".pwd_required:eq("+i+")").attr("value")))) {
                        
                            var text = "Required&nbsp;item";
                            
                            var position = $(".pwd_required:eq("+i+")").position();
                            var top      = position.top -25;
                            var left     = position.left + 120;
        
                            $(".pwd_required:eq("+i+")").after("<div class='report_bubble' style='top:"+top+"px;left:"+left+"px;'><div class='rb_content'>"+text+"</div><div class='rb_bottom'></div></div>");
                            is_valid = false;
                        }
                        else if( ($(".pwd_required:eq("+i+")").attr("value")).length < 6) {
                        
                            var position = $(".pwd_required:eq("+i+")").position();
                            var top      = position.top -25;
                            var left     = position.left + 120;
                            
                            var text = "Must&nbsp;be&nbsp;6&nbsp;characters&nbsp;or&nbsp;more";
                            $(".pwd_required:eq(0)").after("<div class='report_bubble' style='top:"+top+"px;left:"+left+"px;'><div class='rb_content'>"+text+"</div><div class='rb_bottom'></div></div>");
                            is_valid = false;
                        }
                    
                    }
                }
                
                
            }

            
  					
            return is_valid;
				}
			)
    /********************************************************************/
    /*                         LOGIN CHECK                         */
    /********************************************************************/			
			$('.login_required')
			.keyup(function (e) {         // on keypress
					
					var login = $('.login_required:eq(0)').attr('value');
			
          if(login.length >= 4) {
          
              $.ajax({ 
                          //method: "get",url: "../_data/templates/little2/scripts/form_check.php?",data: "new_login="+login,

                          method: "get",url: "../?",data: "checklogin="+login, 
                          success: function(html){
                              if(html == 0) {
                                  // everything is allright, do nothing
                                  if($('#login_report_bubble').css("display") == "block")     // remove report bubble if exists
                                        $('#login_report_bubble').remove();
                              }
                              else if(html == 1) {
                                  // same login exist
                                  var position = $(".login_required:eq(0)").position();
                                  var top      = position.top -25;
                                  var left     = position.left + 120;
                                  
                                  var text = "Same&nbsp;login&nbsp;exists";
                                  $(".login_required:eq(0)").after("<div id='login_report_bubble' class='report_bubble' style='top:"+top+"px;left:"+left+"px;'><div class='rb_content'>"+text+"</div><div class='rb_bottom'></div></div>");

                              }
                              else
                                  alert(html);
                            
                           } 
                        }); //close $.ajax
            }
				}
			)
/********************************************************************/
/*     end of JQUERY.document.ready                                 */
/********************************************************************/			
    }
);


