Login   Register  
PHP Classes
elePHPant
Icontem

File: js/main.js

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Miguel Villaseņor  >  MKCS PHP Support Chat  >  js/main.js  >  Download  
File: js/main.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: MKCS PHP Support Chat
Chat with clients of a support site
Author: By
Last change:
Date: 2013-09-17 12:08
Size: 5,163 bytes
 

Contents

Class file image Download
$(function(){
	$('#name').keydown(function(){return charsOnly(event)});	
    $('#name').blur(function(){
    	
    	validateName($(this));
    	
    });
    
    $('#email').blur(function(){
    	validateMail($(this));	
    });
    
	
}		
);


function getMessages(date){
	$.post('actions/get_messages.php',{'last_update':date},function(data){
		var res= $.parseJSON(data);
		
		if(res.status==200){
			for(var i=0; i<res.messages.length;i++){
				var last=$('#last');
				last.after('<div id="last" class="well well-sm"></div>');
				last.removeAttr('id');
				if(res.messages[i].type==1){
					var sender=res.client_name;
					var color ="green";
				}
				else if(res.messages[i].type==2){
					var sender=res.user_name;
					var color ="blue";
				}
				else if(res.messages[i].type==3){
					var sender='SYSTEM';
					var color ="red";
				}
				$('#last').html("<p><span style='color:"+color+"'>"+sender+" says: </span>"+res.messages[i].content+"</p><p style='font-size:0.8em'>"+res.messages[i].date+"</p>");
				
				var height=$('#messages')[0].scrollHeight;
				$('#messages').scrollTop(height);
				
			}
		}
	});
}
function getMessagesUser(date,chat){
	$.post('actions/get_messages.php',{'last_update':date,'chat':chat},function(data){

		var res= $.parseJSON(data);	
		if(res.status==200){
			
			for(var i=0; i<res.messages.length;i++){
				
				var last=$('#last');
				last.after('<div id="last" class="well well-sm"></div>');
				last.removeAttr('id');
				if(res.messages[i].type==1){
					var sender=res.client_name;
					var color ="green";
				}
				else if(res.messages[i].type==2){
					var sender=res.user_name;
					var color ="blue";
				}
				else if(res.messages[i].type==3){
					var sender='SYSTEM';
					var color ="red";
				}
				$('#last').html("<p><span style='color:"+color+"'>"+sender+" says: </span>"+res.messages[i].content+"</p><p style='font-size:0.8em'>"+res.messages[i].date+"</p>");
				
				var height=$('#messages')[0].scrollHeight;
				$('#messages').scrollTop(height);
				
			}
		}
	});
}

function sendMessage(){
	if(validateMessage()){
		$.post('actions/send_client_message.php',
			{'message':$('#message').val()}
		);
	}
	$('#message').val('');
}
function sendUserMessage(id){
	if(validateMessage()){
		$.post('actions/send_user_message.php',
			{'message':$('#message').val(),'id':id},
			function(data){console.log(data)}
		);
	}
	$('#message').val('');
}

function validateMessage(){
	if(required($('#message').val())){
		return true;
	}else
	{
		return false;
	}
}

function validateEnter(){
	validName=validateName($('#name'));
	validMail=validateMail($('#email')) ;
	if( validName || validMail )
		return false;
	else
		return true;
}


function validateName(datos){
		data=datos.val();
    	if(!required(data)){
    		datos.parent('.form-group').removeClass('has-success').addClass('has-error');
    		datos.next('.help-block').html('Name required');
    		return true;
    	}else{
    		if(!minSize(data,3)){
	    		datos.parent('.form-group').removeClass('has-success').addClass('has-error');
	    		datos.next('.help-block').html('Name is to short');
	    		return true;
	    	}else{
	    		datos.parent('.form-group').removeClass('has-error').addClass('has-success');
	    		datos.next('.help-block').html('');
	    		return false;
	    	}
    	}
}

function validateMail(data){
	datos=data.val();
    	if(!required(datos)){
    		data.parent('.form-group').removeClass('has-success').addClass('has-error');
    		data.next('.help-block').html('Email required');
    		return true;
    	}else{
    		if(!validateEmail(datos)){
	    		data.parent('.form-group').removeClass('has-success').addClass('has-error');
	    		data.next('.help-block').html('Email is not a valid email');
	    		return true;
	    	}else{
	    		data.parent('.form-group').removeClass('has-error').addClass('has-success');
	    		data.next('.help-block').html('');
	    		return false;
	    	}
    	}
}


function required(data){
	if(data.length>=1){
		return true;
	}
	return false;
}

function minSize(data,size){
	if(data.length>=size){
		return true;
	}
	return false;
}
function maxSize(data,size){
	if(data.length<size){
		return true;
	}
	return false;
}

function validateEmail($email) {
  var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
  if( !emailReg.test( $email ) ) {
    return false;
  } else {
    return true;
  }
}


function charsOnly(event) {
        // Allow: backspace, delete, tab, escape, and enter
        if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 || 
             // Allow: Ctrl+A
            (event.keyCode == 65 && event.ctrlKey === true) || 
             // Allow: home, end, left, right
            (event.keyCode >= 35 && event.keyCode <= 39)) {
                 // let it happen, don't do anything
                 return;
        }
        else {
            // Ensure that it is a number and stop the keypress
            if (!(event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 ))) {
                event.preventDefault(); 
            }   
        }
    }