﻿//ajaxvalidator.js
// Contains Ajax Validation javascript code
var http_request = false;

function MakeAjaxRequest( url, callbackmethod )
{
   http_request = false;
   if( window.XMLHttpRequest ) // Mozilla / Safari
   {
      http_request = new XMLHttpRequest();
   }
   else if( window.ActiveXObject ) // Internet Explorer
   {
      try 
      {
         http_request = new ActiveXObject( "Msxml2.XMLHTTP" );
      }
      catch( e )
      {
         try
         {
            http_request = new ActiveXObject( "Microsoft.XMLHTTP" );
         }
         catch( e ) {}
      }
   }

   if( !http_request )
   {
      //alert( 'Cannot create XMLHTTP instance' );
      return false;
   }

   http_request.onreadystatechange = callbackmethod;
   http_request.open( "POST", url, true );
   http_request.send( "" );
}


//zip validation
var ZipCtrlId = "FromZip";
var ErrCtrlId = "errZip";
function ValidateZip( zip, zipCtrlId, errCtrlId )
{
   ZipCtrlId = zipCtrlId;
   ErrCtrlId = errCtrlId;
   MakeAjaxRequest( "../CommonAjaxValidator.aspx?zip=" + zip, Zip_Callback );
}

function ValidateZipFromRoot( zip, zipCtrlId, errCtrlId )
{
   ZipCtrlId = zipCtrlId;
   ErrCtrlId = errCtrlId;
   MakeAjaxRequest( "CommonAjaxValidator.aspx?zip=" + zip, Zip_Callback );
}

function Zip_Callback()
{
   if( http_request.readyState == 4 )
   {
      if( http_request.status == 200 )
      {
         if( http_request.responseText != 1 )
         { 
            document.getElementById( ErrCtrlId ).style.visibility = "visible";
            document.getElementById( ZipCtrlId ).value = "";
            document.getElementById( ZipCtrlId ).focus();
         } 
         else
         {
             document.getElementById( ErrCtrlId ).style.visibility = 'hidden';
         }
      }
      else
      {
         //alert( 'There was a problem with the request.' );
      }
   }
}



function IsMoveLocal( tostate, fromzip )
{
   MakeAjaxRequest( "../CommonAjaxValidator.aspx?fromzip=" + fromzip + "&tostate=" + tostate, IsMoveLocal_Callback );
}

function IsMoveLocal_Callback()
{
   if( http_request.readyState == 4 )
   {
      if( http_request.status == 200 )
      {
         if( http_request.responseText == 1 )
         { 
            if( confirm( "Due to unavailability of local self service movers your request is being \nsent to full service movers. Are you sure to do this?" ) )
            {
                submitCount++;
                document.frmMoveQuotes.LocalMove.value = 1;
                document.frmMoveQuotes.submit();
            }
         }
         else
         {
            submitCount++;
            document.frmMoveQuotes.submit();
         }
      }
   }
}