﻿/* ---------------------------------------
  jQuery Functions
--------------------------------------- */
function openModal(container) {
  document.getElementById(container).style.visibility = "visible";

  if (container == 'register_box') {
    document.getElementById('completeFix_section').style.display = "none";
    document.getElementById('completeRegister_section').style.display = "none";
    document.getElementById('register_section').style.display = "block";
    //document.getElementById('completeFix_section').style.visibility = "collapse";
    //document.getElementById('completeRegister_section').style.visibility = "collapse";
    //document.getElementById('register_section').style.visibility = "visible";
  }
  jQuery('#' + container).modal({ appendTo: 'form', persist: true });
}
function closeModal(container) {
  (function ($) {
    $.modal.close();
  })(jQuery);
}

function showjQueryAlbum() {
  //$("#Album img")
  $("#silverlightAlbum").css("display", "block");
  //var silverlightAlbum = document.getElementById("silverlightAlbum");
  //var jQueryAlbum = document.getElementById("iframejQueryAlbum");
  //silverlightAlbum.
}

/* Search Page */
function addtoAlbum_Click(ImageID, obj) {
  var u = document.getElementById('lid');
  var p = document.getElementById('uid');
  Worker.AddtoAlbum(ImageID, p.value, u.value, worked, failure);
  obj.style.display = 'none';
}
function worked(result, eventArgs) {

}
function failure(result, eventArgs) {

}

function openImportant() {
  ShowBackground();
  CenterBox('important_box', '381', '609');
  document.getElementById('important_box').style.visibility = "visible";
}


function Load() {
  cal = document.getElementById("cal_link");
  if (cal) {
    cal.style.display = "inline";
  }
  resizeDiv();
}
var lastSize = 0;
function resizeDiv() {
  var height = document.getElementById('user_section').clientHeight;
  var content_height = parseInt(height) + 30;
  document.getElementById('user_background').style.height = height + 'px';
  document.getElementById('content_table').height = height + 'px';
  document.getElementById('content').style.height = content_height + 'px';
}
function ShowCalendar() {
  cal = document.getElementById("calDate");
  if (cal) {
    cal.style.display = "block";
    cal.style.zIndex = "100";
    oP = document.getElementById("photos");
    if (oP) {
      oP.style.visibility = "hidden";
    }
    tr = document.getElementById("time_range");
    if (tr) {
      tr.style.visibility = "hidden";
    }
  }
}
function addtoAlbum_Click(ImageID, obj) {
  var u = document.getElementById('lid');
  var p = document.getElementById('uid');
  Worker.AddtoAlbum(ImageID, p.value, u.value, worked, failure);
  obj.style.display = 'none';
}

/*  Products.aspx Script */
function ResizeProductContainer() {
  var ProductsContainer = document.getElementById('ProductsContainer');
  var ProductsTable = document.getElementById('ProductsTable');
  var ProductsRow = document.getElementById('products_middle');
  var ProductMainTable = document.getElementById('ProductMainTable');

  if (ProductsTable != null) {
    ProductsContainer.style.height = ProductsTable.offsetHeight + 15 + 'px';
  }
  if (ProductsRow != null) {
    ProductsRow.style.height = ProductsTable.offsetHeight + 15 - 140 + 'px';
  }
  if (ProductMainTable != null) {
    ProductMainTable.style.height = ProductsTable.offsetHeight + 115 + 'px';
  }
}

/* FullNameAlbumSearch.aspx Script */
function ResizeFullNameSearchContainer() {
  var FullNameAlbumContainer = document.getElementById('FullNameAlbumContainer');
  var FullNameMainTable = document.getElementById('FullNameAlbumMainTable');
  var FullNameTable = document.getElementById('FullNameAlbumTable');
  var MainContent = document.getElementById('main_content');
  var Container = document.getElementById('container');
  if (FullNameAlbumContainer != null) {
    FullNameAlbumContainer.style.height = FullNameTable.offsetHeight + 15 + 'px';
  }
  if (FullNameMainTable != null) {
    FullNameMainTable.style.height = FullNameTable.offsetHeight + 15 + 'px';
  }
  //MainContent.style.height = FullNameTable.offsetHeight + 15 + 'px';
  //Container.style.height = FullNameTable.offsetHeight + 105 + 'px';
}

function ResizeFindPhotosSection() {
  var CartContainer = document.getElementById('CartContainer');
  var CartTable = document.getElementById('FindPhotosTable');
  var CartMiddleContainer = document.getElementById('middle_area');

  var CartTableWidth;
  if (CartTable != null) {
    CartTableWidth = CartTable.offsetHeight + 20 + 'px'
    CartContainer.style.height = CartTable.offsetHeight + 20 + 'px';
  }
  if (CartMiddleContainer != null) {
    var cartMiddleHeight = CartTableWidth;
    CartMiddleContainer.style.height = CartTableWidth;
  }
}

/* ViewCart.aspx Script */
function ResizeCartContainer() {
  var CartContainer = document.getElementById('CartContainer');
  var CartTable = document.getElementById('CartTable');
  var CartMiddleContainer = document.getElementById('middle_area');

  var CartTableWidth;
  if (CartTable != null) {
    CartTableWidth = CartTable.offsetHeight + 20 + 'px'
    CartContainer.style.height = CartTable.offsetHeight + 20 + 'px';
  }
  if (CartMiddleContainer != null) {
    var cartMiddleHeight = CartTableWidth;
    CartMiddleContainer.style.height = CartTableWidth;
  }
}

var IE = document.all ? true : false
document.onmousemove = mouseMove;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
var mouseX = 0;
var mouseY = 0;

function mouseMove(e) {
  if (IE) {
    mouseX = event.clientX + document.body.scrollLeft;
    mouseY = event.clientY + document.body.scrollTop;
  } else {
    mouseX = e.pageX;
    mouseY = e.pageY;
  }
  if (mouseX < 0) { mouseX = 0 }
  if (mouseY < 0) { mouseY = 0 }
  return true;
}

function updateCart() {
  document.getElementById('cart_text').innerHtml = Worker.UpdateCartTotal();
}
function showPreview(sid, pid, e) {
  document.getElementById('preview').style.display = "block";
  document.getElementById('preview').style.left = mouseX + 50;
  document.getElementById('preview').style.top = mouseY - 50;
  document.getElementById('preview_image').src = "https://www.amazingpictures.com/ProductPreview.aspx?sid=" + sid + "&pid=" + pid;

}
function closePreview() {
  document.getElementById('preview').style.display = "none";
  document.getElementById('preview_image').src = "#";
}
function resizeDiv() {
  document.getElementById('user_background').style.height = document.getElementById('carttable').clientHeight + 'px';
  document.getElementById('content_table').height = document.getElementById('carttable').clientHeight + 'px';
  document.getElementById('content_table').style.height = document.getElementById('carttable').clientHeight + 'px';
}

function CenterBox(object, height, width) {
  var centerObject = document.getElementById(object);

  var screenWidth, screenHeight;
  if (self.innerHeight) {
    screenWidth = self.innerWidth;
    screenHeight = self.innerHeight;
  }
  else if (document.documentElement && document.documentElement.clientHeight) {
    screenWidth = document.documentElement.clientWidth;
    screenHeight = document.documentElement.clientHeight;
  }
  else if (document.body) {
    screenWidth = document.body.clientWidth;
    screenHeight = document.body.clientHeight;
  }

  var posX = (parseInt(screenWidth) / 2) - (parseInt(width) / 2);
  var posY = (parseInt(screenHeight) / 2) - (parseInt(height) / 2);

  centerObject.style.top = posY + 'px';
  centerObject.style.left = posX + 'px';
}

function FillScreen(object) {
  var fillObject = document.getElementById(object);
}

function ClosePopup(object) {
  document.getElementById(object).style.visibility = "hidden";
  document.getElementById('background').style.visibility = "hidden";
}

function ResizeElements() {
//  if (document.getElementById('login_box') != null)
//    CenterBox('login_box', '381', '609');
//  if (document.getElementById('forgotpassword_box') != null)
//    CenterBox('forgotpassword_box', '381', '609');
//  if (document.getElementById('register_box') != null)
//    CenterBox('register_box', '381', '609');
//  if (document.getElementById('generic_box') != null)
//    CenterBox('generic_box', '381', '609');
//  if (document.getElementById('activation_box') != null)
//    CenterBox('activation_box', '381', '609');
//  if (document.getElementById('contact_box') != null)
//    CenterBox('contact_box', '381', '609');
//  if (document.getElementById('help_box') != null)
//    CenterBox('help_box', '381', '609');
//  if (document.getElementById('privacy_box') != null)
//    CenterBox('privacy_box', '381', '609');
//  if (document.getElementById('important_box') != null)
//    CenterBox('important_box', '381', '609');

//  var box = document.getElementById('background');
//  var screenWidth;

//  if (self.innerHeight) { screenWidth = self.innerWidth; }
//  else if (document.documentElement && document.documentElement.clientHeight) { screenWidth = document.documentElement.clientWidth; }
//  else if (document.body) { screenWidth = document.body.clientWidth; }

//  var otherHeight = document.documentElement.scrollHeight;
//  if (box != null) {
//    box.style.height = otherHeight + 'px';
//    box.style.width = screenWidth + 'px';
//  }
}

function ShowBackground() {
  var box = document.getElementById('background');
  box.style.visibility = "visible";
  if (document.getElementById('front_body') != null)
    body = document.getElementById('front_body');
  if (document.getElementById('ie6_front_body') != null)
    body = document.getElementById('ie6_front_body');
  if (document.getElementById('ie7_front_body') != null)
    body = document.getElementById('ie7_front_body');
  if (document.getElementById('ie8_front_body') != null)
    body = document.getElementById('ie8_front_body');
  if (document.getElementById('ie9_front_body') != null)
    body = document.getElementById('ie9_front_body');
  
  var screenWidth;

  if (self.innerHeight) { screenWidth = self.innerWidth; }
  else if (document.documentElement && document.documentElement.clientHeight) { screenWidth = document.documentElement.clientWidth; }
  else if (document.body) { screenWidth = document.body.clientWidth; }

  var otherHeight = document.documentElement.scrollHeight;
  box.style.height = otherHeight + 'px';
  box.style.width = screenWidth + 'px';
}

function pause(milliseconds) {
  var dt = new Date();
  while ((new Date()) - dt <= milliseconds) { }
}

/*------------------------------------------
Open popups
------------------------------------------*/

function openLogin() {
  ShowBackground();
  CenterBox('login_box', '381', '609');
  document.getElementById('login_box').style.visibility = "visible";
}
function openPrivacy() {
  ShowBackground();
  CenterBox('privacy_box', '381', '609');
  document.getElementById('privacy_box').style.visibility = "visible";
}
function openPasswordRetrieval() {
  ShowBackground();
  CenterBox('forgotpassword_box', '381', '609');
  if (document.getElementById('login_box') != null)
    document.getElementById('login_box').style.visibility = "hidden";
  document.getElementById('forgotpassword_box').style.visibility = "visible";
}
function openRegistration() {
  ShowBackground();
  CenterBox('register_box', '381', '609');
  if (document.getElementById('login_box') != null)
    document.getElementById('login_box').style.visibility = "hidden";
  document.getElementById('register_box').style.visibility = "visible";
}
function openContact() {
  ShowBackground();
  CenterBox('contact_box', '381', '609');
  document.getElementById('contact_box').style.visibility = "visible";
}
function openHelp() {
  ShowBackground();
  CenterBox('help_box', '381', '609');
  document.getElementById('help_box').style.visibility = "visible";
}

/*------------------------------------------
Functions using .asmx
------------------------------------------*/
function RegisterGuest() {
  Worker.RegisterAccount(document.getElementById('tbRegisterFirstName').value, document.getElementById('tbRegisterLastName').value, document.getElementById('tbRegisterEmail').value, document.getElementById('tbRegisterEmailVerify').value, document.getElementById('tbRegisterPassword').value, document.getElementById('tbRegisterPasswordVerify').value, document.getElementById('checkRegisterAcceptTerms').checked, document.getElementById('checkReceiveEmails').checked, document.getElementById('ip').value, document.getElementById('sitevar').value, RegisterSuccess, RegisterFailed);
}
function RegisterSuccess(result, eventArgs) {
  if (result == "true2") {
    document.getElementById('completeFix_section').style.display = "block";
    document.getElementById('completeFix_section').style.visibility = "visible";
    document.getElementById('register_section').style.display = "none";
  }
  else if (result == "true") {
    document.getElementById('completeRegister_section').style.display = "block";
    document.getElementById('completeRegister_section').style.visibility = "visible";
    document.getElementById('register_section').style.display = "none";
  }
  else {
    document.getElementById('errorRegisterPopup').innerHTML = result;
  }
}
function RegisterFailed(result, eventArgs) {
  alert(result);
}

function RetrievePassword() {
  Worker.RetrieveLostPassword(document.getElementById('tbPopupPasswordEmail').value, document.getElementById('tbPopupPasswordName').value, document.getElementById('sitevar').value, PasswordSuccess, PasswordFailed);
}
function PasswordSuccess(result, eventArgs) {
  document.getElementById('errorPopupPassword').innerHTML = result;
}
function PasswordFailed(result, eventArgs) {
  alert(result);
}

function SubmitComment() {
  Worker.SendComment(document.getElementById('uid').value, document.getElementById('tbContactName').value, document.getElementById('tbContactEmail').value, document.getElementById('ddlContactSubject').value, document.getElementById('tbContactMessage').value, document.getElementById('browser').value, document.getElementById('os').value, document.getElementById('sitevar').value, CommentSuccess, CommentFailed)
}
function CommentSuccess(result, eventArgs) {
  if (result == "true") {
    //document.getElementById('contact_box').style.visibility = "hidden";
    //document.getElementById('background').style.visibility = "hidden";
    document.getElementById('tbContactError').innerHTML = 'Your comment has been submitted.';
  }
  else {
    document.getElementById('tbContactError').innerHTML = result;
  }
}
function CommentFailed(result, eventArgs) {
  alert(result);
}

/* Microsoft Silverlight Stuff */
function onSilverlightError(sender, args) {
  var appSource = "";
  if (sender != null && sender != 0) {
    appSource = sender.getHost().Source;
  }

  var errorType = args.ErrorType;
  var iErrorCode = args.ErrorCode;

  if (errorType == "ImageError" || errorType == "MediaError") {
    return;
  }

  var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n";

  errMsg += "Code: " + iErrorCode + "    \n";
  errMsg += "Category: " + errorType + "       \n";
  errMsg += "Message: " + args.ErrorMessage + "     \n";

  if (errorType == "ParserError") {
    errMsg += "File: " + args.xamlFile + "     \n";
    errMsg += "Line: " + args.lineNumber + "     \n";
    errMsg += "Position: " + args.charPosition + "     \n";
  }
  else if (errorType == "RuntimeError") {
    if (args.lineNumber != 0) {
      errMsg += "Line: " + args.lineNumber + "     \n";
      errMsg += "Position: " + args.charPosition + "     \n";
    }
    errMsg += "MethodName: " + args.methodName + "     \n";
  }

  throw new Error(errMsg);
}

function SearchKeyed(e) {
  var code = (window.event) ? event.keyCode : e.keyCode;
  if (code == 13) {
    document.getElementById("btnSearch").click();
    return false;
  }
  return true;
}

function LoadPage() {
  var textbox = document.getElementById("tbPPID");
  if (textbox != null)
    document.getElementById("tbPPID").onkeypress = SearchKeyed;
  cal = document.getElementById("cal_link");
  if (cal) {
    cal.style.display = "block";
  }
}
function ShowCalendar() {
  cal = document.getElementById("calDate");
  if (cal) {
    cal.style.display = "block";
    cal.style.zIndex = "100";
    oP = document.getElementById("photos");
    if (oP) {
      oP.style.visibility = "hidden";
    }
  }
}

/*--- Search Photos Stuff --- */
    function SearchKeyed(e)
    {
        var code = (window.event) ? event.keyCode : e.keyCode;
        if (code == 13)
        {
            document.getElementById("btnChange").click();
            return false;
        }
        return true;    
    }
    
    function LoadPageSearchPhotos()
    {
        document.getElementById("tbID").onkeypress = SearchKeyed;
        resizeDivSearchPhotos();
    }
    var lastSize = 0;
    function resizeDivSearchPhotos() {
        document.getElementById('user_background').style.height = document.getElementById('imagetable').clientHeight + 'px';
        document.getElementById('content_table').height = document.getElementById('imagetable').clientHeight + 'px';
    }

