// SPECIFY ALL REQUIRED FIELDS AND
// VALIDATION TYPE

// EXAMPLES:
// one or more characters
// required.add('[ FIELDID ]', 'NOT_EMPTY');
// alpha characters, no spaces
// required.add('[ FIELDID ]', 'ALPHA');
// alpha characters, accept spaces
// required.add('[ FIELDID ]', 'ALPHASPACE');
// numeric characters, no spaces
// required.add('[ FIELDID ]', 'NUMERIC');
// numeric characters, also accepts +-.
// required.add('[ FIELDID ]', 'NUMERICPLUS');
// alpha and numeric characters, no spaces
// required.add('[ FIELDID ]', 'ALPHANUM');
// alpha and numeric characters, accept spaces
// required.add('[ FIELDID ]', 'ALPHANUMSPACE');
// Email address
// required.add('[ FIELDID ]', 'EMAIL');
// date format yyyy-mm-dd, accepts - or / separators
// required.add('[ FIELDID ]', 'YYYYMMDD');
// date format dd-mm-yyyy, accepts - or / separators
// required.add('[ FIELDID ]', 'DDMMYYYY');
// date format mm-dd-yyyy, accepts - or / separators
// required.add('[ FIELDID ]', 'MMDDYYYY');
// enter own regular expression, example: '^[0-9]{3}$'
// required.add('[ FIELDID ]', '[ REGULAR EXPRESSION ]');

// NOTES:
// [ FIELD ID ] = REPLACE WITH ACTUAL FIELD ID VALUE
// example: <input type="text" name="THIS" ID="THIS"> = THIS

// to specify your own regular expression,
// enter the literal regex as type
// example: required.add('fieldid', '^[0-9]{3}$');
// note: no leading or preceeding / (slash) is required!


function $$(id) {
try {
var tmp = document.getElementById(id).value;
}
catch(e) {
alert("Field " + id + " does not exist!\nvalidation is configured on a field with no ID");
return false;
}
if(tmp == "") {
alert("Field " + id + " cannot be empty");
return false;
}
return tmp;
}

var required = {
field : [],
add : function(name, type) {
this.field[this.field.length] = [name,type];
},
out : function() {
return this.field;
}
}

var validate = {

check : function() {
var tmp;
// loop all required fields
for(var i=0; i<required.field.length; i++) {
// check the form field exists
this.tmp = $$(required.field[i][0]);
if(this.tmp) {
if(this.checkit(required.field[i][0],required.field[i][1])) {
// validated okay
} else {
alert("Field "+required.field[i][0]+" not valid\n");
document.getElementById(required.field[i][0]).focus();
return false;
}
} else {
try {
document.getElementById(required.field[i][0]).focus();
} catch(e) { }
return false;
}
} // for
return true;
},

checkit : function(value,type) {
exp : '';
switch(type) {

case "NOT_EMPTY":
if(this.trim($$(value)).length < 3) { return false; } else { return true; }
break;

case "ALPHA":
exp = /^[A-Za-z]+$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "ALPHASPACE":
exp = /^[A-Za-z ]+$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "NUMERIC":
exp = /^[0-9-]+$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "NUMERICPLUS":
exp = /(^-*\d+$)|(^-*\d+\.\d+$)/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "ALPHANUM":
exp = /^[a-zA-Z0-9]+$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "ALPHANUMSPACE":
exp = /^[a-zA-Z0-9 ]+$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "EMAIL":
exp = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "YYYYMMDD":
exp = /^(19|20)[0-9][0-9][- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "DDMMYYYY":
exp = /^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)[0-9][0-9]$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "MMDDYYYY":
exp = /^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)[0-9][0-9]$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

default:
exp = new RegExp(type);
if($$(value).match(exp)==null) { return false; } else { return true; }
} // switch
},
trim : function(s) {
return s.replace(/^\s+/, '').replace(/\s+$/, '');
}

}
function $val(id) {
return document.getElementById(id);
}
function trim(id) {
$val(id).value = $val(id).value.replace(/^\s+/, '').replace(/\s+$/, '');
}


function cimg(){
	
var imgdir = "img/cimg/"; //identify directory where captcha images are located
anum = (Math.floor(Math.random()*76))+1;
imgid = parseInt(anum);
cword = 
["4d200fce73a8e1cc965cfc2c43343824" ,"baec6461b0d69dde1b861aefbe375d8a" ,"dc700272f46fb3ddd0550f40664239af" ,"d688c4ccd7e20183b67f80d8816a2126" ,"a985c9764e0e6d738ff20f2328a0644b" ,"7c116ff7719dad10be0a5263590108e4" ,"4b15f69a88599403a04a06b3b6af2f09" ,"7e676e9e663beb40fd133f5ee24487c2" ,"1145f263256c923716d2b8eade2f6689" ,"3ad766326de6d41c805029380322bdc2" ,"bdbd6db1d8cc09a957e86180fda9442a" ,"015f28b9df1bdd36427dd976fb73b29d" ,"1cb251ec0d568de6a929b520c4aed8d1" ,"78805a221a988e79ef3f42d7c5bfd418" ,"ca03e4b0d6a8a08f400264b5e45fb441" ,"83e4a96aed96436c621b9809e258b309" ,"9a1f30943126974075dbd4d13c8018ac" ,"28b26be59c986170c572133aaace31c2" ,"85814ce7d88361ec8eb8e07294043bc3" ,"aaddc3454ccbefbb2d8d8461f8f7f481" ,"5d3bf726a8834b04569a3dc91837a46d" ,"d873154f067233434b64c0b8b2348cdb" ,"f4d3b5a1116ded3facefb8353d0bd5ba" ,"1562eb3f6d9c5ac7e159c04a96ff4dfe" ,"fea0f1f6fede90bd0a925b4194deac11" ,"a94aa000f9a94cc51775bd5eac97c926" ,"a957a3153eb7126b1c5f8b6aac35de53" ,"23a58bf9274bedb19375e527a0744fa9" ,"0b8263d341de01f741e4deadfb18f9eb" ,"e1b832c8857262f1089376030b4298b3" ,"3eb38fa8079f887324e8ee1d92b3da12" ,"7e25b972e192b01004b62346ee9975a5" ,"a5fdad9de7faf3a0492812b9cb818d85" ,"9c62ad1fc551d04b815c8573285b65b2" ,"469bba0a564235dfceede42db14f17b0" ,"e6ec529ba185279aa0adcf93e645c7cd" ,"a5fdad9de7faf3a0492812b9cb818d85" ,"660cb6fe7437d4b40e4a04b706b93f70" ,"77f4de0c4db55dec736561ac64c7ea6b" ,"22811dd94d65037ef86535740b98dec8" ,"acaa16770db76c1ffb9cee51c3cabfcf" ,"22811dd94d65037ef86535740b98dec8" ,"23ec24c5ca59000543cee1dfded0cbea" ,"5eda0ea98768e91b815fa6667e4f0178" ,"287c683aedfe88bbfb62cea45b29bd08" ,"de1b2a7baf7850243db71c4abd4e5a39" ,"67942503875c1ae74e4b5b80a0dade01" ,"163ccb6353c3b5f4f03cda0f1c5225ba" ,"d74fdde2944f475adc4a85e349d4ee7b" ,"8ac20bf5803e6067a65165d9df51a8e7" ,"eb88d7636980738cd0522ea69e212905" ,"f5b75010ea8a54b96f8fe7dafac65c18" ,"2570c919f5ef1d7091f0f66d54dac974" ,"ada15bd1a5ddf0b790ae1dcfd05a1e70" ,"3ddaeb82fbba964fb3461d4e4f1342eb" ,"508c75c8507a2ae5223dfd2faeb98122" ,"8b373710bcf876edd91f281e50ed58ab" ,"97f014516561ef487ec368d6158eb3f4" ,"23678db5efde9ab46bce8c23a6d91b50" ,"327a6c4304ad5938eaf0efb6cc3e53dc" ,"74e04ddb55ce3825f65ebec374ef8f0d" ,"ceb20772e0c9d240c75eb26b0e37abee" ,"28f9b1cae5ae23caa8471696342f6f0c" ,"2d6b0cefb06fd579a62bf56f02b6c2b3" ,"ea9e801b0d806f2398bd0c7fe3f3f0cd" ,"cbf4e0b7971051760907c327e975f4e5" ,"841a2d689ad86bd1611447453c22c6fc" ,"fe4c0f30aa359c41d9f9a5f69c8c4192" ,"6d4db5ff0c117864a02827bad3c361b9" ,"ef56b0b0ddb93c2885892c06be830c68" ,"df491a4de50739fa9cffdbd4e3f4b4bb" ,"f4c9385f1902f7334b00b9b4ecd164de" ,"68e2d83709f317938b51e53f7552ed04" ,"a398fb77df76e6153df57cd65fd0a7c5" ,"9022a153e6190f10d9b57aa4232b8aea" ,"1f4a9685e37e4f940d07a9f6b43dc83c" ,"f7a42fe7211f98ac7a60a285ac3a9e87"];

document.write('<img src="'+imgdir+imgid+'.jpg" border=0 alt="" class="maintitle">');
}

function jcap(){

var ImageCode = hex_md5(document.getElementById('ImageCode').value);

if (ImageCode==cword[anum-1]) {
return true;
}

else {
alert('Enter the code as it is shown!');
document.getElementById('ImageCode').focus(); 
return false;
}
}

//  End -->