Salesforce Custom Button on Click Opens Model/Dialogue - field inline Validations - V3

{!REQUIRESCRIPT("/soap/ajax/35.0/connection.js")} 
{!REQUIRESCRIPT("/soap/ajax/29.0/apex.js")} 
{!REQUIRESCRIPT('//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js')} 
{!REQUIRESCRIPT('//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js')} 


var html = '<div id="dialog" style="display: none" title="Create Person Account"><p id="dlgbody"></p><b>First Name :</b> <input id="fName"></input><br></br><b>Last Name :</b> <input id="LName"><label id="errmsg" style="display: none;color: orangered;margin-left: 101px;margin-bottom: -25px;">Last Name is mandatory.</label></input><br></br><b>Phone &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp : </b><input id="phone"><label id="errmsg2" style="display: none;color: orangered;margin-left: 101px;margin-bottom: -25px;">Valid Phone number is mandatory.</label></input><br></br><b>Email &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp : </b><input id="email"><label id="errmsg4" style="display: none;color: orangered;margin-left: 101px;margin-bottom: -25px;">Invalid Email address.</label></input></div>'; 
var temp ='false'; 
var personAccountName = ' '; 
var personMobilePhone =''; 
var $g = jQuery.noConflict(); 

$g(function() { 
$g('head').append('<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/start/jquery-ui.css" type="text/css"/>'); 
$g('body').append(html); 
$g("#dialog").dialog({ 
beforeClose: function(event, ui) { 
//call functions 
//$g('#errmsg').css('display', 'none'); 
//$g('#errmsg2').css('display', 'none'); 
//$g('#errmsg4').css('display', 'none'); 
$g("#LName").val(''); 
$g("#fName").val(''); 
$g("#phone").val(''); 
$g("#email").val(''); 
}, 
width: 490, 
height: 280, 
autoOpen: true, 
modal: true, 
open: function(event, ui){ 
$g('.ui-dialog').css('z-index',103); 
$g('.ui-widget-overlay').css('z-index',102); 
$g('#errmsg').css('display', 'none'); 
$g('#errmsg2').css('display', 'none'); 
$g('#errmsg4').css('display', 'none'); 

}, 
buttons: { 
"Save": function() { 
validateform();//Calling field validation function. 
if( temp =='true'){ 
$g('#errmsg').css('display', 'none'); 
$g('#errmsg2').css('display', 'none'); 
$g('#errmsg4').css('display', 'none'); 
var acc = new sforce.SObject("Account"); 
acc.lastname = $g("#LName").val(); 
acc.firstname = $g("#fName").val(); 
acc.PersonMobilePhone =$g("#phone").val(); 
acc.PersonEmail=$g("#email").val(); 
acc.recordTypeId ='01224000000B7hQ'; 
var result = sforce.connection.create([acc]); 
if(result[0].getBoolean("success")){ 
//alert('Person account has been created -'+result[0].id); 
var casRes = sforce.connection.query("Select PersonContactId,PersonMobilePhone,Name From Account where Id=\'"+result[0].id+"\'"); 
var casRecs = casRes.getArray("records"); 
var cas = new sforce.SObject("Case"); 
cas.id = '{!Case.Id}'; 
cas.contactId = casRecs[0].PersonContactId; 
personAccountName = casRecs[0].Name; 
personMobilePhone = casRecs[0].PersonMobilePhone 
var caseres = sforce.connection.update([cas]); 
if(caseres[0].getBoolean("success")){ 
//alert('Case is updated with Person account'); 
//window.location.reload(); 

$g(this).dialog("close"); 
$g('body').append('<div id="dialog2" style="display: none" title="SUCCESS"><p id="dlgbody2"></p><p>Person Account created with Name : <b>'+personAccountName +'</b></p><p>Case has been updated with this new contact.</p></div>'); 
$g("#dialog2").dialog({ 
beforeClose: function(event, ui) { 
window.location.reload(); 
}, 
autoOpen: true, 
modal: true, 
width: 500, 
height: 200, 
open: function(event, ui){ 
$g('.ui-dialog').css('z-index',103); 
$g('.ui-widget-overlay').css('z-index',102); 
}, 
buttons: { 
"OK": function() { 
window.location.reload(); 
} 
} 
}); 

}else { 
//alert('Error : '+caseres); 

$g(this).dialog("close"); 
$g('body').append('<div id="dialog3" style="display: none" title="ERROR"><p id="dlgbody3"></p>Error occured while associating Person contact to case : <b>'+caseres +'</b></div>'); 
$g("#dialog3").dialog({ 
beforeClose: function(event, ui) { 
window.location.reload(); 
}, 
autoOpen: true, 
modal: true, 
width: 500, 
height: 200, 
open: function(event, ui){ 
$g('.ui-dialog').css('z-index',103); 
$g('.ui-widget-overlay').css('z-index',102); 
}, 
buttons: { 
"OK": function() { 
window.location.reload(); 
} 
} 
}); 

} 
$g(this).dialog("close"); 
} else { 
//alert('Error : '+result); 

$g(this).dialog("close"); 
$g('body').append('<div id="dialog4" style="display: none" title="ERROR"><p id="dlgbody4"></p>Error occured while creating Person Account : <b>'+result +'</b></div>'); 
$g("#dialog4").dialog({ 
beforeClose: function(event, ui) { 
window.location.reload(); 
}, 
autoOpen: true, 
modal: true, 
width: 500, 
height: 200, 
open: function(event, ui){ 
$g('.ui-dialog').css('z-index',103); 
$g('.ui-widget-overlay').css('z-index',102); 
}, 
buttons: { 
"OK": function() { 
window.location.reload(); 
} 
} 
}); 

} 
} 
} 
} 
}); 
}); 


function validateform(){ 

if($g("#LName").val().trim() == '' && $g("#phone").val().trim() == ''){ 
$g('#errmsg').css('display', 'block'); 
$g('#errmsg2').css('display', 'block'); 
return false; 
}if ($g("#LName").val().trim() != '' && $g("#phone").val().trim() == ''){ 
$g('#errmsg').css('display', 'none'); 
$g('#errmsg2').css('display', 'block'); 
return false; 
}if ($g("#LName").val().trim() == '' && $g("#phone").val().trim() != '') { 
var rePhone = /\(?([0-9]{3})\)?([ .-]?)([0-9]{3})\2([0-9]{4})/; 
var result24 = rePhone.test($g("#phone").val()); 
if( result24 == true){ 
$g('#errmsg2').css('display', 'none'); 
} else { 
$g('#errmsg2').css('display', 'block'); 
} 
$g('#errmsg').css('display', 'block'); 
return false; 
} 
if ($g("#email").val().trim() != '') { 
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
var result23 = re.test($g("#email").val()); 
if(result23 == true) { 
$g('#errmsg4').css('display', 'none'); 
} else { 
$g('#errmsg4').css('display', 'block'); 
} 
} 

if ($g("#LName").val().trim() != '' && $g("#phone").val().trim() != '' && $g("#email").val().trim() != '') { 
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
var rePhone = /\(?([0-9]{3})\)?([ .-]?)([0-9]{3})\2([0-9]{4})/; 
var result23 = re.test($g("#email").val()); 
var result24 = rePhone.test($g("#phone").val()); 
if(result23 == true && result24 == true) { 
$g('#errmsg4').css('display', 'none'); 
$g('#errmsg').css('display', 'none'); 
$g('#errmsg2').css('display', 'none'); 
temp ='true'; 
} 
} 
if ($g("#LName").val().trim() != '' && $g("#phone").val().trim() != '' && $g("#email").val().trim() == '') { 
var rePhone = /\(?([0-9]{3})\)?([ .-]?)([0-9]{3})\2([0-9]{4})/; 
var result24 = rePhone.test($g("#phone").val()); 
if(result24 == true) { 
$g('#errmsg4').css('display', 'none'); 
$g('#errmsg').css('display', 'none'); 
$g('#errmsg2').css('display', 'none'); 
temp ='true'; 
} 
} 

} 

//on Key up validation 

$g( "#LName" ).keyup(function() { 
if( $g("#LName").val().trim() != ''){ 
$g('#errmsg').css('display', 'none'); 
}else{ 
$g('#errmsg').css('display', 'block'); 
} 

}); 

$g( "#phone" ).keyup(function() { 
if( $g("#phone").val().trim() != ''){ 
var rePhone = /\(?([0-9]{3})\)?([ .-]?)([0-9]{3})\2([0-9]{4})/; 
var result24 = rePhone.test($g("#phone").val()); 
if( result24 == true){ 
$g('#errmsg2').css('display', 'none'); 
} else { 
$g('#errmsg2').css('display', 'block'); 
} 
}else { 
$g('#errmsg2').css('display', 'block'); 
} 
}); 

$g( "#email" ).keyup(function() { 
if( $g("#email").val().trim() != ''){ 
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
var result23 = re.test($g("#email").val()); 
//alert('11$$$$$$ ' +result23); 
if(result23 == true) { 
$g('#errmsg4').css('display', 'none'); 
//alert('$$$$$$ ' +result23); 
//temp = true; 
} else{ 
$g('#errmsg4').css('display', 'block'); 
} 
}else{ 
$g('#errmsg4').css('display', 'none'); 
} 
});

  

Comments