/*
   JavaScript for search index page
   needs prototype.js
   */

function clear_form(frm) {
	$A(frm.elements).each (function(input) {
		if (input.type == 'select-one') {
			input.selectedIndex = 0;
		} else if (input.type == 'radio' || input.type == 'checkbox' ) {
			input.checked = false;
		} else if (input.type == 'text' || input.type == 'passord'|| input.type == "textarea") {
			input.value = "";
		}
	});
}

/*
   get category name and set check for serieses that children of category
   */
function checkChildren( category ) {
  var cb = $(category);

  if ( cb.checked ) {
    for( var i = 0; $((category + i)) != null; i++ ) {
      var child = $((category + i));
      child.checked = true;
    }
  }
} 

function uncheckParent( category ) {
  var cb = $(category);

  if ( cb.checked ) {
    cb.checked = false;
  }
}

function changeLimit( baseURL ) {
  var limit;
  var index = document.searchoption.selectlimit.selectedIndex;

  if ( 0 == index ) {
    limit = 20;
  } else if ( 1 == index ) {
    limit = 50;
  } else {
    limit = 100;
  }

  var URL = baseURL
            + '&limit='
            + limit;

  window.location.href = URL;
}

function changeSort( baseURL ) {
  var sort;
  var index = document.searchoption.selectsort.selectedIndex;

  // when sort == 0 order by asc
  // otherwise (sort == 1) order by desc
  var URL = baseURL
            + '&sort='
            + index;

  window.location.href = URL;
}

/*
   this is JavaScript library for search windows in header
   */

/* change search action URL */
function changeAction( baseURL ) {
  // when book search was selected 
  if( 0 == document.search.type.selectedIndex ) {
    document.search.action = baseURL + 'search/book';
  } else { // when magazine search was selected
    document.search.action = baseURL + 'search/magazine';
  }
}

/* サイドバーの簡易検索 */
function searchEasily(frm) {
	var inputs = frm.elements;
	var ary = new Array;
	for (var i = 0; i < inputs.length; i++) {
		if ( inputs[i].name == "series" ) {
			var series =  parseSelect(inputs[i]); 
			if (series) {
				ary.push(series);
			}
		} else if ( inputs[i].value ) {
			ary.push( inputs[i].name + "=" + encodeURIComponent(inputs[i].value));	
		}
	}

	//alert(frm.action + "?" + ary.join("&"));

	location.href = frm.action + "?" + ary.join("&");
}

function parseSelect(sel) {
	if (sel.value) {
		return sel.name + "=" + sel.value;
	}
	var ary = new Array();
	for (var i = sel.selectedIndex + 1; i < sel.options.length; i++ ) {
		if (sel.options[i].value) {
			ary.push( sel.name + "=" + sel.options[i].value);
		} else {
			break;
		}
	}
	return ary.join("&");
}

/* 合計金額計算 */
function sum_price (frm) {
	var mags = frm.elements["mag"];
	try {
		var sum = 0;
		if (mags.length) {
			for (var i = 0; i < mags.length; i++) {
				if (mags[i].checked) {
					sum += parseInt( $("price_" + mags[i].value).value );		
				}
			}
		}
		frm.elements["sum"].value = sum;
	} catch (e) {
		window.alert(e);
	}
}
