﻿// JScript File
function ValidateForm(formName)
{
     var ctlToValidate, ctlToValidate1;
     var ctlArray;
     var ctlArrayDisc;
     var RegExPhone = /^((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}$/;
    switch(formName)
    {
        case "ProductStep1":
        var ctlClientIdPrefix = "ctl00_MainContent_";
        if(trim(document.getElementById(ctlClientIdPrefix + "txtInventoryId").value) == "")
        {
            alert("Property Number is a required field.")
            document.getElementById(ctlClientIdPrefix + "txtInventoryId").focus();
            return false;
        }
        var ctlToValidate = document.getElementById(ctlClientIdPrefix + "ddlSubDivision");
	    if (ctlToValidate.options[ctlToValidate.selectedIndex].value == "-1")
        {
          alert("Location is a required field.")
          document.getElementById(ctlClientIdPrefix + "ddlSubDivision").focus();
          return false;
        }  
        if(!ValidateDimensions())
            return false;
            
        ctlToValidate = document.getElementById(ctlClientIdPrefix + "txtSalesPrice").value;
        ctlToValidate = ctlToValidate.replace(/,/g,'');   
        if(trim(ctlToValidate) == "" || !isFloat(ctlToValidate))
        {
            alert("Please enter a valid Sales Price.")
            document.getElementById(ctlClientIdPrefix + "txtSalesPrice").focus();
            return false;
        }
        ctlToValidate1 = document.getElementById(ctlClientIdPrefix + "txtDiscountPrice").value;
        ctlToValidate1 = ctlToValidate1.replace(/,/g,'');   
        if(trim(ctlToValidate1) != "")
        { 
            if(!isFloat(ctlToValidate1))
            {
                alert("Please enter a valid Discount Price.")
                document.getElementById(ctlClientIdPrefix + "txtDiscountPrice").focus();
                return false;
             }
         }
        ctlToValidate = document.getElementById(ctlClientIdPrefix + "txtDownPayment").value;
        ctlToValidate = ctlToValidate.replace(/,/g,'');   
        if(trim(ctlToValidate) != "")
        {
            if(!isFloat(ctlToValidate))
            {
                alert("Please enter a valid Down Payment.");
                document.getElementById(ctlClientIdPrefix + "txtDownPayment").focus();
                return false;
            }
        }
        
        ctlToValidate = document.getElementById(ctlClientIdPrefix + "txtSalesPrice").value;
        ctlToValidate = ctlToValidate.replace(/,/g,'');  
        if(parseFloat(ctlToValidate) < parseFloat(ctlToValidate1))
        {
           alert("Discount Price can not be greater than Sales Price.")
           document.getElementById(ctlClientIdPrefix + "txtDiscountPrice").focus();
           return false;
        }
        break;
        
      case "ProductStep2":
          var ctlClientIdPrefix = "ctl00_MainContent_";
          if(trim(document.getElementById(ctlClientIdPrefix + "txtBathroom").value) == "" || !isNumeric(document.getElementById(ctlClientIdPrefix + "txtBathroom").value))
          {
            alert("Please enter a valid Bathroom value.")
            document.getElementById(ctlClientIdPrefix + "txtBathroom").focus();
            return false;
          }  
          if(trim(document.getElementById(ctlClientIdPrefix + "txtBedroom").value) != "" && !isNumeric(document.getElementById(ctlClientIdPrefix + "txtBedroom").value))
          {
            alert("Please enter a valid Bedroom value.")
            document.getElementById(ctlClientIdPrefix + "txtBedroom").focus();
            return false;
          }  
          if(trim(document.getElementById(ctlClientIdPrefix + "txtLevels").value) != "" && !isNumeric(document.getElementById(ctlClientIdPrefix + "txtLevels").value))
          {
            alert("Please enter a valid Levels value.")
            document.getElementById(ctlClientIdPrefix + "txtLevels").focus();
            return false;
          } 
          if(trim(document.getElementById(ctlClientIdPrefix + "txtLivingArea").value) != "")
          {
              if(!isNumeric(document.getElementById(ctlClientIdPrefix + "txtLivingArea").value))
              {
                alert("Please enter a valid Living Area value.")
                document.getElementById(ctlClientIdPrefix + "txtLivingArea").focus();
                return false;
              }
          }
          var ctlToValidate = document.getElementById(ctlClientIdPrefix + "ddlYear");
		  if (ctlToValidate.options[ctlToValidate.selectedIndex].value == "-1")
          {
            alert("Please select Year of Construction.")
            document.getElementById(ctlClientIdPrefix + "ddlYear").focus();
            return false;
          }  
             
        break;
     case "ProductProperties":
         var ctlClientIdPrefix = "ctl00_MainContent_";
         
         ctlToValidate = trim(document.getElementById(ctlClientIdPrefix + "txtTax").value);
          ctlToValidate = ctlToValidate.replace(/,/g,''); 
         if(ctlToValidate != "")
         {
            if(!isNumeric(ctlToValidate))
            {
                alert("Please enter a valid Taxes and yearly assessment value.")
                document.getElementById(ctlClientIdPrefix + "txtTax").focus();
                return false;
            }
         }  
         ctlToValidate = trim(document.getElementById(ctlClientIdPrefix + "txtLiving").value);
         ctlToValidate = ctlToValidate.replace(/,/g,'');  
         if(ctlToValidate != "")
         {
            if(!isNumeric(ctlToValidate))
            {
                alert("Please enter a valid Living Area value.")
                document.getElementById(ctlClientIdPrefix + "txtLiving").focus();
                return false;
            }
         }  
         if(trim(document.getElementById(ctlClientIdPrefix + "txtGarage").value) != "")
         {
            if(!isNumeric(document.getElementById(ctlClientIdPrefix + "txtGarage").value))
            {
                alert("Please enter a valid Car Garage Area value.")
                document.getElementById(ctlClientIdPrefix + "txtGarage").focus();
                return false;
            }
         }  
         if(trim(document.getElementById(ctlClientIdPrefix + "txtMiles").value) != "")
         {
            if(!isNumeric(document.getElementById(ctlClientIdPrefix + "txtMiles").value))
            {
                alert("Please enter a valid Miles to the Beach value.")
                document.getElementById(ctlClientIdPrefix + "txtMiles").focus();
                return false;
            }
         }  
         
     break;
     case "SalesRepresentative":
          var ctlClientIdPrefix = "ctl00_MainContent_";
      
            if(trim(document.getElementById(ctlClientIdPrefix + "txtFirstName").value) == "")
            {
                alert("First Name is a required field.")
                document.getElementById(ctlClientIdPrefix + "txtFirstName").focus();
                return false;
            }
           if(document.getElementById(ctlClientIdPrefix + "txtUserName") !=null)
          {  
               if(trim(document.getElementById(ctlClientIdPrefix + "txtUserName").value) == "")
                {
                    alert("User Name is a required field.")
                    document.getElementById(ctlClientIdPrefix + "txtUserName").focus();
                    return false;
                }  
            }
            if(document.getElementById(ctlClientIdPrefix + "txtEmail1").value == "")
            {
                alert("E-mail1 is a required field.")
                document.getElementById(ctlClientIdPrefix + "txtEmail1").focus();
                return false;
            }
            if(!validateEmail(document.getElementById(ctlClientIdPrefix + "txtEmail1").value))
            {
                alert("Please enter valid E-mail1 Address.")
                document.getElementById(ctlClientIdPrefix + "txtEmail1").focus();
                return false;
            }
            if(document.getElementById(ctlClientIdPrefix + "txtEmail2").value != "")
            {
                if(!validateEmail(document.getElementById(ctlClientIdPrefix + "txtEmail2").value))
                {
                    alert("Please enter valid E-mail2 Address.")
                    document.getElementById(ctlClientIdPrefix + "txtEmail2").focus();
                    return false;
                }
            }
           /* if(document.getElementById(ctlClientIdPrefix + "txtPhone1").value != "")
            {
                var ctl = document.getElementById(ctlClientIdPrefix + "txtPhone1").value;
               if(!(ctl.match(RegExPhone)))
	           {
                    alert("Please enter valid Phone 1.");
                    document.getElementById(ctlClientIdPrefix + "txtPhone1").focus();
                    return false;
               }
           }
           if(document.getElementById(ctlClientIdPrefix + "txtPhone2").value != "")
            {
                var ctl = document.getElementById(ctlClientIdPrefix + "txtPhone2").value;
               if(!(ctl.match(RegExPhone)))
	           {
                    alert("Please enter valid Phone 2.");
                    document.getElementById(ctlClientIdPrefix + "txtPhone2").focus();
                    return false;
               }
           }
            if(document.getElementById(ctlClientIdPrefix + "txtPhone3").value != "")
            {
                var ctl = document.getElementById(ctlClientIdPrefix + "txtPhone3").value;
               if(!(ctl.match(RegExPhone)))
	           {
                    alert("Please enter valid Phone 3.");
                    document.getElementById(ctlClientIdPrefix + "txtPhone3").focus();
                    return false;
               }
           }
            if(document.getElementById(ctlClientIdPrefix + "txtFax").value != "")
            {
                var ctl = document.getElementById(ctlClientIdPrefix + "txtFax").value;
               if(!(ctl.match(RegExPhone)))
	           {
                    alert("Please enter valid Fax Number.");
                    document.getElementById(ctlClientIdPrefix + "txtFax").focus();
                    return false;
               }
           }*/
        break;
         case "AdminProfile":
          var ctlClientIdPrefix = "ctl00_MainContent_";
      
            if(trim(document.getElementById(ctlClientIdPrefix + "txtUsername").value) == "")
            {
                alert("User Name is a required field.")
                document.getElementById(ctlClientIdPrefix + "txtUsername").focus();
                return false;
            }
            
            if(document.getElementById(ctlClientIdPrefix + "txtEmail").value == "")
            {
                alert("E-mail is a required field.")
                document.getElementById(ctlClientIdPrefix + "txtEmail").focus();
                return false;
            }
            if(!validateEmail(document.getElementById(ctlClientIdPrefix + "txtEmail").value))
            {
                alert("Please enter valid E-mail Address.")
                document.getElementById(ctlClientIdPrefix + "txtEmail").focus();
                return false;
            }
            
           break; 
       case "Events":
        var ctlClientIdPrefix = "ctl00_MainContent_";
         if(trim(document.getElementById(ctlClientIdPrefix + "txtTitle").value) == "")
            {
                alert("Title of Event is a required field.")
                document.getElementById(ctlClientIdPrefix + "txtTitle").focus();
                return false;
            }
        if(document.getElementById(ctlClientIdPrefix + "txtDate").value == "")
        {
                alert("Please enter Event Date.")
                document.getElementById(ctlClientIdPrefix + "txtDate").focus();
                return false;
        }
        if(document.getElementById(ctlClientIdPrefix + "txtDate").value != "")
        {
               if(!ValidateDate(document.getElementById(ctlClientIdPrefix + "txtDate").value))
               {
                alert("Invalid Event date. Please enter event date in mm/dd/yyyy format.")
                document.getElementById(ctlClientIdPrefix + "txtDate").focus();
                return false;
               }
        }
       var dteventYear = document.getElementById(ctlClientIdPrefix + "txtDate").value.split("/")[2];
      if(dteventYear < 1900)
     {
             alert("Event date must be greater than 1/1/1900.");
                document.getElementById(ctlClientIdPrefix + "txtDate").focus();
                return false;
     } 
        break;
       
    }//end switch
}

function ValidateImage(ctl)
{
        var ctlClientIdPrefix = "ctl00_MainContent_";
        if(trim(document.getElementById(ctlClientIdPrefix + "txtImage1Caption").value) == "")
        {
            alert("Image1 Caption is a required field.")
            document.getElementById(ctlClientIdPrefix + "txtImage1Caption").focus();
            return false;
        }  
        if(ctl != "Edit")
        {
            if(trim(document.getElementById(ctlClientIdPrefix + "file1").value) == "")
            {
                alert("Image1 File is a required field.")
                document.getElementById(ctlClientIdPrefix + "file1").focus();
                return false;
            }  
        }
        
         //check valid image type
        for(imgfld=1;imgfld<=8;imgfld++)
        {
            var obj = document.getElementById(ctlClientIdPrefix + "file"+imgfld)
            var objTitle = document.getElementById(ctlClientIdPrefix + "txtImage"+imgfld+"Caption");
            var strcaption = trim(objTitle.value);
            var str =trim(obj.value);
            var strViewVisible = document.getElementById(ctlClientIdPrefix + "ViewImage" + imgfld);
            if(strViewVisible != null)
            {
                if(strcaption == '')
		        {
                    alert("Image"+imgfld+" Caption is  required field.");				
			        objTitle.focus();
			        return false;
			    }
            }
            if(str!='')
		    {
		        if(strcaption == '')
		        {
		            alert("Image"+imgfld+" Caption is  required field.");				
				    objTitle.focus();
				    return false;
		        }
			    if(!(str.lastIndexOf(".")>0 & (str.substring(str.lastIndexOf(".")+1).toUpperCase()=="GIF" || str.substring(str.lastIndexOf(".")+1).toUpperCase()=="JPG" || str.substring(str.lastIndexOf(".")+1).toUpperCase()=="JPEG" || str.substring(str.lastIndexOf(".")+1).toUpperCase()=="PNG")))
			    {
				    alert("Image"+imgfld+" type cannot be outside permitted types.");				
				    obj.focus();
				    return false;
			    }
		    }	
		  }
       /* if(trim(document.getElementById(ctlClientIdPrefix + "txtImage2Caption").value) == "")
        {
            alert("Image2 Caption is a required field.")
            document.getElementById(ctlClientIdPrefix + "txtImage2Caption").focus();
            return false;
        } 
        if(ctl != "Edit")
        {
            if(trim(document.getElementById(ctlClientIdPrefix + "file2").value) == "")
            {
                alert("Image2 File is a required field.")
                document.getElementById(ctlClientIdPrefix + "file2").focus();
                return false;
            }   
        }
        if(trim(document.getElementById(ctlClientIdPrefix + "txtImage3Caption").value) == "")
        {
            alert("Image3 Caption is a required field.")
            document.getElementById(ctlClientIdPrefix + "txtImage3Caption").focus();
            return false;
        }
        if(ctl != "Edit")
        {
            if(trim(document.getElementById(ctlClientIdPrefix + "file3").value) == "")
            {
                alert("Image3 File is a required field.")
                document.getElementById(ctlClientIdPrefix + "file3").focus();
                return false;
            }  
        }
        if(trim(document.getElementById(ctlClientIdPrefix + "txtImage4Caption").value) == "")
        {
            alert("Image4 Caption is a required field.")
            document.getElementById(ctlClientIdPrefix + "txtImage4Caption").focus();
            return false;
        }
        if(ctl != "Edit")
        {
            if(trim(document.getElementById(ctlClientIdPrefix + "file4").value) == "")
            {
                alert("Image4 File is a required field.")
                document.getElementById(ctlClientIdPrefix + "file4").focus();
                return false;
            }
        }  */
        return true;
}
function ValidateDate(ctl)
{
	var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;		
	
	if(!(ctl.match(RegExPattern)))
		return false;
	else
		return true;				
}
function ValidateDimensions()
{
    var ctlClientIdPrefix = "ctl00_MainContent_";
    if(trim(document.getElementById(ctlClientIdPrefix + "txtDimensions").value) != "")
    {
        var Dim = trim(document.getElementById(ctlClientIdPrefix + "txtDimensions").value);
        Dim = Dim.toUpperCase();
        var sDim = Dim.split("X");
        if(sDim.length != 2)
        {
            alert("Please enter valid Dimensions i.e 100x100.");
            document.getElementById(ctlClientIdPrefix + "txtDimensions").focus();
            return false;
        }
        else
        {
           if(!isNumeric(trim(sDim[0])) || !isNumeric(trim(sDim[1])))
           {
               alert("Please enter valid Dimensions.");
               document.getElementById(ctlClientIdPrefix + "txtDimensions").focus();
               return false;
           }
           else
           {
                document.getElementById(ctlClientIdPrefix + "txtLotSize").value = sDim[0]*sDim[1];
               if(document.getElementById(ctlClientIdPrefix + "ddlDimensions").value =='Meters')
                   document.getElementById(ctlClientIdPrefix + "ddlLotSize").value = 'Sq. mt.' ;
              else
                  document.getElementById(ctlClientIdPrefix + "ddlLotSize").value = 'Sq. ft.';
              
               
                               format(document.getElementById("ctl00_MainContent_txtLotSize"));
                return true;
            }
        }
     }
     else
        return true;   
}
