var basketColor = '';

//Event.observe(window, 'load', init, false);

function random_int()
{
 return Math.floor(Math.random()*100000);
}


function signup(currentFieldId, type)
{
  blurrBackground();
  setTimeout('signupPopup("'+currentFieldId+'", "'+type+'")', 200);
}

function signin(currentFieldId, type)
{
  blurrBackground();
  setTimeout('signinPopup("'+currentFieldId+'", "'+type+'")', 200);
}

function signupPopup(currentFieldId, funcType)
{
  setElementProperty('background', '#e0edfe', 'PopupFormDiv');
  var html = '<table id=signupPopupTable align=center border=0> \
               <tr><td class=signupMsgTd align=center><span class=mainMsg>Lets quickly create an account for you to save the gifts</span>\
               <br/>(Later anytime, you can access your gifts and send gifts to others by using this account)</td></tr>\
               <tr><td> \
                <table id=signupFormTable class=formContent border=0 align=center> \
                  <tr><td align=left>Name:</td><td align=left> <input type=text name=name id=name maxLen=32 size=32 class=inputBox /> (Displayed)</td></tr>\
                  <tr><td align=left>Email:</td><td align=left> <input type=text name=email id=email maxLen=64 size=32 class=inputBox /> (Never displayed)</td></tr>\
                  <tr><td align=left>Password:</td><td align=left> <input type=password name=passwd id=passwd maxLen=64 size=32 class=inputBox /></td></tr>\
                  <tr><td align=left>Confirm Password:</td><td align=left> <input type=password name=passwdC id=passwdC maxLen=64 size=32 class=inputBox /> </td></tr>\
                  <tr><td colspan=2 align=center class=topSpc> <input type=button name=button class="cuteButtonSimple" onclick="javascript:'+funcType+'(\'\', 2);" value="Save Gifts" /></td></tr>\
                  <tr><td colspan=2 align=center class="topSpc bottomLink"> <b>Already have an account?</b> <a href="#" onclick="javascript:signinPopup(\''+currentFieldId+'\', \''+funcType+'\');return false;">Save gifts in existing account</a></td></tr>\
                </table> \
               </td></tr> \
            ';
  //blurrBackground();
  createFormDivOption(currentFieldId, html, 580, 300, 200, 30, 1);
}

function signinPopup(currentFieldId, funcType)
{
  setElementProperty('background', '#e0edfe', 'PopupFormDiv');
  var html = '<table id=signupPopupTable align=center border=0> \
               <tr><td class=signupMsgTd align=center><span class=mainMsg>Please sign in to save the gifts.</span>\
               </td></tr>\
               <tr><td> \
                <table id=signupFormTable class=formContent border=0 align=center> \
                  <tr><td align=left>Email:</td><td align=left> <input type=text name=email id=email maxLen=64 class=inputBox size=32 /> </td></tr>\
                  <tr><td align=left>Password:</td><td align=left> <input type=password name=passwd id=passwd class=inputBox maxLen=64 size=32 /> </td></tr>\
                  <tr><td colspan=2 align=center class=topSpc> <input type=button name=button class="cuteButtonSimple" onclick="javascript:'+funcType+'(\'\', 3);" value="Save The Basket" /></td></tr>\
                  <tr><td colspan=2 align=center class="topSpc bottomLink"> <b>New user?</b> <a href="#" onclick="javascript:signupPopup(\''+currentFieldId+'\', \''+funcType+'\');return false;">Create account and save gifts</a></td></tr>\
                </table> \
               </td></tr> \
            ';
  //blurrBackground();
  createFormDivOption(currentFieldId, html, 580, 300, 200, 30, 1);
}

function saveTakeBasket(userName, signedIn)
{
  giftsTakenStr = giftsTaken.toQueryString().strip();
  if(giftsTakenStr == '')
  {
    alert("Please accept at least one gift from "+userName+" to continue");
    return;
  }
  //alert(giftsTakenStr);
  var basketSeq = ($('basketSeq') != undefined)? $('basketSeq').value.strip():'';
  var name = ($('name') != undefined)? $('name').value.strip():'';
  var email = ($('email') != undefined)? $('email').value.strip():'';
  var passwd = ($('passwd') != undefined)? $('passwd').value.strip():'';
  var passwdC = ($('passwdC') != undefined)? $('passwdC').value.strip():'';

  if(signedIn == 2 || signedIn==3)
  {
    if(email == '' || passwd=='')
    {
      alert("Email or Password can not be blank. Please enter it again.");
      return;
    }
    if(signedIn == 2)
    {
      if(passwd != passwdC)
      {
        alert("Password and password confirmation do not match. Please enter them again.");
        return;
      }
      if(name == '')
      {
        alert("Invalid name. Please enter it again.");
        return;
      }
    }
  }


  var cmd = "saveGiftsTaken"; //user is signed in
  if(signedIn == 2) cmd = "createAcct";
  if(signedIn == 3) cmd = "signIn";

  if(signedIn)
  {
    new Ajax.Request('/my/exchange-gifts/processRequest',
      {
        method:'post',
        parameters: { cmd: cmd, name:name, email:email, passwd:passwd, giftsTaken:giftsTakenStr, basketSeq:basketSeq, random:random_int() },
        onSuccess: function(transport)
        {
          var response = transport.responseText || "NO-RESPONSE";

          if(response == "NO-RESPONSE")
          {
            alert("Some problem occured, try submitting again");
            return;
          }

          if(response.match('ERROR') || response.match('error'))
          {
            alert(response);
            return;
          }

          if(response.match('SIGN-IN') || response.match('sign-in'))
          {
            alert(response);
            signin('saveGiftHeader', 'saveTakeBasket');
          }
          else
          {
            //alert(response);
            setBasketSaved();
            hidePopup();
            window.location = "/my/exchange-gifts?bs="+basketSeq+"&retGift=1";
          }
        },
        onFailure: function(){ alert('Some problem occured, try submitting again...');}
      });
  }
  else
  {
    //alert("yess");
    signup('saveGiftHeader', 'saveTakeBasket');
  }
}


function saveGiveBasket(userName, signedIn)
{
  giftsTakenStr = giftsTaken.toQueryString().strip();
  if(giftsTakenStr == '')
  {
    alert("Please return at least one gift to "+userName);
    return;
  }
  var receiverSeq = ($('receiverSeq') != undefined)? $('receiverSeq').value.strip():'';
  var name = ($('name') != undefined)? $('name').value.strip():'';
  var email = ($('email') != undefined)? $('email').value.strip():'';
  var passwd = ($('passwd') != undefined)? $('passwd').value.strip():'';
  var passwdC = ($('passwdC') != undefined)? $('passwdC').value.strip():'';

  if(signedIn == 2 || signedIn==3)
  {
    if(email == '' || passwd=='')
    {
      alert("Email or Password can not be blank. Please enter it again.");
      return;
    }
    if(signedIn == 2)
    {
      if(passwd != passwdC)
      {
        alert("Password and password confirmation do not match. Please enter them again.");
        return;
      }
      if(name == '')
      {
        alert("Invalid name. Please enter it again.");
        return;
      }
    }
  }


  var cmd = "saveGiftsGiven"; //user is signed in
  if(signedIn == 2) cmd = "createAcctAndGive";
  if(signedIn == 3) cmd = "signInAndGive";

  if(signedIn)
  {
    new Ajax.Request('/my/exchange-gifts/processRequest',
      {
        method:'post',
        parameters: { cmd: cmd, name:name, email:email, passwd:passwd, giftsTaken:giftsTakenStr, receiverSeq:receiverSeq, random:random_int() },
        onSuccess: function(transport)
        {
          var response = transport.responseText || "NO-RESPONSE";

          if(response == "NO-RESPONSE")
          {
            alert("Some problem occured, try submitting again");
            return;
          }

          if(response.match('ERROR') || response.match('error'))
          {
            alert(response);
            return;
          }

          if(response.match('SIGN-IN') || response.match('sign-in'))
          {
            signin('saveGiftHeader', 'saveGiveBasket');
          }
          else
          {
            //alert(response);
            setBasketSaved();
            hidePopup();
            window.location = "/my/home?bs="+receiverSeq+"&lastAction=giftGiven";
          }
        },
        onFailure: function(){ alert('Some problem occured, try submitting again...');}
      });
  }
  else
  {
    //alert("yess");
    signup('saveGiftHeader', 'saveGiveBasket');
  }
}
