/**
 *	@file		prdfwc_shops_items_search.js
 *
 *	@copyright	Copyright(C) 2007 Pantacle, All Rights Reserved.
 *	@copyright	Copyright(C) 2007 Kawanagare workshop, All Rights Reserved.
 */

document.write('<script type="text/javascript" src="/js/shops/prdfwc_shops_items_search_custom.js"></script>');

Event.observe( window, 'load', __prdfwc_shops_items_search_initialize_controls, false );

function __prdfwc_shops_items_search_initialize_controls()
{
	var elem = $('ShopsItemsSearchCondSubmit');
	if ( elem )
	{
		Event.observe( elem, 'click', ___prdfwc_shops_items_search_form_submit, false );
	}

	___prdfwc_shops_items_search_custom_initialize_controls();
}

//
function ___prdfwc_shops_items_search_reset_conditions()
{
	Form.getElements('__shops_items_search_param_form').each( function(form_elem){

		if ( ( form_elem.type == 'hidden' ) ||
			 ( form_elem.type == 'button' ) ||
			 ( form_elem.type == 'submit' ) ||
			 ( form_elem.type == 'reset'  ) )
		{
		}
		else if ( form_elem.type == 'checkbox' )
		{
			form_elem.checked = false;
		}
		else
		{
			form_elem.value = ''
		}
	});
}

//
var g_prdfwc_shops_items_search_form_elems = new Array();

function ___prdfwc_shops_items_search_push_input_elems( aElemID, aElemName )
{
	g_prdfwc_shops_items_search_form_elems.push( new Array( 'input', aElemID, aElemName ) );
}

function ___prdfwc_shops_items_search_push_check_elems( aElemClass, aElemName )
{
	g_prdfwc_shops_items_search_form_elems.push( new Array( 'check', aElemClass, aElemName ) );
}

function ___prdfwc_shops_items_search_push_select_elems( aElemID, aElemName, aSkipValue )
{
	g_prdfwc_shops_items_search_form_elems.push( new Array( 'select', aElemID, aElemName, aSkipValue ) );
}

//
function ___prdfwc_shops_items_search_form_submit( evt )
{
	var submit_form = $('__shops_items_search_param_send_form');

	for( i = 0; i < g_prdfwc_shops_items_search_form_elems.length; i++ )
	{
		if ( g_prdfwc_shops_items_search_form_elems[i][0] == 'input' )
		{
			___prdfwc_shops_items_search_input_param_adjust( submit_form, g_prdfwc_shops_items_search_form_elems[i][1], g_prdfwc_shops_items_search_form_elems[i][2] );
		}
		else if ( g_prdfwc_shops_items_search_form_elems[i][0] == 'check' )
		{
			___prdfwc_shops_items_search_check_param_adjust( submit_form, g_prdfwc_shops_items_search_form_elems[i][1], g_prdfwc_shops_items_search_form_elems[i][2] );
		}
		else if ( g_prdfwc_shops_items_search_form_elems[i][0] == 'select' )
		{
			___prdfwc_shops_items_search_select_param_adjust( submit_form, g_prdfwc_shops_items_search_form_elems[i][1], g_prdfwc_shops_items_search_form_elems[i][2], g_prdfwc_shops_items_search_form_elems[i][3] );
		}
	}

	Event.stop(evt);

	submit_form.submit();

	evt.returnValue = false;
	return false;
}

//
function ___prdfwc_shops_items_search_input_param_adjust( submit_form, aElemID, aParamName )
{
	var param = '';
	var elem = $(aElemID);

	if ( ( elem != undefined ) &&
		 ( elem.value != '' ) ) 
	{
		var param_obj = document.createElement("input");
		param_obj.setAttribute( 'name', aParamName );
		param_obj.setAttribute( 'type', 'hidden' );
		param_obj.setAttribute( 'value', elem.value );
		submit_form.appendChild( param_obj );
	}
}

//
function ___prdfwc_shops_items_search_check_param_adjust( submit_form, aClassName, aParamName )
{
	var param = '';

	$A( document.getElementsByTagName("input")).findAll( function(elem) {
		return ( Element.hasClassName(elem, aClassName) && ( elem.checked ) );
	}).each( function(elem) {
		if ( param != '' ) { param += '-'; }
		param = param + elem.value;
	});

	if ( param != '' )
	{
		var param_obj = document.createElement("input");
		param_obj.setAttribute( 'name', aParamName );
		param_obj.setAttribute( 'type', 'hidden' );
		param_obj.setAttribute( 'value', param );
		submit_form.appendChild( param_obj );
	}
}

//
function ___prdfwc_shops_items_search_select_param_adjust( submit_form, aElemID, aParamName, aSkipValue )
{
	var param = '';
	var elem = $(aElemID);

	if ( ( elem != undefined ) &&
		 ( elem.value != aSkipValue ) ) 
	{
		var param_obj = document.createElement("input");
		param_obj.setAttribute( 'name', aParamName );
		param_obj.setAttribute( 'type', 'hidden' );
		param_obj.setAttribute( 'value', elem.value );
		submit_form.appendChild( param_obj );
	}
}

