
document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i].getAttribute('id'));
}
return retnode;
};

var textonly_mandatory
var textonly_optional
var varonly_mandatory
var varonly_optional
var digitonly_mandatory
var digitonly_optional
var emailonly_mandatory
var emailonly_optional




var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i


function isempty(s){
if (s==null || s.length==0)
return true;
else
 return false;

}
function istext(s){
if(!(/^[a-zA-z\s]+$/.test(s)))
{
return false;
}
return true;
}

function isdigit(s)
{

if(!(/^[\d\.]+$/.test(s)))
{
return false;
}
return true;

}

function isemail(e){
var returnval=emailfilter.test(e)
return returnval;

}

isvar =function (s){


if(!(/^[\w,\-\s#]+$/.test(s)))
{
return false;
}
return true;
}


function validate()
{

error='none';
nooftext_mandatory=textonly_mandatory.length;
nooftext_optional=textonly_optional.length;
noofvar_mandatory=varonly_mandatory.length;
noofvar_optional=varonly_optional.length;
noofemail_mandatory=emailonly_mandatory.length;
noofdigit_mandatory=digitonly_mandatory.length;
noofdigit_optional=digitonly_optional.length;
noofemail_mandatory=emailonly_mandatory.length;
noofemail_optional=emailonly_optional.length;
for (i=0;i<nooftext_mandatory;i++)
{
node=document.getElementById(textonly_mandatory[i]);
val=node.value;
if(isempty(val) || !istext(val))
{message= '<span class="warning">Should not be blank and enter only text</span>'; error='yes'}
else message='&nbsp;';
if(nodewarn=document.getElementById(textonly_mandatory[i]+'_warn'))nodewarn.innerHTML=message;
}

for (i=0;i<nooftext_optional;i++)
{
val=document.getElementById(textonly_optional[i]).value;
if(!istext(val) && !isempty(val))
{message= '<span class="warning">enter only text</span>'; error='yes'}
else
message="&nbsp;";
if(nodewarn=document.getElementById(textonly_optional[i]+'_warn'))nodewarn.innerHTML=message;
}


for (i=0;i<noofdigit_mandatory;i++)
{
val=document.getElementById(digitonly_mandatory[i]).value;
if(isempty(val) || !isdigit(val))
{message= '<span class="warning">Should not be blank and enter only digits</span>'; error='yes'}
else
message="&nbsp;";
if(nodewarn=document.getElementById(digitonly_mandatory[i]+'_warn'))nodewarn.innerHTML=message;
}


for (i=0;i<noofdigit_optional;i++)
{
val=document.getElementById(digitonly_optional[i]).value;
if(!isempty(val) && !isdigit(val))
{message= '<span class="warning">enter only digits</span>'; error='yes'}
else
message="&nbsp;";
if(nodewarn=document.getElementById(digitonly_optional[i]+'_warn'))nodewarn.innerHTML=message;
}


for (i=0;i<noofvar_mandatory;i++)
{
val=document.getElementById(varonly_mandatory[i]).value;
if(isempty(val) || !isvar(val))
{message= '<span class="warning">Should not be blank and  enter only alphabets or numbers</span>'; error='yes'}
else
message="&nbsp;";
if(nodewarn=document.getElementById(varonly_mandatory[i]+'_warn'))nodewarn.innerHTML=message;
}


for (i=0;i<noofvar_optional;i++)
{
val=document.getElementById(varonly_optional[i]).value;
if(!isempty(val) && !isvar(val))
{message= '<span class="warning">enter only alphabets or numbers</span>'; error='yes'}
else
message="&nbsp;";
if(nodewarn=document.getElementById(varonly_optional[i]+'_warn'))nodewarn.innerHTML=message;
}


for (i=0;i<noofemail_mandatory;i++)
{
val=document.getElementById(emailonly_mandatory[i]).value;
if(isempty(val) || !isemail(val))
{message= '<span class="warning">Should not be blank and enter only valid email</span>'; error='yes'}
else
message="&nbsp;";
if(nodewarn=document.getElementById(emailonly_mandatory[i]+'_warn'))nodewarn.innerHTML=message;
}


for (i=0;i<noofemail_optional;i++)
{
val=document.getElementById(emailonly_optional[i]).value;
if(!isempty(val) && !isemail(val))
{message= '<span class="warning">enter only valid email</span>'; error='yes'}
else
message="&nbsp;";
if(nodewarn=document.getElementById(emailonly_optional[i]+'_warn'))nodewarn.innerHTML=message;
}


if(error=='none'){}
else
{
alert("the errors are marked in red please correct them");
return false;
}
return true;

}
window.onload=function classify()
{
textonly_mandatory=document.getElementsByClassName('mandatory_text');
textonly_optional=document.getElementsByClassName('optional_text');
varonly_mandatory=document.getElementsByClassName('mandatory_var');
varonly_optional=document.getElementsByClassName('optional_var');
digitonly_mandatory=document.getElementsByClassName('mandatory_digit');
digitonly_optional=document.getElementsByClassName('optional_digit');
 emailonly_mandatory=document.getElementsByClassName('mandatory_email');
emailonly_optional=document.getElementsByClassName('optional_email');

}