window.onload = function(){
	
	var els_details = getElementsByClass('fold');
	//alert('else_details has ' + els_details.length + ' elements');
	for(i=0;i<els_details.length;i++){
		Effect.Fade(els_details[i], { duration: 0.0 });
	}
	
	var expItems = getElementsByClass('expItem');
	var expItemInnerHTML = '<img src="/img/icon_closed.jpg" alt="" height="15" width="15"/>';
	
	for( i=0; i < expItems.length; i++){
		setExpItemInnerHTML(expItems[i], expItemInnerHTML);
	}
	
	var loading_box = $('loading_box');
	if(loading_box == undefined){
	   // do nothing
	} else {
		Effect.Fade(loading_box, { duration: 0.5 });
	}
}

// on load, get all elements byclass('details')
function getElementsByClass(searchClass,node,tag) {
  var classElements = new Array();
  if (node == null)
    node = document;
  if (tag == null)
    tag = '*';
  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
  for (i = 0, j = 0; i < elsLen; i++) {
    if (pattern.test(els[i].className) ) {
      classElements[j] = els[i];
      j++;
    }
  }
  return classElements;
}
function expandAll(){
	var els_details;
	els_details = getElementsByClass('fold');
	//alert('else_details has ' + els_details.length + ' elements');
	for(i=0;i<els_details.length;i++){
		Effect.Appear(els_details[i],{ duration: 0.0 });
	}
	
	var expItems = getElementsByClass('expItem');
	for( i = 0; i < expItems.length; i++ ){
		forceExpItem(expItems[i], 'open');
	}
}
function collapseAll(){
	var els_details;
	els_details = getElementsByClass('fold');
	//alert('else_details has ' + els_details.length + ' elements');
	for(i=0;i<els_details.length;i++){
		Effect.Fade(els_details[i],{ duration: 0.0 });
	}
	var expItems = getElementsByClass('expItem');
	for( i = 0; i < expItems.length; i++ ){
		forceExpItem(expItems[i], 'close');
	}
	
}
function swapExpItem(el){
	var imgs = el.getElementsByTagName("img");
	
	var el_closed = '/img/icon_closed.jpg';
	var el_open = '/img/icon_open.jpg';
	
	if(imgs[0].getAttribute('src') == el_closed){
		imgs[0].setAttribute('src',el_open);
	} else if(imgs[0].getAttribute('src') == el_open){
		imgs[0].setAttribute('src',el_closed);
	}
}
function forceExpItem(el, choice){

	var imgs = el.getElementsByTagName("img");
	
	var el_closed = '/img/icon_closed.jpg';
	var el_open = '/img/icon_open.jpg';
	
	if(choice == 'close'){
		imgs[0].setAttribute('src',el_closed);
	} else if(choice == 'open'){
		imgs[0].setAttribute('src',el_open)
	}
}
function setExpItemInnerHTML(el, html){
	el.innerHTML = html;
}
function toggleOC(el){
	Effect.toggle(el, 'appear', { duration:0.0 });
}
function validateStoreLocator(form){
	return isZip(form.zip.value);
}
function isZip(s) 
{

     // Check for correct zip code
     reZip = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);

     if (!reZip.test(s)) {
          alert("Please enter a valid 5-digit ZIP (+4 allowed)");
          return false;
     }

	return true;
}
function cvvInfo(){
	var theMsg = "The CVV code is the 3- or 4-digit code found in the signature strip on the back of your credit card.";
	alert(theMsg);
}
function validateSubmitOrder(form){
	return true;
	var hasAccount = false;
	var useAccount = false;
	var ccNumValid = false;
	var CVVValid = false;
	var error = '';
	var eol = "\n";
	
	if(form.payment_method_account != undefined){
		hasAccount = true;
		alert(payment_method_account.checked);
		return false;
		alert((payment_method_account.checked)?'true':'false');
		return false;
	
		useAccount = (payment_method_account.checked) ? true : false;
		alert(''); return false;
		alert((useAccount)?'true':'false');
		return false;
	} else {
		alert('def');return false;
	}

	var ccNum = form.authorizenet_aim_cc_number.value;
	var CVV = form.authorizenet_aim_cc_cvv.value;
	
	if(ccNum.length > 13){
		// the fewest number of digits a CC will have
		ccNumValid = true;
	}
	
	if(CVV.length >= 3){
		CVVValid = true;
	}
	
	// test the cases
	if(hasAccount){
		// if they choose account, but enter info in the cc/cvv fields
		if(useAccount && (ccNum.length > 0 || CVV.length > 0) ){
			error += "You chose to pay by account, but there is also data in the credit card area. Please delete that data before proceeding." + eol;
		// if they do NOT choose account, AND either the cc or cvv are invalid
		} else if(!useAccount && (!ccNumValid || !CVVValid)){
			error += "Please enter payment details. You may either pay by account, or enter valid credit card info." + eol;
		}
	} else if(!hasAccount){
		// validate that the cc/cvv are valid
		if(!ccNumValid || !CVVValid){
			error += "The credit card info is not valid. Please correct it to proceed." + eol;
		} 
	}
	
	if(error.length > 0){
		alert(error);
		return false;
	} else {
		return true;
	}
}
function infoUsername(){
	var text;
	var eol = "\n";
	text = "The username may contain only letters, numbers, and the underscore character, and must be between 6 and 80 characters long.";	
	alert(text);
}
function validateRequestResetCode(form){
	return (form.reset_login_name.value.length > 0) ? true : false;
}
function validateValidateResetCode(form){
	return true;
	//return (form.reset_login_username.value.length > 0) ? true : false;
}