﻿function CustomPaymentDetails(userKeyElement, userFirstNameElement, userLastNameElement, userNameElement, userCityElement, userCountryElement, userAmountElement, userInstructionElement)
{
   try
   { 
     openWaitImage();
     var flag = 0;
     var message = '';

     var userKey = $get(userKeyElement).value.trim();
     var userFirstName = $get(userFirstNameElement).value.trim();
     var userLastName = $get(userLastNameElement).value.trim();
     var userName  = $get(userNameElement).value.trim();
     var userCity  = $get(userCityElement).value.trim();
     var userCountry = $get(userCountryElement).options[$get(userCountryElement).selectedIndex].text;
     var userAmount  = $get(userAmountElement).value.trim();
     var userInstruction  = $get(userInstructionElement).value.trim();
  
     /*
     alert(userFirstName);
     alert(userLastName);
     alert(userName);
     alert(userCity);
     alert(userAmount);
     alert(userInstruction);
     */
     if (userName.length === 0) 
      {
        message = message + '\n- Please specify a Valid Email';
        $get(userNameElement).className = 'Required';
        flag = 1;
      }
     else 
     { 
        $get(userNameElement).className = '';
     }
     if (!isEmail(userName)) 
     {
        $get(userNameElement).className = "Required";
        message = message + '\n- Please enter a Valid Email Address';
        flag = 1;
     }
     else 
     {
        if ($get(userNameElement).className != 'Required')
        { $get(userNameElement).className = ''; }
     }
     if (userFirstName.length === 0) 
     {
        $get(userFirstNameElement).className = "Required";
        message = message + '\n- Please specify your First Name';
        flag = 1;
     }
     else 
     {
        $get(userFirstNameElement).className = '';
     }
     if (!isName(userFirstName)) 
     {
        $get(userFirstNameElement).className = "Required";
        message = message + '\n- Only Alphabets & Spaces allowed in First Name';
        flag = 1;
     }
     else 
     {
        if ($get(userFirstNameElement).className != 'Required')
        { $get(userFirstNameElement).className = ''; }
     }
     if (!isName(userLastName)) 
     {
        $get(userLastNameElement).className = "Required";
        message = message + '\n- Only Alphabets & Spaces allowed in Last Name';
        flag = 1;
     }
     else 
     {
        $get(userLastNameElement).className = '';
     }
     if (userCity.length === 0) 
     {
        $get(userCityElement).className = "Required";
        message = message + '\n- Please specify the City';
        flag = 1;
     }
     else 
     {
        $get(userCityElement).className = '';
     }
     if (!isAlphaSpace(userCity)) 
     {
        $get(userCityElement).className = "Required";
        message = message + '\n- Only Alphabets & Spaces allowed in the City';
        flag = 1;
     }
     else 
     {
        if ($get(userCityElement).className != 'Required')
        { $get(userCityElement).className = ''; }
     }
     if (userAmount.length === 0 || isNaN(parseFloat(userAmount))) 
     {
        message = message + '\n- Please enter a Valid Amount';
        $get(userAmountElement).className = 'Required';
        flag = 1;
     }
     else 
     {
        $get(userAmountElement).className = '';
     }
     if(isNaN(parseInt(userKey)))
     {
       userKey = 0;
     }
     if (userCountry.length === 0) 
     {
        message = message + '\n- Please specify a Valid Country';
        $get(userCountryElement).className = 'Required';
        flag = 1;
     }
     else 
     {
        $get(userCountryElement).className = '';
     }
     
     if (flag === 1) 
     {
        $get('CustomPaymentErrorMessage').className = 'ErrorMessage';
        $get('CustomPaymentErrorMessage').innerHTML = "<br /><span class='BoldText'> Error:</span><br />" + message.replace(/\n/g, '<br />') + " <br />";
        alert(message);
        
        if ($get(userAmountElement).className === "Required") 
        {
            $get(userAmountElement).focus();
        }
        if ($get(userCountryElement).className === "Required") 
        {
            $get(userCountryElement).focus();
        }
        if ($get(userCityElement).className === "Required") 
        {
            $get(userCityElement).focus();
        }
        if ($get(userNameElement).className === "Required") 
        {
            $get(userNameElement).focus();
        }
        if ($get(userLastNameElement).className === "Required") 
        {
            $get(userLastNameElement).focus();
        }
        if ($get(userFirstNameElement).className === "Required") 
        {
            $get(userFirstNameElement).focus();
        }        
        closeWaitImage();
        return false;
     }
     else 
     {
        //alert('AllCorrect');
        //$get('SubmitButton').on
        $get(userNameElement).className = '';
        $get(userFirstNameElement).className = '';
        $get(userLastNameElement).className = '';
        $get(userCityElement).className = '';
        $get(userCountryElement).className = '';
        $get(userAmountElement).className = '';
        $get('CustomPaymentErrorMessage').className = 'ErrorMessage Hide';
        Payment.CustomPayment(userKey, userName, userFirstName, userLastName, userCity, userCountry, userAmount, userInstruction, OnPaymentComplete, OnPaymentError);
     }     
  }
  catch(err)
  {
     alert('An unexpected Error occured. \nPlease try after some time.');
     closeWaitImage();
     return false;
  }
  //closeWaitImage();
   
  return false;
}
function OnPaymentComplete(result) 
{
    if (result.substring(0, 1) == "E") 
    {
        $get('CustomPaymentErrorMessage').className = 'ErrorMessage';
        result = result.replace('Error:', '<span class="BoldText">Error:</span>');
        $get('CustomPaymentErrorMessage').innerHTML = '<br />' + result.replace(/\n/g, '<br />') + '<br />';
    }
    else 
    {
        //alert(result);
        $get('CustomPaymentErrorMessage').className = 'ErrorMessage Hide';
        location.href = result;
        //$get('RequestKundaliHere').className = "Hide";
        //$get('RequestKundaliComplete').className = "";
    }
    //closeWaitImage();
}
function OnPaymentError(result) 
{
    $get('CustomPaymentErrorMessage').className = 'ErrorMessage';
    $get('CustomPaymentErrorMessage').innerHTML = '<br /><span class="BoldText">Error:</span><br />' + (result.get_message()).replace(/\n/g, '<br />')
    + '<br />';
    alert('Error: ' + result.get_message());
    closeWaitImage();
}