
function get_orientation()
{
	var orientation_value;
	Form.getInputs('enquiry','radio').each( function( input ) { if( input.name == "orientation" && input.checked ) { orientation_value = input.value; } } );
	
	return orientation_value;
}

function change_folding_type()
{
	set_open_sizes_for_folding( $F('finished_depth'), $F('finished_width') );
}

function select_other( _elem )
{
	$(_elem.name + "_other_div").style.display = $F(_elem) == "-1" ? "block" : "none";
}

function set_text_paper_range( _min, _max, _str_match, _invert )
{
	var _elem = $('paper_text_type_id' );
	var _backup = $('paper_lists');

	_elem.innerHTML = '';

	for( var _i = 0 ; _i < _backup.childNodes.length; _i++ )
	{
		if( _backup.childNodes[_i].tagName == "OPTGROUP" )
		{
			var _optgroup = document.createElement("optgroup");		
			_optgroup.setAttribute( "label", _backup.childNodes[_i].label );
					
			for( var _j = 0 ; _j < _backup.childNodes[_i].childNodes.length ; _j++ )
			{
				if( _backup.childNodes[_i].childNodes[_j].tagName == "OPTION" )
				{
					var _opt = document.createElement("option");
					var _opt_txt = document.createTextNode( _backup.childNodes[_i].childNodes[_j].text );
					
					if( typeof(_str_match) != "undefined" && typeof(_invert) != "undefined" )
						if( (_opt_txt.data.indexOf( _str_match ) == -1) != _invert )
							continue;
							
					_opt.appendChild( _opt_txt );
					_opt.setAttribute( "value", _backup.childNodes[_i].childNodes[_j].value );
					_opt.setAttribute( "id", _backup.childNodes[_i].childNodes[_j].id );
					_optgroup.appendChild( _opt );						
				}
			}
			_elem.appendChild( _optgroup );
		}
	}
			
	var _nodes = new Array();

	for( var _i = 0 ; _i < _elem.options.length ; _i++ )
	{
		if( parseInt( _elem.options[_i].id ) < _min || parseInt( _elem.options[_i].id ) > _max )
			_nodes.push( _elem.options[_i] );
		else 
			if ( parseInt( $F( 'producttype_id' ) ) != -1 && parseInt( $F( 'producttype_id' ) ) != -2 )
			{
				switch ( parseInt( _elem.options[_i].value ) )
				{
					case 9:
					case 10:
					case 11:
					case 12:
					case 13:
					case 14:
					case 25:
					case 16:
					case 27:
					case 28:
					case 29:
						_nodes.push( _elem.options[_i] );
					break;
				}
			}
	}
					
	for( var _i = 0 ; _i < _nodes.length ; _i++ )
	{
		var _node = _nodes[_i];
		_node.parentNode.removeChild( _node );
	}
}

function check_instant_price_error_form()
{
 if($F('user_name_error') == "" || $F('email_address_error') == "")
   {
     alert("Please complete ALL details");
     return false;
   }
 if(!IsValidEmail($F('email_address_error')))
   {
     alert("Please enter a correct email address");
     return false;
   }
     
  return true; 
}

function IsValidEmail(address)
{  
  var pattern = /^([a-z0-9]([a-z0-9_-]*\.?[a-z0-9])*)(\+[a-z0-9]+)?@([a-z0-9]([a-z0-9-]*[a-z0-9])*\.)*([a-z0-9]([a-z0-9-]*[a-z0-9]+)*)\.[a-z]{2,6}$/;	
  var result = address.match(pattern); 
  if (result != null) 
     {
       return true;	
     } 
  return false;	
}
			
function check_bpop()
{
	if( $F('packing_method') == 1 )
	{
		if( (($F('finished_depth') <= 210) && ($F('finished_width') <= 148)) || (($F('finished_width') <= 210) && ($F('finished_depth') <= 148)) )
			return confirm( 'For a product at this size we recommend you use carton packing, rather than bulk packing on pallets.\n\nHit OK to continue anyway, or cancel to amend.' );
	}
	
	if($F('quantity1') < 50000 && $F('product_id') == 3) // Minimum quantity for Spine Glued products is 50,000"
	{
	    alert("Minimum quantity for Spine Glued products is 50,000");
	    return false;
	}
}
			
function change_paper_list( _btel )
{
	if( typeof(_btel) == "undefined" )
	{
		switch( parseInt( $F('producttype_id' ) ) )
		{
			case 0:
				set_text_paper_range( 80, 250 );
			break;
		
			case 8:
				set_text_paper_range( 80, 170 );
			break;

			case 9:
				set_text_paper_range( 70, 115 );
			break;

			case 10:
				set_text_paper_range( 65, 90 );
			break;
		
			case -1:
				set_text_paper_range( 65, 90 );
			break;
		
			case -2:
				set_text_paper_range( 60, 60 );
			break;
		}
	}
	else
	{
		switch( parseInt( $F('producttype_id' ) ) )
		{
			case 0:
				if( $RF( "enquiry", "btel_type") == 'B' )
					set_text_paper_range( 135, 225, "uncoated", false );
				else
					set_text_paper_range( 115, 200, "uncoated", true );
			break;
	
			case 8:
				set_text_paper_range( 115, 200, "uncoated", true );
			break;

			case 9:
				set_text_paper_range( 115, 200, "uncoated", true );
			break;
		}
	}
}

function change_btel_type( _type )
{
	if( _type == 'B' )
	{
		for( var i = 0 ; i < $("producttype_id") ; i++ )
		{
			if( i == 0 )
				$("producttype_id").options[i].selected = true;
		}
		
		$("producttype_btel_alt").style.display = '';
		$("btel_size").style.display = 'none';
		$("producttype_id").style.display = 'none';
	}
	else
	{
		$("producttype_btel_alt").style.display = 'none';
		$("btel_size").style.display = '';
		$("producttype_id").style.display = '';		
	}
		
	change_paper_list( 1 );
}

function $RF( el, radioGroup )
{
	if( $(el).type && $(el).type.toLowerCase() == 'radio' ) 
	{
		var radioGroup = $(el).name;
		var el = $(el).form;
	} 
	else if( $(el).tagName.toLowerCase() != 'form' )
	{
		return false;
	}

	var checked = $(el).getInputs( 'radio', radioGroup ).find( function(re) { return re.checked; } );
	return (checked) ? $F(checked) : null;
}

function change_folding_type_trt()
{
	switch( parseInt( $F( 'producttype_id' ) ) )
	{
		case 0:
			$('product_id').value = 1;
		break;
		case -1:
			$('product_id').value = 4;
			$('text_pagination').value = 8;
			$('cover_pagination').value = 0;
		break;
		case -2:
			$('product_id').value = 4;
			$('text_pagination').value = 12;
			$('cover_pagination').value = 0;
		break;
		default:
			$('product_id').value = 2;
		break;
	}
	
	set_open_sizes_for_folding( $F('finished_depth'), $F('finished_width') );
}

function change_cover_pagination()
{
	if( $F('cover_pagination') > 0 )
	{
		show_element('span_cover_colours');
		show_element('span_cover_finish');
		show_element('span_cover_paper');
	}
	else
	{
		hide_element('span_cover_colours');
		hide_element('span_cover_finish');
		hide_element('span_cover_paper');
	}
}

function set_finished_size( d, w )
{
	if( get_orientation() == 'L' )
	{
		$('finished_depth').value = w;
		$('finished_width').value = d;
	}
	else
	{
		$('finished_depth').value = d;
		$('finished_width').value = w;
	}	
	
	set_open_sizes_for_folding( d, w );
}

function set_open_sizes_for_folding( d, w )
{
	if( !$('open_depth') || !$('open_width') )
		return;
		
	switch( parseInt( $F('producttype_id' ) ) )
	{
		case 8:
			$('open_width').value = w * 2;
			$('open_depth').value = d;
		break;
		
		case 9:
			$('open_width').value = w * 3;
			$('open_depth').value = d;
		break;
		
		case 20:
			$('open_width').value = w * 2;
			$('open_depth').value = d * 2;
		break;
		
		case 10:
			$('open_width').value = w * 4;
			$('open_depth').value = d;
		break;
		
		case 11:
			$('open_width').value = w * 4;
			$('open_depth').value = d;
		break;
		
		case 12:
			$('open_width').value = w * 5;
			$('open_depth').value = d;
		break;
		
		case 13:
			$('open_width').value = w * 3;
			$('open_depth').value = d * 2;
		break;
		
		case 14:
			$('open_width').value = w * 4;
			$('open_depth').value = d * 2;
		break;
		
		case 15:
			$('open_width').value = w * 3;
			$('open_depth').value = d * 3;
		break;
		
		case 16:
			$('open_width').value = w * 5;
			$('open_depth').value = d * 2;
		break;
		
		case 17:
			$('open_width').value = w * 4;
			$('open_depth').value = d * 3;
		break;
		
		case 18:
			$('open_width').value = w * 6;
			$('open_depth').value = d * 2;
		break;
		
		case 19:
			$('open_width').value = w * 4;
			$('open_depth').value = d * 4;
		break;
	}
}

function set_open_size( d, w )
{
	if( $('open_depth') )
	{
		$('open_depth').value = d;
	}

	if( $('open_width') )
	{
		$('open_width').value = d;
	}
}

function set_schedule( s_on )
{
	if( s_on )
	{
		hide_element( "no_schedule" );
		show_element( "a_schedule" );
	}
	else
	{
		show_element( "no_schedule" );
		hide_element( "a_schedule" );
	}	
}

function set_design( s_on )
{
	if( s_on )
	{
		show_element( "design_available" );
		if( $F('design_page_count') == "" )
		{
			$('design_page_count').value = ($F('text_pagination') * 1) + ($F('cover_pagination') * 1);
		}
	}
	else
		hide_element( "design_available" );
}


function hide_element( elem )
{
	$(elem).style.display = 'none';
}

function show_element( elem )
{
	$(elem).style.display = '';
}


function product_selection(id) {
	hideElement("folding_style");
	hideElement("sg_format");
	hideElement("pagination_text");
	hideElement("pagination_cover");
	hideElement("open_size");
	hideElement("text_colours_2pp");
	hideElement("cover_colours_front");
	hideElement("cover_colours_back");
	hideElement("cover_paper");
	hideElement("cover_finish");
	document.getElementById("text_pagination").readOnly = "";

	switch (id)
	{
		case "1" :
			document.getElementById("text_pagination").value = "2";
			document.getElementById("text_pagination").readOnly = "readonly";
			showElement("pagination_text");
			showElement("text_colours_2pp");
		break;	
		case "2" :
			showElement("folding_style");
			showElement("open_size");			
		break;
		case"3" :
			showElement("sg_format");
		break;	
		case "4" :
			showElement("pagination_text");
			update_cover_pp(0);
			showElement("pagination_cover");			
			if(document.getElementById("cover_pagination").value > 0) {
				showElement("cover_colours_front");
				if(document.getElementById("colours_cover_inner_same").checked == false) showElement("cover_colours_back");
				showElement("cover_paper");
				showElement("cover_finish");
			}
		break;
		case "5" :
			showElement("pagination_text");
			update_cover_pp(1);
			showElement("pagination_cover");			
			showElement("cover_colours_front");
			if(document.getElementById("colours_cover_inner_same").checked == false) showElement("cover_colours_back");
			showElement("cover_paper");
			showElement("cover_finish");
		break;
	}
}

function update_cover_pp(offset) {
	var pp_id = new Array (0, 4, 6, 8);
	var pp_desc = new Array ('self', '4pp', '6pp', '8pp');
	var cover_pp_list = document.getElementById("cover_pagination").options;
	var count = 3 - offset;
	cover_pp_list.length = 0;
	for (loop=0; loop <= count; loop++)  {	
		cover_pp_list[loop] = new Option(pp_desc[(loop+offset)]);
		cover_pp_list[loop].value = pp_id[(loop+offset)];
	}
}

function orientation_selection(orientation) {
	if (orientation == "P" && document.getElementById("finished_depth").value < document.getElementById("finished_width").value) {
		var temp = document.getElementById("finished_depth").value;
		document.getElementById("finished_depth").value = document.getElementById("finished_width").value;
		document.getElementById("finished_width").value = temp;
	}
	if (orientation == "L" && document.getElementById("finished_depth").value > document.getElementById("finished_width").value) {
		var temp = document.getElementById("finished_depth").value;
		document.getElementById("finished_depth").value = document.getElementById("finished_width").value;
		document.getElementById("finished_width").value = temp;
	}
	if (orientation == "S" && document.getElementById("finished_depth").value != document.getElementById("finished_width").value) {
		if (document.getElementById("finished_depth").value > document.getElementById("finished_width").value) document.getElementsByName("orientation")[0].checked = true;
		if (document.getElementById("finished_depth").value < document.getElementById("finished_width").value) document.getElementsByName("orientation")[1].checked = true;
	}
}

function inner_colours_selection(){
	if(document.getElementById("colours_cover_inner_same").checked == false) showElement("cover_colours_back");
	else hideElement("cover_colours_back")
}

function schedule_selection(){
	if(document.getElementById("schedule").checked == true) {
		hideElement("no_schedule");
		showElement("a_schedule");
	}
	else {
		showElement("no_schedule");
		hideElement("a_schedule");
	}
}

function toggle_multiple_delivery_points( _elem )
{
	choice = Form.Element.getValue( _elem.id );	
	$('multiple_delivery_point_container').style.display = choice == -1 ? 'block' : 'none';
}	

function toggle_packing_quantity( _elem )
{
	choice = Form.Element.getValue( _elem.id );
	switch( choice )
	{
		// bpop
		case "1":
			$('packing_quantity_choice').style.display = 'none';
			$('packing_quantity').value = '';
			$('packing_quantity').readOnly = true;
			$('packing_quantity_choice_bpop').style.display = 'block';
		break;
		
		// cartons
		case "2":
		// shrinkwrap
		case "3":
			$('packing_quantity_choice').style.display = 'block';
			$('packing_quantity').readOnly = false;
			$('packing_quantity_choice_bpop').style.display = 'none';
		break;
	}
}

function sg_change_pp( _elem )
{
	if( Form.Element.getValue( _elem ) == 64 )
		set_finished_size(240,165);
}

function update_total( _elem )
{
	if( _elem.value != '' )
	{
		_elem.value = parseInt( _elem.value );
	
		if( isNaN( _elem.value ) )
			_elem.value = 0;
	}
	
	var delivery_points = new Array(
		$('delivery_point_ns'),
		$('delivery_point_ss'),
		$('delivery_point_n'),
		$('delivery_point_m'),
		$('delivery_point_ea'),
		$('delivery_point_s'),
		$('delivery_point_sw'),
		$('delivery_point_wm'),
	    $('delivery_point_ni')
	);
	
	var total_points = 0;
	
	for( key in delivery_points )
	{
		value = parseInt( delivery_points[key].value );
		if( !isNaN( value ) )
			total_points += parseInt( value );
	}

	$('multiple_quantity_total').innerHTML = total_points
}
