function dropdownElement(id) {
  elm = document.getElementById(id);
  if (elm.style.display == "none" && elm.style.overflow != 'hidden') {
    new Effect.BlindDown(elm, {duration: .4});
  } else if (elm.style.overflow != 'hidden') {
    new Effect.BlindUp(elm, {duration: .4});
  }
}

function newMember(postForm) {
  postForm.action = "proc/blaamann_new_member";
  postForm.submit();
}

function postValidForm(postForm) {
  var valid = new Validation(postForm, {onFormValidate : formCallback});
  var result = valid.validate();
  if (result) {
    postForm.target = "_self";
    postForm.submit();
  }
}

function checkRecruitPrizesChecked(maxAllowed){
    var checkBoxes = document.getElementsByName('recruitprize[]');
    var unCheckedBoxes = new Array();
    var i = 0;
    var msg = "";

    for(j = 0; j < checkBoxes.length; j++){
      if(checkBoxes[j].checked == true){
        i++;
      }else{
        unCheckedBoxes[unCheckedBoxes.length] = checkBoxes[j];
      }
    }

    if(i == maxAllowed){
      msg = "Du kan ikkje velje fleire vervepremiar.";
      for(j = 0; j < unCheckedBoxes.length; j++){
        if(unCheckedBoxes[j].checked == false){
          unCheckedBoxes[j].disabled = true;
        }
      }
    }else{
      if((maxAllowed - i) == 1){
        msg = "Du kan velje " + (maxAllowed - i) + " premie til.";
      }else{
        msg = "Du kan velje " + (maxAllowed - i) + " premiar til.";
      }
      for(j = 0; j < unCheckedBoxes.length; j++){
        if(unCheckedBoxes[j].checked == false){
          unCheckedBoxes[j].disabled = false;
        }
      }
    }
    document.getElementById('introbook_msg').innerHTML = "" + msg;
  }


function checkIntrobooksChecked(maxAllowed){
  var checkBoxes = document.getElementsByName('introbook[]');
  var unCheckedBoxes = new Array();
  var i = 0;
  var msg = "";

  for(j = 0; j < checkBoxes.length; j++){
    if(checkBoxes[j].checked == true){
      i++;
    }else{
      unCheckedBoxes[unCheckedBoxes.length] = checkBoxes[j];
    }
  }

  if(i == maxAllowed){
    msg = "Du kan ikkje velje fleire introduksjonsbøker.";
    for(j = 0; j < unCheckedBoxes.length; j++){
      if(unCheckedBoxes[j].checked == false){
        unCheckedBoxes[j].disabled = true;
      }
    }
  }else{
    if((maxAllowed - i) == 1){
      msg = "Du kan velje " + (maxAllowed - i) + " velkomstbok til.";
    }else{
      msg = "Du kan velje " + (maxAllowed - i) + " velkomstbøker til.";
    }
    for(j = 0; j < unCheckedBoxes.length; j++){
      if(unCheckedBoxes[j].checked == false){
        unCheckedBoxes[j].disabled = false;
      }
    }
  }
  document.getElementById('introbook_msg').innerHTML = "" + msg;
}

function checkIntrobooksCheckedOK() {
  var checkBoxes = document.getElementsByName('introbook[]');
  var i = 0;

  for (j = 0; j < checkBoxes.length; j++) {
    if (checkBoxes[j].checked == true) {
      i++;
    }
  }

  if(i == 3) {
    return true;
  } else {
    return false;
  }
}

function hideTextOnFocus() {
  elements = document.getElementsByClassName("hideTxtOnFocus");

  for(x = 0; x < elements.length; x++) {
    elem = elements[x];
    elem.initialValue = elem.value;

    elem.observe('focus', hideTextOnFocusCb);
    elem.observe('blur', hideTextOnFocusCb);
  }
}

function hideTextOnFocusCb(evt) {
  var elem = evt.target;
  var type = evt.type;

  if (type == 'blur') {
    if (elem.value == '') {
      elem.value = elem.initialValue;
    }
  }

  if (type == 'focus') {
    if (elem.value == elem.initialValue) {
      elem.value = '';
    }
  }
}

function checkPostCode(elm, country, targetElm) {
  if(country.options[country.selectedIndex].value == 'Noreg') {
    var jsonText;
    var values;
    var cityField;
    var postCode = elm.value;

    var url = 'ajaxnolibs/postnr';

    new Ajax.Request(url, {
      method: 'post',
                  parameters: {match: postCode},
      onSuccess: function(t) {
        jsonText = t.responseText;
        values = eval('({ ' + jsonText + ' })');
        if (values.poststed == undefined) {
          $(targetElm).value = "Ugyldig postnummer";
        } else {
          $(targetElm).value = values.poststed;
        }
      }
    });
  }
}

function addArticleComment(form, id) {
  new Ajax.Updater('comment_list', 'proc/ax_showcomments?id='+id+'', {
    onComplete: function() {
      new Effect.Highlight('new_comment', {duration: 2});
    },
    onFailure: function() {
      alert('Something went wrong...')
    },
    method: 'post',
    encoding: 'ISO-8859-1',
    parameters: Form.serialize(form)
  });
}

function formValid() {
}

function addCommentCharge(postForm, cid) {

  var valid = new Validation('anmeldForm'+cid, {onFormValidate: formValid});
  result = valid.validate();

  if (result) {
    new Ajax.Request('proc/kommentarAnmeld', {
      onComplete: function(t) {
        result = t.responseText;
        if (result == "success") {
          new Effect.Appear('report_ok_'+cid, {duration:.5});
          window.setTimeout("Effect.Fade('report_ok_"+cid+"', {duration:1})",2500);
        } else {
          new Effect.Appear('report_failed_'+cid, {duration:.5});
        }
      },
      onFailure: function() {
        alert('Something went wrong...')
      },
      method: 'post',
      parameters: Form.serialize(postForm)
    });

    dropdownElement('reportthis'+cid);
  }
}

function jstrim(str) {
  return str.replace(/^\s+|\s+$/g, '') ;
}

function toggleRadioButtons(name){
  //document.new_member_form.
}

function checkAvailableEmail(value) {
  var result;
  new Ajax.Request("proc/emailcheck", {
    method: 'post',
    parameters: {email: value},
    asynchronous: false,
    onSuccess: function(t) {
      result = jstrim(t.responseText);
    }
  });

  if (result == "true") {
    return true;
  } else {
    return false;
  }
}

function newUserCommit() {
  var valid = new Validation('new_member_form', {onFormValidate : formCallback});
  var result = valid.validate();
  if (result) {
    document.new_member_form.action = "proc/blaamann_new_member";
    document.new_member_form.target = "_self";
    document.new_member_form.submit();
  }
}

function addToCartNewMember() {
  if(checkIntrobooksCheckedOK()) {
    document.new_member_addtocart_form.action = "proc/blaamann_new_member_addtocart";
    document.new_member_addtocart_form.target = "_self";
    document.new_member_addtocart_form.submit();
  } else {
    alert('Du må velje 3 velkomstbøker!');
    return false;
  }
}

function newUser() {
  if(!document.getElementById('terms').checked){
    document.getElementById('terms_msg').innerHTML = "<b>Du må akseptere <a href='http://www.google.com'>medlemsvilkårene</a></b>";
    document.getElementById('terms_msg').style.backgroundColor = "yellow";
    return false;
  }else{
    document.getElementById('terms_msg').innerHTML = "<b>Jeg har lest og akseptert <a href='http://www.google.com'>medlemsvilkårene</a></b>";
    document.getElementById('terms_msg').style.backgroundColor = "";
  }

  var valid = new Validation('new_member_form', {onFormValidate : formCallback});
  var result = valid.validate();

  if (result) {
    document.new_member_form.action = "proc/blaamann_new_member";
    document.new_member_form.target = "_self";
    document.new_member_form.submit();
  }
}

function editUser() {
  var valid = new Validation('new_member_form', {onFormValidate : formCallback});
  var result = valid.validate();
  if (result) {
    document.new_member_form.action = "proc/edit_member";
    document.new_member_form.target = "_self";
    document.new_member_form.submit();
  }
}

/*function cancelBlaamannMainbook(url = ""){
  // @GTODO: Finish function that allows user to confirm his/her cancellation
  var answer = confirm("Er du seker på at du vil avbestilla månadens hovedbok?");
  if (answer){
    window.location = url;
  } else{
    return false;
  }
}*/

function editBlaamannUser() {
  var valid = new Validation('new_member_form', {onFormValidate : formCallback});
  var result = valid.validate();
  if (result) {
    document.new_member_form.action = "proc/blaamann_edit_member";
    document.new_member_form.target = "_self";
    document.new_member_form.submit();
  }
}

function activateUser() {
  var valid = new Validation('new_member_form_activation', {onFormValidate : formCallback});
  var result = valid.validate();
  if (result) {
    document.new_member_form_activation.action = "proc/blaamann_existing_details";
    document.new_member_form_activation.target = "_self";
    document.new_member_form_activation.submit();
  }
}

function addInputSubmitEvent(form, input) {
  input.onkeydown = function(e) {
    e = e || window.event;
    if (e.keyCode == 13) {
      form.submit();
      return false;
    }
  };
}

function submitOnEnter(formClass) {
  var forms = document.getElementsByTagName('form');

  for (var i=0;i < forms.length;i++) {
    if (forms[i].className.indexOf(formClass) > -1) {
      var inputs = forms[i].getElementsByTagName('input');

      for (var j=0;j < inputs.length;j++) {
        addInputSubmitEvent(forms[i], inputs[j]);
      }
    }
  }
}

function popUp(elm, width, height) {
  var link = elm.href;
  window.open(link, 'popUp', 'width='+width+',height='+height+',toolbar=0,scrollbars=1,resizable=1,location=0');;
}


function addToCart(artnr) {
  var formData = $('form_'+artnr).serialize(true);

  $('add_cart_'+artnr).style.display = 'none';
  $('adding_cart_'+artnr).style.display = 'block';

  new Ajax.Updater('cart_mini', 'proc/blaamann_cart?act=add', {
    method: 'post',
    parameters: formData,
    onSuccess: function(t) {
      var result = t.responseText;
      $('adding_cart_'+artnr).style.display = 'none';
      $('added_cart_'+artnr).style.display = 'block';
    }
  });
}

function sendEmail() {
  var formData = $('sendtips').serialize(true);
  var result;

  $('added_cart_tips_alert').style.display = 'none';
  $('added_cart_tips_good').style.display = 'none';
  $('adding_cart_tips').style.display = 'block';

  new Ajax.Request('proc/sendEmail?act=send', {
    method: 'post',
    parameters: formData,
    onSuccess: function(t) {
      result = jstrim(t.responseText);
      if(result == 'Success') {
        $('adding_cart_tips').style.display = 'none';
        $('added_cart_tips_alert').style.display = 'none';
        $('added_cart_tips_good').style.display = 'block';
      } else {
        $('adding_cart_tips').style.display = 'none';
        $('added_cart_tips_good').style.display = 'none';
        $('added_cart_tips_alert').style.display = 'block';
      }
    }
  });
}

function insertReview() {
  var formData = $('review').serialize(true);
  var result;

  $('added_review_good').style.display = 'none';
  $('added_review_alert').style.display = 'none';
  $('added_review_alert_nli').style.display = 'none';
  $('adding_review').style.display = 'block';

  new Ajax.Request('proc/insertReview?act=insert', {
    method: 'post',
    parameters: formData,
    onSuccess: function(t) {
      result = jstrim(t.responseText);
      if(result == 'Success') {
        $('review').reset();
        $('adding_review').style.display = 'none';
        $('added_review_alert').style.display = 'none';
        $('added_review_alert_nli').style.display = 'none';
        $('added_review_good').style.display = 'block';
      } else if(result == 'NotLoggedIn') {
        $('adding_review').style.display = 'none';
        $('added_review_alert').style.display = 'none';
        $('added_review_alert_nli').style.display = 'block';
        $('added_review_good').style.display = 'none';
      } else {
        $('adding_review').style.display = 'none';
        $('added_review_alert').style.display = 'block';
        $('added_review_alert_nli').style.display = 'none';
        $('added_review_good').style.display = 'none';
      }
    }
  });
}

function getForgottenPasswd() {
  var formData = $('forgottenPasswd').serialize(true);

  new Ajax.Updater($('divforgottenPasswd'), 'proc/blaamannForgottenPasswd', {
    method: 'post',
    parameters: formData,
    onComplete: function() {
    }
  });
}

function dropDown(id) {
  elm = $(id);

  if (elm.style.display == "none" && elm.style.overflow != 'hidden') {
    new Effect.BlindDown(elm, {duration: .6});
  } else if (elm.style.overflow != 'hidden') {
    new Effect.BlindUp(elm, {duration: .6});
  }
}

function deleteCartItem(artnr) {
  var delLoad = $('del_load_'+artnr);
  var del = $('del_'+artnr);

  delLoad.style.display = 'block';
  del.style.display = 'none';

  new Ajax.Updater('cart_list', 'proc/blaamann_cart?act=del&list=1', {
    method: 'post',
    parameters: {artnr: artnr},
    onSuccess: function(t) {
      var result = t.responseText;
      updateCartView();
    }
  });
}

function updateCartItem(artnr, qty) {
  new Ajax.Updater('cart_list', 'proc/blaamann_cart?act=update&list=1', {
    method: 'post',
    parameters: {artnr: artnr, qty: qty},
    onSuccess: function(t) {
      var result = t.responseText;
      updateCartView();
    }
  });
}

function emptyCart() {
  new Ajax.Updater('cart_list', 'proc/blaamann_cart?act=empty&list=1', {
    method: 'post',
    onSuccess: function(t) {
      var result = t.responseText;
      updateCartView();
    }
  });
}

function updateCartList() {
  var formData = $('cart_list_form').serialize(true);

  new Ajax.Updater('cart_list', 'proc/blaamann_cart?act=update_list&list=1', {
    method: 'post',
    parameters: formData,
    onSuccess: function(t) {
      var result = t.responseText;
      updateCartView();
    }
  });
}

function updateCartView() {
  new Ajax.Updater('cart_mini', 'proc/blaamann_cart', {
    method: 'post',
    onSuccess: function(t) {
    }
  });
}

function loginUser() {
  var valid = new Validation('cart_login_form');
  var result = valid.validate();
  if (result) {
    $('cart_login_form').submit();
  } else {
    return false;
  }
}

function postForm(formId, trigger) {
  $(formId).action = trigger.href;
  $(formId).submit();
}

function setShipmentAddress(trigger) {
  postForm('shipment_address_form', trigger);
}

function setDelivery(trigger) {
  var valid = new Validation('delivery_form', {onFormValidate : formCallback});
  var result = valid.validate();
  if (result) {
    postForm('delivery_form', trigger);
  }
}

function doToc(internalId, baseUrl) {
  var url = baseUrl + 'toc?internalId=' + internalId;
  window.open(url,"tocers","toolbars=no,width=400,height=500,scrollbars=yes");
}

function showhide(id){
  if(document.getElementById) {
    obj = document.getElementById(id);
    if(obj.style.display == "none") {
      obj.style.display = "";
    } else {
      obj.style.display = "none";
    }
  }
}

