// galleriesOnLine.js
/*global Option, alert, document, xmlHTTP, createDiv, floatDiv, getMembers, buildMemberSelectBox, getMemberGalleries, buildMemberGallerySelectBox, getAllThemes, buildAllThemesSelectBox, getSelectedThemes, buildSelectedThemesSelectBox, resetMemberGallerySelectBox, resetThemesSelectBox, otherImageThemes, noChangeImageThemes, imageUploadFormValidation, galleryAddFormValidation, galleryEditFormValidation, emailMemberFormValidation */

function buildAllThemesSelectBox(themeArray) {
var theme, themeValue, themeDescription;
var selectBox=document.imageDetailsPost.themeId;
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  for (theme=0; theme<themeArray.length; theme++) {
    themeValue=themeArray[theme].substring(0,11);
    themeDescription=themeArray[theme].substring(12);
    selectBox.options[theme]=new Option(themeDescription,themeValue);
  }
  selectBox.options[0].selected='selected';
  selectBox.options.length=themeArray.length;
}

function buildMemberGallerySelectBox(galleryArray) {
var gallery, galleries, galleryDescription, galleryValue;
var selectBox=document.memberGalleryDisplayForm.galleryIdSelected;
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  selectBox.options[0]=new Option('All Photos Gallery','0');
  galleries=1;
  for (gallery=0; gallery<galleryArray.length; gallery=gallery+2) {
    galleryDescription=galleryArray[gallery];
    galleryValue=galleryArray[gallery+1];
    selectBox.options[galleries]=new Option(galleryDescription,galleryValue);
    galleries++;
  }
  selectBox.options[galleries-1]=new Option('Avatars Gallery','94');
  selectBox.options[galleries]=new Option('Screens Images Gallery','95');
  selectBox.options[galleries+1]=new Option('Life onLine Gallery','96');
  selectBox.options[galleries+2]=new Option('Breeding onLine Gallery','97');
  selectBox.options[galleries+3]=new Option('Availability onLine Gallery','98');
  selectBox.options[galleries+4]=new Option('Availability onLine Price List','99');
  selectBox.options[0].selected='selected';
  selectBox.options.length=galleries+5;
}

function buildMemberSelectBox(memberArray) {
var member, members, memberName, memberValue;
var selectBox=document.memberGalleryDisplayForm.memberIdSelected;
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  selectBox.options[0]=new Option(' ','0');
  members=1;
  for (member=0; member<memberArray.length; member=member+2) {
    memberName=memberArray[member];
    memberValue=memberArray[member+1];
    selectBox.options[members]=new Option(memberName,memberValue);
    members++;
  }
  selectBox.options[0].selected='selected';
  selectBox.options.length=members-1;
}

function buildSelectedThemesSelectBox(themeArray) {
var theme, themeValue, themeDescription;
var selectBox=document.themeDisplayForm.themeIdSelected;
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  for (theme=0; theme<themeArray.length; theme++) {
    themeValue=themeArray[theme].substring(0,11);
    themeDescription=themeArray[theme].substring(12);
    selectBox.options[theme]=new Option(themeDescription,themeValue);
  }
  selectBox.options[0].selected='selected';
  selectBox.options.length=themeArray.length;
}

function emailMemberFormValidation() {
var element, errorMessage;
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  if (document.emailMemberPost.emailText.value==='') {
    createDiv('errorDiv','380px','150px','#c0c0c0','#e0e0e0','#006633');
    errorMessage="<center><br /><h4 style='color: #ff0000;'>&nbsp;&nbsp;Email is blank!</h4><br />&nbsp;&nbsp;<input type='button' value='OK' onclick=\"destroyDiv('errorDiv');\" /></center>";
    element=document.getElementById('errorDiv');
    element.innerHTML=errorMessage;
    floatDiv('errorDiv');
    return;
  }
  document.emailMemberPost.submit();
}

function galleryAddFormValidation() {
var element, errorMessage;
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  if (document.galleryAddPost.memberGalleryDescription.value==='') {
    createDiv('errorDiv','380px','150px','#c0c0c0','#e0e0e0','#006633');
    errorMessage="<center><br /><h4 style='color: #ff0000;'>&nbsp;&nbsp;Gallery Description can not be blank!</h4><br />&nbsp;&nbsp;<input type='button' value='OK' onclick=\"destroyDiv('errorDiv');\" /></center>";
    element=document.getElementById('errorDiv');
    element.innerHTML=errorMessage;
    floatDiv('errorDiv');
    return;
  }
  document.galleryAddPost.submit();
}

function galleryEditFormValidation() {
var element, errorMessage;
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  if (document.galleryEditPost.memberGalleryDescription.value==='') {
    createDiv('errorDiv','380px','150px','#c0c0c0','#e0e0e0','#006633');
    errorMessage="<center><br /><h4 style='color: #ff0000;'>&nbsp;&nbsp;EDIT THEME: is Blank!</h4><br />&nbsp;&nbsp;<input type='button' value='OK' onclick=\"destroyDiv('errorDiv');\" /></center>";
    element=document.getElementById('errorDiv');
    element.innerHTML=errorMessage;
    floatDiv('errorDiv');
    return;
  }
  document.galleryEditPost.submit();
}

function getAllThemes(theme) {
var themeArray=[];
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  xmlHTTP.open("GET", "/galleriesonline/getAllSubThemes.php?themeId="+theme);
  xmlHTTP.onreadystatechange=function() {
    if (xmlHTTP.readyState===4 && xmlHTTP.status===200) {
      themeArray=xmlHTTP.responseText.split("|");
      buildAllThemesSelectBox(themeArray);
    }
  };
  xmlHTTP.send(null);
}

function getMembers() {
var memberArray=[];
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  xmlHTTP.open("GET", "/galleriesonline/getMembers.php");
  xmlHTTP.onreadystatechange=function() {
    if (xmlHTTP.readyState===4 && xmlHTTP.status===200) {
      memberArray=xmlHTTP.responseText.split("|");
      buildMemberSelectBox(memberArray);
    }
  };
  xmlHTTP.send(null);
}

function getMemberGalleries() {
var member;
var galleryArray=[];
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  resetThemesSelectBox();
  member=document.memberGalleryDisplayForm.memberIdSelected.value;
  xmlHTTP.open("GET", "/galleriesonline/getMemberGalleries.php?memberIdSelected="+member);
  xmlHTTP.onreadystatechange=function() {
    if (xmlHTTP.readyState===4 && xmlHTTP.status===200) {
      galleryArray=xmlHTTP.responseText.split("|");
      buildMemberGallerySelectBox(galleryArray);
    }
  };
  xmlHTTP.send(null);
}

function getSelectedThemes(theme) {
var themeArray=[];
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  resetMemberGallerySelectBox();
  xmlHTTP.open("GET", "/galleriesonline/getSelectedSubThemes.php?themeId="+theme);
  xmlHTTP.onreadystatechange=function() {
    if (xmlHTTP.readyState===4 && xmlHTTP.status===200) {
      themeArray=xmlHTTP.responseText.split("|");
      buildSelectedThemesSelectBox(themeArray);
    }
  };
  xmlHTTP.send(null);
}

function imageUploadFormValidation() {
var element, errorMessage;
var imageUploadFile=document.imageUploadPost.imageName.value;
var pos=imageUploadFile.lastIndexOf('.');
var ext=imageUploadFile.substr(pos);
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  if (imageUploadFile==='') {
    createDiv('errorDiv','380px','150px','#c0c0c0','#e0e0e0','#006633');
    errorMessage="<center><br /><h4 style='color: #ff0000;'>Please select an image file!</h4><br /><input type='button' value='OK' onclick=\"destroyDiv('errorDiv');\" /></center>";
    element=document.getElementById('errorDiv');
    element.innerHTML=errorMessage;
    floatDiv('errorDiv');
    return;
  }
  if (ext!='.jpg') {
    createDiv('errorDiv','380px','150px','#c0c0c0','#e0e0e0','#006633');
    errorMessage="<center><br /><h4 style='color: #ff0000;'>Image File is not JPG!</h4><br /><input type='button' value='OK' onclick=\"destroyDiv('errorDiv');\" /></center>";
    element=document.getElementById('errorDiv');
    element.innerHTML=errorMessage;
    floatDiv('errorDiv');
    return;
  }
  if (!document.imageUploadPost.termsOfService.checked) {
    createDiv('errorDiv','380px','150px','#c0c0c0','#e0e0e0','#006633');
    errorMessage="<center><br /><h4 style='color: #ff0000;'>&nbsp;&nbsp;Please agree to the Terms of Service<br />before uploading an image!</h4><br />&nbsp;&nbsp;<input type='button' value='OK' onclick=\"destroyDiv('errorDiv');\" /></center>";
    element=document.getElementById('errorDiv');
    element.innerHTML=errorMessage;
    floatDiv('errorDiv');
    return;
  }
  document.imageUploadPost.submit();
}

function noChangeImageThemes() {
var selectBox=document.imageDetailsPost.themeId;
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
    selectBox.options[0]=new Option('No Change','0');
    selectBox.options[0].selected='selected';
    selectBox.options.length=1;
}

function otherImageThemes() {
var selectBox=document.imageDetailsPost.themeId;
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
    selectBox.options[0]=new Option('Other','0');
    selectBox.options[0].selected='selected';
    selectBox.options.length=1;
}

function resetMemberGallerySelectBox() {
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  document.memberGalleryDisplayForm.memberIdSelected.options[0].selected=true;
  document.memberGalleryDisplayForm.galleryIdSelected.options.length=0;
}

function resetThemesSelectBox() {
var selectBox=document.themeDisplayForm.themeIdSelected;
var supported=(document.getElementById || document.all || document.layers);
  if (!supported) { alert("Galleries onLine is not supported by your Internet Browser!"); }
  selectBox.options[0]=new Option('','0');
  selectBox.options[1]=new Option('Aquarium Related Themes','10000000000');
  selectBox.options[2]=new Option('Terrarium Related Themes','20000000000');
  selectBox.options[0].selected='selected';
  selectBox.options.length=3;
}

function setGalleryIframeHeight() {
var galleryIframe=getObjectId('galleryIframe');
var pageHeight=getWindowHeight()-200;
    if (pageHeight<250) galleryIframe.style.height='100%';
    else galleryIframe.style.height=pageHeight+'px';
}
