//<script>

      var m_objXML;
      var m_objResults;
      // whitespace characters
      var whitespace = " \t\n\r";
      
      var httpObj = false;
      
      var oUserNames = Sarissa.getDomDocument();//new ActiveXObject("Microsoft.FreeThreadedXMLDOM");
      
      //oUserNames.async = false;
      //Get the user names in the system
/*      
      var ndMsg;
      m_objXML = Sarissa.getDomDocument(); //new ActiveXObject("Microsoft.FreeThreadedXMLDOM");
      m_objResults = Sarissa.getDomDocument();//new ActiveXObject("Microsoft.FreeThreadedXMLDOM");
      
     
      ndMsg = m_objXML.createElement('auctionvideomsg');
        
      ndMsg.setAttribute('action','getusernames');
      
      httpObj = new XMLHttpRequest();
     */ 
      
      //alert(Sarissa.serialize(ndMsg));
      //httpObj.open("POST", "processrequest.asp", false);
      
      //httpObj.send('<auctionvideomsg action="getusernames"/>');
      
      //Check for an error
      //m_objResults.loadXML(Sarissa.serialize(httpObj.responseXML))
      //alert(Sarissa.serialize(httpObj.responseXML));
      /*
	    if (m_objResults.documentElement.nodeName == "Results") { 
	      oUserNames.loadXML(m_objResults.selectSingleNode("//usernamelist").xml);
		    //return true;
	    }
	    else {
	      alert("An error occurred.  Number: " + m_objResults.documentElement.getAttribute('errnumber') + " Description: " + m_objResults.documentElement.getAttribute('errdescription'));
	      //return false;
	    }
	    */
	   

      /****************************************************************/

      // Check whether string s is empty.
      function isEmpty(s)
      { return ((s == null) || (s.length == 0)) }

      /****************************************************************/

      function SetCookie(name, value, expires, path, domain) 
      { document.cookie = name + "=" + escape(value) + 
        ((expires == null) ? "" : "; expires=" + expires.toGMTString()) +
        ((path == null)    ? "" : "; path=" + path) +
        ((domain == null)  ? "" : "; domain=" + domain);
        alert('cookie set for ' + name + ' and ' + value + ' time: ' + expires.toGMTString());
      }

      function isWhitespace (s)
      {
           var i;

           // Is s empty?
           if (isEmpty(s)) return true;

           // Search through string's characters one by one
           // until we find a non-whitespace character.
           // When we do, return false; if we don't, return true.

           for (i = 0; i < s.length; i++)
           {
                // Check that current character isn't whitespace.
                var c = s.charAt(i);

                if (whitespace.indexOf(c) == -1) return false;
           }

           // All characters are whitespace.
           return true;
      }

      /****************************************************************/

      function ForceEntry(val, str) {
           var strInput = new String(val.value);

           if (isWhitespace(strInput)) {
                alert(str);
                return false;
           } else
                return true;

      }  
      
    function ForceProductSelection(str) {
      if(document.forms[0].SplashRecorder.checked == false)
      {
        alert(str);
        return false;  
      }
      else
      {
        return true;
      }  
    }  
    
    function CheckCCDates(str)
    {
      if(document.forms[0].selPayExpYear.value == "")
      { 
        alert(str);
        return false;
      }
      if(document.forms[0].selPayExpMonth.value == "")
      {
        alert(str);
        return false;
      }
    }
    
    function CheckTerms(str)
    {
      if(!(document.forms[0].cbxTerms.checked))
      {
        alert(str);
        return false;
      } 
      else
      {
        return true;
      }
    }
    
  function EmailPassword()
  {
      pass.innerHTML = "<FONT color='#ff0000' size='1'><STRONG>One moment...</STRONG></FONT>";
      //Send the email password to the forgotemail page
      
      var localXML = Sarissa.getDomDocument();
      var localResults = Sarissa.getDomDocument();
      
     //Msxml2.XMLHTTP.6.0 
     //Msxml2.DOMDocument.6.0
     //Msxml2.FreeThreadedDOMDocument.6.0
     
      var oUserNames = Sarissa.getDomDocument();//new ActiveXObject("Microsoft.FreeThreadedXMLDOM");
      //Get the user names in the system
      var ndMsg;
        
      ndMsg = localXML.createElement('emailpassword');
        
      ndMsg.setAttribute('email',txtEmail.value);
      
      var httpObj = new XMLHttpRequest();//new ActiveXObject("Microsoft.XMLhttp");
      httpObj.open("POST", "forgotemail.aspx", false);
      
      httpObj.send(Sarissa.serialize(ndMsg));
      
      //Check for an error
      localResults = (new DOMParser()).parseFromString(Sarissa.serialize(httpObj.responseXML), "text/xml");       
      
	    if (localResults.selectNodes("//success").length > 0) { 
		    //return true;
		    pass.innerHTML = "<FONT color='#ff0000' size='1'><STRONG>Your password has been sent. Please check your email.</STRONG></FONT>";
	    }
	    else {
	      //return false;
	      pass.innerHTML = "<FONT color='#ff0000' size='1'><STRONG>Email address not found. Please contact customer support for further assistance.</STRONG></FONT>";
	    }


  }  
    
  function stripNonWord(sString) {
    var regExp = /[^A-Za-z0-9\-/ ]/g;
    
    sString = sString.replace(regExp, "");
    return sString;
  }    
    
  function ValidateLoginData() {
    //var sUserName = document.forms[0].txtLogin.value;
    var sPassword = document.forms[0].txtPassword.value;
    var ExpireDate = new Date();
    var regExp = /[^0-9\-/ ]/g;
    
    if(ForceEntry(document.forms[0].txtLogin,"You must supply a user name."))
    {
      if(ForceEntry(document.forms[0].txtPassword,"You must supply a password."))
      {
        if(sPassword == "makeitso")
        {
          //Set expiredate to 1 hour in the future
          ExpireDate.setTime(ExpireDate.getTime() + (1 * 3600 * 1000));
          SetCookie("basicupload", "true", ExpireDate, "");
        }
        if(((sPassword.length != 6) || (sPassword.replace(regExp,"").length != 6)) && (sPassword != "makeitso"))
        {
          alert("Your password must be 6 digits.");
          return false;
        }
        //if(sPassword != sPassword.replace(regExp,""))
        //{
        //  alert("Your password must be 6 digits.");
        //  return false;
        //}
      }
      else
      {
        return false;
      }
    }
    else
    {
      return false;
    }
  }   

    function SetSessionValues(sUserName, sPassword)
    {
      m_objXML = Sarissa.getDomDocument();//XMLCreateDOM();
      m_objResults = Sarissa.getDomDocument();//= XMLCreateDOM();
        
      ndMsg = m_objXML.createElement('auctionvideomsg');
        
      ndMsg.setAttribute('action','createsession');
              
      ndMsg.setAttribute('username',sUserName);
      ndMsg.setAttribute('password',sPassword);
    
      var httpObj = new XMLHttpRequest();//new ActiveXObject("Microsoft.XMLhttp");
      httpObj.open("GET", "SetUserSession.aspx?user=" + sUserName, false);
      
      //httpObj.send(Sarissa.serialize(ndMsg));     
      httpObj.send(null);
      
      //Check for an error
      m_objResults = (new DOMParser()).parseFromString(Sarissa.serialize(httpObj.responseXML), "text/xml"); 
      
      if (m_objResults.documentElement.nodeName == "Results") {
        
        return true;
      }
      else {
        alert("An error occurred.  Number: " + m_objResults.documentElement.getAttribute('errnumber') + " Description: " + m_objResults.documentElement.getAttribute('errdescription'));
        return false;
      }
    }
    
  function SetCurrentUserSession(CurrentUser)
  {
    var xmlhttp = false;
    
    if (!Sarissa || !document.getElementsByTagName) 
      return;
      
    try 
    {
      xmlhttp =  new XMLHttpRequest();
    } 
    catch (e) 
    {

    }
    
    xmlHTTP.Open ("Post", "SetCredentials.aspx?username=" + CurrentUser, true);

    xmlhttp.onreadystatechange = function() 
    {
      if (xmlhttp.readyState == 4) 
      {
        if (xmlhttp.status == 200)
        {
          //Success
        }
      }
    }

    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlhttp.send("<content type='application'/>"); 
        
    return;
  }    

    function ValidatePayPalData(bPromo)
    {
      var sItemName = "";
      var sPayment = "10.00";
      var bSubmit = true;
      var ndMsg;
      
      var bSubmit = true;
      var ndUserName;
      
      if((bPromo) && (document.forms[2].txtPromotionalCode.value != "blast1104") && (document.forms[2].txtPromotionalCode.value != "avme2004"))
      {
        alert('The promotional code is invalid.');
        return false;
      }
      
      document.forms[0].txtUserName.value = stripNonWord(document.forms[0].txtUserName.value);
      
      bSubmit = ForceEntry(document.forms[0].txtUserName,"You must supply a user name."); 
      if(bSubmit)
      {      
		    ndUserName = oUserNames.selectSingleNode("//username[@name = '" + document.forms[0].txtUserName.value + "']");
		    if (ndUserName) { 
		      alert('This user name already exists.  Please select a different name.');
		      bSubmit = false;
		    }
		  }     
      
      if  (bSubmit)
        bSubmit = ForceEntry(document.forms[0].txtFirstName,"You must supply a first name.");

      if (bSubmit) 
        bSubmit = ForceEntry(document.forms[0].txtLastName,"You must supply a last name.");
      
      if (bSubmit) 
        bSubmit = ForceEntry(document.forms[0].txtEmail,"You must supply an email address.");
      
      if (bSubmit) 
        bSubmit = ForceEntry(document.forms[0].txtPhone,"You must supply a phone number.");
       
      if (bSubmit)
        bSubmit = ForceProductSelection("You must pick a product");      
      
      if (bSubmit)
      {
                
        m_objXML = Sarissa.getDomDocument();
        m_objResults = Sarissa.getDomDocument();
                
        ndMsg = m_objXML.createElement('auctionvideomsg');
        
        
        ndMsg.setAttribute('action','createuser');
              
        ndMsg.setAttribute('username',document.forms[0].txtUserName.value);
        ndMsg.setAttribute('firstname',document.forms[0].txtFirstName.value);
        ndMsg.setAttribute('lastname',document.forms[0].txtLastName.value);
        ndMsg.setAttribute('email',document.forms[0].txtEmail.value);
        ndMsg.setAttribute('address1',document.forms[0].txtBillingAddress1.value);
        ndMsg.setAttribute('address2',document.forms[0].txtBillingAddress2.value);
        ndMsg.setAttribute('address3',document.forms[0].txtBillingAddress3.value);
        ndMsg.setAttribute('country',document.forms[0].cboCountry.value);
        ndMsg.setAttribute('phone',document.forms[0].txtPhone.value);
        
        if(document.forms[0].SplashRecorder.checked)
        {
          sItemName = "OnStream Auction Video Basic";
          sPayment = "9.95";
          ndMsg.setAttribute('product','SplashRecorder2');
        }
        else
        {
          sItemName = "OnStream Auction Video High Volume";
          sPayment = "99.95";
          ndMsg.setAttribute('product','SplashRecorder');
        }

        ndMsg.setAttribute('camerapack','0');
        
        ndMsg.setAttribute('promo','0');
  
        document.forms[1].item_name.value = sItemName;
        document.forms[1].a3.value = sPayment;
        
        document.forms[1].first_name.value = document.forms[0].txtFirstName.value;
        document.forms[1].last_name.value = document.forms[0].txtLastName.value;
        document.forms[1].address1.value = document.forms[0].txtBillingAddress1.value;
        document.forms[1].address2.value = document.forms[0].txtBillingAddress2.value;
             
        
	      var httpObj = new XMLHttpRequest();//new ActiveXObject("Microsoft.XMLhttp");
	      httpObj.open("POST", "processrequest.asp", false);
	      httpObj.send(Sarissa.serialize(ndMsg));     

        m_objResults = (new DOMParser()).parseFromString(Sarissa.serialize(httpObj.responseXML), "text/xml");
        
 
	      if (m_objResults.documentElement.nodeName == "Results") {
	        SetSessionValues(document.forms[0].txtUserName.value,"");
	        //var expires = new Date();
          //expires.setTime(expires.getTime() + 3E11);   
	        //SetCookie("auctionvideousername", document.forms[0].txtUserName.value, expires, "");
		      return true;
	      }
	      else {
	        alert("An error occurred.  Number: " + m_objResults.documentElement.getAttribute('errnumber') + " Description: " + m_objResults.documentElement.getAttribute('errdescription'));
	        return false;
	      }
      }
      return false;
    }
 
    function ValidateData()
    {
      var bSubmit = true;
      var ndUserName;
      
      alert("user name: " + document.forms[0].txtUserName.value);
      
      document.forms[0].txtUserName.value = stripNonWord(document.forms[0].txtUserName.value);
      
      bSubmit = ForceEntry(document.forms[0].txtUserName,"You must supply a user name."); 
      if(bSubmit)
      {      
		    ndUserName = oUserNames.selectSingleNode("//username[@name = '" + document.forms[0].txtUserName.value + "']");
		    if (ndUserName) { 
		      alert('This user name already exists.  Please select a different name.');
		      bSubmit = false;
		    }
		  }     
      
      if  (bSubmit)
        bSubmit = ForceEntry(document.forms[0].txtFirstName,"You must supply a first name.");

      if (bSubmit) 
        bSubmit = ForceEntry(document.forms[0].txtLastName,"You must supply a last name.");
      
      if (bSubmit) 
        bSubmit = ForceEntry(document.forms[0].txtEmail,"You must supply an email address.");
      
      if (bSubmit) 
        bSubmit = ForceEntry(document.forms[0].txtPhone,"You must supply a phone number.");
       
      if (bSubmit) 
        bSubmit = ForceEntry(document.forms[0].txtCreditCardNumber,"You must supply a credit card number.");
        
      if (bSubmit)
        bSubmit = cardval(document.forms[0].txtCreditCardNumber.value, "The credit card number you entered is not valid.");
       
      if (bSubmit)
        bSubmit = ForceProductSelection("You must pick a product");
        
      if(bSubmit)
        bSubmit = CheckCCDates("You must supply a valid year and month for your credit card."); 
       
      return bSubmit;
    }
    
  function cardval(s, sMessage) {
    
    var regExp = /[^0-9\-/ ]/g;
 
    // remove non-numerics
    var bReturn;
    var v = "0123456789";
    var w = "";
    
    if((s.length != 16) || (s.replace(regExp,"").length != 16))
    {
      alert(sMessage);
      return false;
    }    
    
    for (i=0; i < s.length; i++) {
      x = s.charAt(i);
      if (v.indexOf(x,0) != -1)
      w += x;
    }
    // validate number
    j = w.length / 2;
    if (j < 6.5 || j > 8 || j == 7) return false;
    k = Math.floor(j);
    m = Math.ceil(j) - k;
    c = 0;
    for (i=0; i<k; i++) {
      a = w.charAt(i*2+m) * 2;
      c += a > 9 ? Math.floor(a/10 + a%10) : a;
    }
    for (i=0; i<k+m; i++) 
      c += w.charAt(i*2+1-m) * 1;
    if(c%10 == 0)
    {
      return true;
    }
    else
    {
      alert(sMessage);
      return false;
    }
    
  }    
  


//</script>
