/**
 * Mustang - QMS 
 * JavaScript Form Validator Functions
 * version 1.0
 * author  Bhaskar Chaugule
 */


var error = new Array();
var e=0;

function addErrorMessages(msg)
{
    error[e] = msg; 
    e++;
    return false;
}

      
function initErrMessages()
{
 error = new Array();
 e=0;
}

function showErrorMessages(form_name)
{
  var errDes="";

  //errDes="<br><table bgcolor=\"red\" cellpadding=\"0\" cellspacing=\"0\" width=\"35%\"><tr><td align=\"right\" style=\"padding-bottom:1px; padding-left:1px; padding-right:1px; padding-top:1px;\"><table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"2\" bgcolor=\"#ffffff\"><tr><td class=\"formErrors\">Errors!</td><td align=\"right\"><a href=\"javascript:clearErrorMsgs()\" class=\"formLabels\" ><img src=\"images/red.jpg\" border=\"0\"></a></td></tr>";
 //for(n=0;n<=error.length-1;n++)
 //{
   
//	   errDes+="<tr><td class=\"formLabels\" valign=\"top\"><img src=\"images/yellow.jpg\" width=\"16px\" height=\"16px\"></td><td class=\"formLabels\">"+error[n]+"</td></tr>";
// }
 //errDes+="</table></td></tr></table><br>";
 //document.getElementById("errorZone").innerHTML=errDes;
  for(n=0;n<=error.length-1;n++)
  {
 	 errDes=errDes+error[n]+"\n";

 	  // errDes+="<tr><td class=\"mustangFormLabel\" valign=\"top\"><img
 		// src=\"images/yellow.jpg\" width=\"16px\" height=\"16px\"></td><td
 		// class=\"mustangFormLabel\">"+error[n]+"</td></tr>";
  }
  //errDes+="</table></td></tr></table><br>";
  // document.getElementById("errorZone").innerHTML=errDes;
  alert(errDes);
 
}
function clearErrorMsgs()
{
	document.getElementById("errorZone").innerHTML="";
	clearErrMessages();
	
}

function chkDisplayErrors(form_name)
{
	
  if(e>0)
  {
  	showErrorMessages(form_name);
 	return false;
  }
  else
  {
	 return true;
  }
}

function printMsg(msg)
{
  return addErrorMessages(msg) ;
}

function chkMandatoryTextBox(textbox, message)
{
  if(textbox.type=="text" || textbox.type=="textarea" || textbox.type=="hidden")
  var f_value = textbox.value;
  else
  if(textbox.type=="select-one")
  var f_value = textbox.options[textbox.selectedIndex].value;
  else
  {
   if(textbox[0].type=="radio" || textbox[0].type=="checkbox")
   {
    var f_value = "";
    var radiolen = textbox.length;
    for(i=0;i<=radiolen-1;i++) 
    {
     if(textbox[i].checked)
     var f_value = "1";
	 
    }
   }
  } 
     
  if (f_value == "") 
  {
    if(textbox.type=="text" || textbox.type=="textarea")
  	return addErrorMessages(message);
	else
	if(textbox.type=="select-one")
	return addErrorMessages(message);
	else
	if(textbox[0].type=="radio")
	return addErrorMessages(message);
  }
}


function chkNumeric(textbox,msg)
{
 if(isNaN(textbox.value))
 {
  return addErrorMessages(msg);
 }
}



function chkString(textbox,msg)
{
 var str = textbox.value; 
 for(i=0;i<=str.length-1;i++)
 {
  if(!(isNaN(str.charAt(i))))
	  return addErrorMessages(msg);
 }
}


function chkAlphaNumeric(textbox,msg)
{
  if(!(isNaN(textbox.value)))
  {
   return addErrorMessages(msg);
  }
}

 
function chkSpaceInString(textbox,msg)
  {
    chkString = escape(textbox.value)
    if(chkString.substring(0,3)=="%20")
    return addErrorMessages("Space not allowed at the beginning of "+msg);
    if(chkString.substring(chkString.length-3,chkString.length+1)=="%20")
    return addErrorMessages("Space not allowed at the end of "+msg);
  }  



function chkEmail(textbox,msg)
{
 var email = textbox.value;
 var flag = new Boolean();
 
 if(email.charAt(0)!="@")
 { 
  for(i=0;i<=email.length-1;i++)
  {
   if(email.charAt(i)=="@")
   {
    for(j=i;j<=email.length-1;j++)
    {
     if(email.charAt(j)==".")
	 {
	  if(email.length-1>j+1)
	  return true;
	 } 
    }
    return addErrorMessages(msg);
   }
  }
  return addErrorMessages(msg);
 }
 else
 return addErrorMessages(msg);
}  


function chkSpecialChar(textbox,msg)
{
 var amtinv = textbox.value;
 var validStr = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.0123456789/-?(),\"+\n\r";
	  
 for(i=0;i<=textbox.value.length-1;i++)
 {
  //alert(validStr.indexOf(amtinv.charAt(i)));
  if(validStr.indexOf(amtinv.charAt(i))==-1)
  {
   addErrorMessages(msg);
   break;
  }
 }
}

function clearErrMessages()
{
	e=0;
	return false;
}

function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim(value) {
	
	return LTrim(RTrim(value)); 
	
}

function confirmation(msg, url) {
	var answer = confirm(msg);
	if (answer){
		window.location = url;
	}
}

// Date Validator
function chkDate(d,m,y)
{
var yl=1930; // least year to consider
var ym=2010; // most year to consider
if (m<1 || m>12){
	return(false);
}
if (d<1 || d>31){
	return(false);
}
 // if (y<yl || y>ym) return(false);
if (m==4 || m==6 || m==9 || m==11){
	if (d==31) return(false);
}
if (m==2)
{
	var b=parseInt(y/4);
	if (isNaN(b)) return(false);
	if (d>29) return(false);
	if (d==29 & ((y%4)!= 0)) return(false);
}
 
	return(true);


}
