
/***************** FRONT-END ********************/

/**
 *  checks if all required fields are filled
 *
 */
function CheckUserRegistrationForm()
{

  if (Trim(document.RegistrationForm.lgn.value)== "")
     {
        alert("Please specify login");
        document.RegistrationForm.lgn.focus();
        return false;
     }


  if(Trim(document.RegistrationForm.email.value)=="")
              {
              alert("Please specify E-mail");
                      document.RegistrationForm.email.focus();
                      return false;
              }
      else
              {
                      var str = document.RegistrationForm.email.value;
                      var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
                      if (!str.match(re))
                      {
                              alert("Verify the email address format ('yourname@domain.com')");
                              document.RegistrationForm.email.focus();
                              return false;
                      }
              }



  if (Trim(document.RegistrationForm.firstname.value)== "")
     {
        alert("Please specify name");
        document.RegistrationForm.firstname.focus();
        return false;
     }

	c1 = Trim(document.RegistrationForm.category.value);
	c2 = Trim(document.RegistrationForm.other_category.value);

  if (c1=="") {
		if (c2==""){
        alert("Please specify category");
        document.RegistrationForm.category.focus();
        return false;
     }
  }




       if(Trim(document.RegistrationForm.password1.value)=="")
              {
              alert("Please specify password");
                      document.RegistrationForm.password1.focus();
                      return false;
              }

       if (Trim(document.RegistrationForm.password2.value)=="")
              {
              alert("Please specify confirm password");
                      document.RegistrationForm.password2.focus();
                      return false;
              }

       if (document.RegistrationForm.password2.value!="" && document.RegistrationForm.password1.value!="" && document.RegistrationForm.password2.value!=document.RegistrationForm.password1.value)
              {
              alert("Confirm password doesn't match with password");
                      document.RegistrationForm.password2.focus();
                      return false;
              }

       str1 = Trim(document.RegistrationForm.zip.value);
       if (str1.length > 0){
	 if (!str1.match('^[0-9]{5}$')){
	   alert('Please enter valid 5 digit ZIP code');
	   document.RegistrationForm.zip.focus();
	   return false;
	 }
       }

       str2 = Trim(document.RegistrationForm.phone.value);
       if (str2.length > 0){
	 var str3 = str2.replace(/\D/g, '');
	 if (!str3.match('^[0-9]{10}$')){
	   alert('Please enter valid phone in 10 digits format');
	   document.RegistrationForm.phone.focus();
	   return false;
	 }
       }

       return true;
}



/**
 *  checks if all required fields are filled
 *
 */
function CheckVendorRegistrationForm()
{

  if (Trim(document.RegistrationForm.lgn.value)== "")
     {
        alert("Please specify login");
        document.RegistrationForm.lgn.focus();
        return false;
     }


  if(Trim(document.RegistrationForm.email.value)=="")
              {
              alert("Please specify E-mail");
                      document.RegistrationForm.email.focus();
                      return false;
              }
      else
              {
                      var str = document.RegistrationForm.email.value;
                      var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
                      if (!str.match(re))
                      {
                              alert("Verify the email address format ('yourname@domain.com')");
                              document.RegistrationForm.email.focus();
                              return false;
                      }
              }



  if (Trim(document.RegistrationForm.firstname.value)== "")
     {
        alert("Please specify name");
        document.RegistrationForm.firstname.focus();
        return false;
     }


  if (Trim(document.RegistrationForm.company.value)== "")
     {
        alert("Please specify company");
        document.RegistrationForm.company.focus();
        return false;
     }


	c1 = Trim(document.RegistrationForm.category.value);
	c2 = Trim(document.RegistrationForm.other_category.value);

  if (c1=="") {
		if (c2==""){
        alert("Please specify category");
        document.RegistrationForm.category.focus();
        return false;
     }
  }




       if(Trim(document.RegistrationForm.password1.value)=="")
              {
              alert("Please specify password");
                      document.RegistrationForm.password1.focus();
                      return false;
              }

       if (Trim(document.RegistrationForm.password2.value)=="")
              {
              alert("Please specify confirm password");
                      document.RegistrationForm.password2.focus();
                      return false;
              }

       if (document.RegistrationForm.password2.value!="" && document.RegistrationForm.password1.value!="" && document.RegistrationForm.password2.value!=document.RegistrationForm.password1.value)
              {
              alert("Confirm password doesn't match with password");
                      document.RegistrationForm.password2.focus();
                      return false;
              }

       str1 = Trim(document.RegistrationForm.zip.value);
       if (str1.length > 0){
	 if (!str1.match('^[0-9]{5}$')){
	   alert('Please enter valid 5 digit ZIP code');
	   document.RegistrationForm.zip.focus();
	   return false;
	 }
       }

       str2 = Trim(document.RegistrationForm.phone.value);
       if (str2.length > 0){
	 var str3 = str2.replace(/\D/g, '');
	 if (!str3.match('^[0-9]{10}$')){
	   alert('Please enter valid phone in 10 digits format');
	   document.RegistrationForm.phone.focus();
	   return false;
	 }
       }

       return true;
}





function CheckEditProfileForm(form)
{

  if (Trim(document.UserForm.lgn.value)== "")
     {
        alert("Please specify login");
        document.UserForm.lgn.focus();
        return false;
     }


  if(Trim(document.UserForm.email.value)=="")
              {
              alert("Please specify E-mail");
                      document.UserForm.email.focus();
                      return false;
              }
      else
              {
                      var str = document.UserForm.email.value;
                      var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
                      if (!str.match(re))
                      {
                              alert("Verify the email address format ('yourname@domain.com')");
                              document.UserForm.email.focus();
                              return false;
                      }
              }



  if (Trim(document.UserForm.firstname.value)== "")
     {
        alert("Please specify name");
        document.UserForm.firstname.focus();
        return false;
     }

  if (document.UserForm.usertype.value == "3" && Trim(document.UserForm.company.value)== "")
     {
        alert("Please specify company");
        document.UserForm.company.focus();
        return false;
     }

	c1 = Trim(document.UserForm.category.value);
	c2 = Trim(document.UserForm.other_category.value);

  if (c1=="") {
		if (c2==""){
        alert("Please specify category");
        document.UserForm.category.focus();
        return false;
     }
  }

  str1 = Trim(document.UserForm.postalcode.value);
  if (str1.length > 0){
    if (!str1.match('^[0-9]{5}$')){
      alert('Please enter valid 5 digit ZIP code');
      document.UserForm.postalcode.focus();
      return false;
    }
  }

  str2 = Trim(document.UserForm.phone.value);
  if (str2.length > 0){
    var str3 = str2.replace(/\D/g, '');
    if (!str3.match('^[0-9]{10}$')){
      alert('Please enter valid phone in 10 digits format');
      document.UserForm.phone.focus();
      return false;
    }
  }

  return true;
}

function CheckJobForm()
{

  if (Trim(document.jobform.title.value) == "")
  {
    alert("Please specify title");
    document.jobform.title.focus();
  	return false;
  }

  if (Trim(document.jobform.description.value) == "")
  {
    alert("Please specify description");
    document.jobform.description.focus();
  	return false;
  }

  if (Trim(document.jobform.category.value) == "" && Trim(document.jobform.other_category.value) == "")
  {
    alert("Please specify category");
    document.jobform.category.focus();
  	return false;
  }

  str1 = Trim(document.jobform.budget.value);
  if (str1.length > 0){
    if (!str1.match('^[0-9]*(.[0-9]{2})?$') || str1.indexOf(".")>0){
      alert('Please enter valid budget value in USD');
      document.jobform.budget.focus();
      return false;
    }
  }
  
  str2 = Trim(document.jobform.ebudget.value);
  if (str2.length > 0){
    if (!str2.match('^[0-9]*(.[0-9]{2})?$') || str2.indexOf(".")>0){
      alert('Please enter valid Estimated budget value in USD');
      document.jobform.ebudget.focus();
      return false;
    }
  }

  document.jobform.submit();

}

/***************** BACK-END ********************/

/**
 * checks if group form name field is not empty
 */

function CheckGroupForm()
{

  if (Trim(document.GroupForm.name.value) == "")
  {
    alert("Please specify name");
    document.GroupForm.name.focus();
  	return false;
  }

	document.GroupForm.submit();

}

/**
 * checks if category form name field is not empty
 */

function CheckCatForm()
{

  if (Trim(document.CatForm.name.value) == "")
  {
    alert("Please specify name");
    document.CatForm.name.focus();
  	return false;
  }

	document.CatForm.submit();

}

/**
 * checks if group form name field is not empty
 */


function CheckUserForm()
{

  if (Trim(document.UserForm.lgn.value)== "")
     {
        alert("Please specify login");
        document.UserForm.lgn.focus();
        return false;
     }


  if(Trim(document.UserForm.email.value)=="")
              {
              alert("Please specify E-mail");
                      document.UserForm.email.focus();
                      return false;
              }
      else
              {
                      var str = document.UserForm.email.value;
                      var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
                      if (!str.match(re))
                      {
                              alert("Verify the email address format ('yourname@domain.com')");
                              document.UserForm.email.focus();
                              return false;
                      }
              }



  if (Trim(document.UserForm.firstname.value)== "")
     {
        alert("Please specify name");
        document.UserForm.firstname.focus();
        return false;
     }

  if (document.getElementById('groups3').checked && Trim(document.UserForm.company.value)== "" )
     {
        alert("Please specify company, it is required for vendors.");
        document.UserForm.company.focus();
        return false;
     }

  if(Trim(document.UserForm.pwd.value)=="" && Trim(document.UserForm.id.value)=="")
    {
      alert("Please specify password");
      document.UserForm.pwd.focus();
      return false;
    }
  
  c1 = Trim(document.UserForm.category.value);
  c2 = Trim(document.UserForm.other_category.value);

  if (c1=="") {
		if (c2==""){
        alert("Please specify category");
        document.UserForm.category.focus();
        return false;
     }
  }

  str1 = Trim(document.UserForm.postalcode.value);
  if (str1.length > 0){
    if (!str1.match('^[0-9]{5}$')){
      alert('Please enter valid 5 digit ZIP code');
      document.UserForm.postalcode.focus();
      return false;
    }
  }

  str2 = Trim(document.UserForm.phone.value);
  if (str2.length > 0){
    var str3 = str2.replace(/\D/g, '');
    if (!str3.match('^[0-9]{10}$')){
      alert('Please enter valid phone in 10 digits format');
      document.UserForm.phone.focus();
      return false;
    }
  }


  var cs = document.getElementById('UserForm').getElementsByTagName('input');
  var checkboxes = 0;

	for ( var i = 0; i < cs.length; i++ ) {
		if (cs[i].checked == true && cs[i].name != 'is_active') {
			checkboxes++;
		}
	}

	if (checkboxes == 0) {
			alert("Please select at least one group");
			return false;
	}



	return true;
}


/**
 * checks payment form
 */

function CheckPaymentForm()
{

  if (Trim(document.paymentform.userid.value) == ""){
    alert("Please specify user");
    document.paymentform.userid.focus();
  	return false;
  }

  if (Trim(document.paymentform.transid.value) == ""){
    alert("Please specify transaction ID");
    document.paymentform.transid.focus();
  	return false;
  }

  if (Trim(document.paymentform.description.value) == ""){
    alert("Please specify description");
    document.paymentform.description.focus();
  	return false;
  }

  if (Trim(document.paymentform.amount.value) == ""){
    alert("Please specify amount");
    document.paymentform.amount.focus();
  	return false;
  }

  document.paymentform.submit();

}

