﻿function GetServerElement(id) {
  return document.getElementById('ctl00_ContentPlaceHolder1_' + id);
}

function closeHavePanels(UPCField) {
  var closeNewAnimationBehavior = $find('closeNewAnimationBehavior');
  var closeExistAnimationBehavior = $find('closeExistAnimationBehavior');
  if (closeNewAnimationBehavior != null)
    closeNewAnimationBehavior.get_OnClickBehavior().play();
  if (closeExistAnimationBehavior != null)
    closeExistAnimationBehavior.get_OnClickBehavior().play();
}

function validateCode(UPCField) {

  window.ifrFileSelect.SetCode(UPCField.value);

  switch (UPCField.value.length) {
    case 10:
    case 11:
      UPCField.style.color = 'red';
      UPCField.style.fontWeight = 'normal';
      break;
    case 12:
      var myArray = UPCField.value.split('');
      step1 = 0;
      var tempVar = myArray.length;
      for (var i = 0; i < tempVar; i = i + 2) {
        step1 = step1 + +myArray[i];
      }
      var step2 = step1 * 3;
      step3 = 0;
      for (var i = 1; i < tempVar - 1; i = i + 2) {
        step3 = step3 + +myArray[i];
      }
      step4 = step2 + step3;
      step5 = ((Math.floor(step4 / 10) + 1) * 10) - step4;
      if (step5 == myArray[myArray.length - 1] || step5 == 10) {
        var item = AJAXFunctions.FindItem(UPCField.value).value;
        if (item.Code == '') {
          isValid = true;
          UPCField.style.color = 'green';
          UPCField.style.fontWeight = 'bold';
        }
        else {
          isValid = false;
          UPCField.style.color = 'red';
          UPCField.style.fontWeight = 'normal';
        }
      }
      else {
        UPCField.style.color = 'red';
        UPCField.style.fontWeight = 'normal';
      }
      break;
    case 13:
      var myArray = UPCField.value.split('');
      step1 = 0;
      var tempVar = myArray.length;
      for (var i = 0; i < tempVar; i = i + 2) {
        step1 = step1 + +myArray[i];
      }
      step2 = 0;
      for (var i = 1; i < tempVar - 1; i = i + 2) {
        step2 = step2 + +myArray[i];
      }
      var step3 = step2 * 3;
      step4 = step1 + step3;
      step5 = ((Math.floor(step4 / 10) + 1) * 10) - step4;
      if (step5 == myArray[myArray.length - 1] || step5 == 10) {
        var item = AJAXFunctions.FindItem(UPCField.value).value;
        if (item.Code == '') {
          isValid = true;
          UPCField.style.color = 'green';
          UPCField.style.fontWeight = 'bold';
        }
        else {
          isValid = false;
          UPCField.style.color = 'red';
          UPCField.style.fontWeight = 'normal';
        }
      }
      else {
        UPCField.style.color = 'red';
        UPCField.style.fontWeight = 'normal';
      }
      break;
    default:
      UPCField.style.color = 'red';
      UPCField.style.fontWeight = 'normal';
      break;
  }
}

function validateUPCCode(UPCField, userId) {

  var isValid = false;

  if (UPCField.value.length == 11)
    closeHavePanels();

  switch (UPCField.value.length) {
    case 10:
    case 11:
      UPCField.style.color = 'red';
      UPCField.style.fontWeight = 'normal';
      break;
    case 12:
      var myArray = UPCField.value.split('');
      step1 = 0;
      var tempVar = myArray.length;
      for (var i = 0; i < tempVar; i = i + 2) {
        step1 = step1 + +myArray[i];
      }
      var step2 = step1 * 3;
      step3 = 0;
      for (var i = 1; i < tempVar - 1; i = i + 2) {
        step3 = step3 + +myArray[i];
      }
      step4 = step2 + step3;
      step5 = ((Math.floor(step4 / 10) + 1) * 10) - step4;
      if (step5 == myArray[myArray.length - 1] || step5 == 10) {
        isValid = true;
        UPCField.style.color = 'green';
        UPCField.style.fontWeight = 'bold';

        //        var userId = GetServerElement('HiddenFieldUserID').value;
        //        var item = AJAXFunctions.FindItem(UPCField.value, userId).value;
        var item = AJAXFunctions.FindItem(UPCField.value).value;
        if (item.Code == '') {
          var openAnimationBehavior = $find('openNewAnimationBehavior');
          openAnimationBehavior.get_OnClickBehavior().play();

          var RetailsValue = GetServerElement('TextBoxNewRetailValue');
          RetailsValue.value = '';
        }
        else {
          var openAnimationBehavior = $find('openExistAnimationBehavior');
          openAnimationBehavior.get_OnClickBehavior().play();

          var RetialValue = GetServerElement('TextBoxRetialValue');
          RetialValue.value = item.RetialValue;

          var image = GetServerElement('Image');
          image.src = item.Pic;

          var ForSell = GetServerElement('LabelForSell');
          if (item.ForSell == true)
            ForSell.innerHTML = 'Item is only for sell';
          else
            ForSell.innerHTML = 'Item is not only for sell';
        }
      }
      else {
        UPCField.style.color = 'red';
        UPCField.style.fontWeight = 'normal';
      }
      break;
    case 13:
      var myArray = UPCField.value.split('');
      step1 = 0;
      var tempVar = myArray.length;
      for (var i = 0; i < tempVar; i = i + 2) {
        step1 = step1 + +myArray[i];
      }
      step2 = 0;
      for (var i = 1; i < tempVar - 1; i = i + 2) {
        step2 = step2 + +myArray[i];
      }
      var step3 = step2 * 3;
      step4 = step1 + step3;
      step5 = ((Math.floor(step4 / 10) + 1) * 10) - step4;
      if (step5 == myArray[myArray.length - 1] || step5 == 10) {
        isValid = true;
        UPCField.style.color = 'green';
        UPCField.style.fontWeight = 'bold';

        var HiddenFieldIsNew = GetServerElement('HiddenFieldIsNew');
        HiddenFieldIsNew.value = '0';

        //        var userId = GetServerElement('HiddenFieldUserID').value;
        //        var item = AJAXFunctions.FindItem(UPCField.value, userId).value;
        var item = AJAXFunctions.FindItem(UPCField.value).value;
        if (item.Code == '') {
          var openAnimationBehavior = $find('openNewAnimationBehavior');
          openAnimationBehavior.get_OnClickBehavior().play();

          var RetailsValue = GetServerElement('TextBoxNewRetailValue');
          RetailsValue.value = '';

          HiddenFieldIsNew.value = '1';
        }
        else {
          var openAnimationBehavior = $find('openExistAnimationBehavior');
          openAnimationBehavior.get_OnClickBehavior().play();

          var image = GetServerElement('Image');
          image.setAttribute('src', item.Pic);

          var description = GetServerElement('TextBoxExistsDescription');
          description.value = item.Description;
          description.disabled = true;
          description.style.border = 'solid 0px white';
          description.className = 'leftLabel';

          var ForSell = GetServerElement('LabelForSell');
          if (item.ForSell == true)
            ForSell.innerHTML = 'Item is only for sell';
          else
            ForSell.innerHTML = 'Item is not only for sell';
        }
      }
      else {
        UPCField.style.color = 'red';
        UPCField.style.fontWeight = 'normal';
      }
      break;
    default:
      UPCField.style.color = 'red';
      UPCField.style.fontWeight = 'normal';
      break;
  }
}

function Exchange() {
  var userId = GetServerElement('HiddenFieldUserId').value;
  var matchUserId = GetServerElement('HiddenFieldMatchUserId').value;
  var checkBoxMatchItems = document.getElementsByName('checkBoxMatchItem');
  var checkBoxMyItems = document.getElementsByName('checkBoxMyItem');

  var MatchItems = '';
  for (var i = 0; i < checkBoxMatchItems.length; i++) {
    var checkBoxMatchItem = checkBoxMatchItems[i];
    if (checkBoxMatchItem.checked) {
      if (MatchItems != '')
        MatchItems += ',';
      MatchItems += checkBoxMatchItem.value;
    }
  }

  var eSID = GetServerElement('HiddenFieldSID');
  var sid = -1;
  if (eSID != null)
    sid = eSID.value;
  var error = AJAXFunctions.SendExchangeNotice(sid, userId, matchUserId, MatchItems);
}

function AcceptExchange() {
  var eSID = GetServerElement('HiddenFieldSID');
  var sid = -1;
  if (eSID != null)
    sid = eSID.value;
  AJAXFunctions.SendAcceptNotice(sid);
  alert('Accept notice sent...');
}

function AddToHaveList(archiveId) {
}

function AddToWantList(archiveId) {
}

function TabChanged() {
  alert('');
}

function SubmitBook(archiveId, codeId,
  code2Id, titleId, authorId, yearsReleasedId, publisherId,
  descriptionId, category1, category2Id, category3,
  statusType, languageId, formatId, priceId, bestSellerId,
  uploadFileName, fileUploadId) {

  var archive = document.getElementById(archiveId);
  var code = document.getElementById(codeId);
  var code2 = document.getElementById(code2Id);
  var title = document.getElementById(titleId);
  var author = document.getElementById(authorId);
  var yearsReleased = document.getElementById(yearsReleasedId);
  var publisher = document.getElementById(publisherId);
  var description = document.getElementById(descriptionId);
  var category2 = document.getElementById(category2Id);
  var language = document.getElementById(languageId);
  var formatValue;

  var format = document.getElementById(formatId);
  for (var i = 0; i < format.length; i++) {
    if (format[i].selected)
      formatValue = format[i].value;
  }
  var price = document.getElementById(priceId);
  var bestSeller = document.getElementById(bestSellerId);

  var browser = navigator.appName;
  if (uploadFileName == '')
    if (browser == 'Netscape')
      var uploadFileName = document.getElementById('ifrFileSelect').contentWindow.GetFileName();
    else
      var uploadFileName = window.ifrFileSelect.GetFileName();

  switch (statusType) {
    case 'stNew':
      AJAXFunctions.AddBookToArchive(
        code.value, 
        code2.value,
        title.value,
        author.value, 
        yearsReleased.value,
        publisher.value,
        uploadFileName, 
        description.value,
        category1,
        category2.value, 
        category3,
        language.value,
        formatValue,
        price.value, 
        bestSeller.checked,
        userId);

      alert('Item added successfuly');
      code.value = '';
      code2.value = '';
      title.value = '';
      author.value = '';
      yearsReleased.value = '';
      publisher.value = '';
      description.value = '';
      format[0].selected = false;
      price.value = '';
      bestSeller.checked = false;
      break;
    case 'stUpdate':
      AJAXFunctions.UpdateBookArchive(
        archive.value,
        code.value, 
        code2.value,
        title.value,
        author.value, 
        yearsReleased.value,
        publisher.value,
        uploadFileName, 
        description.value,
        category1,
        category2.value, 
        category3,
        language.value,
        formatValue,
        price.value, 
        bestSeller.checked,
        userId);

      document.forms(0).submit();
      alert('Item updated successfuly');
      $find('New_Update_Book').hide();
      break;
  }
}

function SubmitGame(upcId, nameId, releaseDateId, publisherId,
  descriptionId, archiveType, platformId, statusType,
  archiveId, priceId, ratingId, productId, uploadFileName, userId) {
  
  var archive = document.getElementById(archiveId).value;
  var upc = document.getElementById(upcId).value;
  var name = document.getElementById(nameId).value;
  var releaseDate = document.getElementById(releaseDateId).value;
  var publisher = document.getElementById(publisherId).value;
  var desciption = document.getElementById(descriptionId).value;
  var platform = document.getElementById(platformId).value;
  var price = document.getElementById(priceId).value;
  var product = document.getElementById(productId).value;
  var rating = document.getElementById(ratingId).value;

  var browser = navigator.appName;
  if (uploadFileName == '')
    if (browser == 'Netscape')
      uploadFileName = document.getElementById('ifrFileSelect').contentWindow.GetFileName();
    else
      uploadFileName = window.ifrFileSelect.GetFileName();
  switch (statusType) {
    case 'stNew':
      AJAXFunctions.AddGameToArchive(
        upc,
        name,
        releaseDate,
        publisher,
        uploadFileName,
        desciption,
        archiveType,
        platform,
        price,
        rating,
        product, 
        userId);
        alert('Game added successfuly');
      break;
    case 'stUpdate':
      AJAXFunctions.UpdateGame(archive,
        upc,
        name,
        releaseDate,
        publisher,
        uploadFileName,
        desciption,
        archiveType,
        platform,
        price,
        rating,
        product,
        userId);

      document.forms(0).submit();
      alert('Game updated successfuly');
      $find('New_Update_Game').hide();
      break;
  }
}