var J = jQuery.noConflict();

J(document).ready(init);

//==========================================================================================( INIT )
function init() {

	J('.button').button({
		icons: {
			primary: "ui-icon-arrowthick-2-n-s"
		},
		text: false
	});
	J('body').delegate('h3.toggle','click', function() {
		J('#' + J(this).attr('targetEl')).slideToggle('fast', function() {
			// Animation complete.
		});
	});
// 	J('body').delegate('#radio1','click', function() {
// 		J('#youthArrowTool').fadeOut(300, function() {
// 			J('#adultArrowTool').fadeIn(300);
// 		});
// 	});
// 	J('body').delegate('#radio2','click', function() {
// 		J('#adultArrowTool').fadeOut(300, function() {
// 			J('#youthArrowTool').fadeIn(300);
// 		});
// 	});
	J('tr:odd').css({"backgroundColor":"#FDFAFC"});
	// selectors
	J('body').delegate('select', 'change', function() {
		var $self = J(this).val();
		var $folder = J(this).attr('targetSrc');
		var theTarget = J('#' + $folder + 'Index');
		theTarget.attr("src", "images/" + $folder + "/" + $self + ".png");
		if ($folder == "length") {
			var thePoint = parseInt(stripNonNumeric( $self ));
			switch(thePoint) {
				case 29:
				  J('#point').css({"left":"210px"});
				  break;
				case 30:
				  J('#point').css({"left":"215px"});
				  break;
				case 31:
				  J('#point').css({"left":"220px"});
				  break;
				case 32:
				  J('#point').css({"left":"225px"});
				  break;
				default:
				  J('#point').css({"left":"205px"});
			}
		}
		if ($folder == "shaftWidth") {
			J('select[name="pound"] option').attr("disabled", true);
			J('.'+$self).removeAttr("disabled");
		}
	});
	J('#datePicker').datepicker();
	J( "#radio" ).buttonset();
}

function stripNonNumeric( str ) {
  str += '';
  var rgx = /^\d|\.|-$/;
  var out = '';
  for( var i = 0; i < str.length; i++ )
  {
    if( rgx.test( str.charAt(i) ) ){
      if( !( ( str.charAt(i) == '.' && out.indexOf( '.' ) != -1 ) ||
             ( str.charAt(i) == '-' && out.length != 0 ) ) ){
        out += str.charAt(i);
      }
    }
  }
  return out;
}
