function addCard(cardID, max,cardView){
    element=formElement(cardID);
    value=element.value;
	if (element.value == '') {
		element.value = 1;
    }else{
        value=parseInt(element.value);
        if(value == max ){
          return;
        }
        else {
            element.value = value + 1;
        }
    }
    addToTotalCards(1);
    updateView(cardID,element.value,cardView);
}

function minusCard(cardID,cardView){
    element=formElement(cardID);
	if (element.value == '' || element.value == '0')
		return;
	else {
		element.value = parseInt(element.value) - 1;
    }
    addToTotalCards(-1);
    updateView(cardID,element.value,cardView);
}

function formElement(cardID){
    return document.getElementById("card["+cardID+"]");
}

function pageViewElement(cardID){
    return document.getElementById("page_view"+cardID);
}

function cardViewElement(cardID){
    return document.getElementById("card_view"+cardID);
}

function submitDeckForm(){
	form = document.deck_form;
	for (var i=0; i < form.elements.length; i++) {
		form.elements[i].disabled = false;
	}
	form.submit();
}

function updateView(cardID,numCards,cardView){
  pageViewElement(cardID).value=numCards;
  if(cardView) cardViewElement(cardID).value=numCards;
}

function syncModalView(cardID){
    cardViewElement(cardID).value=formElement(cardID).value;
}

function syncPageView(cardID){
    pageViewElement(cardID).value=formElement(cardID).value;
}

function getTotalCards(){
  value=document.getElementById("total_cards").value;
  if(value=='') return 0;
  return parseInt(value);
}

function addToTotalCards(delta){
  document.getElementById("total_cards").value=getTotalCards()+delta;
}

function trim(stringToTrim) {
    return stringToTrim.replace(/^\s+|\s+$/g,"");
}


function validateDeck(checkName){
	if (checkName) {
		formatted = trim(document.getElementById("deck_name").value);
		if (formatted == "") {
    	alert("You need a name for this deck!");
			return;
		}
		else {
			document.getElementById("deck_name").value = formatted;
		}
	}
  
	totalCards=getTotalCards();
	
  if (totalCards < 10)
    alert("You need to add more cards to this deck!");
  else if (totalCards > 30)
    alert("You have too many cards in this deck!");
  else {
		document.getElementById("submit_button").disabled=true;
    submitDeckForm();
	}
}
