var product_price = 9.24;
var aos = new Array(); var avs = new Array(); function addPath( arr ) { for ( var i = 0, n = ( arr.length / 2 ); i < n; i++ ) { var option_id = String( arr[ i * 2 ] ); var value_id = arr[ i * 2 + 1 ]; var ar3 = arr.slice( 0, i * 2 ); var path = ':'; if ( ar3.length ) { path += ar3.join( ',' ); } if ( !( aos[ path ] ) ) { aos[ path ] = new Array(); } if ( -1 == aos[ path ].indexOf( option_id ) ) { aos[ path ].push( option_id ); } if ( ':' != path ) { path += ',' + option_id; } else { path += option_id; } if ( !( avs[ path ] ) ) { avs[ path ] = new Array(); } if ( -1 == avs[ path ].indexOf( value_id ) ) { avs[ path ].push( value_id ); } } } pa = function( path, price_diff, sku ) { this.path = path; this.price_diff = price_diff; this.sku = sku; this.arr = path.split( ',' ); addPath( this.arr ); } var pas = new Array();
po = function( option_id, option_name, value_ids, value_names ) { this.option_id = option_id; this.option_name = option_name; this.value_ids = value_ids; this.value_names = value_names; this.val_by_id = new Array(); for ( var i = 0, n = value_ids.length ; i < n; i++ ) { this.val_by_id[ '\'' + value_ids[ i ] + '\'' ] = value_names[ i ]; } } var pos = new Array();
function processChoise( el, next_path ) { var pnode = el.parentNode; var el_next = null; var option = null; while ( el_next = el.nextSibling ) { pnode.removeChild( el_next ); } var ar2 = el.id.split( ':' ); if ( ar2.length > 1 ) { var index = ar2[1]; var path = ar2[2]; var ar = path.split( ',' ); path = ':' + path; } else { var index = -1; var path = ':'; } var value_id = $F( el ); if ( ( value_id > 0 ) && ( ':' != path ) ) { path += ',' + value_id; } if ( aos[ path ] ) { var select = document.createElement( 'SELECT' );
var option_id = ''; if ( next_path && next_path.length ) { option_id = next_path.shift(); } else { option_id = aos[ path ][0]; } var span = document.createElement( 'SPAN' );
span.innerHTML = ' ' + pos[ '\'' + option_id + '\'' ].option_name + ' : '; pnode.appendChild( span ); if ( ':' != path ) { path += ',' + option_id; } else { path += option_id; } select.id = 'options:' + ( Number( index ) + 1 ) + path; pnode.appendChild( select ); var sel_ind = 0;
if ( next_path && next_path.length ) { value_id = next_path.shift(); } else { value_id = 0; } for ( var i = 0, n = avs[ path ].length; i < n; i++ ) { option = document.createElement( 'OPTION' ); option.text = pos[ '\'' + option_id + '\'' ].val_by_id[ '\'' + avs[ path ][ i ] + '\'' ]; option.value = avs[ path ][ i ]; // select.options.add( option ); select.options[ select.options.length ] = option; // Safari fix if ( value_id == avs[ path ][ i ] ) sel_ind = i; } select.selectedIndex = sel_ind;
processChoise( select, next_path ); if ( select.options.length < 2 ) select.disabled = true; //select.style.paddingBottom = '10px'; Event.observe( select, 'change', function(event){ processChoise( Event.element(event) ); } ); } else { var span = document.getElementById('display_price'); // var span = document.createElement( 'SPAN' ); if(pas[path]) { var prc = ( product_price + pas[ path ].price_diff ); span.innerHTML = '$' + prc.toFixed(2); // + ', SKU : ' + pas[ path ].sku; // pnode.appendChild( span ); pnode = $( 'hiddens' ); while ( el_next = pnode.lastChild ) { pnode.removeChild( el_next ); } var ar3 = path.substr( 1 ).split( ',' ); for ( var i = 0, n = ( ar3.length / 2 ); i < n; i++ ) { var input = document.createElement( 'input' ); input.type = 'hidden'; input.name = 'id[' + ar3[ i * 2 ] + ']'; input.value = ar3[ i * 2 + 1 ]; pnode.appendChild( input ); } } } }
.
Fita adesiva mult-funtional, você utiliza como um calendário ou diário de scraps e lembretes,
ajuda a se organizar de forma rápida e é consideravelmente útil empacotando seus pertences!
.