//Added by Caldia Team on 15-05-09
function clearText(thefield) {
  if (thefield.defaultValue==thefield.value) { thefield.value = "" }
} 
function replaceText(thefield) {
  if (thefield.value=="") { thefield.value = thefield.defaultValue }
}
function trim_text(str,controlname,frm)
{
	//var frm = document.forms[frm];
	//str = str.replace(/^\s+|\s+$/g, '');
	str = str.replace(/^\s+|\s+$/g,'').replace(/\s+/g,' ');
	cname = eval("document.forms[frm]."+controlname);
	cname.value=str; 
}

function trim_text_without_space(str,controlname,frm)
{
	//var frm = document.forms[frm];
	str = str.replace(/^\s+|\s+$/g, '').replace(/\s+/g,'');;
	cname = eval("document.forms[frm]."+controlname);
	cname.value=str; 
}

function extraWords (str) {
	str_count = str.split(" ").length;	
  	return str_count;
}

function trim(str)
{
	str = str.replace(/^\s+|\s+$/g, '');
	return str;
}

function onlyAlphaSpace(str)
{
	var regexLetter = /^[a-zA-z ]*.$/;
	str = regexLetter.test(str);

	if(!str)
	{ return false; }
	else
	{ return true; }
}

function onlyAlpha(str)
{
	var regexLetter = /^[a-zA-z]*.$/;
	str = regexLetter.test(str);

	if(!str)
	{ return false; }
	else
	{ return true; }
}

function onlyNum(str)
{
	var regexLetter = /^[0-9]*.$/;
	str = regexLetter.test(str);

	if(!str)
	{ return false; }
	else
	{ return true; }
}

function phonePattern(str)
{
	var regexLetter = /(\d{3}-\d{3}-\d{4})/;
	str = regexLetter.test(str);

	if(!str)
	{ return false; }
	else
	{ return true; }
}
function checkEmail(str){	
   // var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_-])+\.([a-zA-Z])+([a-zA-Z])+/;
	var pattern = /^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i;
    if(pattern.test(str))
	{ return true;  }
	else
	{ return false; }
}

function isTel(val1,val2,val3,valName) {
	inv=0;
	v=val1.value+val2.value+val3.value;
	if (v!="") {
		if (v.length<10)
			inv=1;
		for (var i=0;i<v.length && inv==0;i++) {
			if ( v.charAt(i)<"0" || v.charAt(i)>"9")
				inv=1;
		}
		if (inv==1) {
			//alert (valName + " is invalid")
			alert("Please enter "+ valName + " in the format 999-999-9999");
			val1.focus();
			val1.select();
			return false;
		}
	}
	return true;
}

function validationfrm(frm)
{
	var frm = document.forms[frm];
	
	if(trim(frm.name.value)=="" || frm.name.value=="* Your Name")
	{
		alert("Please provide name.");
		frm.name.focus();
		return false;
	}
	if(!onlyAlphaSpace(frm.name.value))
	{
		alert("Only alphabets are allowed.");
		frm.name.focus();
		return false;
	}
	//if(frm.telephone1.value!="" || frm.telephone1.value!="" || frm.telephone1.value!="")
	{
		if (trim(frm.telephone1.value)=='' || frm.telephone1.value=='Phone' )
		{
			alert ('Phone number cannot be blank !!');
			frm.telephone1.value='';
			frm.telephone1.focus(); 
			return false;
		}
		if (trim(frm.telephone2.value)=='')
		{
			alert ('Phone number cannot be blank !!');
			frm.telephone2.focus(); 
			return false;
		}
		if (trim(frm.telephone3.value)=='')
		{
			alert ('Phone number cannot be blank !!');
			frm.telephone3.focus(); 
			return false;
		}
		if (!isTel(frm.telephone1,frm.telephone2,frm.telephone3, 'Phone Number'))
		{ return false; }
	}
	if(trim(frm.email.value)=='')
	{
		alert("Please provide email.");
		frm.email.focus();
		return false;
	}
	
	if(!checkEmail(frm.email.value))
	{
		alert("Invalid Email.");
		frm.email.focus();
		return false;
	}

	return true;
}

function formrule(field)
{
	if (field.defaultValue == field.value) field.value = "";
}
function formrule2(field) {
  if (field.value == "") {
    field.value = field.defaultValue;
  }
}

// Start form validation functions -------> 

// main function for customizing validation checks
function validateForm(theForm)
{
	// Customize these calls for your form
	// This is where all the potentially mandatory fields are defined
	
	//
	// Start ------->

	//if (!validRequired(theForm.contact_first_name,"First Name"))  // valid name
	//	return false;

    //if (!validRequired(theForm.contact_last_name,"Last Name"))    // valid name
	//	return false;

	if (!validEmail(theForm.contact_email,"Email Address",true))    // valid email
		return false;
	
	//if (!validDate(theForm.question_1,"Injured DOB",true))          // valid date
	//	return false;
		
	if (!validCheckBox(theForm.attorney_client,"Agree",true))       // valid checkbox state
		return false;		
		
	//if (!validCheckBox(theForm.Attorney_Case,"Not Agree",false))    // valid checkbox state
	//	return false;

	// <--------- End
	// 
	
	return true;
}

// do not touch functions below here unless you know what you're doing
  
function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validRequired(formField,fieldLabel)
{
	var result = true;
	
	if (formField.value == "")
	{
		alert('Please fill out this required field: "' + fieldLabel +'"');
		formField.focus();
		result = false;
	}
	
	return result;
}

function validCheckBox(formField,fieldLabel,desiredState)
{
	var result = true;
	var state  = '';
	
	state = desiredState ? 'checked' : 'not checked';
	
	if (formField.checked != desiredState)
	{
		alert('This form requires the "' + fieldLabel +'" checkbox to be ' + state + ' before submission.');
		result = false;
	}
	
	return result;
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}

function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert('Please enter a valid email address for the "' + fieldLabel +'" field');
		formField.focus();
		result = false;
	}
   
  return result;

}

function validNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allDigits(formField.value))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}

function validInt(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var num = parseInt(formField.value,10);
 		if (isNaN(num))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}

function validDate(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var elems = formField.value.split("/");
 		
 		result = (elems.length == 3); // should be three components
 		
 		if (result)
 		{
 			var month = parseInt(elems[0],10);
  			var day = parseInt(elems[1],10);
 			var year = parseInt(elems[2],10);
			result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
					 allDigits(elems[1]) && (day > 0) && (day < 32) &&
					 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
 		}
 		
  		if (!result)
 		{
 			alert('Please enter a valid date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
			formField.focus();		
		}
	} 
	
	return result;
}

// <--------- End form validation functions

// Start form required field functions - Quick Contact -------> 

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function YY_checkform() { //v4.71
//copyright (c)1998,2002 Yaromat.com
  var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
  for (i=1; i<a.length;i=i+4){
    if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
    o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
    o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
    v=o.value;t=a[i+2];dv = o.defaultValue;
    if (o.type=='text'||o.type=='password'||o.type=='hidden'){
      if ((r&&v.length==0)||v==dv){err=true}
      if (v.length>0)
      if (t==1){ //fromto
        ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
      } else if (t==2){
        rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
      } else if (t==3){ // date
        ma=a[i+1].split("#");at=v.match(ma[0]);
        if(at){
          cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
          dte=new Date(cy,cm,cd);
          if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
        }else{err=true}
      } else if (t==4){ // time
        ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
      } else if (t==5){ // check this 2
            if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!o1.checked){err=true}
      } else if (t==6){ // the same
            if(v!=MM_findObj(a[i+1]).value){err=true}
      }
    } else
    if (!o.type&&o.length>0&&o[0].type=='radio'){
          at = a[i].match(/(.*)\[(\d+)\].*/i);
          o2=(o.length>1)?o[at[2]]:o;
      if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
      if (t==2){
        oo=false;
        for(j=0;j<o.length;j++){oo=oo||o[j].checked}
        if(!oo){s+='* '+a[i+3]+'\n'}
      }
    } else if (o.type=='checkbox'){
      if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
    } else if (o.type=='select-one'||o.type=='select-multiple'){
      if(t==1&&o.selectedIndex/1==0){err=true}
    }else if (o.type=='textarea'){
      if(v.length<a[i+1]||v==dv){err=true}
    }
    if (err){s+='* '+a[i+3]+'\n'; err=false}
  }
  if (s!=''){alert('Please fill out these required fields:\t\t\t\t\t\n\n'+s)}
  document.MM_returnValue = (s=='');
}

// <---------End form required field functions - Quick Contact

function validation(frm)
{
	var frm = document.forms[frm];
	
	if(trim(frm.contact_first_name.value)=="" || frm.contact_first_name.value=="* Your Name")
	{
		alert("Please provide first name.");
		frm.contact_first_name.focus();
		return false;
	}
	if(!onlyAlphaSpace(frm.contact_first_name.value))
	{
		alert("Only alphabets are allowed.");
		frm.contact_first_name.focus();
		return false;
	}
	if(trim(frm.contact_last_name.value)=="" || frm.contact_last_name.value=="* Your Name")
	{
		alert("Please provide last name.");
		frm.contact_last_name.focus();
		return false;
	}
	if(!onlyAlphaSpace(frm.contact_last_name.value))
	{
		alert("Only alphabets are allowed.");
		frm.contact_last_name.focus();
		return false;
	}
	
	if(trim(frm.contact_email.value)=='')
	{
		alert("Please provide email.");
		frm.contact_email.focus();
		return false;
	}
	
	if(!checkEmail(frm.contact_email.value))
	{
		alert("Invalid Email.");
		frm.contact_email.focus();
		return false;
	}

		if (trim(frm.contact_home_phone.value)=='')
		{
			alert ('Phone number cannot be blank !!');
			frm.contact_home_phone.focus(); 
			return false;
		}
		if (!phonePattern(frm.contact_home_phone.value))
		{ 
			alert ('Please provide phone number in the format of 999-999-9999.');
			frm.contact_home_phone.focus(); 
			return false; 
		}
	
		if (trim(frm.contact_work_phone.value)!='' && !phonePattern(frm.contact_work_phone.value))
		{
			alert ('Please provide phone number in the format of 999-999-9999.');
			frm.contact_work_phone.focus(); 
			return false; 
		}
		
		if (trim(frm.contact_city.value)!='' && !onlyAlphaSpace(frm.contact_city.value))
		{
			alert("Only alphabets are allowed.");
			frm.contact_city.focus();
			return false;
		}
		
		if(!allDigits(frm.contact_zip.value))
		{
			alert("Only numbers are allowed.");
			frm.contact_zip.focus();
			return false;
		}
		if (trim(frm.contact_comment.value)=='')
		{
			alert ('Please provide Questions and Comments.');
			frm.contact_comment.focus(); 
			return false;
		}
		
		return true;
}