Combining two javascript form validation codes
ok i have two scripts messages.js and messages2.js they are a form validation script . either one works great until i load them both in the same page bisically i need them to either be combined into one that will work for both my register form and login form or i need them to get along with eachother. they are basically the same except for the variables. if somebody can combine the script into one and make it work id be happy to buy them a paypal twelve pack. No Joke. Also if you need any more info send me a message,
P.S. im a beginer so please be elaborate thanks.
This is the first one messages.js
// form validation function //
function validate(form) {
var pwd = form.pwd.value;
var email = form.email.value;
var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
if(email == "") {
inlineMsg('email','<strong>Error</strong><br /><strong>You must enter your email.</strong>',3);
return false;
}
if(!email.match(emailRegex)) {
inlineMsg('email','<strong>Error</strong><br /><strong>You have entered an invalid email.</strong>',3);
return false;
}
if(pwd == "") {
inlineMsg('pwd','<strong>Error</strong><br /><strong>You must enter your password.</strong>',3);
return false;
}
return true;
}
// START OF MESSAGE SCRIPT //
var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;
// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide) {
var msg;
var msgcontent;
if(!document.getElementById('msg')) {
msg = document.createElement('div');
msg.id = 'msg';
msgcontent = document.createElement('div');
msgcontent.id = 'msgcontent';
document.body.appendChild(msg);
msg.appendChild(msgcontent);
msg.style.filter = 'alpha(opacity=0)';
msg.style.opacity = 0;
msg.alpha = 0;
} else {
msg = document.getElementById('msg');
msgcontent = document.getElementById('msgcontent');
}
msgcontent.innerHTML = string;
msg.style.display = 'block';
var msgheight = msg.offsetHeight;
var targetdiv = document.getElementById(target);
targetdiv.focus();
var targetheight = targetdiv.offsetHeight;
var targetwidth = targetdiv.offsetWidth;
var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
msg.style.top = topposition + 'px';
msg.style.left = leftposition + 'px';
clearInterval(msg.timer);
msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
if(!autohide) {
autohide = MSGHIDE;
}
window.setTimeout("hideMsg()", (autohide * 1000));
}
// hide the form alert //
function hideMsg(msg) {
var msg = document.getElementById('msg');
if(!msg.timer) {
msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
}
}
// face the message box //
function fadeMsg(flag) {
if(flag == null) {
flag = 1;
}
var msg = document.getElementById('msg');
var value;
if(flag == 1) {
value = msg.alpha + MSGSPEED;
} else {
value = msg.alpha - MSGSPEED;
}
msg.alpha = value;
msg.style.opacity = (value / 100);
msg.style.filter = 'alpha(opacity=' + value + ')';
if(value >= 99) {
clearInterval(msg.timer);
msg.timer = null;
} else if(value <= 1) {
msg.style.display = "none";
clearInterval(msg.timer);
}
}
// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
var left = 0;
if(target.offsetParent) {
while(1) {
left += target.offsetLeft;
if(!target.offsetParent) {
break;
}
target = target.offsetParent;
}
} else if(target.x) {
left += target.x;
}
return left;
}
// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
var top = 0;
if(target.offsetParent) {
while(1) {
top += target.offsetTop;
if(!target.offsetParent) {
break;
}
target = target.offsetParent;
}
} else if(target.y) {
top += target.y;
}
return top;
}
// preload the arrow //
if(document.images) {
arrow = new Image(7,80);
arrow.src = "arrow/msg_arrow.gif";
}
This is the second messages2.js
// form validation function //
function validate(form) {
var full_name = form.full_name.value;
var password = form.password.value;
var password2 = form.password2.value;
var email = form.email.value;
var user_code = form.user_code.value;
var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
if(full_name == "") {
inlineMsg('full_name','<strong>Error</strong><br /><strong>You must enter your full name.</strong>',3);
return false;
}
if(email == "") {
inlineMsg('email','<strong>Error</strong><br /><strong>You must enter your email.</strong>',3);
return false;
}
if(!email.match(emailRegex)) {
inlineMsg('email','<strong>Error</strong><br /><strong>You have entered an invalid email.</strong>',3);
return false;
}
if(password == "") {
inlineMsg('password','<strong>Error</strong><br /><strong>You must enter your password.</strong>',3);
return false;
}
if(password2 == "") {
inlineMsg('password2','<strong>Error</strong><br /><strong>You must enter the same password.</strong>',3);
return false;
}
if(user_code == "") {
inlineMsg('user_code','<strong>Error</strong><br /><strong>You must enter the same numbers.</strong>',3);
return false;
}
return true;
}
// hide the form alert //
function hideMsg(msg) {
var msg = document.getElementById('msg');
if(!msg.timer) {
msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
}
}
// face the message box //
function fadeMsg(flag) {
if(flag == null) {
flag = 1;
}
var msg = document.getElementById('msg');
var value;
if(flag == 1) {
value = msg.alpha + MSGSPEED;
} else {
value = msg.alpha - MSGSPEED;
}
msg.alpha = value;
msg.style.opacity = (value / 100);
msg.style.filter = 'alpha(opacity=' + value + ')';
if(value >= 99) {
clearInterval(msg.timer);
msg.timer = null;
} else if(value <= 1) {
msg.style.display = "none";
clearInterval(msg.timer);
}
}
// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
var left = 0;
if(target.offsetParent) {
while(1) {
left += target.offsetLeft;
if(!target.offsetParent) {
break;
}
target = target.offsetParent;
}
} else if(target.x) {
left += target.x;
}
return left;
}
// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
var top = 0;
if(target.offsetParent) {
while(1) {
top += target.offsetTop;
if(!target.offsetParent) {
break;
}
target = target.offsetParent;
}
} else if(target.y) {
top += target.y;
}
return top;
}
// preload the arrow //
if(document.images) {
arrow = new Image(7,80);
arrow.src = "arrow/msg_arrow.gif";
}